Um es vorwegzunehmen und möglicher Paranoia vorzubeugen: Google ist lediglich der Herausgeber der Software. Für die Nutzung wird weder ein Google-Account benötigt, noch werden irgendwelche Daten an die Datenkraken Google übertragen.
Zweifaktor-Authentifizierung
Viele von euch kennen sicher RSA-Token. Der Token generiert in einem festen Intervall einen Zahlencode, der beim Login zusätzlich zum Benutzernamen und Passwort angegeben werden muss. Ein gestohlenes Passwort ist also zu verschmerzen, solange der Angreifer nicht auch im Besitz des RSA-Tokens ist. Mit Googles Authenticator gibt es eine flexible und kostenlose Open Source Alternative, bei der man statt zusätzlicher Hardware nur ein Smartphone benötigt. Die zur Code-Generierung benötigte App gibt es für Android, iOS, Blackberry und ist jeweils auch als Quellcode verfügbar.Das Magento Modul
Das Modul kann aktuell per github bezogen werden. Nach der Installation erscheint in der Magento Backenduser-Verwaltung ein neuer Tab "Google Authenticator". Klickt man den Button "generate Secret Key" wird automatisch ein Schlüssel erzeugt. Dieser Key wird für die Generierung der Zahlenfolge benötigt, die beim Login abgefragt wird. Zusätzlich wird der Schlüssel als QR-Code angezeigt, der eine einfache Übergabe an ein Smartphone ermöglicht. Scannt man den QR-Code mit dem Smartphone ein, wird in der Google-Authenticator-App ein Eintrag für die Magento Instanz erzeugt und alle 30 Sekunden ein neuer Zahlencode für den Backend-Login angezeigt. Beim Aufrufen des Magento Backends wird jetzt ein erweitertes Loginformular angezeigt, bei dem zusätzlich ein Verification-Code eingegeben werden muss. Benutzer, bei denen im Backend ein "Secret Key" hinterlegt wurde, müssen dieses Feld ab jetzt ausfüllen. Ist beim Benutzer kein "Secret Key" angelegt, kann der Login auch ohne Eingabe des Sicherheitscodes wie gewohnt erfolgen. Auf diese Weise kann bei weniger kritischen Logins auf die zusätzliche Sicherheit verzichtet werden.Bitte beachtet:
- Das Modul ist mit Sicherheit noch nicht ausgereift, ich habe es bisher nur mit der Magento Version 1.6.0 erfolgreich getestet
- Wie viele Lösungen, die eine Zweifaktor-Authentifizierung ermöglichen, wird der Zahlencode nach einem bestimmten Algorithmus errechnet. Als variable Komponente kommt hier immer die Uhrzeit ins Spiel - und das ist ein sensibler Punkt. Stimmt die Zeit bei den beiden Partnern (Webserver und Smartphone) nicht überein, wird zwangsläufig ein anderer Code errechnet. Beim Abgleich führt dies zu einem Fehler und ein Login ist nicht möglich.
- Ja, Rouven ich weiß, die Kommentare im Quellcode fehlen noch ;-)