Sichere WordPress-Anmeldung mit Zwei-Faktor-Authentifizierung mit privacyIDEA

Haftungsausschluss: Diese Anleitung gilt für privacyIDEA Version 2.X. Zum Zeitpunkt des Verfassens dieses Artikels ist die aktuelle Version 2.12.1.

WordPress ist DAS weit verbreitete Blogging-System, das nicht nur für private Blog-Sites, sondern manchmal auch als CMS für Firmen-Websites verwendet wird.

WordPress ist sehr gut gepflegt und leicht zu aktualisieren. Aber da es so weit verbreitet ist, ist es auch ein interessantes Ziel für Cracker (um nicht zu sagen Hacker).

Deshalb werde ich Ihnen heute sagen, wie Sie die WordPress-Konten mit einem zweiten Faktor für die OTP-Authentifizierung sichern können.

WordPress

Ich gehe davon aus, dass Sie WordPress bereits auf Ihrem System installiert haben und dabei eine Anleitung wie diese befolgt haben.

Erstellen Sie einige Benutzer, Ihren Administrator und einige Redakteure. Ich habe die Benutzer admin, fred und markus erstellt.

datenschutzIDEA installieren

Jetzt müssen Sie privacyIDEA installieren. Wahrscheinlich haben Sie dies nach einem Szenario in der Online-Dokumentation getan.

Um es abzuschließen, ist die Installation von privacyIDEA heute auf Ubuntu 14.04 LTS so einfach wie diese:

add-apt-repository ppa:privacyidea/privacyidea
apt-get update
apt-get install privacyidea-apache2

Erstellen Sie Ihren Administrator mit der Bezeichnung „super“:

pi-manage admin add super

Erledigt. Melden Sie sich unter https://yourserver mit dem soeben erstellten Administrator an.

Konfigurieren Sie privacyIDEA

privacyIDEA kann die Benutzer aus Ihrer WordPress-Installation lesen. Jedes Mal, wenn Sie also einen neuen Benutzer in WordPress anlegen, wird privacyIDEA dies sehen und Sie können diesem Benutzer ein neues OTP-Token zuweisen.

Damit dies richtig funktioniert, müssen wir einen User-ID-Resolver erstellen, der privacyIDEA mitteilt, wo die Benutzer und ein Realm zu finden sind. Gehen Sie zu privacyIDEA Config->Benutzer und klicken Sie auf „Neuer SQL-Resolver“.

Ich habe privacyIDEA auf dem gleichen Rechner wie WordPress installiert. Und die MySQL-Datenbank von WordPress befindet sich ebenfalls auf derselben Maschine. Wenn sich Ihre SQL-Datenbank auf einem anderen Rechner befindet, müssen Sie dafür sorgen, dass privacyIDEA über das Netzwerk auf die SQL-Datenbank zugreifen kann.

Oben müssen Sie alle Informationen für die SQL-Verbindung eingeben. Unten in den SQL-Attributen können Sie einfach auf die Schaltfläche „WordPress“ klicken und die richtigen Tabellen- und Spaltendefinitionen werden eingegeben. (privacyIDEA kennt auch die Tabellenvoreinstellungen für OTRS, Tine2.0 und OwnCloud!)

Sie können auf die Schaltfläche „Test“ klicken und Sie werden sehen, dass privacyIDEA die WordPress-Benutzer gefunden hat.

Jetzt müssen Sie einen Bereich erstellen, der den gerade erstellten Resolver enthält. Stellen Sie sich die Resolver als Links zu Benutzerspeichern und die Realms als Benutzerspeicher vor, die zu einer Gruppe von Benutzern zusammengefasst sind.

Lesen Sie mehr über Resolver und Realms.

Gehen Sie zu Konfig->Realms, um einen neuen Bereich „wordpress“ zu erstellen, der den Resolver wordpress enthält. In meinem Screenshot können Sie sehen, dass ich eine Reihe von Realms konfiguriert habe. Vielleicht möchten Sie Ihren Bereich „wordpress“ als Standardbereich festlegen.

