{"id":10395,"date":"2023-10-20T23:13:59","date_gmt":"2023-10-20T21:13:59","guid":{"rendered":"https:\/\/linux-bibel.at\/?p=10395"},"modified":"2023-11-28T20:38:17","modified_gmt":"2023-11-28T19:38:17","slug":"touch-in-passwortlose-anmeldung-am-linux-desktop-mit-fido2-key","status":"publish","type":"post","link":"https:\/\/linux-bibel.at\/index.php\/2023\/10\/20\/touch-in-passwortlose-anmeldung-am-linux-desktop-mit-fido2-key\/","title":{"rendered":"Touch-In &#8211; Passwortlose Anmeldung am Linux-Desktop mit FIDO2-Key"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Mo 1. Mai 2023, 22:58<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Keine Panik!<\/strong><br>Der erste Eindruck vom Umfang dieses Wikis t\u00e4uscht. Im Allgemeinen sind nur drei einfache Arbeitsschritte n\u00f6tig, um eine passwortlose Anmeldung am Linux zu realisieren.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Da es aber gerade beim Thema Sicherheit von Vorteil ist, zu wissen, was man tut, und ich noch einige Sonderf\u00e4lle beim Umgang mit einem FIDO2-Key vorstellen wollte, ist das Wiki deutlich umfangreicher ausgefallen, als urspr\u00fcnglich geplant &#8230;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>FIDO2<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">FIDO (Fast IDentity Online) ist ein offener und lizenzfreier Standard mit dem Ziel, Passw\u00f6rter f\u00fcr die Authentifizierung zu ersetzen.<br>Die Authentifizierung mit FIDO basiert auf kryptographischen Schl\u00fcsseln und ist dabei sicherer und einfacher in der Anwendung als Passw\u00f6rter.<br>FIDO2 ist eine Weiterentwicklung von FIDO, die neben der klassischen Zwei-Faktor-Authentifizierung (2FA) auch passwortlose Anmeldung erm\u00f6glicht.<br>Grundlage einer FIDO2-Authentifizierung ist ein sogenannter Authentikator, ein USB-Stick mit Sicherheits-Chip, in diesem Wiki kurz \u201eFIDO2-Key\u201c genannt.<br><br>Passende FIDO2-Keys gibt es z.B. bei Yubico, Nitrokey und SoloKey.<br><a rel=\"noreferrer noopener\" href=\"https:\/\/www.nitrokey.com\/de\" target=\"_blank\">Nitrokey<\/a><br><a rel=\"noreferrer noopener\" href=\"https:\/\/www.yubico.com\/?lang=de\" target=\"_blank\">Yubico<\/a><br><a rel=\"noreferrer noopener\" href=\"https:\/\/solokeys.com\/\" target=\"_blank\">SoloKeys<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-01.jpg\" alt=\"\" class=\"wp-image-3352\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-01.jpg 1024w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-01-300x200.jpg 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-01-768x512.jpg 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Von link nach rechts: Nitrokey 3A NFC, Nitrokey FIDO2, YubiKey 5 NFC, Solo 1 Tap USB-A<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Wer sich intensiver mit FIDO befassen m\u00f6chte, findet im Internet zahlreiche Artikel zum Thema, wie z.B.:<br><a rel=\"noreferrer noopener\" href=\"https:\/\/fidoalliance.org\/fido2\/\" target=\"_blank\">fidoalliance.org<\/a><br><a rel=\"noreferrer noopener\" href=\"https:\/\/www.computerwoche.de\/a\/endlich-passwortfrei,3551388\" target=\"_blank\">computerwoche.de<\/a><br><a rel=\"noreferrer noopener\" href=\"https:\/\/www.heise.de\/select\/ct\/2019\/22\/1571743995528045\" target=\"_blank\">heise.de<\/a><br><br>Entwickelt wurde FIDO2 zur Anmeldung bei Online-Diensten, doch auch die Anmeldung am lokalen Desktop ist damit m\u00f6glich. Hierbei kommt, statt der f\u00fcr Online-Authentifizierungen notwendigen WebAuthn-Spezifikation, das PAM (Pluggable Authentication Modules) zum Einsatz.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>PAM<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">PAM ist bei unixoiden Betriebssystemen (wie Linux) eine zentrale Schnittstelle f\u00fcr Authentifizierungs-Anforderungen. Somit m\u00fcssen Softwareentwickler nicht f\u00fcr jede Anwendung den Code f\u00fcr die Benutzeranmeldung neu schreiben, sondern k\u00f6nnen diese Aufgabe an PAM delegieren.<br>Das Zusammenspiel von FIDO2 und PAM macht die passwortlose Anmeldung an Linux besonders einfach.<br><br><strong>Notwendige Arbeitsschritte zur Einrichtung<\/strong><br>Die Einrichtung einer Anmeldung mithilfe eines FIDO2-Keys teilt sich in drei Schritte auf:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Installation der notwendigen Programmpakete<\/li>\n\n\n\n<li>Registrieren des FIDO2-Keys f\u00fcr den Benutzer am PC<\/li>\n\n\n\n<li>PAM-Konfiguration anpassen<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Obwohl die Einrichtung erfreulich einfach ist, gibt es &#8211; vor allem beim Bearbeiten der Konfigurationsdateien &#8211; einige Stolperfallen zu beachten. Andernfalls k\u00f6nnte man sich im schlimmsten Fall aus seinem eigenen PC aussperren. Daher ist es empfehlenswert, die ersten Gehversuche mit FIDO an einem Test-PC oder in einer virtuellen Maschine zu \u00fcben. (Siehe auch Abschnitt \u201eHife, ich habe mich ausgesperrt!\u201d.)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>1. Installation der notwendigen Programmpakete<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Zun\u00e4chst muss das PAM-Modul f\u00fcr FIDO installiert werden. Dieses ist bei den g\u00e4ngigen Distributionen in den Repositorys enthalten.<br><br><strong>Debian, Ubuntu und Co.<\/strong><br>Bei Debian und den darauf basierenden Distributionen sind folgende Programmpakete \u00fcber die Repositories zu installieren.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt install libpam-u2f pamu2fcfg fido2-tools -y<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Das Paket `libpam-u2f` enth\u00e4lt das PAM-Modul `pam_u2f.so` f\u00fcr die Authentifizierung per FIDO2. Das PAM-Modul findet sich im Verzeichnis `\/usr\/lib\/x86_64-linux-gnu\/security`. Das Helper-Tool `pamu2fcfg` hilft bei der Registrierung des FIDO2-Sticks am System. Das Programmpaket`fido2-tools` enth\u00e4lt Programme zum Verwalten des FIDO2-Keys (Siehe Abschnitt \u201eFIDO2-Key mit PIN sch\u00fctzen\u201d). Mit dem Parameter `-y` werden die Pakete ohne weitere R\u00fcckfragen installiert.<br><br><strong>Manjaro<\/strong><br>Bei Manjaro werden die notwendigen Pakete \u00fcber folgenden Befehl installiert.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo pacman -Syu pam-u2f --noconfirm<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Bei Rolling-Releases (wie z.B. Manjaro) sollten neue Programme nur installiert werden, wenn das Betriebssystem zuvor auf den neuesten Stand gebracht wurde. Der Parameter `-Syu` stellt dies sicher. Der Parameter `&#8211;noconfirm` bewirkt eine Installation aller Pakete ohne weitere R\u00fcckfragen. Wer das nicht will, l\u00e4sst diesen Parameter einfach weg.<br><br>Das Paket `pam-u2f` enth\u00e4lt neben dem PAM-Modul auch das Helper-Tool. \u00dcber die Paketabh\u00e4ngigkeiten wird zus\u00e4tzlich `libfido2` installiert. Es ist verantwortlich f\u00fcr die Kommunikation mit dem FIDO2 Ger\u00e4t \u00fcber das CTAP-Protokoll und enth\u00e4lt u.a. `fido2-token`.<br><br><strong>OpenSuse<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo zypper --non-interactive install pam_u2f libfido2-utils<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Das Paket `pam-u2f` enth\u00e4lt neben dem PAM-Modul auch das Helper-Tool `pamu2fcfg`. Das Paket `libfido2-utils` enth\u00e4lt u.a. das Verwaltungstool `fido2-token`.<br>Der Parameter `&#8211;non-interactive` startet die Installation ohne weitere Nachfragen.<br><br><strong>Fedora<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo dnf install pam-u2f pamu2fcfg fido2-tools -y<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Das Paket `pam-u2f` enth\u00e4lt das PAM-Modul `pam_u2f.so`. Das Helper-Tool `pamu2fcfg` hilft bei der Registrierung des FIDO2-Sticks am System. Das Programmpaket`fido2-tools` enth\u00e4lt Programme zum Verwalten des FIDO2-Keys (Siehe Abschnitt \u201eFIDO2-Key mit PIN sch\u00fctzen\u201d). Mit dem Parameter `-y` werden die Pakete ohne weitere R\u00fcckfragen installiert.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>2. Registrieren des FIDO2-Keys<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ein FIDO2-Key ist nach dem Neukauf sofort einsatzbereit. Es ist nicht notwendig, vor der Nutzung manuell ein Schl\u00fcsselpaar zu generieren, wie es z.B bei klassischen SmardCards notwendig ist.<br>Er muss lediglich am Zielsystem (in unserem Fall der lokale PC) f\u00fcr die Authentifizierung registriert werden.<br>Dazu wird mit dem installierten Helper-Tool `pamu2fcfg` ein Benutzerkonto mit den Schl\u00fcsseldaten des FIDO2-Keys verkn\u00fcpft.<br><br>Zuvor wird mit folgendem Kommando ein Verzeichnis f\u00fcr die Schl\u00fcsseldaten erstellt.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo mkdir \/etc\/fido2<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Danach erfolgt die eigentliche Registrierung &#8211; die Verkn\u00fcpfung von Benutzerkonto und FIDO2-Key. Nach dem Anstecken des FIDO2-Keys an einem USB-Port muss folgender Befehl mit dem gew\u00fcnschten Benutzerkonto (also nicht root) ausgef\u00fchrt werden. Zur Best\u00e4tigung der Registrierung muss dabei der FIDO2-Key kurz ber\u00fchrt werden. (Ist der FIDO2-Key mit einer PIN gesch\u00fctzt, muss diese zus\u00e4tzlich eingegeben werden. Siehe auch Abschnitt \u201eFIDO2-Key mit PIN sch\u00fctzen\u201c.)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pamu2fcfg | sudo tee -a \/etc\/fido2\/u2f_keys<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">`pamu2fcfg` gibt die Schl\u00fcsseldaten lediglich auf dem Bildschirm aus. Diese werden daher mit dem Pipe-Kommando (`|`) an `tee` \u00fcbergeben, welches die Schl\u00fcsseldaten zus\u00e4tzlich an die Registrierungsdatei `\/etc\/fido2\/u2f_keys` anf\u00fcgt (`-a`).<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-02.png\" rel=\"lightbox-0\"><img loading=\"lazy\" decoding=\"async\" width=\"883\" height=\"266\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-02.png\" alt=\"\" class=\"wp-image-3230\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-02.png 883w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-02-300x90.png 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-02-768x231.png 768w\" sizes=\"auto, (max-width: 883px) 100vw, 883px\" \/><\/a><figcaption class=\"wp-element-caption\">Registrieren des FIDO2-Keys f\u00fcr Nutzerkonto \u201ealice\u201c<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Weitere Infos unter:<br><a rel=\"noreferrer noopener\" href=\"https:\/\/developers.yubico.com\/pam-u2f\/Manuals\/pamu2fcfg.1.html\" target=\"_blank\">pamu2fcfg manpage<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>3. PAM-Konfiguration anpassen<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Nach der Registrierung des FIDO2-Keys am PC, muss dem Linux \u00fcber die PAM- Konfigurationsdatei noch mitgeteilt werden, f\u00fcr welchen Anmeldeprozess (Anmeldung am Desktop, sudo, usw.) k\u00fcnftig der FIDO2-Key genutzt werden soll.<br><br>Die PAM-Konfigurationsdateien befinden sich bei allen Distributionen im Verzeichnis<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/etc\/pam.d\/<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Jeder Anmelde-Dienst, welcher \u00fcber PAM gesteuert wird, ist in diesem Verzeichnis mit einer Konfigurationsdatei vertreten.<br><br>Bei einigen Dateien ist die Zugeh\u00f6rigkeit offensichtlich, wie z.B. \u201esudo\u201c. Die Identifikation der Konfigurationsdateien zur Anmeldung am Linux-Desktop erfordern hingegen etwas Hintergrundwissen &#8211; mehr dazu im Abschnitt \u201ePAM f\u00fcr Anmeldung am Desktop konfigurieren\u201c.<br><br>Der Verweis auf das PAM-Modul muss in der gew\u00fcnschten PAM-Datei an der richtigen Stelle eingef\u00fcgt werden:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>auth sufficient pam_u2f.so authfile=\/etc\/fido2\/u2f_keys cue &#091;cue_prompt=Bitte den FIDO-Key ber\u00fchren ...]<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Der Service-Typ \u201eauth\u201c weist PAM an, dass eine Benutzer-Authentifizierung durchgef\u00fchrt werden soll. Das Control-Flag \u201esufficient\u201c beendet PAM bei einer erfolgreichen Authentifizierung, alle nachfolgenden Konfigurationszeilen werden ignoriert. \u201epam_u2f.so\u201c ist das PAM-Modul, welches mit dem FIDO2-Key kommuniziert und \u201eauthfile\u201c benennt die Datei mit den FIDO2-Schl\u00fcsseldaten. Der Schalter \u201ecue\u201c erzeugt w\u00e4hrend einer Anmeldung einen Hinweis, der zum Ber\u00fchren des FIDO2-Keys auffordert. \u00dcber den Parameter \u201ecue_prompt\u201c kann ein individueller Hinweistext hinterlegt werden. Die eckigen Klammen um cue_prompt sind notwendig, wenn der Hinweistext Leerzeichen enth\u00e4lt.<br><br><strong>Wichtig zu wissen ist, dass \u00c4nderungen an den PAM-Konfigurationsdateien sofort nach dem Speichern aktiv werden. Unterlaufen bei der PAM-Konfiguration Fehler, kann man sich unter Umst\u00e4nden aus dem eigenen System aussperren. Es ist daher empfehlenswert, die PAM-Datei zu speichern, ohne den Texteditor zu schlie\u00dfen. Sollte die Anmeldung beim Test nicht wie erwartet funktionieren, kann mit dem noch ge\u00f6ffneten Texteditor die PAM-Datei korrigiert werden. Weitere Tipps finden Sie im Abschnitt \u201eHife, ich habe mich ausgesperrt!\u201c<\/strong><br><br>Die hier vorgestellten Anpassungen der PAM-Datei sind jedoch unkritisch. Scheitert die Anmeldung per FIDO2-Key, erscheint die \u00fcbliche Abfrage des Benutzer-Passworts.<br><br><strong>PAM f\u00fcr Anmeldung am Desktop konfigurieren<\/strong><br><br>Der Displaymanager, auch Loginmanager genannt, stellt eine graphische Umgebung f\u00fcr die Benutzeranmeldung zur Verf\u00fcgung. (Nicht zu verwechseln mit der Desktopumgebung, wie z.B. KDE, Gnome, XFCE, usw.)<br><br>Die bekanntesten Displaymanager:<br><br>LightDM Light Display Manager (XFCE)<br>GDM Gnome Display Manager (Gnome)<br>SDDM Simple Desktop Display Manager (KDE)<br><br>F\u00fcr jede Desktopumgebung ist ein bestimmter Displaymanager \u00fcblich. Diese Beziehung ist jedoch nicht fest, sondern kann individuell ge\u00e4ndert werden. Welcher Displaymanager verwendet wird, kann mit folgendem Kommando ausgelesen werden:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl status display-manager<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Das Ergebnis steht in der ersten Ausgabezeile, z.B.:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u25cf lightdm.service - Light Display Manager<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">In diesem Fall wird also der Displaymanager LightDM f\u00fcr die graphische Anmeldung am Linux verwendet, wie es z.B. bei Xubuntu der Fall ist.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"363\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-03-1024x363.png\" alt=\"\" class=\"wp-image-3231\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-03-1024x363.png 1024w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-03-300x106.png 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-03-768x272.png 768w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-03.png 1186w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Ermitteln des verwendeten Displaymanagers<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Die PAM-Dateien f\u00fcr die verschiedenen Displaymanager lauten:<br><br># LightDM<br>\/etc\/pam.d\/lightdm<br><br># GDM<br>\/etc\/pam.d\/gdm-password<br><br># GDM bei OpenSuse<br>\/etc\/pam.d\/gdm<br><br># SDDM<br>\/etc\/pam.d\/sddm<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>3.1 PAM unter Debian, Ubuntu und Co konfigurieren<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>PAM-Datei f\u00fcr sudo (\/etc\/pam.d\/sudo)<\/strong><br><br>Die PAM-Konfigurationsdatei f\u00fcr sudo ist unschwer am Dateinamen `\/etc\/pam.d\/sudo` zu erkennen. \u00d6ffnen Sie die Datei (als root) mit einem Texteditor:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo nano \/etc\/pam.d\/sudo<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Direkt oberhalb der Zeile `\u201e@include common-auth\u201c` wird die Konfigurationszeile f\u00fcr FIDO2 eingef\u00fcgt.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>auth sufficient pam_u2f.so authfile=\/etc\/fido2\/u2f_keys cue &#091;cue_prompt=Bitte den FIDO-Key ber\u00fchren ...]\n@include common-auth<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"363\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-04-1024x363.png\" alt=\"\" class=\"wp-image-3319\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-04-1024x363.png 1024w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-04-300x106.png 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-04-768x273.png 768w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-04.png 1186w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">\u201e\/etc\/pam.d\/sudo &#8211; Debian\u201d<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Nach dem Speichern der Datei \/etc\/pam.d\/sudo \u00f6ffnen Sie zum Test ein neues Terminal und geben zum Test folgendes Kommando ein:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo bash<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Der FIDO2-Key beginnt zu blinken, um Sie zur Ber\u00fchrung aufzufordern. Zus\u00e4tzlich erscheint im Terminal die Aufforderung: \u201eBitte den FIDO-Key ber\u00fchren &#8230;\u201c.<br>Sobald die den FIDO2-Key ber\u00fchren, \u00f6ffnet sich die root-Shell.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"362\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-05-1024x362.png\" alt=\"\" class=\"wp-image-3320\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-05-1024x362.png 1024w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-05-300x106.png 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-05-768x271.png 768w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-05.png 1181w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">\u201esudo mit FIDO2-Key &#8211; Debian\u201d<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Wird der FIDO2-Key nicht innerhalb von 30 Sekunden ber\u00fchrt, interpretiert PAM den FIDO2-Key als nicht vorhanden und fordert daraufhin ganz klassisch zur Eingabe des Benutzerpassworts auf.<br><br><strong>PAM-Datei f\u00fcr TTY-Terminal (\/etc\/pam.d\/login)<\/strong><br><br>Zur Steuerung der Anmeldung an einem TTY-Terminal dient die PAM-Datei \/etc\/pam.d\/login. Hier muss &#8211; ebenso wie in \/etc\/pam.d\/sudo &#8211; die Zeile f\u00fcr die FIDO2-Key direkt oberhalb von \u201e@include common-auth\u201c eingef\u00fcgt werden.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>auth sufficient pam_u2f.so authfile=\/etc\/fido2\/u2f_keys cue &#091;cue_prompt=Bitte den FIDO-Key ber\u00fchren ...]\n@include common-auth<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"361\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-06-1024x361.png\" alt=\"\" class=\"wp-image-3321\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-06-1024x361.png 1024w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-06-300x106.png 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-06-768x271.png 768w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-06.png 1185w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">\u201e\/etc\/pam.d\/login &#8211; Debian\u201d<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Nach dem Speichern von \/etc\/pam.d\/login \u00f6ffnen Sie zum Test ein TTY-Terminal mit der Tastenkombination STRG + ALT + F3. Mit STRG + ALT + F7 kommen Sie zur\u00fcck zur graphischen Desktop.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"804\" height=\"261\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-07.png\" alt=\"\" class=\"wp-image-3322\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-07.png 804w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-07-300x97.png 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-07-768x249.png 768w\" sizes=\"auto, (max-width: 804px) 100vw, 804px\" \/><figcaption class=\"wp-element-caption\">\u201eAnmeldung am TTY-Terminal &#8211; Debian\u201c<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>PAM-Datei f\u00fcr Anmeldung am graphischen Desktop<\/strong><br><br>Auch bei den verschiedenen PAM-Dateien f\u00fcr die Displaymanager muss die Konfigurationszeile f\u00fcr FIDO2 direkt oberhalb der Zeile \u201e@include common-auth\u201d eingef\u00fcgt wenden.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>auth sufficient pam_u2f.so authfile=\/etc\/fido2\/u2f_keys cue &#091;cue_prompt=Bitte den FIDO-Key ber\u00fchren ...]\n@include common-auth<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Welche PAM-Datei Sie anpassen m\u00fcssen, ist im Abschnitt \u201ePAM f\u00fcr Anmeldung am Desktop konfigurieren\u201c weiter oben beschrieben.<br><br>Im folgenden Bild, beispielhaft f\u00fcr \/etc\/pam.d\/lightdm<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"360\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-08-1024x360.png\" alt=\"\" class=\"wp-image-3323\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-08-1024x360.png 1024w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-08-300x106.png 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-08-768x270.png 768w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-08.png 1185w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">\u201e\/etc\/pam.d\/lightdm &#8211; Debian\u201d<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Zum Test gen\u00fcgt das Abmelden vom graphischen Desktop. Der Anmelde-Dialog des Displaymanagers fordert nun zum Ber\u00fchren des FIDO2-Keys auf.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"415\" height=\"286\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-09.png\" alt=\"\" class=\"wp-image-3324\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-09.png 415w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-09-300x207.png 300w\" sizes=\"auto, (max-width: 415px) 100vw, 415px\" \/><figcaption class=\"wp-element-caption\">\u201eAnmelden an LightDM &#8211; Debian\u201d<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Der Hinweis des des Displaymanagers LightDM \u201eBitte ihr Passwort eingeben&#8230;\u201c ist irref\u00fchrend und muss ignoriert werden, da er nicht zum Erfolg f\u00fchrt.<br>Einfach den FIDO2-Key der Debian-Konfiguration. ber\u00fchren und auf die Schaltfl\u00e4che \u201eAnmelden\u201c klicken.<br><br>Es empfiehlt sich, zum Displaymanager LightDM zus\u00e4tzlich das Programmpaket \u201eslick-greeter\u201d zu installieren und Debian neu zu starten. Danach ist der Umgang mit dem FIDO2-Key unter LightDM komfortabler und der Anmeldedialog sieht moderner aus.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt-get install slick-greeter<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"469\" height=\"282\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-10.png\" alt=\"\" class=\"wp-image-3325\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-10.png 469w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-10-300x180.png 300w\" sizes=\"auto, (max-width: 469px) 100vw, 469px\" \/><figcaption class=\"wp-element-caption\">\u201eAnmelden an LightDM+slick-greeter &#8211; Debian\u201d<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>PAM-Datei common-auth<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die Datei \/etc\/pam.d\/common-auth definiert grundlegende gemeinsame Authentifizierungsmethoden f\u00fcr das gesamte System. Die meisten Konfigurationsdateien f\u00fcr die einzelnen Dienste inkludieren \u00fcber das Kommando \u201e@include common-auth\u201c diese Grundeinstellungen. F\u00fcgt man die Konfigurationszeile f\u00fcr den FIDO2-Key in \/etc\/pam.d\/common-auth ein, ist eine Anpassung der individuellen PAM-Dateien (sudo, login, lightdm, etc.) nicht mehr notwendig.<br>Dabei sollte jedoch beachtet werden, dass alle \/etc\/pam.d\/common-* Dateien auch \u00fcber das Programm pam-auth-update verwaltet werden k\u00f6nnen.<br><br>In `\/etc\/pam.d\/common-auth` als erste Zeile Einf\u00fcgen:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>auth sufficient pam_u2f.so authfile=\/etc\/fido2\/u2f_keys cue &#091;cue_prompt=Bitte den FIDO-Key ber\u00fchren ...]<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"360\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-11-1024x360.png\" alt=\"\" class=\"wp-image-3326\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-11-1024x360.png 1024w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-11-300x105.png 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-11-768x270.png 768w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-11.png 1189w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">\u201e\/etc\/pam.d\/common-auth &#8211; Debian\u201d<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>3.2 PAM unter Manjaro konfigurieren<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Bei <strong>Manjaro<\/strong> wird die Zeile f\u00fcr den FIDO2-Key in den PAM-Dateien \/etc\/pam.d\/sudo und \/etc\/pam.d\/login und der Datei f\u00fcr den Displaymanager (siehe Abschnitt \u201ePAM f\u00fcr Anmeldung am Desktop konfigurieren\u201c weiter oben) als zweite Zeile nach \u201e#%PAM-1.0\u201c eingef\u00fcgt.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#%PAM-1.0\nauth sufficient pam_u2f.so authfile=\/etc\/fido2\/u2f_keys cue &#091;cue_prompt=Bitte den FIDO-Key ber\u00fchren ...]<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"272\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-12-1024x272.png\" alt=\"\" class=\"wp-image-3327\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-12-1024x272.png 1024w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-12-300x80.png 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-12-768x204.png 768w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-12.png 1399w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">\u201e\/etc\/pam.d\/sudo &#8211; Manjaro\u201c<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"272\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-13-1024x272.png\" alt=\"\" class=\"wp-image-3328\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-13-1024x272.png 1024w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-13-300x80.png 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-13-768x204.png 768w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-13.png 1399w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">\u201e\/etc\/pam.d\/login &#8211; Manjaro\u201c<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Wie bei Debian kann auch bei Manjaro zum Test ein TTY-Terminal mit der Tastenkombination STRG + ALT + F3 ge\u00f6ffnet und mit STRG + ALT + F7 zum graphischen Desktop zur\u00fcckgekehrt werden.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-14-1024x300.png\" alt=\"\" class=\"wp-image-3329\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-14-1024x300.png 1024w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-14-300x88.png 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-14-768x225.png 768w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-14.png 1363w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">\u201e\/etc\/pam.d\/lightdm &#8211; Manjaro\u201c<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Nutzen Sie bei Manjaro den Displaymanager \u201eLightDM\u201d, empfiehlt sich zus\u00e4tzlich das Programmpaket \u201elightdm-slick-greeter\u201c zu installieren. Siehe dazu auch den Abschnitt \u201ePAM-Datei f\u00fcr Anmeldung am graphischen Desktop\u201d unterhalb des Abschnitts \u201e3.1 PAM unter Debian, Ubuntu und Co konfigurieren\u201d.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo pacman -Syu lightdm-slick-greeter<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>PAM-Datei system-auth<\/strong><br><br>Wie bei Debian mit \u201ecommon-auth\u201d kann auch bei Manjaro alternativ zu den einzelnen PAM-Dateien eine zentrale Konfigurationsdatei angepasst werden. Bei Manjaro lautet diese Datei:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/etc\/pam.d\/system-auth<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Auch hier wird die Zeile f\u00fcr den FIDO2-Key als zweite Zeile nach \u201e#%PAM-1.0\u201c eingef\u00fcgt.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"272\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-15-1024x272.png\" alt=\"\" class=\"wp-image-3330\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-15-1024x272.png 1024w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-15-300x80.png 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-15-768x204.png 768w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-15.png 1399w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">\u201e\/etc\/pam.d\/system-auth &#8211; Manjaro&#8220;<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>3.3 PAM unter OpenSuse konfigurieren<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Bei <strong>OpenSuse<\/strong> wird die Zeile f\u00fcr den FIDO2-Key in den PAM-Dateien \/etc\/pam.d\/sudo und \/etc\/pam.d\/login und der Datei f\u00fcr den Displaymanager \/etc\/pam.d\/gdm als zweite Zeile nach \u201e#%PAM-1.0\u201c eingef\u00fcgt. (Siehe auch Abschnitt \u201ePAM f\u00fcr Anmeldung am Desktop konfigurieren\u201c weiter oben.)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#%PAM-1.0\nauth sufficient pam_u2f.so authfile=\/etc\/fido2\/u2f_keys cue &#091;cue_prompt=Bitte den FIDO-Key ber\u00fchren ...]<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"948\" height=\"335\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-16.png\" alt=\"\" class=\"wp-image-3331\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-16.png 948w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-16-300x106.png 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-16-768x271.png 768w\" sizes=\"auto, (max-width: 948px) 100vw, 948px\" \/><figcaption class=\"wp-element-caption\">\u201e\/etc\/pam.d\/sudo &#8211; Suse&#8220;<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"948\" height=\"335\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-17.png\" alt=\"\" class=\"wp-image-3332\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-17.png 948w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-17-300x106.png 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-17-768x271.png 768w\" sizes=\"auto, (max-width: 948px) 100vw, 948px\" \/><figcaption class=\"wp-element-caption\">\u201e\/etc\/pam.d\/login &#8211; Suse&#8220;<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"948\" height=\"335\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-18.png\" alt=\"\" class=\"wp-image-3333\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-18.png 948w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-18-300x106.png 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-18-768x271.png 768w\" sizes=\"auto, (max-width: 948px) 100vw, 948px\" \/><figcaption class=\"wp-element-caption\">\u201e\/etc\/pam.d\/gdm &#8211; Suse&#8220;<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Damit der FIDO2-Key f\u00fcr sudo genutzt werden kann, muss er zus\u00e4tzlich f\u00fcr das Konto \u201eroot\u201c registriert werden. F\u00fcr Details siehe auch Abschnitt \u201eWeitere Benutzerkonten registrieren\u201c.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>echo -e '\\r' | sudo tee -a \/etc\/fido2\/u2f_keys &amp;&amp; pamu2fcfg -u root | sudo tee -a \/etc\/fido2\/u2f_keys<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Da in der Registrierungsdatei `\/etc\/fido2\/u2f_keys` die Registrierung f\u00fcr jedes Nutzerkonto in einer eigenen Zeile stehen muss, f\u00fcgt das Kommando `echo -e &#8218;\\r&#8216; | sudo tee -a \/etc\/fido2\/u2f_keys` zun\u00e4chst einen Zeilenvorschub \u201eCR\u201d (Carriage Return) an, bevor mit `pamu2fcfg -u root | sudo tee -a \/etc\/fido2\/u2f_keys` der FIDO2-Key f\u00fcr das Konto \u201eroot\u201c registriert wird. (Der Operator `&amp;&amp;` ist n\u00f6tig, um die beiden Befehle zu einer Kommandozeile zu verbinden).<br><br>In der Registrierungsdatei `\/etc\/fido2\/u2f_keys` ist danach der FIDO2-Key nicht nur f\u00fcr das normale Nutzerkonto (im folgenden Bildschirmfoto \u201eadam\u201d), sondern auch f\u00fcr das Konto \u201eroot\u201d registriert.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"932\" height=\"245\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-19.png\" alt=\"\" class=\"wp-image-3334\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-19.png 932w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-19-300x79.png 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-19-768x202.png 768w\" sizes=\"auto, (max-width: 932px) 100vw, 932px\" \/><figcaption class=\"wp-element-caption\">\u201e\/etc\/fido2\/u2f_keys &#8211; adam+root&#8220;<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Zum Test der Konfiguration in \/etc\/pam.d\/login kann bei OpenSuse ein TTY-Terminal mit der Tastenkombination STRG + ALT + F3 ge\u00f6ffnet werden. Mit STRG + ALT + F2 wird zum graphischen Desktop zur\u00fcckgekehrt.<br><br><strong>PAM-Datei common-auth<\/strong><br><br>Die PAM-Datei f\u00fcr die systemweite Authentifizierung lautet bei OpenSuse \/etc\/pam.d\/common-auth.<br><br>Im Originalzustand von OpenSuse ist common-auth jedoch keine Datei, sondern ein Link auf \/etc\/pam.d\/common-auth-pc. Eigene \u00c4nderungen an \/etc\/pam.d\/common-auth landen wegen der Verlinkung in der Datei \/etc\/pam.d\/common-auth-pc. Bei einem Update wird die Datei \/etc\/pam.d\/common-auth-pc \u00fcberschrieben, alle pers\u00f6nlichen Einstellungen gehen dabei verloren. Darum muss vor eigenen Anpassungen der Link gel\u00f6scht und eine eigenst\u00e4ndige Datei aus common-auth-pc erstellt werden.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo rm common-auth<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo cp common-auth-pc common-auth<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Die eigenst\u00e4ndige Datei common-auth wird bei einem Update nicht angetastet, die pers\u00f6nlichen Anpassungen bleiben somit erhalten.<br>Siehe auch: <a rel=\"noreferrer noopener\" href=\"https:\/\/www.suse.com\/support\/kb\/doc\/?id=000018934\" target=\"_blank\">Configuring PAM common files manually<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"948\" height=\"767\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-20.png\" alt=\"\" class=\"wp-image-3335\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-20.png 948w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-20-300x243.png 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-20-768x621.png 768w\" sizes=\"auto, (max-width: 948px) 100vw, 948px\" \/><figcaption class=\"wp-element-caption\">\u201e\/etc\/pam.d\/common-auth &#8211; Suse&#8220;<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>3.4 PAM unter Fedora konfigurieren<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Bei <strong>Fedora<\/strong> wird die Zeile f\u00fcr den FIDO2-Key in den PAM-Dateien \/etc\/pam.d\/sudo und \/etc\/pam.d\/login als zweite Zeile nach \u201e#%PAM-1.0\u201c eingef\u00fcgt.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#%PAM-1.0\nauth sufficient pam_u2f.so authfile=\/etc\/fido2\/u2f_keys cue &#091;cue_prompt=Bitte den FIDO-Key ber\u00fchren ...]<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"884\" height=\"264\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-21.png\" alt=\"\" class=\"wp-image-3336\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-21.png 884w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-21-300x90.png 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-21-768x229.png 768w\" sizes=\"auto, (max-width: 884px) 100vw, 884px\" \/><figcaption class=\"wp-element-caption\">\u201e\/etc\/pam.d\/sudo &#8211; Fedora&#8220;<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"883\" height=\"266\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-22.png\" alt=\"\" class=\"wp-image-3337\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-22.png 883w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-22-300x90.png 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-22-768x231.png 768w\" sizes=\"auto, (max-width: 883px) 100vw, 883px\" \/><figcaption class=\"wp-element-caption\">\u201e\/etc\/pam.d\/login &#8211; Fedora&#8220;<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Zum Test der Konfiguration in \/etc\/pam.d\/login kann bei Fedora ein TTY-Terminal mit der Tastenkombination STRG + ALT + F3 ge\u00f6ffnet werden. Mit STRG + ALT + F2 wird zum graphischen Desktop zur\u00fcckgekehrt.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"544\" height=\"220\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-23.png\" alt=\"\" class=\"wp-image-3338\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-23.png 544w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-23-300x121.png 300w\" sizes=\"auto, (max-width: 544px) 100vw, 544px\" \/><figcaption class=\"wp-element-caption\">\u201eAnmeldung am TTY-Terminal &#8211; Fedora&#8220;<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die PAM-Datei f\u00fcr den GDM Displaymanager des Gnome Desktops lautet<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/etc\/pam.d\/gdm-password<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Die Konfigurationszeile f\u00fcr den FIDO2-Key wird hier als zweite Zeile eingef\u00fcgt.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"882\" height=\"268\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-24.png\" alt=\"\" class=\"wp-image-3339\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-24.png 882w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-24-300x91.png 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-24-768x233.png 768w\" sizes=\"auto, (max-width: 882px) 100vw, 882px\" \/><figcaption class=\"wp-element-caption\">\u201e\/etc\/pam.d\/gdm-password &#8211; Fedora&#8220;<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Der Anmelde-Dialog des Displaymanagers fordert nun zum Ber\u00fchren des FIDO2-Keys auf.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"514\" height=\"337\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-25.png\" alt=\"\" class=\"wp-image-3340\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-25.png 514w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-25-300x197.png 300w\" sizes=\"auto, (max-width: 514px) 100vw, 514px\" \/><figcaption class=\"wp-element-caption\">\u201eAnmelden an gdm-password &#8211; Fedora\u201d<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>PAM-Datei system-auth<\/strong><br><br>Auch bei Fedora gibt es mit \u201e\/etc\/pam.d\/system-auth\u201d eine zentrale PAM-Datei f\u00fcr die systemweite Authentifizierung. Diese wird jedoch mit dem Tool \u201eauthselect\u201d verwaltet und sollte nicht manuell bearbeitet werden, da manuelle Anpassungen bei Updates \u00fcberschrieben werden.<br>Siehe auch <a rel=\"noreferrer noopener\" href=\"https:\/\/access.redhat.com\/documentation\/en-us\/red_hat_enterprise_linux\/8\/html\/configuring_authentication_and_authorization_in_rhel\/configuring-user-authentication-using-authselect_configuring-authentication-and-authorization-in-rhel\" target=\"_blank\">Configuring user authentication using authselect<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Tipps und Tricks im Umgang mit FIDO2-Keys<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>FIDO2-Key mit PIN sch\u00fctzen<\/strong><br><br><strong>mit CLI-Tool<\/strong><br>Um im Falle eines Verlusts des FIDO2-Keys Missbrauch zu verhindern, sollte der Zugriff zu den gespeicherten Schl\u00fcsseln mit einer PIN gesch\u00fctzt werden.<br><br>Zum Verwalten des FIDO2-Keys steht das Programm fido2-tools zur Verf\u00fcgung. Falls noch nicht geschehen, kann es unter Debian aus den Repositories installiert werden<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt install fido2-tools -y<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Mit dem Parameter -L wird der angeschlossene FIDO2-Key angezeigt.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>fido2-token -L<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"634\" height=\"287\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-26.png\" alt=\"\" class=\"wp-image-3341\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-26.png 634w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-26-300x136.png 300w\" sizes=\"auto, (max-width: 634px) 100vw, 634px\" \/><figcaption class=\"wp-element-caption\">\u201eFIDO2-Key anzeigen\u201d<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In diesem Beispiel ist ein \u201eNitrokey 3\u201d \u00fcber die Ger\u00e4tedatei \/dev\/hidraw1 ansprechbar.<br><br>Eine PIN wird mit der Option -S gesetzt. Angesprochen wird der FIDO2-Key \u00fcber die Ger\u00e4tedatei, welche zuvor mit dem Parameter -L ermittelt wurde.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>fido2-token -S \/dev\/hidraw1<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"634\" height=\"287\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-27.png\" alt=\"\" class=\"wp-image-3342\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-27.png 634w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-27-300x136.png 300w\" sizes=\"auto, (max-width: 634px) 100vw, 634px\" \/><figcaption class=\"wp-element-caption\">\u201eFIDO2-Key, neue PIN vergeben\u201c<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Nach der Vergabe einer PIN muss jeder Zugriff auf die geheimen Schl\u00fcssel des FIDO2-Keys (z.B. bei der Registrierung des FIDO2-Keys f\u00fcr einen Nutzer) mit der PIN best\u00e4tigt werden.<br><br>Die Option -C erm\u00f6glicht das \u00c4ndern einer PIN.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>fido2-token -C \/dev\/hidraw1<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Zun\u00e4chst muss mit der alten PIN der Zugriff freigeschaltet werden, danach ist die neue PIN einzugeben.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"633\" height=\"286\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-28.png\" alt=\"\" class=\"wp-image-3343\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-28.png 633w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-28-300x136.png 300w\" sizes=\"auto, (max-width: 633px) 100vw, 633px\" \/><figcaption class=\"wp-element-caption\">\u201eFIDO2-Key, neue PIN \u00e4ndern<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">fido2-token erm\u00f6glicht mit der Option -R das Zur\u00fccksetzen des FIDO2-Keys auf Werkseinstellungen.<br><br><strong>Beim Zur\u00fccksetzen werden alle Schl\u00fcsseldaten und die PIN gel\u00f6scht! Zuvor m\u00fcssen unbedingt alle Konten, f\u00fcr deren Anmeldung der FIDO2-Key bisher verwendet wurde, auf alternative Authentifizierungen umgestellt werden.<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>fido2-token -R \/dev\/hidraw1<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Das Zur\u00fccksetzen ist nur innerhalb der ersten f\u00fcnf Sekunden nach dem Einstecken m\u00f6glich und wird ohne weitere R\u00fcckmeldung durchgef\u00fchrt. Ruft man das Kommando zu sp\u00e4t auf, erh\u00e4lt man statt dessen eine Fehlermeldung.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>fido2-token: fido_dev_reset: FIDO_ERR_NOT_ALLOWED<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>mit GUI<\/strong><br><br>Wer zum Verwalten der PIN ein graphisches Programm bevorzugt, kann dazu die Browser Chrome\/Chromium zu verwenden.<br><br>Gestartet wird die Verwaltung der Sicherheitsschl\u00fcssel in der Adresszeile mit dem Kommando.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>chrome:\/\/settings\/securityKeys<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"834\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-29-1024x834.png\" alt=\"\" class=\"wp-image-3344\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-29-1024x834.png 1024w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-29-300x244.png 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-29-768x625.png 768w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-29.png 1363w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">\u201eFIDO2-Key, PIN verwalten mit Browser Chromium\u201d<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Mit einem Klick auf die Option <strong>PIN erstellen<\/strong> kann die PIN gesetzt bzw. ge\u00e4ndert werden.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"689\" height=\"363\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-30.png\" alt=\"\" class=\"wp-image-3345\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-30.png 689w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-30-300x158.png 300w\" sizes=\"auto, (max-width: 689px) 100vw, 689px\" \/><figcaption class=\"wp-element-caption\">\u201eFIDO2-Key, PIN erstellen mit Browser Chromium\u201d<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"694\" height=\"586\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-31.png\" alt=\"\" class=\"wp-image-3346\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-31.png 694w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-31-300x253.png 300w\" sizes=\"auto, (max-width: 694px) 100vw, 694px\" \/><figcaption class=\"wp-element-caption\">\u201eFIDO2-Key, PIN \u00e4ndern mit Browser Chromium\u201d<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Mit einem Klick auf die Option <strong>Sicherheitsschl\u00fcssel zur\u00fccksetzen<\/strong> kann der FIDO2-Key auf die Werkseinstellungen zur\u00fcckgesetzt werden.<br><br><strong>Beim Zur\u00fccksetzen werden alle Schl\u00fcsseldaten und die PIN gel\u00f6scht! Zuvor m\u00fcssen unbedingt alle Konten, f\u00fcr deren Anmeldung der FIDO2-Key bisher verwendet wurde, auf alternative Authentifizierungen umgestellt werden.<\/strong><br><br><strong>mit YubiKey Manager<\/strong><br><br>Ein YubiKey kann auch mit dem herstellereigenen Programm \u201eYubiKey Manager\u201c verwaltet werden.<br><a rel=\"noreferrer noopener\" href=\"https:\/\/www.yubico.com\/support\/download\/yubikey-manager\/\" target=\"_blank\">yubikey-manager<\/a><br><br><strong>Falsche PIN eingeben<\/strong><br><br>Wird die PIN <strong>dreimal<\/strong> nacheinander falsch eingegeben, ist der FIDO2-Key erst wieder nutzbar, nachdem er aus- und wieder eingesteckt wurde.<br><br>Wird die PIN insgesamt <strong>achtmal<\/strong> nacheinander falsch eingegeben, bleibt der FIDO2-Key dauerhaft gesperrt. Erst nach dem Zur\u00fccksetzen auf Werkseinstellungen kann er wieder genutzt werden. Dabei gehen aber PIN und alte Schl\u00fcssel verloren. Eine Anmeldung an Nutzerkonten, die mit den alten Schl\u00fcsseldaten registriert wurden, ist dann nat\u00fcrlich nicht mehr m\u00f6glich.<br><br><strong>Aufbau der Registrierungsdatei \/etc\/fido2\/u2f_keys<\/strong><br><br>Kenntnisse \u00fcber den Aufbau der Registrierungsdatei sind besonders dann hilfreich, wenn zu einem Nutzerkonto mehrere FIDO2-Keys, oder zus\u00e4tzliche Nutzerkonten mit FIDO2-Keys registriert werden sollen.<br><br>Das Helper-Tool `pamu2fcfg` gibt nur einen rudiment\u00e4ren Registrierungs-String aus, ohne sich um die korrekte Syntax der Registrierungsdatei zu k\u00fcmmern. Daher sind unter Umst\u00e4nden manuelle Korrekturen notwendig.<br><br>In der Registrierungsdatei werden Anwendernamen mit den dazugeh\u00f6rigen Schl\u00fcsseldaten verkn\u00fcpft. F\u00fcr jeden Anwender wird eine Zeile mit den Schl\u00fcsseldaten erstellt. In dieser Zeile k\u00f6nnen die Schl\u00fcsseldaten eines oder mehrerer FIDO2-Keys registriert werden. Anwendername und Schl\u00fcsseldaten sind durch Doppelpunkte (ohne Leerzeichen) voneinander getrennt. Nachfolgend, die schematische Darstellung einer Zeile f\u00fcr einen Anwender mit zwei FIDO2-Keys:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>AnwenderA:Schl\u00fcsselDatenA1:Schl\u00fcsselDatenA2<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Die Schl\u00fcsseldaten selbst sind in mehrere Parameter unterteilt, die ihrerseits durch Komata (ohne Leerzeichen) voneinander getrennt sind:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>KeyHandleA,UserKeyA,CoseTypeA,OptionsA<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Die Struktur der Registrierungsdatei hat damit insgesamt folgenden Aufbau (zwei Anwender mit jeweils zwei FIDO2-Keys):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>AnwenderA:KeyHandleA1,UserKeyA1,CoseTypeA1,OptionsA1:KeyHandleA2,UserKeyA2,CoseTypeA2,OptionsA2\nAnwenderB:KeyHandleB1,UserKeyB1,CoseTypeB1,OptionsB1:KeyHandleB2,UserKeyB2,CoseTypeB2,OptionsB2<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Die einzelnen Parameter haben folgende Bedeutung:<br><br>Anwender: Der Benutzername des registrierten Benutzerkontos<br>KeyHandle: Ein eindeutiger Identifikator f\u00fcr den FIDO2-Key, der mit dem Benutzerkonto verkn\u00fcpft ist<br>UserKey: Der \u00f6ffentliche Schl\u00fcssel des FIDO2-Keys, der vom Benutzerkonto akzeptiert wird<br>CoseType: Der COSE-Typ identifiziert den verwendeten kryptografischen Algorithmus f\u00fcr den \u00f6ffentlichen Schl\u00fcssel<br>Options: Optionale Informationen \u00fcber den FIDO2-Key<br><br>Beispiele f\u00fcr COSE-Typen: ES256, EdDSA und RS256.<br><br>ES256: steht f\u00fcr &#8222;Elliptic Curve Digital Signature Algorithm with NIST P-256 curve&#8220;<br>EdDSA: steht f\u00fcr &#8222;Edwards-curve Digital Signature Algorithm&#8220;<br>RS256: steht f\u00fcr &#8222;RSA Signature with SHA-256&#8220;<br><br>Beispiele f\u00fcr Options:<br>+presence Der Anwender muss zur Best\u00e4tigung den FIDO-Key ber\u00fchren<br>+pin Der Anwender muss zur Best\u00e4tigung die PIN FIDO-Keys eingeben<br><br><strong>Registrierungsdatei im Home-Verzeichnis<\/strong><br><br>Manche Wikis schlagen vor, die Registrierungsdatei im Home-Verzeichnis des Anwenders zu speichern, z.B. in:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>~\/.config\/Yubico\/u2f_keys<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Dies ist der Standardpfad f\u00fcr die Registrierungsdatei. Verwendet man diesen Pfad, kann in den PAM-Dateien bei der Konfiguration des FIDO2-Keys der Parameter \u201eauthfile\u201c entfallen.<\/em><br><br>Aus meiner Sicht hat die Verwendung des Standardpfads jedoch zwei Nachteile:<br><br>1. M\u00f6chte ein Anwender sein Home-Verzeichnis verschl\u00fcsseln, um die pers\u00f6nlichen Daten vor unbefugten Zugriff zu sch\u00fctzen, ist eine Anmeldung per FIDO2-Key nicht mehr m\u00f6glich. Da das Home-Verzeichnis erst nach erfolgreicher Authentifizierung entschl\u00fcsselt werden kann (vorher wei\u00df Linux ja noch nicht, welcher User sich anmelden will), steht die Registrierungsdatei zum Zeitpunkt der Anmeldung noch nicht zur Verf\u00fcgung.<br><br>2. Gelingt es einem Angreifer (z.B. \u00fcber eine Sicherheitsl\u00fccke in einem Programm) Zugriff zum Terminal eines angemeldeten Nutzers zu erlangen, k\u00f6nnte er die Registrierungsdatei durch seine eigene ersetzen und damit (f\u00fcr den Fall, dass der angemeldete Nutzer sudo-Rechte besitzt), sogar root-Rechte auf dem System erhalten. Befindet sich die Registrierungsdatei hingegen im Verzeichnis \/etc, ist eine \u00c4nderung nur nach Eingabe des root- oder sudo-Kennworts m\u00f6glich. Ein offenes Terminal allein gen\u00fcgt dann nicht.<br><br><strong>Zwei-Faktor-Authentifizierung am Linux-Desktop<\/strong><br><br>Die passwortlose Anmeldung erh\u00f6ht den Nutzerkomfort, aber nicht die Sicherheit. F\u00fcr h\u00f6here Anforderungen an die Sicherheit kann die passwortlose Anmeldung in eine Zwei-Faktor-Authentifizierung ge\u00e4ndert werden. Der dazu notwendige Aufwand ist minimal.<br><br>In den PAM-Dateien muss in der Zeile f\u00fcr den FIDO2-Key lediglich das Control-Flag \u201esufficient\u201c durch \u201erequired\u201c ersetzt werden:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>auth required pam_u2f.so authfile=\/etc\/fido2\/u2f_keys cue &#091;cue_prompt=Bitte den FIDO-Key ber\u00fchren ...]<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Mit dieser Konfiguration muss der Anwender nach der Ber\u00fchrung des FIDO2-Keys zus\u00e4tzlich sein Anmelde-Kennwort eingeben &#8211; Zwei-Faktor-Authentifizierung eben.<br><em>Wem die Reihenfolge nicht gef\u00e4llt, und lieber das Kennwort vor dem FIDO2-Key eingeben m\u00f6chte, verschiebt bei Debian die Konfigurationszeile in der PAM-Datei unterhalb der Zeile \u201e@ include common-auth\u201c.<\/em><br><br>Beim Einsatz des Control-Flags \u201erequired\u201c in der PAM-Dabei ist jedoch besondere Vorsicht geboten. \u201eRequired\u201c bedeutet \u201enotwendig\u201c. Scheitert eine notwendige Authentifizierung (z.B. wegen eines Syntaxfehlers in der Konfigurationszeile oder weil die Zeile innerhalb der PAM-Datei an einem falschen Ort abgelegt wird), ist eine Anmeldung nicht mehr m\u00f6glich. Im Extremfall muss der Computer mit einem Live-Linux gestartet werden, um den Fehler zu korrigieren. Mehr dazu im Abschnitt \u201eHife, ich habe mich ausgesperrt!\u201c.<br><br>Wer sich f\u00fcr eine Zwei-Faktor-Authentifizierung entscheidet, sollte unbedingt einen zweiten FIDO2-Key zu seinem Anwendernamen registrieren. Andernfalls ist eine Anmeldung nicht mehr m\u00f6glich, sollte der FIDO2-Key verloren oder kaputt gehen. SIehe dazu Abschnitt &#8222;Weitere FIDO2-Keys f\u00fcr ein Benutzerkonto registrieren&#8220;.<br>Eine \u201eNotfall-Anmeldung\u201c nach einem verlorenen Security-Key ist bei einer Zwei-Faktor-Authentifizierung ausdr\u00fccklich nicht m\u00f6glich. Dies w\u00fcrde schlie\u00dflich das Konzept der Zwei-Faktor-Authentifizierung ad absurdum f\u00fchren.<br><br><strong>Weitere FIDO2-Keys f\u00fcr ein Benutzerkonto registrieren<\/strong><br><br>Um weitere FIDO2-Keys zu einem bereits registrierten Benutzerkonto hinzuzuf\u00fcgen, kommt wieder das Helper-Tool `pamu2fcfg` zum Einsatz. Nach dem Anstecken des neuen FIDO2-Keys am USB-Port, werden mit folgendem Kommando die Schl\u00fcsseldaten generiert.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pamu2fcfg -n | sudo tee -a \/etc\/fido2\/u2f_keys<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Der Parameter `-n` unterdr\u00fcckt die Ausgabe des Anwendernamens, so dass nur die neu generierten Schl\u00fcsseldaten an die bereits in der Registrierungsdatei `\/etc\/fido2\/u2f_keys` vorhandene Zeile angef\u00fcgt werden.<br><br>Schematisches Beispiel f\u00fcr eine korrekte Registrierungsdatei (ein Anwender mit zwei Keys:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>AnwenderA:KeyHandleA1,UserKeyA1,CoseTypeA1,OptionsA1:KeyHandleA2,UserKeyA2,CoseTypeA2,OptionsA2<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Beim hinzuf\u00fcgen weiterer Nutzerkonten gilt es einige Stolperfallen zu beachten:<\/strong><br><br>Wie im Abschnitt \u201eAufbau der Registrierungsdatei \/etc\/fido2\/u2f_keys\u201c beschrieben, m\u00fcssen alle zu einem Anwendernamen registrierten Schl\u00fcsseldaten in der gleichen Zeile stehen (getrennt durch Doppelpunkte). Das Helper-Tool `pamu2fcfg` hat keine M\u00f6glichkeit, die korrekte Syntax der Registrierungsdatei zu \u00fcberpr\u00fcfen. Sollten die neu generierten Schl\u00fcsseldaten irrt\u00fcmlich in eine neue Zeile geschrieben werden, sind sie f\u00fcr die Anmeldung des Anwenders nicht nutzbar.<br><br>Im folgenden Beispiel ist Key2 nicht nutzbar, da er verwaist in einer eigenen Zeile steht, ohne Bezug zu einem Anwender:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>AnwenderA:KeyHandleA1,UserKeyA1,CoseTypeA1,OptionsA1\n:KeyHandleA2,UserKeyA2,CoseTypeA2,OptionsA2<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Abhilfe: Mit einem Texteditor die zweite Zeile mit der ersten verbinden.<br><br><br>Ein Anwendername darf nur einmal in der Registrierungsdatei stehen. Wird bei der Registrierung des zweiten FIDO2-Keys beim Aufruf des Helper-Tools `pamu2fcfg` der Parameter `-n` vergessen, werden die zuvor registrierten Schl\u00fcsseldaten wirkungslos.<br><br>Im folgenden Beispiel ist Key1 nicht mehr nutzbar, da die Registrierung in der ersten Zeile von den Daten in der zweiten Zeile \u00fcberschrieben werden.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>AnwenderA:KeyHandleA1,UserKeyA1,CoseTypeA1,OptionsA1\nAnwenderA:KeyHandleA2,UserKeyA2,CoseTypeA2,OptionsA2<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Abhilfe: Mit einen Texteditor das zweite Vorkommen von \u201eAnwenderA\u201c l\u00f6schen und die beiden Zeilen zu einer Zeile verbinden.<br><br><br>Ein weiterer m\u00f6glicher Syntaxfehler ist folgender:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>AnwenderA:KeyHandleA1,UserKeyA1,CoseTypeA1,OptionsA1AnwenderA:KeyHandleA2,UserKeyA2,CoseTypeA2,OptionsA2<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Hier wurden die Schl\u00fcsseldaten des zweiten FIDO2-Keys zwar an die erste Zeile angef\u00fcgt, aber beim Aufruf des Helper-Tools `pamu2fcfg` wurde der Parameter `-n` vergessen. Als Folge steht der Anwendername \u201eAnwenderA\u201c ein zweites Mal, unmittelbar nach \u201eOptionsA1\u201c in der Zeile.<br>Diese Konfiguration funktioniert zwar, ist aber ein Syntaxfehler und sollte korrigiert werden.<br><br>Abhilfe: Mit einen Texteditor das zweite Vorkommen von \u201eAnwenderA\u201c l\u00f6schen.<br><br><strong>Weitere Benutzerkonten registrieren<\/strong><br><br>Das Helper-Tool `pamu2fcfg` kann auch dazu genutzt werden, mehre Benutzerkonten mit FIDO2-Keys zu verkn\u00fcpfen. Dabei sind wieder die Syntaxregeln der Registrierungsdatei `\/etc\/fido2\/u2f_keys` zu beachten, auf die `pamu2fcfg` selbst keine R\u00fccksicht nehmen kann.<br>Wichtig ist, dass die Schl\u00fcsseldaten f\u00fcr das neue Nutzerkonto in der Registrierungsdatei in eine eigene Zeile geschrieben werden. Dazu muss die vorhandene Registrierungsdatei mit einen sogenannten Zeilenvorschub \u201eCR\u201d (Carriage Return) enden. Dies l\u00e4sst sich am einfachsten durch die Ausgabe der Registrierungsdatei am Terminal mit dem Befehl `cat` \u00fcberpr\u00fcfen.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cat \/etc\/fido2\/u2f_keys<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"883\" height=\"248\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-32.png\" alt=\"\" class=\"wp-image-3347\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-32.png 883w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-32-300x84.png 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-32-768x216.png 768w\" sizes=\"auto, (max-width: 883px) 100vw, 883px\" \/><figcaption class=\"wp-element-caption\">\u201eRegistrierungsdatei \/etc\/fido2\/u2f_keys ohne CR\u201c<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Erscheint der Eingabe-Prompt des Terminals unmittelbar nach den Schl\u00fcsseldaten, fehlt der Zeilenvorschub am Ende der Registrierungsdatei und muss manuell mit einem Texteditor, oder alternativ mit folgendem Befehl angef\u00fcgt werden.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>echo -e '\\r' | sudo tee -a \/etc\/fido2\/u2f_keys<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"881\" height=\"250\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-33.png\" alt=\"\" class=\"wp-image-3348\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-33.png 881w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-33-300x85.png 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-33-768x218.png 768w\" sizes=\"auto, (max-width: 881px) 100vw, 881px\" \/><figcaption class=\"wp-element-caption\">\u201eRegistrierungsdatei \/etc\/fido2\/u2f_keys mit CR\u201c<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Erscheint der Eingabe-Prompt des Terminals in einer neuen Zeile, endet die Registrierungsdatei mit einem Zeilenvorschub. und `pamu2fcfg` wird die neuen Registrierungsdaten syntaktisch korrekt in einer neuen Zeile einf\u00fcgen.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pamu2fcfg -u &lt;Nutzerkonto&gt; | sudo tee -a \/etc\/fido2\/u2f_keys<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Mit dem Parameter `-u` kann `pamu2fcfg` ein beliebiges Nutzerkonto f\u00fcr die Registrierung der FIDO2-Keys \u00fcbergeben werden.<br><br>Nachfolgend ein Beispiel f\u00fcr eine Registrierungsdatei \/etc\/fido2\/u2f_keys mit zwei registrierten Nutzerkonten (alice und bob):<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"881\" height=\"248\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-34.png\" alt=\"\" class=\"wp-image-3349\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-34.png 881w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-34-300x84.png 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/FIDO-34-768x216.png 768w\" sizes=\"auto, (max-width: 881px) 100vw, 881px\" \/><figcaption class=\"wp-element-caption\">\u201eRegistrierungsdatei mit zwei Nutzerkonten<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Anmeldung mit PIN-Abfrage<\/strong><br><br>Bei einer passwortlosen Anmeldung kommt dem FIDO2-Key die gleiche Bedeutung zu, wie einem klassischen Wohnungst\u00fcrschl\u00fcssel: Wer den Schl\u00fcssel besitzt, kommt rein.<br>Dies k\u00f6nnte sich als problematisch erweisen, sollte z.B. das Notebook zusammen mit dem FIDO2-Key aus einem Hotelzimmer gestohlen werden. Zur Vermeidung dieser Achillesferse kann die Anmeldung mit einer PIN-Abfrage gesch\u00fctzt werden. Voraussetzung ist, dass der FIDO2-Key zuvor mit einer PIN gesch\u00fctzt wurde, wie im Abschnitt \u201eFIDO2-Key mit PIN sch\u00fctzen\u201c beschrieben.<br><br>Zur Aktivierung der PIN-Abfrage bei der Anmeldung, muss bei der Registrierung des FIDO2-Keys die Option &#8211;pin-verification angegeben werden.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pamu2fcfg --pin-verification | sudo tee -a \/etc\/fido2\/u2f_keys<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Mit dieser Registrierung muss bei jeder Anmeldung neben der Ber\u00fchrung, zus\u00e4tzlich die PIN des FIDO2-Keys eingegeben werden.<br><br>Erkennbar ist eine PIN-Verifikation in der Registrierungsdatei an der Option \u201e+pin\u201d.<br><em>In der Registrierungsdatei die Option \u201e+pin\u201d mit einem Editor manuell anzuf\u00fcgen, funktioniert allerdings nicht!<\/em><br><br>Meines Erachtens ist die PIN-Abfrage bei der Anmeldung sicherer, als die Eingabe eines konventionellen Passworts. Die meisten Anwender neigen dazu, leicht zu erratende Passw\u00f6rter zu verwenden. Der Versuch die PIN des FIDO2-Keys zu erraten ist aussichtslos, da nach acht fehlgeschlagenen Versuchen, die Schl\u00fcsseldaten des FIDO2-Keys unwiederbringlich gel\u00f6scht werden. (Siehe Abschnitt \u201eFalsche PIN eingeben\u201c).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Hife, ich habe mich ausgesperrt!<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Wird in den PAM-Dateien zur Konfiguration des FIDO2-Keys das Control-Flag \u201esufficient\u201c verwendet, sollten keine unerwarteten Probleme auftreten, da \u201esufficient\u201c die Authentifizierung per FIDO2-Key erm\u00f6glicht, aber nicht erzwingt.<br>Anders verh\u00e4lt es sich, wenn das Control-Flag \u201erequired\u201c verwendet wird, um f\u00fcr die Anmeldung eine Zwei-Faktor-Authentifizierung zu erzwingen (Passwort plus FIDO2-Key). Ist die Konfigurationszeile f\u00fcr den FIDO2-Key in der PAM-Datei fehlerhaft (wird z.B. \u201erequire\u201c statt \u201erequired\u201c geschrieben), oder geht der FIDO2-Key verloren, ist eine Anmeldung nicht mehr m\u00f6glich.<br><br>Ein weiterer Nebeneffekt zeigt sich, wenn mehrere Nutzerkonten im Linux angelegt wurden.Sch\u00fctzt eine Anwenderin (z.B. Alice) ihr Linux-Konto mit einem FIDO2-Key und nutzt dazu in der PAM-Datei das Control-Flag \u201erequired\u201c, k\u00f6nnen sich weitere Anwender (z.B. Bob) nicht mehr am PC anmelden (oder sudo nutzen), wenn Bob keinen FIDO2-Key nutzt. Bobs Anmeldung wird trotz korrekt eingegebenem Passwort scheitern.<br>Die Einstellungen in den PAM-Dateien gelten global f\u00fcr alle am Linux angelegten Benutzerkonten. Wird in einer PAM-Datei f\u00fcr den FIDO2-Key das Control-Flag \u201erequired\u201c gesetzt, wird dadurch die Nutzung eines FIDO2-Keys f\u00fcr alle Nutzerkonten erforderlich. Ohne FIDO2-Key ist eine Anmeldung dann f\u00fcr niemanden mehr m\u00f6glich. Dies gilt nicht, wenn das Control-Flag \u201esufficient\u201c verwendet wird, da in diesem Fall die Nutzung des FIDO2-Keys nur optional ist.<br><br>Wurde nur die PAM-Datei f\u00fcr den Displaymanager fehlerhaft konfiguriert, ist weiterhin eine Anmeldung \u00fcber ein TTY-Terminal m\u00f6glich. Durch gleichzeitiges Dr\u00fccken der Tasten STRG + ALT + F3 wird die graphisch Oberfl\u00e4che verlassen und ein Textterminal (TTY3) gestartet. \u00dcber dieses sollte eine Anmeldung mit Benutzernamen und Passwort weiterhin m\u00f6glich sein, um die fehlerhafte PAM-Datei zu korrigieren.<br><br>Wenn nichts mehr hilft, bleibt nur noch, den PC mit einem Live-Linux zu starten und dar\u00fcber die fehlerhaften PAM-Dateien zu korrigieren.<br>Welches Live-Linux gestartet wird, spielt keine Rolle, es ist jedoch vorteilhaft eine Distribution zu w\u00e4hlen, bei der w\u00e4hrend des Starts ein deutsches Tastatur-Layout ausgew\u00e4hlt werden kann (z.B. Ubuntu), da zum Bearbeiten der PAM-Dateien Sonderzeichen ben\u00f6tigt werden, die auf der US-Tastatur anders belegt sind. Ansonsten kann man sich mit einer \u00dcbersetzungstabelle helfen:<br><a rel=\"noreferrer noopener\" href=\"https:\/\/computertastatur.info\/schreiben-auf-deutscher-tastatur-mit-us-zeichensatz\/\" target=\"_blank\">Schreiben auf deutscher Tastatur mit US-Zeichensatz<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mo 1. Mai 2023, 22:58 Keine Panik!Der erste Eindruck vom Umfang dieses Wikis t\u00e4uscht. Im Allgemeinen sind nur drei einfache Arbeitsschritte n\u00f6tig, um eine passwortlose Anmeldung am Linux zu realisieren. Da es aber gerade beim Thema Sicherheit von Vorteil ist, zu wissen, was man tut, und ich noch einige Sonderf\u00e4lle beim Umgang mit einem FIDO2-Key [&hellip;]<\/p>\n","protected":false},"author":95,"featured_media":3325,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[72],"tags":[713],"class_list":["post-10395","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sicherheit","tag-fido2"],"_links":{"self":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/10395","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/users\/95"}],"replies":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/comments?post=10395"}],"version-history":[{"count":8,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/10395\/revisions"}],"predecessor-version":[{"id":11375,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/10395\/revisions\/11375"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/media\/3325"}],"wp:attachment":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/media?parent=10395"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/categories?post=10395"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/tags?post=10395"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}