Wie kann ich mein System mithilfe der 2-Faktor-Authentifizierung weiter absichern?

16

Der Titel sagt es so ziemlich aus. Ich habe mehr über 2-Faktor-Authentifizierung, Einmalpasswörter, Hardtoken und andere verbesserte Sicherheitsfunktionen gehört. Mit der abnehmenden Sicherheit, nur ein Passwort zu verwenden, möchte ich wissen, wie ich meine Sicherheit unter Ubuntu verbessern kann. Ich benutze 14.04 LTS mit Unity.


quelle

Antworten:

30

Sie können das von Google erstellte Open-Source-PAM (Pluggable Authentication Module) verwenden, das als Google Authenticator bezeichnet wird . Dieses Modul ist sowohl in den Standard-Repositorys als auch in GitHub verfügbar, sodass Sie es aus dem Quellcode erstellen können. In Verbindung mit der gleichnamigen Android-, iOS- oder Blackberry-App werden zeitbasierte, zeitkritische Codes für die Authentifizierung zusammen mit Ihrem Kennwort erstellt. Da es sich um ein PAM-Modul handelt, kann es praktisch überall abgelegt werden . Lass uns anfangen!

Installieren

Zu Beginn können Sie die PAM folgendermaßen installieren:

sudo apt-get install libpam-google-authenticator

Einfach!

Einrichten:

Nach der Installation möchten Sie auch die entsprechende mobile Anwendung für Android, iOS oder Blackberry installieren (abhängig von Ihrer mobilen Plattform). Jeder ist ohne den anderen nutzlos. Nachdem Sie die Anwendung haben, die Sie für Ihr Mobilgerät benötigen, führen Sie Folgendes in einem Terminal aus:

google-authenticator

Zunächst werden Ihnen einige Fragen gestellt. Die erste Frage ist die einzige, auf die Sie mit "Ja" antworten müssen. Sie werden gefragt, ob die Codes zeitbasiert sein sollen. Lesen Sie danach jede Frage und treffen Sie die Wahl, die für Sie am sinnvollsten ist.

Nach Abschluss der Ersteinrichtung sehen Sie in Ihrem Terminal einen sehr großen QR-Code sowie einige andere Informationen. Die Zeile "Ihr neuer geheimer Schlüssel lautet:" wird dringend benötigt, wenn Sie den QR-Code nicht zum Koppeln Ihres Geräts verwenden möchten. Schließen Sie dieses Fenster also erst, wenn Sie eingerichtet sind! Die "Rubbelcodes", die Sie erhalten, sind ebenfalls wichtig, da Sie sie zum Anmelden verwenden, wenn Sie Ihr mobiles Gerät verlieren. Schreiben Sie sie auf und bewahren Sie sie an einem sicheren Ort auf.

Öffnen Sie jetzt auf Ihrem Mobilgerät die Google Authenticator-Anwendung und wählen Sie "Konto einrichten". Sie können entweder den erzeugten QR-Code scannen oder "Mit Schlüssel versehen" auswählen. Wenn Sie den QR-Code scannen, wird alles automatisch unter einem Konto mit dem Namen "your_user @ your_host" gespeichert. Wenn Sie jedoch "Bereitgestellten Schlüssel verwenden" auswählen, müssen Sie manuell einen Namen, einen Schlüssel und einen Tokentyp eingeben. Der Name kann beliebig sein. Der Schlüssel wäre der zuvor erzeugte geheime Schlüssel. Der Typ ist standardmäßig zeitbasiert. Nach dem Einrichten sehen Sie das Konto im Hauptfenster der Google Authenticator-App sowie einen kreisförmigen Timer daneben. Dieser Timer wird alle 30 Sekunden erschöpft und ein neuer Code wird generiert.

Aktivieren Sie es!

Hier kommt die Magie. Da es sich um ein PAM-Modul handelt, kann es an verschiedenen Orten eingesetzt werden. Ich sudofüge Authentifizierung zu Anfragen, SSH-Anmeldungen und LightDM-Anmeldungen hinzu. Nachdem Sie dieses Tutorial gelesen haben, können Sie es basierend auf denselben Techniken an einer anderen Stelle aktivieren.

SSH

