Debian MFA für Benutzer
Einleitung
Dieser Beitrag soll kurz und bündig beschreiben, wie man sowohl für SSH, als auch für alle anderen priviligierenden Authentifizierungsprozesse MFA auf Debian Systemen aktiviert.
Dies hilft zum einen den Server vor externen Angriffen zu schützen, aber gleichzeitig auch bei Multi-User Systemen intern die Übernahme von Accounts zu erschweren.
Hauptteil
User vorbereiten
In diesem Beispiel, wird ein Tokenbasierter zweiter Faktor verwendet, dafür wird die Google Libary für TOTP verwendet.
Dazu installieren wir:
sudo apt install -y libpam-google-authenticator
Sobald installiert, wiederholen wir den folgenden Schritt für ALLE User, die MFA verwenden sollen, sodass später weiterhin die Anmeldung möglich ist.
google-authenticator
oder für andere User:
sudo -u <<user>> google-authenticator
Jetzt wird ein QR Code gezeigt, der mit einer entsprechenden App gescannt werden muss.
Der angezeigte Code wird dann eingegeben, die Recovery Codes gesichert und alle Fragen werden dann mit einem "y" bestätigt.
System konfigurieren
Als nächstes muss jetzt dafür gesorgt werden, dass das System den entsprechenden Token auch abfragt. Das machen wir für SSH wie folgt:
SSH konfigurieren
In der Datei /etc/ssh/sshd_config folgendes eingetragen:
KbdInteractiveAuthentication yes
UsePAM yes
ChallengeResponseAuthentication yes
AuthenticationMethods publickey,keyboard-interactive
Common Auth für alles andere...
In der Datei /etc/pam.d/common-auth wird die Authentifizierungslogik für alle Dienste definiert (an sich auch SSH...) - hier wird unter dem Eintrag auth requisite pam_deny.so
folgendes eingetragen:
# google mfa
auth required pam_google_authenticator.so
Zuletzt wird jetzt der SSH Service neugestartet
sudo service ssh restart
und der Zugang wird in einem parallel geöffneten Terminal gestestet.
Back…