Im Laufe der Zeit hat sich die herkömmliche Benutzernamen- und Passwortauthentifizierung als unzureichend erwiesen, um Anwendungen und Systemen robuste Sicherheit zu bieten. Benutzernamen und Passwörter können mit einer Vielzahl von Hacking-Tools leicht geknackt werden, wodurch Ihr System anfällig für Sicherheitsverletzungen wird. Aus diesem Grund muss jedes Unternehmen oder jede Einheit, die Sicherheit ernst nimmt, die 2-Faktor-Authentifizierung implementieren .
Umgangssprachlich als MFA bekannt (Multi-Faktor-Authentifizierung ) bietet die 2-Faktor-Authentifizierung eine zusätzliche Sicherheitsebene, bei der Benutzer bestimmte Details wie Codes angeben müssen , oder OTP (Einmalpasswort ) vor oder nach der Authentifizierung mit dem üblichen Benutzernamen und Passwort.
Heutzutage mehrere Unternehmen wie Google , Facebook , Twittern und AWS , um nur einige zu nennen, bieten Benutzern die Möglichkeit, MFA einzurichten um ihre Konten weiter zu schützen.
In diesem Leitfaden zeigen wir, wie Sie die Zwei-Faktor-Authentifizierung verwenden können mit Ubuntu .
Schritt 1:Installieren Sie das PAM-Paket von Google
Installieren Sie zunächst Google PAM Paket. PAM , eine Abkürzung für Pluggable Authentication Module , ist ein Mechanismus, der eine zusätzliche Authentifizierungsebene auf der Linux-Plattform bereitstellt.
Das Paket wird auf Ubuntu gehostet Repository, also fahren Sie fort und verwenden Sie den apt-Befehl, um es wie folgt zu installieren:
$ sudo apt install libpam-google-authenticator
Wenn Sie dazu aufgefordert werden, drücken Sie 'Y'
und drücken Sie ENTER um mit der Installation fortzufahren.

Schritt 2:Installieren Sie die Google Authenticator-App auf Ihrem Smartphone
Außerdem müssen Sie die Google Authenticator-Anwendung auf Ihrem Tablet installieren oder Smartphone . Die App zeigt Ihnen ein 6-stelliges OTP an Code, der sich alle 30 automatisch verlängert Sekunden.

Schritt 3:Konfigurieren Sie Google PAM in Ubuntu
Mit dem Google Authenticator app vorhanden ist, werden wir fortfahren und das Google PAM-Paket auf Ubuntu konfigurieren indem Sie /etc/pam.d/common-auth ändern Datei wie gezeigt.
$ sudo vim /etc/pam.d/common-auth
Fügen Sie die folgende Zeile wie angegeben an die Datei an.
auth required pam_google_authenticator.so

Speichern Sie die Datei und beenden Sie sie.
Führen Sie nun den folgenden Befehl aus, um PAM zu initialisieren .
$ google-authenticator
Dies wird ein paar Fragen auf Ihrem Terminalbildschirm hervorrufen. Zuerst werden Sie gefragt, ob Authentifizierungstoken zeitbasiert sein sollen.
Zeitbasierte Authentifizierung Token verfallen nach einer bestimmten Zeit. Standardmäßig ist dies nach 30 Sekunden, woraufhin ein neuer Token-Satz generiert wird. Diese Token gelten als sicherer als nicht zeitbasierte Token, geben Sie daher 'y'
ein für ja und drücken Sie ENTER .

Als nächstes ein QR-Code wird auf dem Terminal angezeigt, wie unten gezeigt, und direkt darunter werden einige Informationen angezeigt. Die angezeigten Informationen beinhalten:
- Geheimschlüssel
- Bestätigungscode
- Rubbelcodes für Notfälle
Sie müssen diese Informationen zur späteren Bezugnahme in einem Tresor speichern. Die Notfall-Rubbelcodes sind äußerst nützlich, falls Sie Ihr Authentifizierungsgerät verlieren. Sollte Ihrem Authentifizierungsgerät etwas passieren, verwenden Sie die Codes.
Starten Sie den Google Authenticator App auf Ihrem Smartgerät und wählen Sie „QR-Code scannen“. ’, um den angezeigten QR-Code zu scannen.

