GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Panels

Sicheres SSH mit Zwei-Faktor-Authentifizierung unter Ubuntu 16.04

In diesem Tutorial beschreiben wir die notwendigen Schritte zum Konfigurieren der Zwei-Faktor-Authentifizierung (2FA) mit dem Google-Authentifikator auf einem Ubuntu 16.04 VPS. Diese Anwendung enthält Implementierungen von Einmal-Passcode-Generatoren für mehrere mobile Plattformen. Diese Methode fügt Ihrem Server eine weitere Schutzebene hinzu und fügt dem grundlegenden Anmeldeverfahren einen zusätzlichen Schritt hinzu.

1. Anmeldung über SSH

Melden Sie sich über SSH als Benutzer root bei Ihrem Server an

ssh root@IP_Address

2. Aktualisieren Sie die Systempakete

Alle installierten Pakete aktualisieren:

apt-get update && apt-get upgrade

3. Google Authenticator installieren

Installieren Sie den Google Authenticator Paket.

apt-get install libpam-google-authenticator

Führen Sie nach der Installation des Pakets das Programm google-authenticator aus, um einen Schlüssel für den Benutzer zu erstellen, mit dem Sie sich anmelden werden. Das Programm kann zwei Arten von Authentifizierungstoken generieren – zeitbasiert und einmalige Token . Zeitbasierte Passwörter ändern sich zufällig zu einem bestimmten Zeitpunkt, und Einmalpasswörter sind für eine einzige Authentifizierung gültig.

4. Führen Sie Google Authenticator aus

In unserem Fall verwenden wir zeitbasierte Passwörter. Führen Sie das Programm aus, um die Schlüssel zu erstellen

google-authenticator

Sie werden gefragt, ob die Authentifizierung zeitbasiert sein soll.

Do you want authentication tokens to be time-based (y/n) y

Ein großer QR-Code wird in Ihrem Terminal generiert. Sie können den Code mit der Authentifizierungsanwendung auf Ihrem Android-/iOS-/Windows-Telefon oder -Tablet scannen oder den auf dem Bildschirm generierten geheimen Schlüssel eingeben.

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:
80463533
68335920
89221348
12489672
11144603

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

5. Konfigurieren Sie den Authentifikator zum Generieren von Einmalpasswörtern.

Als Nächstes können Sie den Authentifikator so konfigurieren, dass Einmalkennwörter generiert werden. Da sie 30 Sekunden dauern, können alle generierten Passwörter einmal verwendet werden.

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 alle 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

Jetzt haben wir die Google Authenticator-Anwendung konfiguriert und der nächste Schritt besteht darin, die Authentifizierungseinstellungen in openSSH zu konfigurieren. Öffnen Sie dazu die Datei „/etc/pam.d/sshd“ und fügen Sie am Ende der Datei folgende Zeile hinzu:

# vim /etc/pam.d/sshd

auth required pam_google_authenticator.so

Speichern Sie die Änderungen und öffnen Sie die Datei „/etc/ssh/sshd_config“ und aktivieren Sie die Challenge-Response-Authentifizierung.

# vim /etc/ssh/sshd_config

ChallengeResponseAuthentication yes

6. SSH-Server neu starten

Speichern Sie die Datei und starten Sie den SSH-Server neu, damit die Änderungen wirksam werden.

systemctl restart ssh

Wenn Sie dieses Tutorial genau befolgt haben, ist die Zwei-Faktor-Authentifizierung auf Ihrem Server aktiviert und jedes Mal, wenn Sie versuchen, sich über SSH bei Ihrem Ubuntu VPS anzumelden, müssen Sie Ihr Benutzerkennwort und den von der Google-Authentifizierungsanwendung auf Ihrem Mobilgerät generierten Bestätigungscode eingeben .

Natürlich müssen Sie SSH nicht mit Zwei-Faktor-Authentifizierung auf Ubuntu 16.04 sichern, wenn Sie einen unserer Linux-VPS-Hosting-Dienste verwenden. In diesem Fall können Sie einfach unsere erfahrenen Linux-Administratoren bitten, SSH mit Zwei-Faktor-Authentifizierung zu sichern auf Ubuntu 16.04. Sie sind rund um die Uhr erreichbar und kümmern sich umgehend um Ihr Anliegen.

PS. Wenn Ihnen dieser Beitrag zur Sicherung von SSH mit Zwei-Faktor-Authentifizierung unter Ubuntu 16.04 gefallen hat, teilen Sie ihn bitte mit Ihren Freunden in den sozialen Netzwerken über die Schaltflächen unten oder hinterlassen Sie eine Antwort im Kommentarbereich. Danke.

Eine neue Version ist hier verfügbar:Set Up Multi-Factor Authentication for SSH on Ubuntu 20.04.


Panels
  1. So konfigurieren Sie sudo für die Zwei-Faktor-Authentifizierung mit pam-radius unter Ubuntu und CentOS

  2. Sicheres OpenVPN mit Zwei-Faktor-Authentifizierung von WiKID auf Centos 7

  3. Ssh-Aktivität protokollieren?

  4. So sichern Sie Ihr SSH mit der zweistufigen Authentifizierung unter CentOS 6

  5. Erste Schritte mit SSH

Richten Sie die SSH-Zwei-Faktor-Authentifizierung (2FA) auf dem Ubuntu-Server ein

So sichern Sie SSH mithilfe der Zwei-Faktor-Authentifizierung unter Ubuntu 16.04 LTS

So richten Sie die Zwei-Faktor-Authentifizierung unter Ubuntu 20.04 LTS ein

So verwenden Sie die Zwei-Faktor-Authentifizierung mit Ubuntu

Wie richte ich die ssh-schlüsselbasierte Authentifizierung für Github mithilfe der Datei ~/.ssh/config ein?

Zwei-Faktor-Authentifizierung:Wie in cPanel aktivieren?