android-standard-tipps-sicherheitIch habe heute einer Cousine in meiner Familie geholfen, auf ihr Android Telefon mit kaputtem Display zuzugreifen und Daten zu sichern. Es gibt ein paar grundlegende Android Tipps, an sich wichtige Basic-Learnings, die ich euch mitgeben möchte, die den Prozess heute von 4 Stunden auf 20 Minuten gekürzt hätten:

weiterlesen

google-datenschutz-privatsphaere-check

Privatsphäre trotz Google?

Google sammelt viele Daten und „gefährdet“ damit eure Privatsphäre. Klar, das weiß mittlerweile jeder. Wer damit nicht so einverstanden ist, kann jedoch in einem recht übersichtlich gestalteten Prozess die Datensammelwut kontrollieren und reduzieren. Mit dem Google Privatsphärecheck könnt ihr in 6 Schritten die Informationssammlung unterschiedlicher Dienste und Bereiche von Google anpassen. Ich gebe mit den Screenshots nur kurze Eindrücke, die meisten Punkte sind selbsterklärend und müssen einfach durchgeklickt werden. Ausnahme Schritt 6, Werbung, da gibt es mehr zu beachten. Oftmals sind auch Beschreibungen und Hilfeartikel zu den Optionen verfügbar – es lohnt sich, hier reinzuschauen.
weiterlesen

Das Windows-Feature „User Account Control“ (UAC), im deutschen Windows auch Benutzerkontensteuerung genannt, ist seit Windows Vista verbaut und sorgt für sichereres Rechtehandling beim Ausführen von Programmen. Im Hintergrund steckt außerdem ein Sandboxing-Prinzip, wodurch unterschiedliche Programme in unterschiedlichen Nutzer- und Rechtekontexten auf einem Desktop vereint zusammen arbeiten können.
Das Bild zeigt den Dialog der UAC beim Starten eines Programms mit Adminrechten
Die Benutzerkontensteuerung kann auf eine von vier unterschiedliche Stufen gestellt werden; eine davon entspricht der Deaktivierung, die anderen drei realisieren unterschiedliche Sicherheitsstufen.

Das Bild zeigt die Einstellungen der Benutzerkonstensteuerung (UAC)Im (vertrauensvollen) Unternehmenseinsatz ist eine auf Stufe 1 gestellte UAC sinnvoll, damit administrative Aufgaben auch direkt aus der Anmeldung eines eingeschränkten Nutzers per Eingabe von Admin-Daten möglich ist. Diese lässt sich beispielsweise mit Batch und Registry konfigurieren und im Windows AD verteilen, hier der Code:

Die unterschiedlichen Werte der einzelnen Registry-Eigenschaften könnt ihr hier übersichtlich nachlesen. Es gibt noch weitere Punkte der UAC, die über die Registry gesteuert werden können.
PS: Das Konzept hinter der UAC ist äußerst komplex und es macht u.U. Spaß, sich als fortgeschrittener Windows-Nutzer darin einzulesen.

via, via


Letztens hat ein Leser in meinem Artikel Skype Werbung entfernen einen guten Kommentar hinterlassen, hier zu sehen. Es ging darum, dass es doch sicherheitstechnisch sehr bedenklich sei, von mir entwickelte, ausführbare Dateien (seien es .exe oder .bat) zu starten. Diese gesunde Skepsis begrüße ich und versuche in meinen Artikeln doch den offenen Code und viel Hintergrundinformationen die nötige Transparenz zu schaffen, um diese Sorgen zu reduzieren.
Ausführbare Dateien bleiben jedoch immer ein Risiko für Computersysteme und sollten immer mit Vorsicht behandelt werden. In meiner Kommentar-Antwort hatte ich ein paar generelle Tipps dazu gegeben:

  • immer kritisch und skeptisch sein (vor allem bei Downloads im Netz)
  • immer Virenscanner seperat (per Rechtsklick meistens) über jeden Download schicken, obwohl sie auch im Hintergrund immer aktiv aufpassen
  • immer Dateigrößen prüfen, ob sie zu den erwarteten Inhalten passen (Musikdateien sind selten kleiner als 1MB)
  • immer den kompletten Dateinamen mit all seinen Dateiendungen überprüfen (Explorer Einstellungen setzen, dass Dateiendungen angezeigt werden) und prüfen, ob die Dateiendungen zum erwarteten Dateityp passen (Bilder haben selten .exe als Dateiende)
  • Vorsicht vor typischen Malware-Dateitypen: .exe, .dot, .dotm (sowieso alle Office Dateitypen mit einem „m“ am Ende), .vbs und weitere
  • im Verdachtsfall bei Online-Diensten wie VirusTotal hochladen und schauen, was diese analysieren

