Passwort-Manager: Keepass-Integration everywhere

KeePass ist ein Klassiker unter den Passwort-Managern. Wie viele andere auch speichert er Kennwörter und andere sensitive Informationen mit einem Master-Kennwort geschützt ab. Seine Vorteile waren schon immer die Opensource-Lizenz sowie Portierungen für verschiedenste Plattformen und Geräte - ich hatte ihn schon auf meinem Palm Pilot schon im Einsatz. Mit KeePass 2 gab es einen Bruch in der Entwicklung: Neues Datenformat, Mono statt C++, etc. Unter Linux (mit Mono) funktionierte der "neue" KeePass nur halblebig, weshalb ich lange Zeit noch bei KeePassX blieb. Was mich wurmte war eine fehlende Synchronisation mit Firefox. Auf den Tip eines Kollegen hin startete ich einen neuen Anlauf, und ich kann vermelden: Es geht! Nach etwas Bastelei habe ich nun die Passwörter von Firefox und den händisch eingetragenen synchronisiert auf allen Geräten, einschließlich Android.

KeePass und Dropbox

Die aktuellste Version von KeePass funktioniert mit der bei mir vorhandenen Mono-Version (2.10.9) prima - damit war die Grundvoraussetzung erfüllt. Für die Synchronisation zwischen den Geräten nutze ich Dropbox. Als Schutz vor einem kompromittierten Dropbox-Account verwende ich für die Verschlüsselung neben dem Master-Kennwort ein Keyfile, welches selbst nicht in der Dropbox, sondern nur auf meinen Geräten liegt. Damit sollte ein Angriff auf die KeePass-Datenbank hinreichend schwer sein.

Firefox (und Thunderbird)

Für die Integration mit Firefox benutze ich das Addon KeeFox (funktioniert auch bei Thunderbird). Das Addon benötigt eine gestartete Instanz von KeePass und kommuniziert mit dieser über ein mitgeliefertes KeePass-Plugin, welches man zumindest unter Linux manuell in KeePass installieren mußte. Den Export meiner in Firefox gespeicherten Passwörter bewerkstelligte ich mit mit dem Firefox-Addon Password Exporter und dem empfohlenen KeePass-Plugin KeePass Password Import - der direkte Weg mit dem Importer funktionierte bei mir nicht.
Ein wenig gemischte Gefühle habe ich momentan noch mit der Kommunikation zwischen Firefox und KeePass: Diese erfolgt über einen (lokalen) Netzwerk-Socket; es gibt zwar irgendeine Authentisierung (man muß die Verbindung einer neuen Anwendung zu KeePass bestätigen), allerdings frage ich mich, ob nach der Bestätigung nicht doch irgendeine "krumme Nummer" möglich ist... muß ich mir wohl oder übel mal in Ruhe ansehen.

Automatischer Start: Master-Key im Gnome Keyring

Eigentlich bringt Gnome seinen eigenen Passwort-Manager in Form des Gnome Keyrings mit; diesem fehlt aber die Möglichkeit zum Abgleich zwischen mehreren Geräten und dem Multi-Plattform-Support. Glücklicherweise habe ich hier das Kommandozeilen-Tool gnome-keyring-query entdeckt, mit welchem sich der Zugriff skripten läßt: Ich speichere den Masterkey im (ebenfalls durch ein Passwort geschützen) Gnome Keyring und lese ihn skriptgesteuert aus. So läßt sich KeePass ohne weitere Passwortabfrage starten:

gnome-keyring-query get keepass | keepass /pfad/zur/keepass.kdbx --keyfile:/pfad/zum/keepass.keyfile --pw-stdin

Android-Unterstützung

Bleibt zur vollendeten Glückseeligkeit nur noch der Android-Support: KeePassDroid kann die Datenbanken von KeePass 2 lesen, und die Synchronisation zwischen Android und Dropbox-Ordner übernimmt FolderSync. Voilà!

Fazit

Soweit bin ich erstmal sehr glücklich! Ob ich die Automatisierung mit dem Gnome Keyring so beibehalten werde, muß ich nochmals überdenken - und auch den Blick auf die RPC-Schnittstelle des KeePass-Plugins werde ich im Hinterkopf behalten. Aber für den Moment bin ich mit meinem Werk recht zufrieden.