SSH mit Google Authenticator absichern

heladodementa / Pixabay

Vor einem Jahr, zur damaligen CeBIT, nahm ich an einem sehr interessanten Vortrag zur Absicherung von Diensten, wie der ownCloud via Zwei-Faktor-Authentifizierung, im Open Source Forum teil. Seit dieser Zeit setze ich immer häufiger den Google Authenticator ein. So waren die ersten Dienste die dahingehend abgesichert wurden WordPress, Nextcloud und mein Google-Konto.

Bei den diesjährigen Chemnitzer Linux Tagen konnte ich einem Vortrag „Linux-Server absichern“ lauschen. Auch hier wurde u.a. über die Problematik Zwei-Faktor-Authentifizierung referiert. Was mich dazu bewogen hat den SSH-Zugang meines vServers mit dem Authenticator zu schützen. Auf meinem Server läuft ein Debain 9 als Betriebssystem.

Dazu installiert man folgende Pakete

und aktiviert den Google Authenticator wie folgt:

Nun kann der QR-Code entsprechend gescannt oder der „secret key“ per Hand eingegeben werden. Die entsprechenden Backup-Codes sind zu sicher. Die nachfolgenden Fragen werden wie beschrieben beantwortet.

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) 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. 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 +-1min (window size of 3) to about +-4min (window size of
17 acceptable tokens).
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

Nun wird mit dem Editor 

dieser Eintrag ans Ende gesetzt.

„nullok“ sorgt dafür, dass nur der SSH-Zugang für root abgesichert wird. Andere eingerichtete User bleiben hier außen vor.

Weiterhin wird der vorhandene Eintrag in

auf

gesetzt und der SSH-Service neu gestartet.

Schließt bitte nicht den SSH-Zugang! Testet in einem weiteren Terminal, ob alles funktioniert. Nicht, dass Ihr Euch versehentlich aussperrt. Ein vorheriges Backup des Servers setze ich natürlich voraus.

Google Authenticator
Google Authenticator App

Nachtrag

Übrigens wird Filezilla via SFTP nun den Zugang verweigern. Hier setzt Ihr die Verbindungsart auf Interaktiv.

Viel Spaß!

Autor: Frank Lüttig

Mein Name ist Frank, ich bin 1969 geboren und wohne in Halle (Saale). Ich bin ein technikbegeisterter Linux-User und berichte von Zeit zu Zeit auf intux.de über meine Erfahrungen im Bereich Open Source.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.