Wenn Sie die passwortbasierte und Zwei-Faktor-Authentifizierung als unzuverlässig empfinden, sollten Sie die Einrichtung einer hardwarebasierten Authentifizierung unter Linux mit YubiKey in Betracht ziehen.
Sie sind nicht allein, wenn Sie sich Sorgen über die ständig wachsende Bedrohung durch Hackerangriffe machen. Während Authentifizierungsaufforderungen und 2FA ausreichen, um die meisten potenziellen Hacker abzuwehren, gelingen dennoch jeden Tag Tausende von Sicherheitsverletzungen.
Eine der am häufigsten angepriesenen Lösungen für das Authentifizierungsproblem ist YubiKey. Aber was ist YubiKey und wie funktioniert die Hardware-Authentifizierung? Können Sie Ihren Linux-PC mit YubiKey sichern?
Warum YubiKey für die Hardware-Authentifizierung verwenden?
Es gibt viele verschiedene Arten der Authentifizierung, darunter Passwörter, SMS-Authentifizierung usw Authentifizierungs-Apps, die Sie mit Ihrem Telefon verwenden können. Ein weniger verbreiteter Typ ist die Hardware-Authentifizierung, bei der ein kleines Plug-in-Gerät verwendet wird, um bei Aufforderung ein Authentifizierungstoken zu senden.
YubiKeys und andere Hardware-Authentifizierungsgeräte haben gegenüber anderen Authentifikatoren einige Vorteile. Sie sind einfacher zu verwenden, viel sicherer und ohne Zugriff auf den physischen YubiKey selbst nahezu unmöglich zu kompromittieren.
Erste Schritte mit Yubikey
Mit YubiKey können Sie in nur wenigen einfachen Schritten starten. Als ersten Schritt sollten Sie das Quiz von verwenden Yubico um den besten YubiKey für Ihre Gerätespezifikationen zu finden. Sobald Sie Ihren YubiKey zur Hand haben, können Sie ihn als Authentifizierungsgerät für Websites und Apps verwenden.
Sie können es sogar zur Authentifizierung von Sudo und SSH auf Ihrem Linux-Computer verwenden. Wir erklären Ihnen alles, was Sie über die Auswahl eines sudo/SSH-kompatiblen YubiKey und dessen Konfiguration für die Authentifizierung wissen müssen.
Wählen Sie den richtigen YubiKey für Ihr System
Wenn Sie Ihren YubiKey zur Authentifizierung auf Ihrem Linux-Computer verwenden möchten, gibt es einige YubiKeys, die sich als überlegene Optionen hervorheben. Der YubiKey 5 und der YubiKey 5 NFC sind beide Klassiker, die gut mit Systemen mit USB-A bzw. USB-C funktionieren.
Wenn Sie Ihren YubiKey mit Ihrem Linux-Computer und Android-Telefon verwenden möchten, sollten Sie einen YubiKey 5c NFC in Betracht ziehen. Wenn Sie einen Linux-Computer und ein iPhone haben, sollten Sie einen YubiKey 5ci in Betracht ziehen, da dieser USB-C und Lightning unterstützt.
Es ist wichtig zu beachten, dass die YubiHSM-Serie nicht mit der Sudo-Authentifizierung kompatibel ist. Ältere YubiKeys sind je nach ihren spezifischen Funktionen möglicherweise mit der Sudo/SSH-Authentifizierung kompatibel oder nicht.
Bevor Sie mit der Sudo- oder SSH-Authentifizierung beginnen, müssen Sie den YubiKey PPA installieren. Öffnen Sie das Terminal und geben Sie die folgenden Befehle ein, um Ihre Pakete zu aktualisieren und YubiKey Authenticator und YubiKey Manager zu installieren:
sudo add-apt-repository ppa: yubico/stable
Sudo apt-get update
sudo apt install yubikey-manager libpam-yubico libpam-u2f
Als Nächstes müssen Sie überprüfen, ob Ihr System für die Arbeit mit Ihrem YubiKey bereit ist. Führen Sie den folgenden Befehl im Terminal aus, um Ihre udev-Version zu überprüfen:
sudo udevadm --version
Das Terminal gibt eine Nummer zurück. Wenn die Zahl 244 oder höher ist, ist Ihr System mit YubiKey kompatibel. In diesem Fall können Sie den nächsten Schritt überspringen.
Andernfalls müssen Sie Ihr System konfigurieren. Sie sollten die folgenden Befehle verwenden, um zu überprüfen, ob udev auf Ihrem Computer installiert ist – und um es zu installieren, falls dies nicht der Fall ist:
dpkg -s libu2f-udev
sudo apt install libu2f-udev
Überprüfen Sie als Nächstes, ob die U2F-Schnittstelle Ihres YubiKey entsperrt ist. Wenn Sie einen YubiKey NEO oder YubiKey NEO-n haben, stecken Sie Ihren YubiKey ein, öffnen Sie den YubiKey Manager und navigieren Sie zu Schnittstellen. Aktivieren Sie die U2F-Schnittstelle und drücke Speichern.
Richten Sie YubiKey für die Sudo-Authentifizierung unter Linux ein
sudo ist einer der gefährlichsten Befehle in der Linux-Umgebung. In den richtigen Händen bietet es einen beeindruckenden Zugang, der für die Erledigung der meisten Arbeiten ausreicht. In den falschen Händen kann der von sudo bereitgestellte Root-Zugriff es böswilligen Benutzern ermöglichen, ein System auszunutzen oder zu zerstören.
YubiKeys eignen sich hervorragend für die Sudo-Authentifizierung, da ihre Authentifizierung ohne Zugriff auf den YubiKey selbst kaum zu reproduzieren ist. Die meisten YubiKeys sind mit der Sudo-Authentifizierung kompatibel, einschließlich der 5-FIPs-Serie, Key-Serie, 4-FIPs-Serie, Bio-Serie, 5-Serie und 4-Serie.
Entsprechend Yubico, ist der erste Schritt, den Sie zum Konfigurieren der Sudo-Authentifizierung unternehmen müssen, das Erstellen einer Regeldatei. Wenn Ihre udev-Version 188 oder höher ist, installieren Sie die neuen U2F-Regeln von GitHub und kopieren Sie die 70-u2f.regeln Datei an /etc/udev/rules.d.
Wenn Ihre udev-Version unter 188 liegt, installieren Sie die alten U2F-Regeln von GitHub und kopieren Sie die 70-old-u2f.rules Datei an /etc/udev/rules.d.
Wenn Ihre udev-Version 244 oder höher ist oder Sie die erforderlichen Regeldateien erstellt haben, können Sie Ihren YubiKey mit Ihrem Konto verknüpfen.
Stecken Sie den YubiKey in Ihren Computer, öffnen Sie das Terminal und geben Sie die folgenden Befehle ein, um Ihren YubiKey mit Ihrem Konto zu verknüpfen:
mkdir -p ~/.config/Yubicopamu2fcfg > ~/.config/Yubico/u2f_keys
Warten Sie einige Augenblicke, bis die Kontrollleuchte an Ihrem YubiKey zu blinken beginnt. Berühren Sie die Schaltfläche auf Ihrem YubiKey, um die Geräteverknüpfung zu bestätigen.
Wenn Sie einen anderen YubiKey zur Hand haben, sollten Sie ihn als Backup-Gerät hinzufügen, indem Sie den folgenden Befehl eingeben und den gleichen Vorgang ausführen:
pamu2fcfg -n >> ~/.config/Yubico/u2f_keys
Abschließend müssen Sie den Befehl sudo so konfigurieren, dass eine YubiKey-Authentifizierung erforderlich ist. Sie sollten zunächst den folgenden Befehl eingeben, um die Sudo-Konfigurationsdatei zu öffnen:
sudo vi /etc/pam.d/sudo
Sobald die Konfigurationsdatei geöffnet ist, fügen Sie die folgende Zeile direkt darunter ein @include common-auth Zeile, um sudo so zu konfigurieren, dass eine YubiKey-Authentifizierung erforderlich ist:
Authentifizierung erforderlich pam_u2f.so
Speichern und beenden Sie die Datei, indem Sie drücken Fliehen, tippen :wq, und drücken Eingeben, aber lassen Sie das Terminal geöffnet. Sie können die Änderungen, die Sie an der Sudo-Authentifizierung vorgenommen haben, nicht rückgängig machen, wenn das Terminal geschlossen wird.
Öffnen Sie ein zweites Terminal und führen Sie den folgenden Befehl aus, während Ihr YubiKey nicht angeschlossen ist, und geben Sie dann Ihr Passwort ein:
Sudo-Echo-Test
Der Authentifizierungsprozess schlägt fehl. Stecken Sie Ihren YubiKey ein und geben Sie den Befehl und Ihr Passwort erneut ein. Wenn die YubiKey-Anzeigeleuchte zu blinken beginnt, berühren Sie die Taste auf Ihrem YubiKey. Es sollte den Befehl authentifizieren. Wenn dies der Fall ist, ist Ihr YubiKey vollständig für die Sudo-Authentifizierung eingerichtet.
So richten Sie YubiKey für die SSH-Authentifizierung ein
Sie können Ihren YubiKey auch für die SSH-Authentifizierung verwenden! Mehrere YubiKey-Serien sind mit SSH kompatibel, darunter die 5-FIPS-Serie, die 5-Serie, die 4-FIPS-Serie und die 4-Serie. Die Verwendung von YubiKey zur Authentifizierung Ihrer Verbindungen ermöglicht Ihnen dies Machen Sie jede einzelne SSH-Anmeldung viel sicherer.
Die beste Methode zum Einrichten von YubiKey wurde von einem erfahrenen Benutzer auf beschrieben GitHub. Sie benötigen SSH 8.2 oder neuer und einen YubiKey mit Firmware 5.2.3 oder neuer. Mit den folgenden Befehlen können Sie Ihre OpenSSH-Version überprüfen und bei Bedarf aktualisieren:
ssh -V
sudo apt update && sudo apt upgrade
Als Nächstes müssen Sie SSH so konfigurieren, dass es Ihren YubiKey akzeptiert. Geben Sie den folgenden Befehl ein Öffnen Sie den VI-Editor und bearbeiten Sie die Konfigurationsdatei:
sudo vi /etc/ssh/sshd_config
Fügen Sie der Konfigurationsdatei die folgende Zeile hinzu, damit Ihr YubiKey akzeptiert wird:
PubkeyAcceptedKeyTypes [email protected], [email protected]
Speichern und beenden Sie die Datei, indem Sie drücken Fliehen, tippen :wq, und schlagen Eingeben. Starten Sie abschließend den SSH-Dienst mit dem folgenden Befehl neu, damit Ihre neue Konfiguration aktiv wird:
Sudo-Dienst SSH-Neustart
Schließlich können Sie das Schlüsselpaar erstellen, das Sie für die SSH-Authentifizierung verwenden. Navigieren Sie zum SSH-Verzeichnis und erstellen Sie Ihren neuen SSH-Schlüssel mit den folgenden Befehlen:
cd home/Benutzername/.ssh
ssh-keygen -t ed25519-sk
Es werden zwei Dateien erstellt ~/.ssh/ Verzeichnis. Beachten Sie, dass Sie möglicherweise verwenden müssen ecdsa-sk anstatt ed25519-sk wenn Ihr System nicht kompatibel ist und das Terminal meldet, dass die Schlüsselregistrierung fehlgeschlagen ist.
Als Nächstes müssen Sie den öffentlichen Schlüssel mit dem folgenden Befehl zu Ihrem Server hinzufügen:
ssh-copy-id -i ~/.ssh/id_ed25519_sk.pub Benutzername@Server
Sie sollten sich auch selbst zur sudoers-Datei hinzufügen, damit Sie nach dem Deaktivieren der Root-Anmeldung weiterhin über die Berechtigungen verfügen. Greifen Sie auf die Datei zu und öffnen Sie sie mit visudo.
Öffnen Sie die sudoers-Datei nicht mit einem normalen Texteditor.
Unter der Zeile, die lautet root ALL=(ALLE: ALLE) ALLE, fügen Sie die folgende Zeile hinzu:
Benutzername ALL=(ALLE: ALLE) ALLE
Öffne das /etc/ssh/ssd_config Datei und fügen Sie die folgenden Zeilen hinzu, um die Root-Anmeldung und die passwortbasierte Anmeldung zu deaktivieren:
ChallengeResponseAuthentication noPermitRootLogin-Nr
Geben Sie abschließend den folgenden Befehl ein, um Ihren Schlüssel für die Dauer der Sitzung in Ihren SSH-Agenten zu laden:
ssh-add ~/.ssh/id_ed25519_sk
Sie können jetzt Ihren YubiKey für die SSH-Authentifizierung verwenden. Wenn Sie dazu aufgefordert werden, müssen Sie Ihren YubiKey in Ihren Computer einstecken und auf die Schaltfläche tippen, wenn die Anzeige blinkt. Mit dieser neuen Authentifizierungsmethode wird der SSH-Zugriff auf Ihren Remote-Server deutlich sicherer.
Weitere mögliche Einsatzmöglichkeiten von YubiKey
Es gibt keine wirklichen Grenzen für die Verwendung von YubiKey auf Ihrem Linux-System. Wenn Sie Ihren PC besonders sicher machen möchten, sollten Sie Ihren YubiKey für die Festplatten- oder passwortfreie Verschlüsselung verwenden. Sie können es sogar zum Signieren von E-Mails und Dateien verwenden, wenn Sie möchten.
Sichern Sie Ihr Linux-System mit YubiKey
Sie müssen sich nicht damit begnügen, Ihren YubiKey nur für die SSH- und Sudo-Authentifizierung zu verwenden. Sie können Ihren YubiKey auch zur Authentifizierung des Zugriffs auf viele Ihrer Konten im Internet verwenden. Das Beste daran ist, dass der Einstieg in YubiKey 2FA ein einfacher Vorgang ist.