stalk me here ----> github twitter rss Feedback

Suchergebnis

Filezilla und die gespeicherten Passwörter

Artikel vom 18.03.2011, Bereich: tutorials-tipps

FileZilla gefällt mir als FTP-Client sehr gut, gerade weil es Open Source und damit für mehrere verschiedene Plattformen verfügbar ist. Weniger gefällt mir, dass FileZilla immer die Passwörter meiner zuletzt benutzen FTP-Verbindungen als Klartext in einer XML-Datei speichert…

Das Problem

FileZilla legt im Konfigurationsordner (Windows 7C:\Users<em>Benutzername</em>\AppData\Roaming\FileZilla | Linux: ~/.filezilla) standardmäßig immer die datei recentservers.xml für Quickconnects (Verbindungen über die Eingabefelder in der Toolbar) und eine sitemanager.xml für Verbindungen mit dem Servermanager (Datei -> Servermanager bzw. File -> Site-Manager) an. Schaut man sich diese Dateien genauer an, sieht man, dass die benutzen Passwörter dort im Klartext abgespeichert werden:

Dies ist laut Entwickler angeblich so gewollt, im offiziellen FileZilla-Forum gab es auf eine Frage dazu die Antwort:

“This is by design, it is the task of the operating system to protect your private data.” Die Erklärung, dass das Betriebsystem für die Sicherheit der Daten zuständig ist, mag zwar auf den ersten Blick richtig sein. Andererseits halte ich es dennoch für recht unverantwortlich, solche Daten im Klartext abzuspeichern. Kein Betriebsystem kann 100%ige Sicherheit garantieren. Software ist heute auch so komplex, dass der Nutzer nicht zwingend einen Fehler machen muss, damit Schadsoftware auf den eigenen Rechner gelangen kann. Schon einfache Baukasten-Trojaner könnnen so die Passwörter auslesen. Daher habe ich mal nach einem Weg gesucht, die Klartext-Speicherung der Passwörter zu verhindern.

Keepass zum Speichen der Passwörter verwenden

Ich bin ein großer Fan von Keepass (keepassx unter Linux). Mit diesem Tool ist es möglich, die Zugangsdaten in einer verschlüsselten Datei/Datenbank abzuspeichern. Trotzdem wird das Verbinden zu verschiedenen FTP-Servern nicht wesentlich komplizierter als mit der Quickconnect-Funktion in FileZila!

Keepass-Einstellungen vornehmen

Um die FTP-Passwörter sicherer zu speichern, muss eine passwortgeschützte Keepass-Datenbank erstellt werden. Pro FTP-Verbindung wird nun ein neuer Eintrag angelegt. Ich speichere dabei die Serveradresse im Titel-Eingabefeld des  Eintrags und gebe in den Feldern für Benutzername und Passwort die passenden Verbindungsdaten an. In das Adressfeld (URL) wird der Speicherort von Filezilla mit vorangehendem cmd:// eingetragen, also unter Windows  beispielsweise cmd://”C:\Program Files\FileZilla FTP Client\filezilla.exe”, bei Linux-Distributionen z.B. cmd://”/usr/bin/filezilla”. Dadurch kann Filezilla immer direkt per Tastenkombination (STRG + U)  von Keepass aus gestartet werden. Damit die Daten auch immer bei Filezilla eingefügt werden, kann das Auto-Type-Feature von Keepass benutzt werden. Dabei handelt es sich um eine Art Makrofunktion, die einfach im Kommentarfeld des jeweiligen Eintrags eingestellt werden kann. In unserem Fall fügen wir einfach irgendwo im Kommentarfeld den folgenden Text ein:

Auto-Type: {TITLE}{TAB}{USERNAME}{TAB}{PASSWORD}{ENTER}

Selbstverständlich kann diese Funktion auch noch individuell angepasst werden. Weitere Hinweise dazu finden sich im Keepass Help Center.

FileZilla mithilfe von Keepass verwenden

