Linux-Login mit Yubikey und eigenem Authentifizierungsserver

 

Yubico bietet einen freien Authentifizierungsdienst an, der allerdings eine  Internet-Verbindung voraussetzt. Mit einem eigenen Authentifizierungsserver sind wir davon unabhängig. Debian 8 bringt alle benötigten Pakete mit:

Yubikeys verfügen über zwei Slots,  mit denen verschiedene  Authentifizierungsmethoden verwendet werden  können. Slot 1 wird  ausgewählt, indem der Key ca. 1 Sekunde gedrückt  wird, Slot 2 durch  drücken für ca. 3-4 Sekunden.

Um den Key zu konfigurieren, kann die Konfigurationssoftware von https://www.yubico.com/products/services-software/personalization-tools/use/ oder das Debian-Paket yubikey-personalization-gui verwendet werden.

Nach Auswahl von Yubico OTP, Slot 2 kann eine neue Private Identity sowie ein Secret Key generiert werden. Mit Write Configuration  wird der Yubikey programmiert und eine Log-Datei erstellt, in der die  Parameter zu sehen sind. Diese Logdatei wird später benötigt, um den  Authentifizierungsserver zu konfigurieren.

Die ersten 12 Zeichen des Einmalkennwortes geben die ID des verwendeten  Tokens an. Ein Nutzer kann über mehrere Token verfügen; die Zuordnung  wird in die Datei /etc/yubikey_mappings eingetragen:

Das Paket yubiserver kann mit dem Kommando yubiserver-admin verwaltet werden.

Einzelne Benutzer werden mit yubiserver-admin hinzugefügt, siehe man yubiserver-admin. Die Parameter sind: Name Public-Token-ID Secret-ID AES-Key, die oben bei der Konfiguration des Keys programmiert wurden, beispielsweise:

Mit dem Browser kann auf Port 8000 geprüft werden, ob der yubiserver richtig konfiguriert ist.

Es muss ein API-Nutzer konfiguriert werden, damit das PAM-Modul sich beim yubiserver anmelden kann:

 

Der API-Key und die Key-ID werden gebraucht, um das PAM-Modul in /etc/pam.d/common-auth zu konfigurieren.

 

Der Debug-Output des PAM-Moduls muss aktiviert werden:

 

Yubikey für Debian