Mit Debian 8 könnt ihr euren SSH Login zusätzlich zu eurem Passwort noch mit einem One Time Passwort absichern. Dies erhöht die Sicherheit, da euer Passwort alleine dem Angreifer kein Zugriff auf euren Server gewährt.
In dieser Anleitung zeige ich euch, wie ihr diese 2 Faktor Authentifizierung innerhalb weniger Minuten aktiviert.
Dazu installiert ihr zuerst das benötigte Programm
apt-get update apt-get install libpam-google-authenticator
Danach startet ihr das Programm mit folgendem Befehl:
google-authenticator
Nun durchlauft ihr die Konfiguration:
Do you want authentication tokens to be time-based (y/n) y
Diesen QR Code müsst ihr mit einer App wie Authy scannen. Am besten schreibt ihr euch auch die Notfall Codes auf, da ihr sonst eventuell keinen Zugriff auf euren Server mehr habt.
Danach solltet ihr diese Einstellungen wählen.
Do you want me to update your "/root/.google_authenticator" file (y/n) y 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 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 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
Nachdem ihr das Programm fertig konfiguriert habt müsst ihr nur noch die Debian SSH Konfiguration anpassen. Dazu öffnet ihr folgende Datei:
nano /etc/pam.d/sshd
Dort fügt ihr folgende Zeile am Ende hinzu:
auth required pam_google_authenticator.so
Danach speichert ihr die Datei und öffnet die nächste Konfiguration:
nano /etc/ssh/sshd_config
Hier sucht ihr die Zeile “ChallengeResponseAuthentication no” und ersetzt dies durch “yes”.
ChallengeResponseAuthentication yes
Nun müsst ihr den SSH Dienst nur noch neu starten.
systemctl restart sshd.service
Öffnet nun eine neue Shell und lasst die alte noch offen, falls ihr Probleme habt.
Wenn ihr euch jetzt erneut anmeldet, dann sollte von euch ein “Verification Code” erfragt werden.
lässt sich der google Authenticator auch nutzen, wenn man gar kein Smartphone besitzt? Ein Auftraggeber, für den ich seit längerem regelmäßig freelance, hat nun kürzlich verpflichtend 2FA eingeführt, was mich gerade in die Breduille bringt eine technische Lösung für meine vorhandene Hardware (Debian 10, oldschool-Handy (nicht internetfähig und ohne Kamera) finden zu müssen.
Hab mir schon die Finger wundrecherchiert, aber außer deiner Google-Authenticator-Anleitung bislang noch nichts Spruchreifes finden können.
Würde mich über nen hilfreichen Tip sehrst freuen.
Merci und liebe Grüße,
Sarah
Hallo Christian
Vorab, danke für die Anleitung. Vielleicht kannst Du das noch in die Kombination bringen, wenn der root-Login verboten ist. Wie kann ich die Challenge auf den Login eines anderen Nutzers ausdehenen?
Grüsse Ben