KeePass auf mehreren Plattformen ohne Cloud

KeePass auf mehreren Plattformen ohne Cloud

Wer kennt das nicht, dieses schlechte Gewissen wegen der Passwörter. Nicht dass sie wirklich schlecht wären, aber auch nicht unknackbar und dazu noch auf vielen Seiten „wiederverwendet“. Eine bessere Strategie und ein Passwort-Manager für alle Plattformen muss her: KeePass und ein entsprechend präparierter USB-Stick

Über KeePass, die Installation und wie man damit arbeitet ist schon genügend geschrieben worden (s.u. die Links auf andere Blogs). Deshalb beschränke ich mich darauf, wie ich vorgegangen bin, um daheim und unterwegs beim Kunden (USB-Stick, ohne Cloud) meine Passwörter gut im Griff zu haben.

Anforderungen

  • Läuft an meinem Standardarbeitsplatz, also macOS 10.12 und und Windows 10 in einer virtuellen Maschine per VMware Fusion
  • Ist auf iOS verfügbar (und am besten auf Android auch)
  • Braucht keine Cloud (auch wenn alles verschlüsselt ist, mag ich den Gedanken an Passwörter in der Cloud einfach nicht)
  • Wenig Aufwand bei manueller Synchronisierung
  • Portable Version, damit ich auf einem Kunden-PC oder -Mac ohne Administratorrechte darauf zugreifen kann
  • Nicht zu viel Mehraufwand bei der täglichen Arbeit
  • Zweifache Zugriffssicherung der Passwort-Datenbank durch Master-Passwort und Schlüssel
  • Am liebsten Open-Source

KeePass …

… erfüllt tatsächlich alle Anforderungen 🙂 siehe https://keepass.info/ Die von mir verwendeten Apps sind:

  • KeeWeb für macOS, kann aber auch im Browser offline laufen sowie als Desktop-App unter Windows und Linux
  • KeePass 2.3.7 (und folgende) für Windows als festinstallierte und als portable Version, beide Downloads über keepass.info
  • MiniKeePass (for iPhone / iPad)

Alternativen auf dem Mac sind KyPass aus dem App-Store für 8,99€ (gefiel mir weniger, aber ich weiß nicht mehr warum), KeePass-X (OK). MacPass habe ich nicht ausprobiert macht aber auch einen sehr netten Eindruck, sollte ich mal testen :).

Unter Windows verwende ich deshalb KeePass und nicht KeeWeb, weil letzteres keine Export-Möglichkeiten bietet und ich gelegentlich einige selektierte Einträge an Kollegen verschicken muss. Das kann KeePass ziemlich gut in verschiedensten Formaten.

Setup

Desktop (fester Rechner)

Installieren auf Mac und Windows, wie anderenorts beschrieben und dann eine neue Datenbank mit Schlüssel anlegen. Ich habe macOS als Host-System und Windows 10 läuft in einer Bootcamp-Partition als virtuelle Maschine über VMware Fusion. Da meine Mac-Partition verschlüsselt ist, die Windows-Partition aber nicht, und außerdem das Backup mit Time-Machine einfach genial ist (ebenfalls verschlüsselt), ist auf dem Mac die KeePass-Datenbank KeePass-X.kdbx mit dem dazugehörigen Schlüssel KeePass-X.key gespeichert. Das Verzeichnis lässt sich einfach über die VMware-Einstellungen in Gemeinsame Nutzung für Windows freigeben.

iOS

MiniKeePass installieren und über AirDrop die Datenbank und den (einmalig) den Schlüssel schicken. Das funktioniert auch in die Gegenrichtung, falls man tatsächlich unterwegs einen Eintrag erstellt oder geändert hat. Dann kann man auf dem Mac beide Datenbanken gelichzeitig öffnen und die Einträge rüberziehen. MiniKeePass unterstütz auch Touch-ID, aber für das einmalige Öffnen einer Datenbank (optional auch nach einem Time-Out, leider höchstens 5 Minuten) muss man das Master-Passwort eingeben. Ansonsten schließe ich die Datenbank beim Sichern App-seitig aus, weil ich immer wieder veränderte iCloud-Einstellungen entdecke.