HINWEIS :Sie müssen das Terminalfenster maximieren, um den gesamten QR-Code zu scannen. Sobald der QR-Code gescannt wurde, wird ein sechsstelliges OTP, das sich alle 30 Sekunden ändert, in der App angezeigt.

Wählen Sie danach 'y'
um die Google Authenticator-Datei in Ihrem Home-Ordner zu aktualisieren.
Beschränken Sie in der nächsten Eingabeaufforderung die Anmeldung auf nur eine Anmeldung alle 30 Sekunden, um Angriffe zu verhindern, die durch Man-in-the-Middle-Angriffe entstehen könnten. Wählen Sie also 'y'

Wählen Sie in der nächsten Eingabeaufforderung 'n'
aus um die Verlängerung der Zeitdauer zu verbieten, die den Zeitversatz zwischen Server und Client behebt. Dies ist die sicherere Option, es sei denn, Sie haben Probleme mit schlechter Zeitsynchronisierung.
Aktivieren Sie schließlich die Ratenbegrenzung auf nur 3 Anmeldeversuche.

An dieser Stelle haben wir die Implementierung der 2-Faktor-Authentifizierung abgeschlossen Merkmal. Wenn Sie einen sudo-Befehl ausführen, werden Sie tatsächlich zur Eingabe eines Bestätigungscodes aufgefordert, den Sie von der Google Authenticator-App erhalten können .

Sie können dies weiter überprüfen, indem Sie neu starten. Sobald Sie zum Anmeldebildschirm gelangen, werden Sie aufgefordert, Ihren Bestätigungscode einzugeben.

Nachdem Sie Ihren Code vom Google Authenticator bereitgestellt haben App, geben Sie einfach Ihr Passwort ein, um auf Ihr System zuzugreifen.

Schritt 4:SSH mit Google Authenticator integrieren
Wenn Sie beabsichtigen, SSH zu verwenden mit Google PAM Modul, müssen Sie die beiden integrieren. Es gibt zwei Möglichkeiten, wie Sie dies erreichen können.
Für die SSH-Passwortauthentifizierung
Um SSH zu aktivieren Passwort-Authentifizierung für einen normalen Benutzer öffnen Sie zuerst das standardmäßige SSH Konfigurationsdatei.
$ sudo vim /etc/ssh/sshd_config
Und setzen Sie die folgenden Attribute auf ‚yes‘ wie abgebildet

Legen Sie für den Root-Benutzer die Datei „PermitRootLogin fest Attribut 'yes'
.
PermitRootLogin yes

Speichern Sie die Datei und beenden Sie sie.
Ändern Sie als Nächstes die PAM Regel für SSH
$ sudo vim /etc/pam.d/sshd
Dann fügen Sie die folgende Zeile an
auth required pam_google_authenticator.so

Starten Sie zuletzt SSH neu Dienst, damit die Änderungen in Kraft treten.
$ sudo systemctl restart ssh
Im folgenden Beispiel melden wir uns bei Ubuntu an System vom Putty-Client.

Für SSH-Public-Key-Authentifizierung
Wenn Sie Public-Key-Authentifizierung verwenden , wiederholen Sie die obigen Schritte und fügen Sie die unten in /etc/ssh/sshd_config gezeigte Zeile hinzu Datei.
AuthenticationMethods publickey,keyboard-interactive
Bearbeiten Sie noch einmal die PAM Regel für SSH Dämon.
$ sudo vim /etc/pam.d/sshd
Fügen Sie dann die folgende Zeile hinzu.
auth required pam_google_authenticator.so

Speichern Sie die Datei und starten Sie den SSH-Dienst neu, wie wir zuvor gesehen haben.
$ sudo systemctl restart ssh
Und das bringt uns zum Ende dieses Artikels. Wir freuen uns zu hören, wie es gelaufen ist.