So installieren und aktivieren Sie die SSH-Multi-Faktor-Authentifizierung für Linux-Systeme

Secure Shell (SSH) ist ein beliebtes Protokoll, das für den Fernzugriff auf Linux-Server und -Systeme verwendet wird. Es stellt eine sichere, verschlüsselte Verbindung bereit, die es den Benutzern ermöglicht, ihre Systeme aus der Ferne zu verwalten und zu verwalten.

Wenn Sie jedoch nur einen Benutzernamen und ein Passwort für den SSH-Zugriff verwenden, können Ihre Systeme anfällig für Brute-Force-Angriffe, das Erraten von Passwörtern und andere Sicherheitsbedrohungen werden. Hier bietet sich die Multi-Faktor-Authentifizierung (MFA) an.

Dabei handelt es sich um eine zusätzliche Sicherheitsebene, bei der die Benutzer zwei oder mehr Formen der Authentifizierung bereitstellen müssen, um auf ein System zuzugreifen. Da die Benutzer mehrere Faktoren angeben müssen, kann MFA die Sicherheit des SSH-Zugriffs erheblich verbessern.

MFA ist für Systeme, die sensible oder vertrauliche Daten verarbeiten, von entscheidender Bedeutung, da es dazu beiträgt, unbefugten Zugriff und Datenschutzverletzungen zu verhindern. Durch die Implementierung von MFA können Sie die Sicherheit Ihres Linux-Systems erheblich verbessern und Ihre Daten und Vermögenswerte besser schützen.

Dieser Artikel erläutert die Installation, Konfiguration und Aktivierung von MFA für den SSH-Zugriff auf Linux-Systemen. Wir erläutern die erforderlichen Schritte zum Einrichten einer unterstützten MFA-Methode wie Google Authenticator oder Duo Security und testen die Einrichtung für den SSH-Zugriff.

Vorbereiten Ihres Linux-Systems für MFA

Bevor Sie MFA auf Ihrem Linux-System installieren und konfigurieren, müssen Sie unbedingt sicherstellen, dass Ihr System auf dem neuesten Stand ist und die erforderlichen Pakete installiert sind. Aktualisieren Sie Ihr System mit dem folgenden Dienstprogramm:

sudo apt update && sudo apt upgrade -y

Sobald Ihr System auf dem neuesten Stand ist, müssen Sie das PAM-Paket (Pluggable Authentication Modules) installieren, das MFA für SSH ermöglicht.

Installieren und Konfigurieren einer unterstützten MFA-Methode

Für den SSH-Zugriff stehen mehrere MFA-Methoden zur Verfügung, darunter Google Authenticator, Duo Security und YubiKey. In diesem Abschnitt konzentrieren wir uns auf die Konfiguration des Google Authenticator, einer weit verbreiteten und einfach einzurichtenden MFA-Methode für SSH.

Hier sind die Schritte zum Installieren und Konfigurieren des Google Authenticator für SSH MFA:

Schritt 1: Erstellen Sie einen neuen Benutzer

Zunächst müssen Sie einen neuen Benutzer für den SSH-Zugriff erstellen. Sie können einen neuen Benutzer erstellen, indem Sie den folgenden Code ausführen:

sudo adduser

Ersetzen mit dem entsprechenden Namen des Benutzers, den Sie erstellen möchten.

Schritt 2: Wechseln Sie zum neuen Benutzer

Wechseln Sie als Nächstes zum neuen Benutzer, indem Sie den folgenden Befehl ausführen:

su –

Ihr System fordert Sie auf, das Passwort für den neuen Benutzer einzugeben.

Schritt 3: Installieren Sie Google Authenticator

Installieren Sie Google Authenticator mit diesem Dienstprogramm:

sudo apt install libpam-google-authenticator -y

Das Folgende ist eine Beispielausgabe für den vorherigen Befehl:

Diese Ausgabe zeigt den Paketmanager „apt“, der das Paket „libpam-google-authenticator“ und seine Abhängigkeiten installiert, nämlich „libqrencode4“. Die Option -y bestätigt automatisch die Installationsaufforderung. Das Ergebnis zeigt auch den Fortschritt des Installationsprozesses an, einschließlich des Herunterladens und Installierens der Pakete sowie des zusätzlich benötigten Speicherplatzes. Abschließend zeigt es, dass die Installation und alle relevanten Auslöser für die Nachinstallationsverarbeitung erfolgreich waren.

Schritt 4: Generieren Sie einen neuen geheimen Schlüssel

Dieses Dienstprogramm hilft Ihnen, einen neuen geheimen Schlüssel für den Benutzer zu generieren:

Google-Authenticator

Ihr System fordert Sie auf, einige Fragen zu beantworten, darunter die folgenden:

  • Möchten Sie, dass die Authentifizierungstoken zeitbasiert sind (j/n)? j
  • Soll ich Ihre Datei „/home/IhrBenutzername/.google_authenticator“ aktualisieren (j/n)? j
  • Möchten Sie die mehrfache Verwendung desselben Authentifizierungstokens verbieten? (j/n) j
  • Möchten Sie die Ratenbegrenzung aktivieren? (j/n) j

Für die meisten Fragen können Sie die Standardwerte übernehmen. Für die Frage jedoch: „Möchten Sie, dass ich Ihre Datei „/home//.google_authenticator“ aktualisiere?„, wählen Sie „y“, um die Konfigurationsdatei zu aktualisieren.

Die vorherige Befehlszeile generiert einen neuen geheimen Schlüssel für den Benutzer, der zum Erstellen von Einmalkennwörtern für MFA verwendet wird.

Schritt 5: Öffnen Sie die Authenticator-App auf Ihrem Telefon

