Neuigkeiten:

Privates MODX und LINUX BLOG, User Registrierung ist deaktiviert! Fragen oder Tipps? Bitte per Matrix: @jolichter:tchncs.de

Hauptmenü

Passwortmanager KeePassXC mit YubiKey

Begonnen von Jo, 2022-02-06 | 18:23:17

« vorheriges - nächstes »

Jo

Ein Passwortmanager ist heute eine Notwendigkeit und es gibt derer viele, mein Favorit ist der plattformübergreifend freie und quell-offener KeePassXC welcher z.B. mit einem YubiKey besonders sicher ist!
-> siehe auch Zwei-Faktor-Authentifizierung

HINWEIS, Stand 2022-02-20: Leider unterstützen nicht alle Portale lange und komplizierte Passwörter oder bieten 2FA per OTP an. Schlecht macht das z.B. die Allianz die keine Sonderzeichen zulassen oder 2FA anbieten. Auch Stromanbieter wie TEAG oder EVM bieten kein 2FA an und bei EVM sind max. nur 16 Zeichen zugelassen (Sonderzeichen eingeschränkt). Die Telekomiker Gesellschaft unterstützt ebenfalls kein 2FA (LINK), als teuerster Anbieter in DE bekommen die das nicht hin? Der Hammer war EVM: Registrierung mit einem "falschen" Sonderzeichen im Passwort ging ohne Warnung, aber das Anmelden war danach unmöglich. Bei Amazon und Google muss erst 2FA per SMS aktiviert werden, danach kann OTP aktiviert werden. Und OTTO? Zitat: "Fazit: Nutze die Zwei-Faktor-Authentifizierung, wann immer du kannst" (LINK). Selbst bietet OTTO so was nicht an... das ist ziemlich unprofessionell und gleichzeitig kommt man sich verarscht vor. Immerhin, deren "Tipps für ein sicheres Passwort" im Backend beim Passwort ändern sind OK.

Wichtig: SMS-Nachrichten werden normalerweise unverschlüsselt übertragen, was bedeutet, dass der Inhalt der Nachrichten von jemandem, der Zugriff auf das Netzwerk hat, eingesehen oder abgefangen werden kann. Daher bietet die 2FA über SMS nur begrenzten Schutz, ist aber besser als keine zusätzliche Sicherheitsebene.

KeePassXC zusammen mit einem sehr robusten YubiKey ermöglicht es euch lange und komplizierte Passwörter zu generieren und dank YubiKey kann das Master-Passwort zum öffnen einfach gehalten werden. Hinzu kommt das KeePassXC von Haus aus Zwei-Faktor-Authentifizierung (2FA) per TOTP unterstützt, indem es euch das zeitlich begrenzte Einmalkennwort generiert (OTP = One-time Password, TOTP = Time-based One-time Password).

Wird damit der Vorteil einer Zwei-Faktor-Authentifizierung (2FA) zunichte gemacht? Zum Teil ja, aber nur wenn diese in der gleichen Datenbank wie das Passwort gespeichert ist. Das KeePassXC Team ist der Meinung, dass die gemeinsame Speicherung immer noch sicherer sein kann als die Nichtverwendung von 2FA, aber um den Sicherheitsgewinn durch die Verwendung von 2FA zu maximieren, sollte man die TOTP-Secret-Daten immer in einer separaten Datenbank speichern, die mit einem anderen Passwort gesichert ist, möglicherweise sogar auf einem anderen Computer.

Das sehe ich auch so! KeePassXC mit TOTP-Secret-Daten:
  • Pro: Einfaches handhaben von 2FA und besser als keines zu nutzen.
  • Contra: Weniger sicherer, weil kein echtes 2FA.