Ich mache das zuerst, weil es einen zusätzlichen Schritt gibt. Als erstes müssen Sie Ihre SSH-Konfigurationsdatei bearbeiten:

gksudo gedit /etc/ssh/sshd_config

Suchen Sie nach der Zeile, in der steht:

ChallengeResponseAuthentication no

und ändern Sie das "Nein" in ein "Ja".

Nun müssen Sie das PAM-Modul für ssh bearbeiten:

gksudo gedit /etc/pam.d/sshd

Fügen Sie am Ende dieser Datei die folgende Zeile hinzu:

auth required pam_google_authenticator.so nullok

Das Argument "nullok" weist das System an, keinen Bestätigungscode anzufordern, wenn ein Benutzer keine Zwei-Faktor-Authentifizierung eingerichtet hat. Nach dieser Bearbeitung starten Sie Ihren ssh-Dienst neu:

sudo service ssh restart

sudo Anfragen

Bearbeiten Sie die PAM-Datei für sudo:

gksudo gedit /etc/pam.d/sudo

Fügen Sie am Ende die folgende Zeile hinzu:

auth required pam_google_authenticator.so nullok

Jetzt werden Sie bei jeder sudoAnfrage nach einem Bestätigungscode und einem Passwort gefragt.

LightDM (GUI-Login)

Bearbeiten Sie die PAM-Datei für LightDM:

gksudo gedit /etc/pam.d/lightdm

Fügen Sie am Ende die folgende Zeile hinzu:

auth required pam_google_authenticator.so nullok

Das ist es! Jedes Mal, wenn Sie sich über die GUI anmelden, werden Sie nach Ihrem Passwort nach einem Bestätigungscode gefragt.

Systemweite und TTY-Anmeldung

Selbst wenn Sie die oben genannten Methoden aktivieren, werden Sie nicht nach einem Bestätigungscode gefragt, wenn Sie mit CTRL+ ALT+ zu einem TTY wechseln F#. Um dies zu beheben, bearbeiten Sie die common-authPAM-Datei:

gksudo gedit /etc/pam.d/common-auth

und füge die folgende Zeile ganz am Ende hinzu:

auth required pam_google_authenticator.so nullok

Hinweis: Da diese Common-Auth-Datei in allen anderen Auth-Typ-Dateien enthalten ist, müssen Sie die erforderlichen Auth-Zeilen aus den anderen Dateien entfernen. Andernfalls werden Sie zweimal nach dem Bestätigungscode gefragt, und Sie können sich nach dem Anmelden nicht mehr anmelden.

Einpacken

Wie Sie sehen konnten, war es ziemlich einfach, diese Authentifizierung hinzuzufügen. Wenn Sie einen anderen Display-Manager als LightDM verwenden, können Sie einfach die oben stehende LightDM-Zeile entsprechend ändern. Da Ihr Mobilgerät und Ihr System diesen geheimen Schlüssel bereits gemeinsam genutzt haben, sollten sie immer synchron sein. Für diese Einrichtung gibt es keine Interaktion mit Google-Servern oder anderen Internetressourcen. Selbst wenn beide Geräte vollständig offline waren, sind die in Ihrer Anwendung angezeigten Bestätigungscodes korrekt. Wenn Sie sich mit einer der von Ihnen aktivierten Methoden anmelden müssen, müssen Sie nur Ihre mobile Anwendung öffnen und den aktuellen Bestätigungscode abrufen.

Habe Spaß!!

Justin
quelle
Kommentieren für spätere Notizen. Gut geschrieben! +1 =)
Terrance
+1 - das ist wirklich cool und gut geschrieben.
Nathan Osman
1
Und dann entscheidet Ihr Telefon, dass es keinen Strom mehr hat, und möchte herunterfahren. :) +1
Rinzwind
Dafür sind die Rubbelcodes da, @Rinzwind: D
Hinzugefügt in Anweisungen zum Aktivieren von Zwei-Faktor auf TTY.
1

FreeOTP ist eine Open-Source-Alternative zur Android-App Google Authenticator bei Google Play (deren aktueller Code nicht Open Source ist). FreeOTP ist auf F-Droid (und Google Play ) verfügbar .

Mihai Capota
quelle