31Aug
Für zusätzliche Sicherheit benötigen Sie ein zeitbasiertes Authentifizierungstoken sowie ein Passwort, um sich an Ihrem Linux-PC anzumelden. Diese Lösung verwendet Google Authenticator und andere TOTP-Apps.
Dieser Prozess wurde unter Ubuntu 14.04 mit dem Standard-Unity-Desktop und dem LightDM-Login-Manager durchgeführt, aber die Prinzipien sind bei den meisten Linux-Distributionen und -Desktops dieselben.
Wir haben Ihnen zuvor gezeigt, wie Sie Google Authenticator für den Fernzugriff über SSH benötigen, und dieser Prozess ist ähnlich. Dies erfordert keine Google Authenticator-App, funktioniert jedoch mit jeder kompatiblen App, die das TOTP-Authentifizierungsschema einschließlich Authy implementiert.
Installation des Google Authenticator PAM
Wie bei der Einrichtung des SSH-Zugriffs müssen wir zuerst die entsprechende PAM-Software( "Pluggable Authentication Module") installieren. PAM ist ein System, das es uns ermöglicht, verschiedene Arten von Authentifizierungsmethoden in ein Linux-System zu integrieren und sie zu benötigen.
Unter Ubuntu wird der folgende Befehl den Google Authenticator PAM installieren.Öffnen Sie ein Terminalfenster, geben Sie den folgenden Befehl ein, drücken Sie die Eingabetaste und geben Sie Ihr Passwort ein. Das System lädt das PAM von den Software-Repositories Ihrer Linux-Distribution herunter und installiert es:
sudo apt-get install libpam-google-authenticator
Andere Linux-Distributionen sollten hoffentlich auch dieses Paket für eine einfache Installation haben - öffnen Sie die Software-Repositories Ihrer Linux-DistributionSuche danach. Im schlimmsten Fall können Sie den Quellcode für das PAM-Modul auf GitHub finden und selbst kompilieren.
Wie bereits erwähnt, hängt diese Lösung nicht davon ab, dass die Server von Google nach Hause 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 nun einen geheimen Authentifizierungsschlüssel erstellen und diesen 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 den -Befehl google-authenticator aus. Geben Sie und ein 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 Vorgang geführt, diesen Zwei-Faktor-Bestätigungscode in einen Google Authenticator oder eine ähnliche TOTP-App auf Ihrem Smartphone zu übertragen. Ihr System kann einen QR-Code generieren, den Sie scannen können, oder Sie können ihn manuell eingeben.
Notieren Sie unbedingt Ihre Notfall-Scratch-Codes, 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 mit Ihrem normalen Benutzerkonto tun. Wenn Sie eine andere Person haben, die Ihren Computer verwendet, möchten Sie, dass sie sich in ihrem eigenen Konto anmeldet und einen entsprechenden Zwei-Faktor-Code für ihr eigenes Konto generiert, damit sie sich anmelden können.
Authentifizierung aktivieren
Hier ist woDie Dinge werden ein bisschen würzig. Als wir erklärten, wie man Zwei-Faktor-SSH-Logins aktiviert, benötigten wir es nur für SSH-Logins. So war sichergestellt, dass Sie sich immer noch lokal anmelden können, wenn Sie Ihre Authentifizierungs-App verloren haben oder etwas schief gelaufen ist.
Da wir die Zwei-Faktor-Authentifizierung für lokale Logins aktivieren, gibt es hier potentielle Probleme. Wenn etwas schief geht, können Sie sich möglicherweise nicht anmelden. Wir machen Sie darauf aufmerksam, indem wir dies nur für grafische Anmeldungen aktivieren. Dies gibt Ihnen eine Escape-Luke, wenn Sie es brauchen.
Aktivieren Sie Google Authenticator für grafische Anmeldungen auf Ubuntu
Sie können die zweistufige Authentifizierung immer nur für grafische Anmeldungen aktivieren und die Anforderung überspringen, wenn Sie sich von der Texteingabe aus 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 Authenticator bei Problemen nicht benötigt wird.
Sicher, dies öffnet ein Loch in Ihrem Authentifizierungssystem, aber ein Angreifer mit physischem Zugriff auf Ihr System kann es ohnehin schon ausnutzen. Aus diesem Grund ist die Zwei-Faktor-Authentifizierung besonders effektiv für Remote-Logins über SSH.
So funktioniert das für Ubuntu, das den LightDM Login Manager benutzt.Öffnen Sie die LightDM-Datei zur Bearbeitung mit einem Befehl wie dem folgenden:
sudo gedit /etc/pam.d/ lightdm
( Beachten Sie, dass diese spezifischen Schritte nur funktionieren, wenn Ihre Linux-Distribution und Desktop den LightDM-Login-Manager verwenden.)
Fügen Sie die folgende Zeile hinzudie Datei, und speichern Sie sie dann:
auth erforderlich pam_google_authenticator.so nullok
Das "nullok" Bit am Ende sagt dem System, dass sich ein Benutzer anmelden soll, auch wenn er den Befehl google-authenticator nicht ausgeführt hat, um zweiFaktor-Authentifizierung. Wenn sie es eingerichtet haben, müssen sie einen Time-Baesd-Code eingeben - sonst werden sie nicht. Entfernen Sie die "nullok" und Nutzerkonten, die keinen Google Authenticator-Code eingerichtet haben, können sich nicht mehr grafisch anmelden.
Wenn sich ein Benutzer das nächste Mal grafisch anmeldet, wird er nach seinem Kennwort gefragt und dann zur Eingabe des aktuellen Bestätigungscodes auf dem 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 Linux-Desktop-Sitzungsmanager PAM verwenden. Sie müssen wahrscheinlich nur eine andere Datei mit einer ähnlichen Datei bearbeiten, um das entsprechende PAM-Modul zu aktivieren.
, wenn Sie Home Directory-Verschlüsselung verwenden
Ältere Versionen von Ubuntu bieten eine einfache "Home Folder Encryption" -Option, die Ihr gesamtes Home-Verzeichnis verschlüsselt, bis Sie Ihr Passwort eingeben. Insbesondere verwendet dies ecryptfs. Da die PAM-Software jedoch von einer in Ihrem Ausgangsverzeichnis gespeicherten Google Authenticator-Datei abhängig ist, stört die Verschlüsselung das PAM beim Lesen der Datei, es sei denn, Sie stellen sicher, dass sie in unverschlüsselter Form vor der Anmeldung im System verfügbar ist. Weitere Informationen finden Sie in der README-DateiInformationen zur Vermeidung dieses Problems, wenn Sie weiterhin die veralteten Verschlüsselungsoptionen für das Basisverzeichnis verwenden.
Moderne Ubuntu-Versionen bieten stattdessen eine Voll-Disk-Verschlüsselung, die mit den obigen Optionen gut funktioniert. Sie müssen nichts besonderes tun
Hilfe, brach es!
Da wir dies nur für grafische Logins aktiviert haben, sollte es einfach 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 Sie unseren Nano-Leitfaden, um die Zeile zu entfernen und die Datei zu speichern, und Sie können sich wieder normal anmelden.
Sie können Google Authenticator auch für andere Arten von Anmeldungen - möglicherweise sogar für alle System-Logins - erzwingen, indem Sie anderen PAM-Konfigurationsdateien die Zeile "auth required pam_google_authenticator.so" hinzufügen. Sei vorsichtig, wenn du das tust. Denken Sie daran, dass Sie "nullok" hinzufügen können, damit Benutzer, die den Installationsvorgang noch nicht durchgeführt haben, sich einloggen können.
Weitere Informationen zur Verwendung und Einrichtung dieses PAM-Moduls finden Sie in der README-Datei der Software auf GitHub.