Admin-URL anpassen

Die erste Maßnahme die bei jedem Shop in einer Liveumgebung durchgeführt werden sollte ist das Ändern der Admin-URL. Diese kann bequem in der Systemkonfiguration unter “Admin -> Admin Base URL” angepasst werden.
Dort einfach “Use Custom Admin Base URL” auf “Yes” einstellen. Im daraufhin erscheinenden Textfeld kann dann die URL eingetragen werden.
Die Base-URL sollte mit “https://” beginnen. Das SSL Zertifikat setze ich bei einem Live-Shop einfach einmal vorraus.

Soll der Zugriff nur aus dem eigenen Firmennetzwerk oder von bestimmen IPs aus stattfinden, kann der Zugriff auf den Admin-Login über eine Web-Application-Firewall zusätzlich abgesichert werden. Auch über den Webserver kann der Zugriff auf bestimmte URLs limitiert werden.

Berechtigungen limitieren

Sind mehrere Benutzer im Adminbereich des Shops unterwegs, sollten die Berechtigungen der Benutzer genaustens konfiguriert werden. Jeder Benutzer sollte nur die Berechtigungen bekommen die auch wirklich benötigt werden.
Bei einer Multistore-Umbgebung die mit der Magento Enterprise Edition betrieben wird, können zusätzlich die Berechtigungen auf einzelne Webseiten beschränkt werden.
Es sollte tunlichst vermieden werden, dass mehre Benutzer sich einen Login teilen. Es muss genau nachvollziehbar sein, wer/wann/was im Shop angepasst hat.
Ist die Enterprise Edition im Einsatz kann hier das Admin-Action-Log herangezogen werden. Das Admin-Action-Log hat zu den wichtigsten Daten eine Art Audit-Trail in dem Änderungen auch nachträglich nachvollzogen werden können.
Das Limitieren der Benutzerberechtigungen bringt noch zusätzlich den Vorteil, dass die Benutzer nur noch die Menüpunkte sehen können, die sie auch bedienen dürfen. Das steigert zusätzlich die Useability. 

Das Einschränken der Berechtigungen gilt auch für Webservices. Diese können von extern auf die Daten des Shops über Core API zugreifen. Sollten Webservices aktiviert werden, dann gilt auch hier. Nur die Berechtigungen erteilen die auch wirklich von z.B. Drittanbieter benötigt werden. 

Zwei Wege Authentifizierung

Eine rechte neue Variante ist die Zwei Wege Authentifizierung. Diese erweitert den Admin-Login um einen weiteren Faktor.
Eine Möglichkeit bietet Google über  seinen Authentifizierungsdienst. Eine freies Magento Modul wird im Webguys Adventskalender “Türchen 12” beschrieben.

http://www.webguys.de/magento/turchen-12-doppelt-halt-besser-magento-backend-login-mit-google-authenticator/ 

Wer Google nicht traut und lieber auf eine Open Source Variante oder seinen eigenen Authentifizirungsserver setzen möchte kann sich das mir entwickelte N98_Yubikey Modul installieren.
Nach der Installation des Moduls muss das Authentifizierungsverfahren aktiviert werden und die ID des Yubikeys einem Benutzer zugewiesen werden.

Sobald ein Benutzer sich mit seinem Benutzernamen und Passwort einloggt wird zusätzlich noch nach einem Einmalpasswort gefragt. Der Benutzer drückt dann die Taste auf seinem Yubikey und ein 44 Zeichen langes Passwort wird generiert und an den Shop geschickt. Der Shop prüft gegen den Yubikey Server und leitet im Erfolgsfall dann den Benutzer in den Adminbereich weiter.
Das tolle an Yubikeys ist, dass man seinen eigenen Authentifizierungsserver einsetzen kann. Die URLs zu den Servern können in der Magento Konfiguration eingetragen werden. Somit bin ich nicht mehr auf z.B. Google angewiesen. Ein weiterer Vorteil ist der unschlagbare Preis von 25 Dollar pro Yubikey.

yubikey login

Wer das Modul ausprobieren möchte, kann es über Magento Connect beziehen:

http://www.magentocommerce.com/magento-connect/catalog/product/view/id/11909/s/yubikey-authentification-for-admin-logins-8938/

Die Entwicklungsversion inkl. einer kleinen Anleitung ist auf github zu finden.

https://github.com/netz98/N98_Yubikey