Linux Server absichern

Ubuntu 18.04 Server absichern / Google Authenticator (Teil 3)

Nun installieren wir für den SSH Login den Google Authenticator, dafür aktualisieren wir den Repository Cache mit

sudo apt-get update

und installieren den Google Authenticator

sudo apt-get install libpam-google-authenticator

Nun starten wir den Google Authenticator


Nun bekommst du einige Fragen die du mit y oder n beantworten musst.

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

Do you want me to update your "~/.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

Als nächstes müssen wir die Config etwas anpassen. Dafür öffnen wir die Datei sshd

sudo nano /etc/pam.d/sshd

Und suchen @include common-password und schreiben auth required pam_google_authenticator.so drunter.

. . .
# Standard Un*x password updating.
@include common-password
auth required pam_google_authenticator.so

Als nächstes öffnen wir die SSH Config

sudo nano /etc/ssh/sshd_config

und suchen ChallangeResponseAuthentication. Wir ändern den Wert auf yes.

. . .
# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication yes
. . .

Als nächstes sichern wir die Datei und starten den SSH Dienst neu.

sudo systemctl restart sshd.service

Nach einem Neustart des Servers musst du nun dein User Passwort sowie das den Zahlencode vom Google Authenticator eingeben.