CentOS 7 mit Two-Factor-Authentication absichern

Vor einiger Zeit hatte ich mal beschrieben, wie man SSH unter Debian mit Two-Factor-Authentication absichern kann. Das wollte ich nach meiner Migration zu CentOS 7 natürlich auch wieder haben. Allerdings musste ich feststellen, dass es für CentOS 7 keine aktuellen Pakete des PAMs gibt. So musste ich wohl oder übel das ganze selbst kompilieren. Die Fallstricke, die mir dabei begegnet sind, wollte ich einfach mal an dieser Stelle dokumentieren.

Bevor man loslegen kann, benötigt man zuerst einmal ein paar zusätzliche Pakete:

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

Nun können wir mit der eigentlichen Installation beginnen:

1
2
3
4
5
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:

1
LDFLAGS="-lpam"

Nun kann es mit dem Kompilieren weitergehen:

1
2
3
4
5
6
7
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

Ab hier geht es weiter, wie bisher auch schon. Zuerst legen wir nun einen Gruppe "google-auth" an:

1
sudo groupadd google-auth

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

1
ChallengeResponseAuthentication yes

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

1
2
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:

1
sudo systemctl restart sshd.service

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

1
google-authenticator

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

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

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

Zwei-Faktor-Grüße, Kenny

Schreibe einen Kommentar

Um Ihnen beim weiteren Kommentieren auf dieser Webseite die erneute Eingabe Ihrer Daten zu ersparen, wird beim Absenden Ihres Kommentars ein Cookie an Ihren Browser gesendet und von diesem gespeichert. Mit dem Absenden eines Kommentars auf dieser Webseite stimmen Sie der Speicherung und Übertragung dieses Cookies explizit zu.

Pflichtfelder sind mit * markiert.