Wer einen YubiKey zusammen mit KeePassXC nutzt dürfte damit kaum Sicherheitsbedenken haben, denn ohne diesen Hardware-Token kommt niemand an die Daten ran. Extrem Sicherheitsbewusste sollten das OTP Feature vom YubiKey getrennt vom KeePassXC nutzen. Die TOTP-Secret-Daten werden dann anstatt auf einem Computer im YubiKey selbst gespeichert und das Einmalkennwort kann mit dem Yubico Authenticator generiert werden - siehe yubioath-desktop welcher auch in den offiziellen Manjaro Paketquellen enthalten ist. Dieses muss für jeden YubiKey extra eingerichtet werden.



KeePassXC gibt es für Linux, iOS und Windows (auch als Portable Version). KeePassXC, YubiKey Manager und Yubico Authenticator (OTP) für Linux Manjaro installieren:
sudo pacman -S keepassxc yubikey-manager-qt yubioath-desktop
Der Yubikey Authenticators kommuniziert am PC per USB oder einfach über NFC, z.B. mit dem ReinerSCT CyberJack NFC-Leser ab Version 2.7  :azn:

Passwörter sind eine Pest und jeder hasst sie zu Recht, bisher leider ein notwendiges übel. Der neue Standard FIDO2 verspricht, Passwörter überflüssig zu machen. FIDO2-Authentifizierung mit WebAuthn ermöglicht eine passwortlose Anmeldung derzeit z.B. an: Google, Microsoft 365, MS Teams, Joomla, Roundcube (Plugin) oder Nextcloud. Wäre cool wenn sich das auch bei anderen Diensten durchsetzt. Damit macht das Einloggen Spaß, leider leben unsere Banken mit ihren photoTAN und mobileTAN noch im letzten Jahrzehnt.

Der YubiKey 5 NFC z.B. verfügt über sehr umfangreiche Features, die per YubiKey-Manager aktiviert und deaktiviert werden können, je nachdem was der Benutzer benötigt. Support für WebAuthn, FIDO2, FIDO U2F, OTP, OATH, PIV, OpenPGP und Challenge-Response (wichtig für KeePassXC).

Beim YubiKey sollte als erstes per YubiKey Manager der Personal Identity Verification (PIV) geändert werden. PIN und PUK sind standardmäßig von YubiKey auf 123456 und 12345678 festgelegt (CheckBox "Use default" zeigt das an). Danach kann die Funktion ,,Management Key" deaktiviert werden, indem die CheckBox "Protect with PIN" ausgewählt wird, zuerst muss dafür ein "New Management Key" generiert werden (Algorithm z.B. TDES) welches ihr mit eurer PIN bestätigt. Dann den FIDO2 PIN und das Challenge-Response einrichten.

Mit Challenge-Response wird der YubiKey zur Verwendung mit KeePassXC konfiguriert. Dieser Schlüssel muss unbedingt sehr sicher aufbewahrt werden und kann für ein Backup YubiKey genutzt werden. Eine Papierkopie an einem sicheren Ort und ein zweiter YubiKey sollte daher Pflicht sein. Ein YubiKey ist sehr robust aber kann dennoch kaputt oder verloren gehen. Wichtig: Ein YubiKey ist nicht kopierbar und ohne diesen kann der Passwortmanager nicht entschlüsselt werden. Die Schlüssel können nur gespeichert werden, jedoch nicht gelesen!

Der YubiKey 5 NFC verfügt über 2 Slots, die unabhängig voneinander konfigurieren können. So funktioniert der Key praktisch wie zwei separate Schlüssel (bei Lieferung ist Slot 1 mit dem Yubico OTP konfiguriert). Der Slot2 kann z.B. für Challenge-Response und dem Passwortmanager genutzt werden. YubiKey Slots:
  • kurze Berührung = Funktion Slot 1, z.B. für OTP
  • lange Berührung = Funktion Slot 2, z.B. für Challenge-Response

Alles in der "KeePassXC Documentation and FAQ" auf englisch, in deutsch auf Stefan's Weblog oder The Morpheus Tutorials (YouTube) erklärt.