Diese Liste möchte ich heute noch um ein Tool ergänzen, dass an dieser Stelle ansetzt: pestudio. pestudio ist eine Analysesoftware, die ausführbare Dateien auf Binärcode-Ebene untersuchen und alle Erkentnisse „leicht lesbar“ und übersichtlich auflisten. Dabei wird die Datei nicht ausgeführt, der Vorgang ist also gefahrenfrei.
Besonders praktisch ist die Schnittstelle zum VirusTotal Dienst, die in der Software verbaut ist, sodass jede analysierte Datei auch an diesen Dienst geschickt und dort bewertet wird. Das kann auch für PC-Ottonormalnutzer besonders hilfreich sein, weil dafür nicht extra der Browser geöffnet und die VirusTotal Homepage geöffnet werden muss. pestudio kann sogar in das Rechtsklick-Kontextmenü integriert werden, eine entsprechende .reg-Datei liegt bei. (Leider haben die Entwickler hier gepfuscht: in der Reg-Datei ist der feste Pfad „C:/pestudio/pestudio.exe“ verbaut, der Weg über das Rechtsklick funktioniert also nur, wenn das Programm dort liegt oder man den Pfad der .reg vor dem Import anpasst.)
Davon abgesehen eignet sich die Software jedoch eher für fortgeschrittenere PC-Anwender, da die Informationen nur mit etwas Hintergrundwissen eingeschätzt werden können.

Im folgenden habe ich mal die Dateien des Skype Posts analysiert: disableSkypeAds.bat und disarmSkypeConfigs.ps1.
analyse-executable-files-pestudio-skype2analyse-executable-files-pestudio-skype1

Sieht erwartungsgemäßig unspannend aus – sind schließlich auch keine ausführbaren Dateien und somit werden die einzelnen Codezeilen fast fehlerfrei als Strings erkannt.

Ausführbare Dateien sind jedoch wesentlich komplexer und enthalten viel mehr Funktionalitäten, die vom Programm vielleicht auch gar nicht genutzt werden. Die .exe Datei aus meinem letzten Beitrag, dem Swords and Souls Bot, sieht beispielsweise verhältnismäßig gruselig aus:
analyse-executable-files-pestudio-bot-exe
Das liegt hauptsächlich daran, wie ich mit AutoIt ausführbaren Dateien kompiliere. Beispielsweise lasse ich den Code von benötigten Bibliotheken in die .exe Datei mergen, damit ich meine Programme nicht mit zusätzlichen .dll (oder anderen) Dateien ausliefern muss. Das bläht natürlich die .exe Datei auf und plötzlich hätte diese, laut pestudio, sogar die Fähigkeit, FTP Verbindungen aufzubauen 😀

Für mich trotzdem ein spannendes Tool, mit dem ich bestimmt gerne mal ein paar fremde Dateien analysiere, die man im Netz manchmal so zugespielt bekommt 😉
Also halten wir fest: Immer schön skeptisch und vorsichtig bleiben.

Dieser Beitrag ist eine Ergänzung bzw. Erweiterung des vorherigen Posts „FTP-Backup-Lösung mit PHP“. Die große Neuerung der Version 1.2 ist die Funktion MySQL Datenbanken sichern zu können. Auch hier wird ein Backup erstellt, überschüssige Backups (wenn mehr vorhanden sind als der gewünschte Maximalwert) werden gelöscht und neue Backups ggf. zu einem externen Server übertragen. Mit Version 1.2.1 gibt es zusätzlich die Möglichkeit, ALLE Ordner der Root-Ebene, mit Ausnahmen, zu sichern und Version 1.2.2 ermöglicht detailliertere Ausnahmen.

Features

Diese Lösung (v1.2.2) bietet nun folgenden Funktionsumfang:

  • beliebig viele Ordner des All-Inkl Accounts in einzelne .tar.gz Archive sichern
  • oder: alle Ordner der Root-Ebene, mit möglichen Ausnahmen, sichern
  • Detailliertere Ausnahmen mit Datei- und Ordnermasken wie z.B. „*.tar.gz“
  • Einschränkung der Anzahl aufgehobener Backups – älteste Backups werden automatisch gelöscht
  • detaillierte Ausgabe inklusive benötigter Zeit
  • E-Mail Benachrichtigung
  • Farbliche Hervorhebung
  • Verbesserungen des Backup Prozesses, zusätzliche Überprüfungen und Debug Infos bei Fehlern
  • Verbinden eines externen FTP Server und Kopieren aller neuen Backups
  • Angabe eines beliebigen FTP Ports
  • Verbindung über FTPs (SSL FTP) Port 21 wird verwendet, unsicheres FTP nur noch als Fallback
  • detailliertere Informationen über die Backups in der Benachrichtigungsmail
  • Backup von beliebig vielen MySQL Datenbanken von localhost, Aufräumen der Backups und Export an externen Server
  • E-Mail Anpassungen über Parameter möglich – Betreff, Anmerkungen, Details
  • ausführliche Ausgabe aller Backups im Skript und per Mail

