Fedora 25 mit Yubikey absichern

Posted on Do 11 Mai 2017 in Blog

[caption id="" align="aligncenter" width="1024"]Yubikey 4 Yubikey 4 Security-Token[/caption]

Die Firma Yubico bietet mit ihrem Produkt Yubikey ein Security-Token an. Dieses Token hat in der Regel zwei programmierbare Slots und kann für unterschiedlichste Authentifizierungsmöglichkeiten genutzt werden. Standardmäßig ist der erste Slot für One-Time-Passwörter (OTP), die über den Yubico-Server validiert werden, belegt und der zweite kann für andere Authentifizierungsmethoden verwendet werden.

Die benötigte Internetverbindung ist der große Nachteil für OTP und daher verwende ich für die Authentifizierung am Laptop das HMAC-SHA1 Challenge-Response-Offline-Verfahren. Für Ubuntu gibt es auf der offiziellen Seite eine Anleitung. Für Fedora 25 nicht, daher diese kurze Anleitung. Achtung: da die nachfolgenden Befehle die Authentifizierungsmethode ändert, sollten sie mit Vorsicht eingesetzt werden, da bei einem falschen Einsatz es sein kann, dass man sich von seinem System aussperrt.

Zuerst muss das Yubico-PAM-Modul installiert werden.

dnf install pam_yubico

Nach der erfolgreichen Installation des Moduls muss der Yubikey angepasst werden. Ich werde den zweiten Slot verwenden (Achtung: man sollte sich genau überlegen, ob man den Slot bzw. die darauf aktivierte Authentifizierungsmethode in Verwendung hat)

ykpersonalize -2 -ochal-resp -ochal-hmac -ohmac-lt64 -oserial-api-visible

Die Frage mit „y“ bestätigen

Die Identifzierungsdateien vom Yubikey werden standardmäßig im Home-Verzeichnis abgelegt.

mkdir ~/.yubico

Danach muss noch der Key im System hinterlegt werden

ykpamcfg -2 -v

Achtung: wenn das Home-Verzeichnis verschlüsselt ist, dann muss man die Konfigurationsdatei an einem anderen Ort hinterlegen. Ich habe den Ort „/var/yubico“ gewählt

Jetzt werden noch die entsprechenden PAM-Module (/etc/pam.d) angepasst. In der Datei gdm-password nach der Zeile

auth substack password-auth

folgende Zeile einfügen:

auth required pam_yubico.so mode=challenge-response chalresp_path=/var/yubico

Wenn man die „required“ auswählt, dann muss man Passwort eingeben und der Yubikey vorhanden sein. Man könnte die Einstellung auch auf „sufficient“ ändern, dann benötigt man entweder Passwort oder Yubikey.

Hinweis: Obwohl der Yubikey angesteckt ist, kommt bei mir nach Eingabe des Passworts beim Login-Screen „Error commuicating with Yubikey“. Dauert dann nur einen Moment bis der Login trotzdem funktioniert und benötigt kein eingreifen des Benutzers.

Prinzipiell kann man das Yubico-PAM-Modul für alle verfügbaren PAM-Module verwenden. Ich setze es auch noch im sudo-Modul ein.

Verlust/Zerstörung des Yubikeys

Sollte man seinen Yubikey verlieren oder zerstören, dann kann es natürlich, je nach Konfiguration, sein, dass man sich aus seinem System ausgesperrt hat. Daher ist es sinnvoll (zumindest) einen zweiten Yubikey anzuschaffen und mit den oben genannten Befehlen zu konfigurieren und dem System bekannt zu machen.

Literatur

Yubico-Manpage