Jetzt können Sie die Liste der Benutzer im Menü Benutzer sehen.

Token eintragen

Lassen Sie uns ein Google Authenticator-Token für den Nutzer fred registrieren. Bitte installieren Sie die Google Authenticator App und wählen Sie den Benutzer fred in der Benutzeransicht aus.

Sie sehen, dass Fred im Moment keine Wertmarke hat.

Klicken Sie nun auf die Schaltfläche „Neues Token anmelden“.

Sie können den Token-Typ auswählen. Wir wählen HOTP, das mit Google Authenticator arbeitet. Sie können auch TOTP wählen und FreeOTP oder OTP Authenticator verwenden.

Nachdem Sie „Enroll Token“ gedrückt haben, können Sie den QR-Code mit der App scannen:

Die App wird dann in der Lage sein, Einmal-Passwörter zu erstellen. Der Benutzer muss sich mit einem statischen Passwort (1. Faktor) und dem von der Anwendung erstellten Einmal-Passwort (2. Faktor) authentifizieren. Wenn Sie möchten, dass sich der Benutzer mit dem statischen Kennwort von WordPress authentifiziert (in diesem Fall kann der Benutzer sein statisches Kennwort in WordPress ändern), müssen Sie die folgende Richtlinie in Config -> Policies einstellen.

Erstellen Sie eine neue Richtlinie in scope=Authentifizierung und mit otppin=userstore.

Sie können zu den Token-Details gehen und die Token-Authentifizierung durch Verkettung Ihres WordPress-Passwortes und des OTP-Wertes wie „mySecretWordpressPa$$123456“ testen.

Wenn Sie sich erfolgreich authentifiziert haben, sind Sie bereit, WordPress einzurichten!

WordPress Starke Authentifizierung

Ihr privacyIDEA-Server ist korrekt eingerichtet und der Benutzer verfügt über ein funktionierendes OTP-Token.

Melden Sie sich jetzt bei Ihrer WordPress-Installation an und installieren und aktivieren Sie das Plugin für starke Authentifizierung.

Unter Einstellungen können Sie das Plugin für starke Authentifizierung so konfigurieren, dass es die lokale Installation Ihres Privacyidea-Servers verwendet. Denken Sie daran, https und den Port hinzuzufügen. In dem Feld Benutzer ausschließen können Sie einen Benutzernamen definieren, der nicht gegen den Privacyidea verifiziert werden soll. Dies ist eine gute Möglichkeit, eine Art Notfallkonto zu haben, entweder wenn Sie das Plugin falsch konfiguriert haben oder Ihr Dienst ausgefallen ist.

Wenn Sie „wordpress“ nicht als Ihren Standard-Realm eingestellt haben, müssen Sie hier den Namen des Realms angeben.

Jetzt können Sie sich mit einem zweiten Faktor Ihrer Wahl authentifizieren.

Viel Spaß beim Bloggen!

Schlussfolgerung

Wir haben WordPress in die Lage versetzt, alle Benutzer mit einem zweiten Faktor zu authentifizieren. Der zweite Faktor wird von einem externen System verwaltet. So können Sie den Benutzern mehrere Geräte und den Benutzern verschiedene Geräte zuordnen. Ein Nutzer kann sich mit einem Google Authenticator anmelden, ein anderer Nutzer mit einem Yubikey – das gibt Ihnen die bessere Flexibilität gegenüber den in WordPress integrierten Lösungen.

Darüber hinaus können Sie Ihre privacyIDEA-Installation zur Authentifizierung von Benutzern bei anderen Anwendungen verwenden – sei es bei anderen Webanwendungen oder Systemen wie OpenVPN oder SSH.

Sie können auch einen eigenen Bereich in Ihrer WordPress-Konfiguration verwenden, um eine privacyIDEA-Installation für mehrere WordPress-Instanzen zu verwenden. Damit wird die Zwei-Faktor-Authentifizierung für eine ganze WordPress-Farm mit der Verwaltung aller Authentifizierungsgeräte in einem privacyIDEA-System bereitgestellt.

Das könnte dich auch interessieren …