Wurden die oben genannten Einstellungen vorgenommen, kann FileZilla immer mit der Tastenkombination STRG + U (alternativ natürlich auch manuell) gestartet werden. Wenn der Cursor im Host-Eingabefeld in der FileZilla-Toolbar steht, kann dann wieder zu Keepass gewechselt werden und die Auto-Type-Funktion mit der Tastenkombination STRG + V aufgerufen werden. Alternativ lässt sich auch in den Keepass-Einstellungen eine globale Tastenkombination für diese Funktion festlegen. Keepass füllt dann automatisch die benötigten Felder aus und verbindet zum angegeben FTP-Server.

FileZilla davon abhalten, Passwörter zu speichern

Funktioniert die Eingabe und Verbindung mithilfe von Keepass, muss Filezilla natürlich noch so konfiguriert werden, dass keine Kennwörter mehr in den .xml-Dateien hinterlegt werden. Um dies zu erreichen, muss die Datei fzdefaults.xml.example in den Konfigurationsordner (siehe oben) kopiert und in fzdefaults.xml umbenannt werden. Außerdem muss in der Datei die Einstellung Kiosk Mode aktiviert werden, was durch Ändern der Zeile:

<Setting name="Kiosk mode">1</Setting>

…erreicht wird. Die Datei fzdefaults.xml.example befindet sich im docs Ordner (unter Windows im FileZilla Installationsverzeichnis, unter Linux unter /usr/share/filezilla/docs). Unnötige Einstellungen in der fzdefaults.xml, wie z.B. die Zeile <Setting name=”Config Location”>$SOMEDIR/filezilla/</Setting> sollten entfernt werden, um Fehler zu vermeiden. Auch in der Konfigurationsdatei filezilla.xml muss unter Umständen noch die Einstellung für Kiosk Mode auf 1 gesetzt werden. Sofern alles geklappt hat, sollte FileZilla fortan keine Passwörter mehr speichern. Die Dateien recentservers.xml und sitemanager.xml, die eventuell noch sensible Daten enthalten sollten dann auch entfernt werden.

Tipp: Sollte sich der gewünschte Effekt nicht einstellen und FileZilla nach wie vor Passwörter abspeichern kann auch mit der Holzhammermethode unter Linux der Lese-/Schreibzugriff auf die beiden Dateien mit einem

chmod -rw dateiname

verhindert werden. Unter Windows gibt es für einen Sicheren Modus auch entsprechende Einträge in der Regestry, welche auf ‘1’ gesetzt werden können:

HKEY_LOCAL_MACHINE\SOFTWARE\FileZilla\Run in Secure Mode sowie HKEY_USERS[username]\Software\FileZilla\Run in Secure Mode

Auch die Serveradresse verschleiern

Mit dem oben beschriebenen Verfahren können eventuell noch Serveradresse und Benutzername von einem FTP-Zugang ausgelesen werden. Ein weiterer kleiner Trick kann auch die Serveradresse verschleiern:

Aliasnamen für Serveradresse festlegen:

Durch Anpassen der Hostsdatei, z.B. mit dem notepad-Editor (unter Windows ist die Datei unter Windowsverzeichnis/system32/drivers/etc/hosts, bei Linux unter /etc/hosts) kann für die eigene Serveradresse ein Aliasnamen bestimmt werden. Dazu wird einfach in die Datei eine Zeile nach dem Muster Serveradresse Aliasname eingefügt, also z.B.:

188.40.182.70 meinetolleseite

Aliasname verwenden

Nach Ändern der hosts-Datei kann anschließend im Keepass-Eintrag (bzw. in Filezilla) statt der Serveradresse immer Aliasname verwendet werden. Dies hat zum Vorteil, dass natürlich auch in der Konfigurationsdatei statt der eigentlichen Adresse der Aliasname abgespeichert wird. Die reale Adresse des Servers kann so für simple Schadprogramme schwerer herausgefunden werden.

Andere Meinungen erwünscht!

Welchen FTP-Clienten benutzt du? Oder hast du noch weitere Tipps, wie die Verbindung zu einem FTP-Server mit Filezilla sicherer gemacht werden könnte? In jedem Fall freue ich mich über eurer Feedback. ;-)