Gut zu Wissen: Leider ist bei Yubico nicht alles Open-Source, dabei verwenden sie Open-Source-Software wie OpenPGP, dem eigenen YubiKey-Manager oder Yubico Authenticator. Aus Sicherheitsgründen kann Software auf dem YubiKey weder ausgelesen noch verändert werden. Der verwendete Kryptoprozessor von Infineon wird in Deutschland hergestellt, dieser Hardware Code ist nicht Open-Source. Im Oktober 2017 wurde ein Sicherheitsproblem bekannt und betroffene Geräte von Yubico wurden kostenfrei ersetzt.



2022-Februar, das neue Firefox-Profil behindert das KeePassXC-Addon und WebAuthn in Verbindung mit Firejail. Solltet ihr auch das Problem in der Sandbox haben, könnt ihr diese Config erstellen/anpassen:
mkdir ~/.config/firejail/dann mit einem Editor öffnen:
kate ~/.config/firejail/firefox.localund diese Zeilen eintragen:
# Allow KeePassXC addon
# NOTE: start KeePassXC before Firefox and keep it open to allow communication between them.
noblacklist ${RUNUSER}/app
whitelist ${RUNUSER}/kpxc_server
whitelist ${RUNUSER}/org.keepassxc.KeePassXC.BrowserServer
#
# FIDO2 devices will work in a browser that supports WebAuthn
# I have set ignore nou2f, this allows U2F devices to be used in the browser
# Testpage: https://demo.yubico.com/webauthn-technical/registration
ignore nou2f
Quellen: github.com/netblue30/firejail/issues/3952 und github.com/netblue30/firejail/discussions/5444


Wichtig: Wer sich noch nie damit beschäftigt hat, sollte unbedingt sich die Zeit dafür nehmen und erst nur mit einer verschlüsselten Test-Datenbank den KeePassXC mit dem YubiKey testen. Habt ihr dann den YubiKey erfolgreich getestet und
  • ein Backup der verschlüsselten Datenbank auf einem anderen PC und/oder vertrauensvoller Cloud abgelegt, welches hier wieder herstellen konntet
  • die PIV als auch den Challenge-Response Schlüssel auf Papier an einem sicheren Ort deponiert habt und damit einen anderen YubiKey einrichten konntet

spricht kaum was dagegen den Passwortmanager für alle Passwörter zu nutzen?


Links:


Nachtrag: Ein Android Gerät mit einem YubiKey 5C NFC und Keepass2Android eine KeePassXC DB (*.kdbx) mit Challenge/Response (push required) öffnen.

Der Keepass2Android (kurz K2A) ist ein OpenSource Passwort-Manager für Android von Philipp Crocoll, ein deutscher Hobby Entwickler aus Karlsruhe. K2A kann von Haus aus Challenge-Response Authentifizierung, benötigt aber noch einen Provider zum Zugriff auf NFC, den USB- und NFC-Treiber ykDroid, welcher auch OpenSource ist.

Vorgehensweise (getestet mit Android 13): Wähle die Datenbankdatei aus, als Master-Passwort-Typ wähle "Passwort + Challenge-Response mit KeePass XC". Gebe das Master-Kennwort ein und wähle anschließend "OTP-HILFSDATEI LADEN...". K2A fragt nun nach dem YubiKey, wähle Slot 1 oder 2 welchen ihr für Challenge-Response eingerichtet habt und lege den YubiKey in die Nähe des NFC-Readers an (funktioniert auch mit dem dem USB-C Anschluss), dann das Kennwort frei geben.

PS: OTP-HILFSDATEI LADEN...? Nun, da muss man erst mal drauf kommen, bei KeePassXC nennt sich das "Hardwareschlüssel" :azn:



Update 2024-April: KeePassXC 2.7.7 bietet nun Unterstützung für Passkeys. Diese Funktion baut auf der vorhandenen Browser-Integration auf, um Passkeys zur Authentifizierung zu speichern und zu verwenden (siehe Menü -> Datenbank -> Passkeys...). Um die Passkey-Unterstützung zu aktivieren, musst du die Option "Passkeys aktivieren" auf der Einstellungsseite der Browsererweiterung einschalten.