Öffnen Sie die Google Authenticator-App auf Ihrem Smartphone und scannen Sie den QR-Code, der auf dem Bildschirm angezeigt wird. Dadurch wird der neue Benutzer zu Ihrer Google Authenticator-App hinzugefügt.

Schritt 6: Bearbeiten Sie die Konfigurationsdatei

Bearbeiten Sie die SSH-Konfigurationsdatei, indem Sie den folgenden Befehl ausführen:

sudo nano /etc/ssh/sshd_config

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

ChallengeResponseAuthentication ja

Diese Zeile aktiviert die Challenge-Response-Authentifizierung für SSH.

Schritt 7: Bearbeiten Sie die PAM-Konfigurationsdatei

Dieser Befehl bearbeitet die PAM-Konfigurationsdatei für SSH:

sudo nano /etc/pam.d/sshd

Fügen Sie am Ende der Datei die folgende Zeile hinzu, um diesen Schritt abzuschließen:

Authentifizierung erforderlich pam_google_authenticator.so

Dieses Dienstprogramm aktiviert das Google Authenticator-Modul für SSH.

Schritt 8: Speichern Sie Ihre Änderungen

Speichern Sie die Änderungen an den Konfigurationsdateien und starten Sie den SSH-Dienst mit dem folgenden Befehl neu:

Sudo-Dienst SSH-Neustart

Dieser Befehl startet den SSH-Dienst mit der neuen Konfiguration neu.

Wenn Sie sich über SSH bei Ihrem Linux-System anmelden, werden Sie zur Eingabe eines Einmalpassworts aufgefordert, das von der Google Authenticator-App generiert wird. Geben Sie das Einmalpasswort ein, um den Anmeldevorgang abzuschließen.

Testen Sie Ihr MFA-Setup für den SSH-Zugriff

Nachdem Sie MFA für SSH auf Ihrem Linux-System installiert und konfiguriert haben, ist es wichtig, das Setup zu testen, um sicherzustellen, dass es ordnungsgemäß funktioniert. Hier sind die Schritte zum Testen Ihres MFA-Setups für den SSH-Zugriff:

1. Öffnen Sie ein neues Terminalfenster und stellen Sie wie gewohnt über SSH eine Verbindung zu Ihrem Linux-System her. Zum Beispiel:

ssh @

Ersetze das mit dem genauen Namen des Benutzers, den Sie zuvor erstellt haben, und dem mit der IP-Adresse oder dem Hostnamen Ihres Linux-Systems. In diesem Fall verwenden wir Victoria als Benutzernamen. Die Ausgabe sieht wie in der folgenden Abbildung aus:

In diesem Beispiel verwenden wir den Befehl ssh, um uns bei einem Remote-Computer mit der IP-Adresse anzumelden 192.168.1.100 als Benutzer „victoria“. Der Befehl fordert zur Bestätigung der Authentizität des Remote-Hosts auf und fragt dann nach dem Passwort für den Benutzer „victoria“. Nach der Authentifizierung werden wir mit der Shell-Eingabeaufforderung auf dem Remote-Computer begrüßt, die uns anzeigt, dass wir erfolgreich eine SSH-Sitzung eingerichtet haben.

2. Geben Sie das Passwort für den Benutzer ein, wenn Sie dazu aufgefordert werden.

3. Nach der Eingabe des Passworts sollten Sie von Ihrer MFA-App zur Eingabe eines Einmalpassworts aufgefordert werden. Öffnen Sie die Google Authenticator-App auf Ihrem Smartphone und geben Sie den Code ein, der dem zuvor erstellten Benutzer entspricht.

4. Wenn das Einmalpasswort korrekt ist, sollten Sie bei Ihrem Linux-System angemeldet sein. Wenn das Passwort falsch ist, werden Sie aufgefordert, einen anderen Code in der MFA-App einzugeben.

5. Sobald Sie sich erfolgreich angemeldet haben, können Sie anhand der SSH-Protokolle überprüfen, ob MFA ordnungsgemäß funktioniert. Führen Sie dieses Dienstprogramm aus, um die Protokolle anzuzeigen:

sudo tail -f /var/log/auth.log

Der vorherige Befehl zeigt die SSH-Authentifizierungsprotokolle in Echtzeit an.

Suchen Sie im Protokoll nach einer Zeile mit der Aufschrift „Accepted publickey for “, gefolgt von „Accepted keyboard-interactive/pam for “.

17. April 10:45:24 Server SSHD[2998]: Akzeptierter öffentlicher Schlüssel für Victoria von 192.168.0.2 Port 57362 ssh2: RSA SHA256:xxxxxxxxxxxxxxxxxxxxx
17. April 10:45:27 Server SSHD[2998]: Tastatur-interaktiv/pam für Victoria von 192.168.0.2, Port 57362 ssh2, akzeptiert

Zum Beispiel:

Die ersten beiden Zeilen zeigen, dass der Benutzer „victoria“ über einen öffentlichen Schlüssel und tastaturinteraktive Methoden von der IP-Adresse 192.168.0.2 aus erfolgreich authentifiziert wurde.

Wenn alles ordnungsgemäß funktioniert, können Sie sich über SSH mit aktivierter MFA bei Ihrem Linux-System anmelden.

Abschluss

Die Implementierung der Multi-Faktor-Authentifizierung (MFA) für den SSH-Zugriff auf Ihrem Linux-System kann die Sicherheit Ihres Systems erheblich erhöhen, indem eine zusätzliche Authentifizierungsebene hinzugefügt wird. Indem die Benutzer zusätzlich zu ihrem regulären Passwort ein Einmalpasswort angeben müssen, erschwert MFA es Angreifern erheblich, Zugriff auf Ihr System zu erhalten.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen