CentOS 7 mit Two-Factor-Authentication absichern

11.08.2016 yahe administration legacy linux security

Nach meiner Migration zu CentOS 7 wollte ich Two-Factor-Authentication für SSH-Logins einrichten. Allerdings musste ich feststellen, dass es für CentOS 7 keine aktuellen Pakete des entsprechenden PAM (Pluggable Authentication Module) gibt. So musste ich wohl oder übel das ganze selbst kompilieren. Bevor man jedoch loslegen kann, benötigt man zuerst einmal ein paar zusätzliche Pakete:

sudo yum install autoconf automake libtool make pam-devel unzip wget zip

Nun können wir mit der eigentlichen Installation beginnen:

wget https://github.com/google/google-authenticator/archive/master.zip
unzip ./master.zip
cd ./google-authenticator-master/libpam
./bootstrap.sh
./configure

Bis hierhin sollte alles funktioniert haben. Leider enthält die erstellte Konfiguration einen kleinen Fehler. Deshalb müssen wir händisch an den Anfang der Datei "./Makefile" folgende Zeile einfügen:

LDFLAGS="-lpam"

Nun kann es mit dem Kompilieren weitergehen:

make
sudo make install
sudo cp /usr/local/lib/security/pam_google_authenticator.so /lib64/security
make clean
cd ../..
rm ./master.zip
rm -R ./google-authenticator-master

Um die Nutzer zu markieren, für die die Two-Factor-Authentication aktiviert werden soll, legen wir eine Gruppe "google-auth" an:

sudo groupadd google-auth

Zudem ändern wir in der Datei "/etc/ssh/sshd_conf" eine Einstellung:

ChallengeResponseAuthentication yes

Danach schreiben wir folgendes in die Datei "/etc/pam.d/sshd" (z.B. unter die restlichen "auth"-Einträge):

auth [success=1 default=ignore] pam_succeed_if.so user notingroup google-auth
auth required pam_google_authenticator.so

Mit einem Restart des SSH-Servers sind die Änderungen aktiv:

sudo systemctl restart sshd.service

Nun müssen die Nutzer, für die die Two-Factor-Authentication aktiviert werden soll, das Skript zur Einrichtung der Two-Factor-Authentication in ihrem Account aufrufen:

google-authenticator

Abschließend müssen diese Nutzer noch in die Gruppe "google-auth" aufgenommen werden:

sudo usermod -a -G google-auth <username>

Das war's! Mit diesen Schritten lässt sich unter CentOS 7 eine Two-Factor-Authentication einrichten.


Search

Categories

administration (45)
arduino (12)
calcpw (3)
code (38)
hardware (20)
java (2)
legacy (113)
linux (31)
publicity (8)
raspberry (3)
review (2)
security (65)
thoughts (22)
update (11)
windows (17)
wordpress (19)