Zwei-Faktor-Authentifizierung mit KeePassXC

Immer mehr Internet Dienste, bzw. Webseiten können mittlerweile durch ein zweites Sicherheitselement zusätzlich abgesichert werden. Sehr beliebt ist dabei das sogenannte Einmalkennwort (TOTP –> Time-based one-time password). Dies wird zusätzlich zu einem Anmeldenamen und Passwort benötigt. Während die Benutzerkennung und das Passwort statisch sind, ändert sich das Einmalkennwort periodisch. Bei der am weitesten verbreiteten Methode RFC 6238 geschieht dies alle 30 Sekunden.

Dies bedeutet, dass nach 30 Sekunden diese zusätzliche Kennwort ungültig wird. Wird also dieses Kennwort durch einen Fehler an eine dritte Person weitergegeben, ist dieses schon wieder nutzlos. Und ohne diese weitere Kennwort, funktionieren die eigentlichen Anmeldedaten auch ebenfalls nicht.

Dabei gibt es verschiedene Möglichkeiten, ein solches Kennwort oder auch Token zu generieren. Auf Smartphones werden üblicherweise Apps, wie zum Beispiel Authy oder Yubikey Authenticator (der noch einen zusätzlichen Hardwareschlüssel in Form eines USB Sticks benötigt) eingesetzt. Am PC gibt es ebenfalls den Yubikey Authenticator und diverse weitere Tools, die je nach Betriebssystem verschieden sind.

Man kann allerdings auch den sehr beliebten Passwortmanager KeePassXC dazu nutzen. KeePassXC bringt dabei schon alles notwendige von Haus aus mit, um auch Einmalkennwörter zu generieren. Und wenn man ein entsprechendes Browserplugin nutzt, kann dieses bei Anmeldungen an Webseiten automatisch ausgefüllt werden. Und dieses kostenlose Open Source Tool gibt es für so ziemlich alle Betriebssysteme.



KeePassXC

Datenbank anlegen

Ich empfehle eine zusätzliche Datenbank in KeePassXC anzulegen, rein aus Sicherheitsgründen. Oder noch besser ist es, zusätzlich KeePassXC mit einem Hardwaretoken, wie zum Beispiel dem YubiKey abzusichern. Dieser Key muss im USB Port stecken, wenn die Datenbank geöffnet und entschlüsselt werden soll. Ohne diesen Hardwareschlüssel ist das Öffnen nicht möglich und sichert so zusätzlich die Daten ab.

Unter dem Menüpunkt <Datenbank> und dann <+ Neue Datenbank> wird eine neue Datenbank erstellt:

Hier kann man beliebige Daten eingeben. In meinem Beispiel habe ich als Name “TOTP” und als Beschreibung “Token Generator” gewählt. Mit <Weiter> kommt man zum nächsten Schritt:

Hier wird die Sicherheitstufe festgelegt. Je höher die Zeit zum Entschlüsseln, desto aufwendiger wird eine Brute Force Attacke. Unter <Fortgeschrittene Einstellungen> können weitere Einstellungen vorgenommen werden. Ich lasse alles auf den vorgegebenen Werten und klicke auf <Weiter>:

Auch hier gilt, je länger und komplizierter das Passwort, desto sicherer. Ein grüner Balken unterhalb des Passwortes signalisiert ein ausreichend sicheres Passwort. Anschließend kann man mit einer Bestätigung auf <Weiter> noch die Datei abspeichern und kehrt danach zurück zum Hauptprogramm:

Ersten Eintrag vornehmen

Um einen weiteren Eintrag vorzunehmen, muss man bei dem entsprechenden Dienst oder Webseite 2FA aktivieren. Und dann bekommt man im Normalfall einen sogenannten QR-Code und eine längere Code angezeigt. Wie zum Beispiel hier:

Der QR-Code beinhaltet den darunter stehenden Code. Man kann diesen also entweder manuell eingeben, oder wenn man ein Smartphone nutzt, diesen mit der Kamera scannen und spart sich so das eintippen. Für KeePassXC benötigen wir den Code, wie hier im Beispiel JQQ4HXOMUDKQHIFL2W5XDX3XTSVY3XL7.

