In diesem Tutorial zeigen wir Ihnen, wie Sie SSH mit Zwei-Faktor-Authentifizierung unter Ubuntu 16.04 LTS sichern. Für diejenigen unter Ihnen, die es nicht wussten, Sichern von SSH mit Zwei-Faktor-Authentifizierung mit Die zweistufige Verifizierung von Google Authenticator (auch bekannt als Zwei-Faktor-Authentifizierung, abgekürzt TFA) ist ein Prozess, der zwei Phasen umfasst, um die Identität einer Entität zu überprüfen, die versucht, auf Dienste in einem Computer oder in einem Netzwerk zuzugreifen Multi-Faktor-Authentifizierung, die möglicherweise nur einen der drei Authentifizierungsfaktoren (einen Wissensfaktor, einen Besitzfaktor und einen Vererbungsfaktor) für beide Schritte umfasst.
Dieser Artikel geht davon aus, dass Sie zumindest über Grundkenntnisse in Linux verfügen, wissen, wie man die Shell verwendet, und vor allem, dass Sie Ihre Website auf Ihrem eigenen VPS hosten. Die Installation ist recht einfach und setzt Sie voraus im Root-Konto ausgeführt werden, wenn nicht, müssen Sie möglicherweise 'sudo
hinzufügen ‘ zu den Befehlen, um Root-Rechte zu erhalten. Ich werde Ihnen Schritt für Schritt das sichere SSH mit Zwei-Faktor-Authentifizierung auf einem Ubuntu 16.04 (Xenial Xerus)-Server zeigen.
Voraussetzungen
- Ein Server, auf dem eines der folgenden Betriebssysteme ausgeführt wird:Ubuntu 16.04 und jede andere Debian-basierte Distribution wie Linux Mint.
- Es wird empfohlen, dass Sie eine neue Betriebssysteminstallation verwenden, um potenziellen Problemen vorzubeugen.
- SSH-Zugriff auf den Server (oder öffnen Sie einfach das Terminal, wenn Sie sich auf einem Desktop befinden).
- Ein
non-root sudo user
oder Zugriff auf denroot user
. Wir empfehlen, alsnon-root sudo user
zu agieren , da Sie Ihr System beschädigen können, wenn Sie als Root nicht aufpassen.
Sicheres SSH mit Zwei-Faktor-Authentifizierung auf Ubuntu 16.04 LTS
Schritt 1. Stellen Sie zunächst sicher, dass alle Ihre Systempakete auf dem neuesten Stand sind, indem Sie den folgenden apt-get
ausführen Befehle im Terminal.
sudo apt-get update sudo apt-get upgrade
Schritt 2. Google Authenticator installieren.
Führen Sie den folgenden Befehl aus, um das Paket unter Ubuntu zu installieren:
apt-get install libpam-google-authenticator
Der nächste Schritt besteht darin, den Verifizierungscode zu erhalten. Es ist ein sehr einfacher Befehl, den Verifizierungscode und die Rubbelcodes zu erhalten, indem Sie einfach einfache Fragen des Servers beantworten, die er stellen wird Sie können diesen Schritt ausführen, indem Sie den folgenden Befehl ausführen:
google-authenticator
Sie werden aufgefordert, einige Fragen zu beantworten; beantworten Sie die ersten beiden Fragen mit Ja (y):
Do you want authentication tokens to be time-based (y/n) y
In Ihrem Terminal wird ein großer QR-Code generiert. Sie können den Code mit der Authentifizierungsanwendung auf Ihrem Android-/iOS-/Windows-Telefon oder -Tablet scannen oder das Geheimnis eingeben Schlüssel, der auf dem Bildschirm generiert wird.
Notfall-Scratch-Codes werden ebenfalls generiert. Sie können diese Codes zur Authentifizierung verwenden, falls Sie Ihr Mobilgerät verlieren:
Your emergency scratch codes are: 80461001 68335920 89765548 12485672 11145603
Speichern Sie die Authentifizierungseinstellungen für den Root-Benutzer, indem Sie die nächste Frage mit JA beantworten:
Do you want me to update your "/root/.google_authenticator" file (y/n) y
Als nächstes können Sie den Authenticator so konfigurieren, dass er einmalige Passwörter generiert. In den letzten 30 Sekunden können alle generierten Passwörter einmal verwendet werden. Antworten Sie mit y, um die Datei zu erstellen die diese Einstellungen speichert:
Do you want to disallow multiple uses of the same authentication token? This restricts you to one login about every 30s, but it increases your chances to notice or even prevent man-in-the-middle attacks (y/n) y
Sie können die nächste Einstellung verwenden, wenn Sie Probleme mit der Zeitsynchronisierung auf Ihren Geräten haben, daher werden wir diese Option nicht verwenden:
By default, tokens are good for 30 seconds and in order to compensate for possible time-skew between the client and the server, we allow an extra token before and after the current time. If you experience problems with poor time synchronization, you can increase the window from its default size of 1:30min to about 4min. Do you want to do so (y/n) n
Die nächste Einstellung verhindert Brute-Force-Angriffe. Sie haben nur drei Versuche pro 30 Sekunden, das richtige Passwort einzugeben:
If the computer that you are logging into isn't hardened against brute-force login attempts, you can enable rate-limiting for the authentication module. By default, this limits attackers to no more than 3 login attempts every 30s. Do you want to enable rate-limiting (y/n) y
Herzlichen Glückwunsch! Sie haben Ihren Schlüssel fertig generiert und zu Ihrem Client hinzugefügt, aber einige zusätzliche Konfigurationen sind erforderlich, bevor diese Einstellungen wirksam werden.
Der nächste Schritt besteht darin, die Authentifizierungseinstellungen in openSSH zu konfigurieren. Öffnen Sie dazu die Datei „/etc/pam.d/sshd
”-Datei und fügen Sie am Ende der Datei die folgende Zeile hinzu:
### nano /etc/pam.d/sshd auth required pam_google_authenticator.so
Speichern Sie die Änderungen, öffnen Sie die Datei „/etc/ssh/sshd_config
”-Datei und aktivieren Sie die Challenge-Response-Authentifizierung:
### nano /etc/ssh/sshd_config ChallengeResponseAuthentication yes
Speichern Sie abschließend die Datei und starten Sie den SSH-Server neu, damit die Änderungen wirksam werden:
systemctl restart ssh
Herzlichen Glückwunsch! Sie haben SSH erfolgreich gesichert. Vielen Dank, dass Sie dieses Tutorial für sicheres SSH mit Zwei-Faktor-Authentifizierung auf einem Ubuntu 16.04 LTS-System (Xenial Xerus) verwendet haben. Für zusätzliche Hilfe oder nützliche Informationen empfehlen wir Besuchen Sie die offizielle SSH-Website.