Zwischen den Zeilen 37 und 82 findet ihr alle Variablen, die ihr anpassen müsst/könnt.

Zur Datenbanksicherung ist zu sagen, dass diese auf den Hoster All-Inkl optimiert ist. Sie sichert nur Datenbanken von localhost und benötigt den PHP Befehl „exec()“ sowie die Komponenten „mysqldump“ und „gzip“, die auf All-Inkl Servern erlaubt bzw. installiert sind. Auf anderen Hostern müssen daher ggf. diese Möglichkeiten geschaffen oder die MySQL Sicherung (Zeile 190-191) verändert werden.

Screenshot

Das Bild zeigt die Ausgaben des Backup Skripts und die versendete E-Mail Benachrichtigung

Code

Schaut für Code-Alternativen oder ein weniger komplexes System auch auf die Version 1.1 und 1.0

Update 08.2017: Version 1.2.2 nur noch als Download
Code/Download der backup.phpx

Sicherheit: Absicherung mit .htpasswd

Das Verzeichnis, in dem die backup.php und die Backups liegen, sollte natürlich mit einer .htpasswd abgesichert werden. Mit einer eingerichteten .htpasswd Datei ist zuerst ein Login nötig, eh man auf bestimmte Bereiche des Webspaces zugreifen darf:
Das Bild zeigt eine Login Datenabfrage beim Aufruf der Backup URL
Die Datei .htpasswd enthält hierbei die Login Daten und in der .htaccess des Backup Unterordners wird festgelegt, dass eine .htpasswd diesen Ordner schützt. Die .htpasswd generiert ihr euch am besten mit diesem Generator und baut sie dann folgendermaßen in die .htaccess dieses Ordners ein:

Sicherheit: Absicherung mit .htaccess

Da wir schonmal bei .htaccess sind, erhöhen wir die Sicherheit mit ein paar weiteren grundlegenden Zeilen:

Dadurch werden Zugriffe auf bestimmte Dateitypen (auch die Backup Dateien), Verzeichnisse und Zugriffe mit sicherheitskritischen Merkmalen unterbunden. Alle diese nicht validen Zugriffe bekommen die index.htm serviert, welches einfach nur eine leere HTML Datei ist. Somit wird den Abfragenden auch kein detaillierter Grund gegeben, warum der Zugriff fehlschlug.

Automatisierung mit All-Inkl Cronjobs

Zu guter Letzt hilft diese Sicherungslösung natürlich nur, wenn sie automatisiert wird. Auch dies ist stark abhängig von eurem Hoster, System, dem Anwendungsbereich usw.
Im Falle von All-Inkl als Webhoster, könnt ihr die Cronjob Funktionalität im KAS (KAS -> Tools -> Cronjobs) benutzen:
Das Bild zeigt die Cronjob Einrichtungsoberfläche von All-Inkl

Dieser Beitrag ist eine Ergänzung bzw. Erweiterung des vorherigen Posts „FTP Backup Skript in PHP“.

Folgende Änderungen werde ich hier besprechen:

  • Erweiterung des Skripts
  • Sicherheit: Absicherung mit .htpasswd
  • Sicherheit: Absicherung mit .htaccess
  • Automatisierung mit All-Inkl Cronjobs

Erweiterung des Backup Skripts

Das neue Skript bietet nun neue Funktionalitäten:

  • Farbliche Hervorhebung
  • Verbesserungen des Backup Prozesses, zusätzliche Überprüfungen und Debug Infos bei Fehlern
  • Verbinden eines externen FTP Server und Kopieren aller neuen Backups
  • Angabe eines beliebigen Ports
  • Verbindung über FTPs (SSL FTP) Port 21 wird verwendet, unsicheres FTP nur noch als Fallback
  • detailliertere Informationen über die Backups in der Benachrichtigungsmail

Nun werden also von beliebig vielen Ordner des FTP-Root Backups erstellt, gegebenenfalls aufgeräumt wenn mehr Backups existieren als aufgehoben werden sollen und anschließend alle neuen Backups auf einen externen FTP Server kopiert. Für den Upload wird der passive FTP Modus verwendet, da dieser in den seltensten Fällen Probleme macht. Sollte der Wechsel zum passiven FTP fehlschlagen, wird dennoch aktives FTP probiert.
Alle nötigen Informationen werden in den Variablen in Zeile 16 bis 25 angegeben. Format und Hilfe steht jeweils dabei, eigentlich sollte da alles klar sein.

Die Erweiterungen machen aus dem Skript eine beispielhafte Backup-Lösung für FTP Inhalte. Auch hier am Beispiel von All-Inkl als Hoster. Wer die Lösung unabhängig von All-Inkl einsetzen möchte, wird das Archive_Tar PHP Modul und irgendeine Art von Cronjob-Funktionalität brauchen.

Screenshot

php-ftp-backup-neu

Code

Achtung: Update (09.06.2015): Dieses Skript ist Version 1.1, basierend auf dem grundlegenden Backup Skript aus diesem Artikel. In Version 1.2 (diesen Artikel) lassen sich nun auch MySQL Datenbanken mitsichern.

Update (02.06.2015): Anpassung der Variablennamen zur besseren Lesbarkeit, Fehlerkorrekturen, verbesserte FTP-URI-Verarbeitung, Portangabe möglich, Verbindung über FTPs (FTP über SSL über Port 21) möglich (mit Fallback zu unsicherem FTP wenn FTPs nicht funktioniert), erweiterte Informationen über die erfolgten Backups in der Benachrichtigungsmail, kleine Optimierungen
Code anzeigenDen Code könnt ihr bequem mit den Links/Rechts Pfeiltasten horizontal bewegen.

Sicherheit: Absicherung mit .htpasswd

Das Verzeichnis, in dem die backup.php und die Backups liegen, sollte natürlich mit einer .htpasswd abgesichert werden. Mit einer eingerichteten .htpasswd Datei ist zuerst ein Login nötig, eh man auf bestimmte Bereiche des Webspaces zugreifen darf:
Das Bild zeigt eine Login Datenabfrage beim Aufruf der Backup URL
Die Datei .htpasswd enthält hierbei die Login Daten und in der .htaccess des Backup Unterordners wird festgelegt, dass eine .htpasswd diesen Ordner schützt. Die .htpasswd generiert ihr euch am besten mit diesem Generator und baut sie dann folgendermaßen in die .htaccess dieses Ordners ein:

Sicherheit: Absicherung mit .htaccess

Da wir schonmal bei .htaccess sind, erhöhen wir die Sicherheit mit ein paar weiteren grundlegenden Zeilen:

Dadurch werden Zugriffe auf bestimmte Dateitypen (auch die Backup Dateien), Verzeichnisse und Zugriffe mit sicherheitskritischen Merkmalen unterbunden. Alle diese nicht validen Zugriffe bekommen die index.htm serviert, welches einfach nur eine leere HTML Datei ist. Somit wird den Abfragenden auch kein detaillierter Grund gegeben, warum der Zugriff fehlschlug.

Automatisierung mit All-Inkl Cronjobs

Zu guter Letzt hilft diese Sicherungslösung natürlich nur, wenn sie automatisiert wird. Auch dies ist stark abhängig von eurem Hoster, System, dem Anwendungsbereich usw.
Im Falle von All-Inkl als Webhoster, könnt ihr die Cronjob Funktionalität im KAS (KAS -> Tools -> Cronjobs) benutzen:
Das Bild zeigt die Cronjob Einrichtungsoberfläche von All-Inkl

All-Inkl bietet sogar das Zusenden aller Skriptausgaben. Ihr erhaltet also zusätzlich zu dem kurzen E-Mail-Bericht, der im Skript generiert werden kann, noch eine weitere Mail mit allen Ausgaben. Diese sind dann zwar nicht mehr farbig, aber was solls:
Das Bild zeigt die Cronjob E-Mail mit den Skriptausgaben

Danke an Kenny für das wertvolle Feedback im letzten Artikel, das dazu beigetragen hat, dass ich diese Erweiterung nochmal gepostet habe. Meinst du, dass das jetzt eine Basic Backup Lösung sein könnte? Das einzige, was noch fehlt, ist das Backup Management auf dem externen FTP Server, damit der nicht überläuft. Aber das ist nun wirklich Aufgabe der Admins zu entscheiden und zu verwalten, wie lange Backups aufgehoben werden sollen.