In KeePassXC erstellt man nun im Menü unter <Einträge> und dann <Neuer Eintrag ...> folgendes:

Dabei trägt man folgende Daten in folgende Felder ein:

  • Titel
    • Wie soll der Eintrag genannt werden. Am besten so nennen, wie die Webseite um den Eintrag leichter zu identifizieren
  • Benutzername
    • Kann frei bleiben. Ich trage trotzdem immer den Benutzernamen ein. Hat man mehrere User auf einer Webseite macht dies es leichter zu unterscheiden
  • Passwort
    • Hier sollte der Code rein, der von der Webseite für 2FA genannt wurde. Dies ist nur für den Zweck, falls man diesen Code noch einmal braucht.
  • URL
    • Sofern man im Browser das automatische ausfüllen nutzen möchte, hier die entsprechende Webseite eingeben

Unter Notizen kann man sich zum Beispiel dann noch die Backup Codes eintragen, die man normalerweise bei der 2FA Anmeldung immer bekommt. Das ist im Notfall sehr hilfreich, sollte aus irgend einem Grund der Token Generator in KeePassXC mal nicht funktionieren.

Wenn der Eintrag dann mit <OK> abgespeichert wurde, mit der Maustaste einen Rechtsklick auf den Eintrag machen und auf <TOTP> und dann <TOTP einrichten ...>:

Es öffnet sich ein weiteres Fenster, wo unter “Geheimer Schlüssel:” der Code erneut eingegeben wird:

Dann noch auf <OK> klicken und der neue Eintrag ist abgeschlossen und der Token Generator in KeePassXC kann genutzt werden.

2FA Code abrufen

Damit man nun den Token sich anzeigen lassen kann, geht man mit einem Rechtsklick wieder auf den Eintrag und wählt <TOTP> und <TOTP anzeigen> aus:

Es öffnet sich ein kleines Fenster, in dem der jeweils gerade gültige Token angezeigt wird. Dieses Einmalkennwort ändert sich alle 30 Sekunden. Unterhalb des Codes läuft ein Timer ab, der anzeigt, wie lange dieses Kennwort noch gültig ist:


Hinweis

Es ist natürlich auch Möglich, alles in einer Datenbank zu speichern. Man erhöht durch zwei getrennte Datenbanken und damit auch zwei getrennten Dateien (die an verschiedenen Orten gespeichert werden können) etwas die Sicherheit. Und natürlich sollten getrennte Passwörter zum entschlüsseln der beiden Datenbanken genutzt werden.

Auch braucht man technisch gesehen nicht extra Einträge für die 2FA Verwaltung. Man kann den TOTP Eintrag natürlich auch an die vorhanden Anmeldaten in KeePassXC hinzufügen. Das Vorgehen ist gleich, nur das eben vorher nicht eine neue Datenbank angelegt wird und das man eben bestehende Einträge nutzt. Den Code für die Einrichtung würde dann natürlich nicht in das Feld “Passwort”, sondern unter Notizen vermerkt werden.


Fazit

Mit 2FA erhöht man signifikant die Sicherheit im Internet. Und es ist wesentlich sicherer, als das leider immer noch genutzte Verfahren über SMS, was in der Vergangenheit schon mehrfach dazu genutzt wurde, um trotz 2FA auf fremde Daten zuzugreifen. Und mit KeePassXC erhält man ein fabelhaftes und einfach zu bedienendes Tool, was praktisch für alle Betriebssysteme verfügbar und dazu auch noch kostenlos ist.

Und die Einrichtung und Verwaltung der Einträge ist recht einfach und schnell erledigt. Und für die meisten Browser gibt es auch ein Plugin, welches nicht nur die Anmeldedaten, sondern auch den jeweils aktuell gültigen Token automatisch ausfüllen kann. So macht man sich das Leben nicht nur einfacher, sondern auch ein wenig sicherer.


Quellen:

https://keepassxc.org/
https://datatracker.ietf.org/doc/html/rfc6238
https://de.wikipedia.org/wiki/Time-based_one-time_password

Nach oben scrollen