SSH: 2-Wege-Authentifizierung mit Google Authenticator

Vorwort

Für ein gefühltes Stück mehr Sicherheit kann sshd um eine Zweifaktorauthentifizierung erweitert werden.

Installation

Wir beantworten einige fragen und erhalten dann einen QR-Code, der mit dem Smartphone gescannt werden kann, er wird dann mit der Google-Authenticator-App verarbeitet. Zusätzlich werden sogenannte Scratch-Codes mitgeteilt, dies sind Einmalpasswörter, die im Notfall genutzt werden können, sollte das Smartphone nicht zu Hand oder defekt sein.

Einrichtung

Wir erweitern /etc/pam.d/sshd wie folgt:

In /etc/ssh/sshd_config werden folgende Anpassungen vorgenommen:

Im Anschluss ist sshd neuzustarten. Beim erneuten Anmelden wird dann neben dem Passwort ein Auth-Code abgefragt:

Have fun!

Fail2ban – Regel für Bash-Sicherheitslücke Shellshock

Einleitung

Zurzeit ist die Bash-Sicherheitslücke Shellshock in aller Munde. Vereinfacht ermöglicht diese Sicherheitslücke, in Umgebungsvariablen ungeprüften Code einzufügen, welcher beim nächsten Start einer Bash-Shell dann ausgeführt wird. Betroffen sind insbesondere Webserver, hier reicht ein gezielter Aufruf mittels wget oder curl, welcher bestimmte Parameter beinhaltet. Da die Bash generell sehr häufig genutzt wird, ist die Sicherheitslücke nicht bloß auf Webserver beschränkt sonder voraussichtlich auf ein weites Feld von Anwendungen, die Bash nutzen.

Ganz wichtig ist, dass die Fail2ban-Erweiterung kein Ersatz für ein gepatchtes System ist, sondern lediglich eine Ergänzung. Voraussetzung ist in jedem Fall, dass zunächst das System aktualisiert wird, alle gängigen Distributionen halten bereits seit Tagen entsprechende Updates bereit.

Apache-Logs

Die verdächtigen Apache-Logs habe ich mit cat /var/log/apache2/access.log | grep „() { :;“ durchsucht, die Ausgabe könnte so aussehen:

Bei nicht gepatchten System bedeutet dies im Zweifen den GAU.

Filterregel

Wir erstellen eine neue Regel /etc/fail2ban/filter.d/shellshock-scan.conf wie folgt:

Gefunden habe ich diese Regel habe hier. Sie war zugegebenermaßen etwas besser als meine, vielen Dank an dieser Stelle.

Jail.local

In /etc/fail2ban/jail.conf wird folgendes ergänzt:

Fail2ban muss im Anschluss neugestartet werden, um die neue Regel zu aktivieren.

Test

Hiermit kann die neue Filterregel getestet werden:

Die Ausgabe sieht dann so in etwa aus:

Have fun!