Einmalig gültige Passwörter – Schutz vor Keyloggern
Viele Administratoren müssen sich von überall auf ihre Linux Kisten per SSH connecten. Hat man aber gerade seinen eigenen Rechner nicht zur Hand und muss evtl. auf ein Internet Cafe ausweichen, so ist da doch immer ein komisches Gefühl in der Magengegend (komisches Wort). Ist ein Keylogger installiert? – Das ist wohl der erste Gedanke.
Um solchen Problemen zu entgehen, gibt es unter Linux die Möglichkeit, trotz unsicherer Umgebung, die Anmeldung mit Einmalpasswörtern durchzuführen.
Das Passwort kann nur 1 Mal verwendet werden und wird nach dem Gebrauch ungültig. Sollte ein Angreifer das Passwort ausspähen, ist eine Anmeldung trotzdem nicht mehr möglich.
Mit OPIE (One Password In Everything) wird diese Funktionalität implementiert. Es wurde vom United States Naval Research Laboratory entwickelt und ist frei verfügbar. Folgende Anleitung bezieht sich auf ein Debian (inkl. diverse Derivate – z.B. Ubuntu) System.
Installation OPIE Pakete
Es werden 2 vorgefertige Pakete benötigt um die Linux PAM zu erweitern und eine Anmeldung mit One-Time-Passwords zu ermöglichen.
apt-get install opie-server apt-get install opie-client
Konfiguration PAM / SSHD für OPIE
Als nächstes muss PAM für die Authentifizierung mit OPIE konfiguriert werden. In der /etc/pam.d/ssh Datei muss der Eintrag @include common-auth durch
auth sufficient pam_unix.so auth sufficient pam_opie.so auth required pam_deny.so
ersetzt werden. Zusätzlich muss im SSH Server noch das Challenge-Response-Verfahren aktiviert werden. Dies geschieht mit dem Eintrag ChallengeResponseAuthentication yes im /etc/ssh/sshd_config File. SSH Server Neustart nicht vergessen.
Initialisierung OPIE
Mit dem Befehl opiepasswd -c wird das Konto, mit dem man angemeldet ist, für die Benutzung freigeschalten (Muss direkt an der Konsole ausgeführt werden; nicht über SSH o.ä.). Außerdem wird nach einer mind. 10 stelligen Passphrase gefragt, die als Parameter für die Einmalpasswortgenerierung notwendig ist. Als Antwort wird z.B folgendes ausgegeben :
ID ubuntu OTP key is 499 ub4018 DOOM TENT SLUG SODA PAL ACTS
Die erste Zeile enthält eine Sequenznummer (499) und das so genannte Seed (ub4018). In der zweiten Zeile wird das dazugehörige OTP ausgegeben. Dieses Passwort ist nur für Sonderfälle notwendig. Bei der nächsten Anmeldung wird die nächst niedrigere Sequenznummer abgefragt. Beim nächsten Login zeigt der Server die Sequenznummer und das Seed an. Damit muss der Keygenerator gefüttert werden.
Passwörter generieren
Mit dem Befehl opiekey -n 20 499 ub4018 werden 20 neue Einmalpasswörter generiert. Leider gibt es jetzt ein Problem: Man müsste die Liste mit den OTP ständig bei sich haben um Zugriff auf den Server zu bekommen. Eleganter ist es einen OTP Generator zu benutzen. Am Besten man besitzt ein Java-fähiges Handy. Für diesen Fall kann die Anwendung jotp verwendet werden. Ich selbst habe es auf meinem Nokia 6070 getestet und es funktioniert ohne Probleme.

Anmeldung mit OTP
Bei der nächsten SSH Anmeldung wird wie gewöhnlich der Benutzername abgefragt. Bei der Passwortaufforderung einfach nur die Return Taste ohne vorherige Eingabe betätigen. Anschließen wir die Sequenznummer und das Seed angezeigt. Diese im OTP Generator eingeben und mit dem Responsecode (Grossbuchstaben mit Leerzeichen) am Server anmelden. Thats it!
via heise.de

Letzte Kommentare