Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
YubiKey (Teil 2)<br />
NETZ&SYSTEM<br />
Bei dieser Art der Anwendung<br />
entspricht die PIN praktisch dem<br />
Unix-Passwort. Das sollten Sie<br />
bedenken: Der zusätzliche Faktor<br />
erhöht zwar den Schutz, jedoch<br />
sollten Sie der PIN nicht für andere,<br />
nicht durch den YubiKey abgesicherte<br />
Dienste benutzen (zum<br />
Beispiel zum Autorisieren an einem<br />
Mail-Server).<br />
YubiKey-Bibliotheken<br />
Die C-Bibliothek Libyubikey [6]<br />
kapselt die Kommunikation zwischen<br />
Betriebssystem und dem<br />
YubiKey. Sie dient zum Entschlüsseln<br />
und Parsen der<br />
YubiKey-OTPs. Dazu interagiert<br />
sie mit den Bibliotheken Lib ykpers<br />
(für „YubiKey Personalization“)<br />
und Libpam-yubico.<br />
Die Bibliothek Libpam-yubico<br />
interagiert als Middleware mit<br />
der Benutzerschnittstelle (Frontend)<br />
sowie mit der Libykclient3,<br />
die als Verbindung zum Auto ri sierungs<br />
backend dient, wie etwa der<br />
YubiCloud. Abbildung D und Abbildung<br />
E veranschaulichen die<br />
Abhängigkeiten.<br />
PAM-Integration<br />
Im Folgenden zeigen wir die Konfiguration<br />
für den YubiKey mit<br />
2-Faktor-Autorisierung über Libpam<br />
für ein SSH-Login. Nach der<br />
Einrichtung können Sie sich über<br />
die Secure Shell auf dem Zielsystem<br />
anmelden, indem Sie PIN<br />
und YubiKey OTP miteinander<br />
kombinieren. Die Abbildung F<br />
stellt den Ablauf und das Zusammenspiel<br />
der Dienste dar.<br />
Damit diese Form der Anmeldung<br />
gelingt, sind mehrere<br />
Schritte notwendig. Das beinhaltet<br />
insbesondere Eingriffe am Autorisierungssystem<br />
PAM – als jener<br />
Instanz, die dafür sorgt, dass<br />
sich nur die Personen auf ihrem<br />
System anmelden, die auch über<br />
die dazu notwendigen Berechtigungen<br />
verfügen und diese tatsächlich<br />
vorweisen können.<br />
Als ersten Schritt stellen Sie sicher,<br />
dass auf dem Zielsystem das<br />
Paket libpam-yubico installiert ist.<br />
Libpam-yubico benötigt weitere<br />
Pakete wie beispielsweise libpamruntime<br />
und libyubikey0, welche<br />
die Paketverwaltung bei richtig<br />
gesetzten Abhängigkeiten automatisch<br />
nachzieht.<br />
Im zweiten Schritt konfigurieren<br />
Sie den SSH-Daemon Sshd<br />
auf dem Zielsystem. Zunächst<br />
überprüfen Sie die Datei /etc/ssh/<br />
sshd_config: Sie muss die Zeilen<br />
UsePAM yes und ChallengeResponseAuthentication<br />
no enthalten. Im<br />
Auslieferungszustand ist das in<br />
der Regel bereits der Fall, und<br />
SSH führt eine Authentifizierung<br />
über PAM durch.<br />
In Schritt 3 passen Sie das PAM-<br />
Modul für SSH auf dem Zielsystem<br />
an. Dazu öffnen Sie als Root<br />
die Datei /etc/pam.d/sshd mit einem<br />
Texteditor und suchen darin<br />
den Eintrag @include common-account<br />
(Zeile 11 in Abbildung G,<br />
folgende Seite). Diese Zeile kommentieren<br />
Sie mit einem „#“ aus.<br />
Danach fügen Sie darunter die<br />
folgenden beiden Zeilen hinzu:<br />
auth required pam_yubico.so id=16<br />
auth required pam_unix.so nullokU<br />
_secure try_first_pass<br />
Die Reihenfolge der zwei Zeilen<br />
ist wichtig – bitte behalten Sie<br />
diese daher unbedingt bei, weil<br />
ansonsten die Anmeldung am<br />
System schiefgeht.<br />
Die erste Zeile legt das PAM-Modul<br />
pam_yubico.so als erste Stufe<br />
zur Authentifizierung fest. Dieses<br />
Modul verarbeitet zunächst alle<br />
Passwortangaben bei der Anmeldung<br />
über SSH. Dabei zerlegt es<br />
die Passwortangaben wieder in<br />
die zwei Bestandteile PIN und<br />
Yubico OTP und sendet Letzteres<br />
über HTTP(S) an die Validierungsinstanz<br />
YubiCloud. Die<br />
nachgestellte Option id=16 signalisiert<br />
der YubiCloud, dass es sich<br />
um einen YubiKey im Auslieferungszustand<br />
handelt, dessen<br />
YubiKey OTP sie auf Gültigkeit zu<br />
überprüfen hat.<br />
Die zweite Zeile übergibt die<br />
vorher separierte PIN an das<br />
PAM-Modul pam_unix.so, das die<br />
Zeichenkette mit dem Passwort<br />
auf dem Zielsystem vergleicht.<br />
Liefern beide PAM-Module ein<br />
OK zurück, übermittelt PAM den<br />
Rückgabewert PAM_SUCCESS, die Authentifizierung<br />
war erfolgreich.<br />
E Paketabhängigkeiten<br />
der Libpam-yubico,<br />
dargestellt in der Apt-<br />
Shell.<br />
GLOSSAR<br />
PAM: Pluggable Authentication<br />
Modules (PAM).<br />
Eine Softwarebibliothek,<br />
die eine gemeinsame<br />
Programmierschnittstelle<br />
für Authentisierungsdienste<br />
zur Verfügung<br />
stellt.<br />
F Das Zusammenspiel<br />
zwischen den Komponenten<br />
zur Authentifizierung.<br />
www.linux-user.de<br />
10 | 12 71