Für zusätzliche Sicherheit können Sie a zeitbasiertes Authentifizierungstoken sowie ein Passwort, um sich bei Ihrem Linux-PC anzumelden. Diese Lösung verwendet Google Authenticator und andere TOTP-Apps.
Dieser Vorgang wurde unter Ubuntu 14.04 mit dem Standard durchgeführt Unity-Desktop und LightDM-Anmeldemanager, aber die Prinzipien sind auf den meisten Linux-Distributionen und -Desktops gleich.
Wir haben es Ihnen zuvor gezeigt So benötigen Sie Google Authenticator für den Remotezugriff über SSH und dieser Prozess ist ähnlich. Dies erfordert keine Google Authenticator-App, funktioniert jedoch mit jeder kompatiblen App, die das TOTP-Authentifizierungsschema implementiert, einschließlich Authy .
Installieren Sie die Google Authenticator PAM
VERBUNDEN: So sichern Sie SSH mit der Zwei-Faktor-Authentifizierung von Google Authenticator
Wie beim Einrichten für den SSH-Zugriff müssen wir zuerst die entsprechende PAM-Software ("Pluggable-Authentication Module") installieren. PAM ist ein System, mit dem wir verschiedene Arten von Authentifizierungsmethoden in ein Linux-System einbinden und diese benötigen können.
Unter Ubuntu installiert der folgende Befehl den Google Authenticator PAM. Öffnen Sie ein Terminalfenster, geben Sie den folgenden Befehl ein, drücken Sie die Eingabetaste und geben Sie Ihr Kennwort ein. Das System lädt die PAM aus den Software-Repositorys Ihrer Linux-Distribution herunter und installiert sie:
sudo apt-get installiere libpam-google-authenticator
Andere Linux-Distributionen sollten dieses Paket hoffentlich auch für eine einfache Installation zur Verfügung haben - öffnen Sie die Software-Repositorys Ihrer Linux-Distribution und führen Sie eine Suche danach durch. Im schlimmsten Fall können Sie finden der Quellcode für das PAM-Modul auf GitHub und kompiliere es selbst.
Wie bereits erwähnt, hängt diese Lösung nicht davon ab, ob Sie mit den Servern von Google telefonieren. Es implementiert den Standard-TOTP-Algorithmus und kann auch verwendet werden, wenn Ihr Computer keinen Internetzugang hat.
Erstellen Sie Ihre Authentifizierungsschlüssel
Sie müssen jetzt einen geheimen Authentifizierungsschlüssel erstellen und ihn in die Google Authenticator-App (oder eine ähnliche App) auf Ihrem Telefon eingeben. Melden Sie sich zunächst als Ihr Benutzerkonto auf Ihrem Linux-System an. Öffnen Sie ein Terminalfenster und führen Sie das aus google-authenticator Befehl. Art Y. und folgen Sie den Anweisungen hier. Dadurch wird eine spezielle Datei im Verzeichnis des aktuellen Benutzerkontos mit den Google Authenticator-Informationen erstellt.
Sie werden auch durch den Prozess geführt, bei dem dieser Zwei-Faktor-Bestätigungscode in einen Google Authenticator oder eine ähnliche TOTP-App auf Ihrem Smartphone übertragen wird. Ihr System kann einen QR-Code generieren, den Sie scannen können, oder Sie können ihn manuell eingeben.
Notieren Sie sich unbedingt Ihre Notfall-Rubbelcodes, mit denen Sie sich anmelden können, wenn Sie Ihr Telefon verlieren.
Führen Sie diesen Vorgang für jedes Benutzerkonto durch, das Ihren Computer verwendet. Wenn Sie beispielsweise die einzige Person sind, die Ihren Computer verwendet, können Sie dies nur einmal in Ihrem normalen Benutzerkonto tun. Wenn Sie jemanden haben, der Ihren Computer verwendet, möchten Sie, dass er sich in seinem eigenen Konto anmeldet und einen geeigneten Zwei-Faktor-Code für sein eigenes Konto generiert, damit er sich anmelden kann.
Aktivieren Sie die Authentifizierung
Hier wird es ein bisschen schwierig. Als wir erklärten, wie man Zwei-Faktor-Anmeldungen für SSH-Anmeldungen aktiviert, wurde diese nur für SSH-Anmeldungen benötigt. Dadurch wurde sichergestellt, dass Sie sich weiterhin lokal anmelden können, wenn Sie Ihre Authentifizierungs-App verloren haben oder wenn ein Fehler aufgetreten ist.
Da wir die Zwei-Faktor-Authentifizierung für lokale Anmeldungen aktivieren, gibt es hier potenzielle Probleme. Wenn etwas schief geht, können Sie sich möglicherweise nicht anmelden. In diesem Sinne führen wir Sie durch die Aktivierung nur für grafische Anmeldungen. Dies gibt Ihnen eine Notluke, wenn Sie es brauchen.
Aktivieren Sie Google Authenticator für grafische Anmeldungen unter Ubuntu
Sie können die zweistufige Authentifizierung jederzeit nur für grafische Anmeldungen aktivieren und die Anforderung überspringen, wenn Sie sich über die Eingabeaufforderung anmelden. Dies bedeutet, dass Sie problemlos zu einem virtuellen Terminal wechseln, sich dort anmelden und Ihre Änderungen rückgängig machen können, sodass Gogole Authenciator nicht erforderlich ist, wenn ein Problem auftritt.
Sicher, dies öffnet eine Lücke in Ihrem Authentifizierungssystem, aber Ein Angreifer mit physischem Zugriff auf Ihr System kann es ohnehin bereits ausnutzen . Aus diesem Grund ist die Zwei-Faktor-Authentifizierung besonders effektiv für Remote-Anmeldungen über SSH.
Hier erfahren Sie, wie Sie dies für Ubuntu tun, das den LightDM-Anmeldemanager verwendet. Öffnen Sie die LightDM-Datei zur Bearbeitung mit einem Befehl wie dem folgenden:
sudo gedit /etc/pam.d/lightdm
(Denken Sie daran, dass diese speziellen Schritte nur funktionieren, wenn Ihre Linux-Distribution und Ihr Desktop den LightDM-Anmeldemanager verwenden.)
Fügen Sie am Ende der Datei die folgende Zeile hinzu und speichern Sie sie:
auth erforderlich pam_google_authenticator.so nullok
Das "nullok" -Bit am Ende weist das System an, einen Benutzer anmelden zu lassen, auch wenn er den Befehl google-authentulator nicht ausgeführt hat, um die Zwei-Faktor-Authentifizierung einzurichten. Wenn sie es eingerichtet haben, müssen sie einen Zeitcode eingeben - andernfalls werden sie es nicht tun. Entfernen Sie das "Nullok", und Benutzerkonten, die keinen Google Authenticator-Code eingerichtet haben, können sich nicht grafisch anmelden.
Wenn sich ein Benutzer das nächste Mal grafisch anmeldet, wird er nach seinem Kennwort gefragt und anschließend zur Eingabe des aktuellen Bestätigungscodes auf seinem Telefon aufgefordert. Wenn sie den Bestätigungscode nicht eingeben, können sie sich nicht anmelden.
Der Prozess sollte für andere Linux-Distributionen und -Desktops ziemlich ähnlich sein, da die meisten gängigen Linux-Desktop-Sitzungsmanager PAM verwenden. Sie müssen wahrscheinlich nur eine andere Datei mit etwas Ähnlichem bearbeiten, um das entsprechende PAM-Modul zu aktivieren.
Wenn Sie die Home Directory-Verschlüsselung verwenden
Ältere Versionen von Ubuntu boten eine einfache Option "Home-Ordner-Verschlüsselung" Dadurch wurde Ihr gesamtes Home-Verzeichnis verschlüsselt, bis Sie Ihr Passwort eingeben. Dies verwendet insbesondere ecryptfs. Da die PAM-Software jedoch standardmäßig von einer Google Authenticator-Datei abhängt, die in Ihrem Home-Verzeichnis gespeichert ist, beeinträchtigt die Verschlüsselung die PAM beim Lesen der Datei, es sei denn, Sie stellen sicher, dass sie dem System vor der Anmeldung in unverschlüsselter Form zur Verfügung steht die README Weitere Informationen zur Vermeidung dieses Problems, wenn Sie weiterhin die veralteten Verschlüsselungsoptionen für das Ausgangsverzeichnis verwenden.
Moderne Versionen von Ubuntu bieten Vollplattenverschlüsselung Stattdessen funktioniert dies mit den oben genannten Optionen. Sie müssen nichts Besonderes tun
Hilfe, es ist kaputt gegangen!
Da wir dies nur für grafische Anmeldungen aktiviert haben, sollte es leicht zu deaktivieren sein, wenn es ein Problem verursacht. Drücken Sie eine Tastenkombination wie Strg + Alt + F2, um auf ein virtuelles Terminal zuzugreifen und melden Sie sich dort mit Ihrem Benutzernamen und Passwort an. Sie können dann einen Befehl wie sudo nano /etc/pam.d/lightdm verwenden, um die Datei zur Bearbeitung in einem Terminal-Texteditor zu öffnen. Verwenden unser Führer zu Nano Wenn Sie die Zeile entfernen und die Datei speichern möchten, können Sie sich wieder normal anmelden.
Sie können auch erzwingen, dass Google Authenticator für andere Anmeldetypen erforderlich ist - möglicherweise sogar für alle Systemanmeldungen -, indem Sie anderen PAM-Konfigurationsdateien die Zeile "auth required pam_google_authenticator.so" hinzufügen. Seien Sie vorsichtig, wenn Sie dies tun. Denken Sie daran, dass Sie möglicherweise "nullok" hinzufügen möchten, damit sich Benutzer, die den Setup-Vorgang noch nicht durchlaufen haben, weiterhin anmelden können.
Weitere Dokumentationen zur Verwendung und Einrichtung dieses PAM-Moduls finden Sie in die README-Datei der Software auf GitHub .