Schlecht an MiniKeePass ist der Umgang mit Attachments. Diese werden schlicht ignoriert in den Einträgen, bleiben aber immerhin erhalten.

Der USB-Stick

Der Stick muss sowohl die Passwort-Datenbank KeePass-X.kdbx als auch das File mit dem Schlüssel KeePass-X.key enthalten. Weiterhin brauche ich eine ausführbare App für macOS und Windows, weil ich auf einem Rechner beim Kunden mal auf Mac, mal auf Windows arbeite.

Hierzu muss der Stick ganz traditionell und unverschlüsselt mit FAT formatiert sein, damit auch Windows darauf zugreifen kann. Die kleine Herausforderung ist die Schlüssel-Datei. Die soll natürlich nicht unverschlüsselt auf der Platte liegen. Hier zunächst die grobe Struktur:

Wenn der USB-Stick verloren geht ist die Datenbank in fremden Händen sowie eine verschlüsselte Version des Zugriffsschlüssels (natürlich mit einem anderen Passwort 🙂 ). Das sollte OK sein, wenn beide Passwörter unterschiedlich und ausreichend stark sind

Mac

Hier ist alles in dem verschlüsselten Sparse-Image „zzSafe/macOS/USB-Image macOS.sparseimage“ gespeichert:

Der Key ist aus Bequemlichkeit hier noch mal redundant gespeichert. Ansonsten müsste ich ihn bei jeder Benutzung neu entschlüsseln wie unten bei Windows beschrieben. Der Link „KeePass-X.kdbx“ ist im Terminal erzeugt:

Auch das ist nur zum Komfort gedacht. Man kann genauso gut die Datei aus dem gemeinsamen Verzeichnis öffnen, sind halt mehr Klicks.

Das Sparse-Image wird im Festplattendienstprogramm (Disk Utility) angelegt mit Ablage / Neues Image / Leeres Image. Dann Format Mac OS Extended , Verschlüsselung 256-Bit-AES und Mitwachsendes Image. Die Größe gibt die maximale Größe des Images an, sollte also eher zu groß als zu klein sein, da der tatsächliche Speicherverbrauch nur vom Inhalt abhängt. Einmal kreiert speichert man dort, was man geschützt auf dem Stick braucht.

Neben dem Sparse-Image, also unter „FAT/zzSafe/macOS/install„, habe ich noch eine GPG-Suite gelegt, falls ich unterwegs mal verschlüsseln muss.

Windows

Hier ich habe ich zwei Lösungen vorgesehen:

  1. Über eine zweite Partition unter NTFS, die mit BitLocker verschlüsselt ist
  2. GPG zum Ver- und Entschlüsseln auf der FAT-Partition

Zweite Partition mit NTFS und BitLocker

Hierzu wird der Stick in 2 Partitionen aufgeteilt: eine mit NTFS formatierte Partition (E:) und die oben beschriebene FAT-Partition (jetzt F:). Ich habe das nachträglich mit dem Paragon Festplatten-Manager gemacht, weil ich erst später erkannt habe, dass mir die 1-Partitionen-Lösung zu umständlich ist.

Die NTFS-Partition kann nun mit BitLocker verschlüsselt werden (geht unter FAT nicht) und dann analog zur Mac-Lösung eingerichtet werden:

Die Verknüpfung „KeePass-X.kdbx“ zeigt auf „„F:\zzSafe\KeePass\KeePass-X.kdbx„, so dass Schlüssel und Datenbank im gleichen Verzeichnis erscheinen, aber beim Übertragen auf den Stick wieder nur die eine Datei „F:\zzSafe\KeePass\KeePass-X.kdbx“ als Referenz-Datenquelle aktualisiert werden muss. Das ist nur für den Komfort, könnt ihr auch lassen.

Eine Partition mit GPG-Verschlüsselung

Dies ist etwas umständlicher in der Handhabung, aber dafür kommt man mit nur einer einzelnen Partition aus.

Da ich ohnehin GPG Suite und Gpg4win (GNU Privacy Guard, der PGP-Nachfolger) gelegentlich verwende um E-Mails zu verschlüsseln, war es naheliegend dieses zu verwenden. Auf der Download-Seite ist beschrieben, wie eine portable Version mit Hilfe des mitgelieferten mkportable.exe ganz einfach erstellt werden kann. Außerdem benötigt man noch die portable Version von KeePass, die man direkt downloaden kann. Damit ergibt sich folgende Struktur:

In KeePass-2.3.7 findet sich die direkt startbare exe, in pgp4win die Entschlüsselungs-Tools um den privaten Schlüssel unter E:\zzSafe\KeePass\KeePass-X.key.gpg zu entschlüsseln. Um das zu vereinfachen, habe ich den Befehl zum Entschlüsseln im Script decryptKey.cmd abgelegt:

Danach einfach im Explorer nach „\zzSafe\Win\KeePass-2.37\“ gehen und KeePass.exe starten und mit der Datenbank samt Schlüssel aus „\zzSafe\KeePass“ arbeiten.

Nachteil ist dabei, dass das File KeePass-X.key auf dem Stick solange entschlüsselt stehen bleibt, bis man es von Hand wieder löscht – das sollte man nicht vergessen, wenn man ganz sicher sein will. Mir fiel auf die Schnelle keine bessere Lösung ein.

Migration und der Alltag

Das Einrichten war der spannendere Teil, das Ätzende ist der Weg zu einer wirklich sauberen Datenbank. Es gibt zwar unter der Windows-Version eine Fülle von Import-Möglichkeiten, aber das Problem liegt meistens tiefer, sprich bei der eigenen Nachlässigkeit in der Vergangenheit. Daher habe ich beschlossen keinen Import zu machen, sondern alle im Firefox-Passwort-Manager gepeicherten Einträge von Hand durchzugehen.

Ja ich bin Stück für Stück alle durchgegangen, habe die Web-Sites überprüft und bei denjenigen, die ich noch brauchte, das Passwort durch ein von KeePass generiertes ersetzt. Für die weniger wichtigen Seiten nutze ich parallel den Firefox-Passwort-Manager oder die Safari-Key-Chain, aber KeePass ist immer die Master-Datenquelle. Dort generiere ich neue Passwörter und sage dem Browser bei Bedarf, dass er sie auch speichern darf – viele Seiten merken sich ohnehin die Session. Des weiteren gibt es für die meisten Browser Add-Ons, aber das habe ich bisher noch nicht gebraucht bzw. auch nicht gewollt.

Mir ging es mehr um die Einrichtung auf einem USB-Stick für Mac und Windows. Wer mehr Details zur Installation oder den ersten Schritten mit KeePass wissen möchte, sei auf andere Blogs verwiesen, z.B.:

Ein nettes Feature, was selten in anderen Posts erwähnt wird: Auto-Type. Man definiert einen System-weiten Shortcut (auf dem Mac standardmäßig CTRL+ALT+T) und kann dann vom Browser aus im direkt KeePass aufrufen. Es erscheint die Liste aller Einträge und nach dem Selektieren wird automatisch der UserName in das aktuelle Feld geschrieben, mit Tab zum nächsten Feld gesprungen, dort das Password reingeschrieben, wieder Tab zum Submit-Button und der wird mit Return getriggert. Klappt in 90% aller Fälle gut, vorausgesetzt man steht im Feld Benutzername. Manche Seiten haben allerdings noch weitere Felder zwischen Passwort und dem Button, z.B. „Remember me„. Dann kann man für diesen Eintrag in KeePass eine spezielle Sequenz definieren, wo dann z.B. noch ein Tab ausgefüht wird.

Comments are closed.

Post navigation

Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu Mehr
By continuing to use the site, you agree to the use of cookies. More

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close