Zwei Faktor Authentifizierung für WordPress

WordPress gehört zu den beliebtesten und meist verwendeten Blog Systemen. Gerade durch die große Verbreitung stehen Angriffe auf WordPress Blogs an der Tagesordnung. Daher ist es extrem wichtig, einem potenziellen Angreifer so viele Stöcke zwischen die Beine zu werfen wie nur möglich.


Dazu gehören z.B. folgende Aktionen:

  • Kein Standard Datenbankschema verwenden
  • Benutzername für den Adminbereich nicht unbedingt „Administrator“ oder „Admin“ nennen
  • Plugins mit Sorgfalt einsetzen und nicht alles nehmen was schön bunt ist
  • Regelmäßig Updates einspielen
  • Beim Hosting auf einem eigenen System, das darunter liegende System verstehen um es entsprechend zu konfigurieren

Eine weitere Möglichkeit ist, den Adminbereich per „Basic Auth“ zusätzlich abzusichern. Der Vorgang wurde in einem älteren Beitrag beschrieben. „https://blog.doenselmann.com/wordpress-blog-mit-basic-auth-und-tls-absichern/
Zugegebenermaßen setze ich aktuell die Maßnahme mit dem „SSL Proxy“ und „Basic Auth“ nicht mehr ein. Das grundsätzliche System eines „SSL Proxys“ widerspricht mir aus mehreren Gründen und daher möchte ich es auch nicht mehr verwenden. Und Basic Auth unverschlüsselt über http ist jetzt auch nicht die cleverste Absicherung. Also musste eine Alternative her. Dem Hoster wollte ich jetzt für ein simples Blog keine unverhältnismäßig hohe Summe überweisen, um ein eigenes vernünftiges SSL Zertifikat zu bekommen. Solange das Verständnis noch nicht da ist, flächendeckend TLS einzuführen, ohne die Webseitenbetreiber dafür bluten zu lassen, wird eben unverschlüsselt kommuniziert. Die Gefahr, die bei der Authentifizierung verwendeten Anmeldedaten zu verlieren, ist bei unverschlüsselter Kommunikation nicht unbedingt gering. Daher habe ich mich für eine „Zwei Faktor Authentifizierung“ entschieden. Hierbei reicht es nicht mehr, sich mit Benutzername und Passwort am WordPress Blog anzumelden, sondern es muss ein zusätzlicher Faktor in Form eines „One Time Passwords“ angegeben werden. Diese Variante der Accountabsicherung nutze ich seit längerer Zeit für alle Dienste, die das Verfahren unterstützen. Zum Generieren eines Tokens oder „One Time Passwords“ (OTP) verwende ich die unter Open Source Lizenz stehende App „Goolge Authenticator“, die es für jede Plattform im entsprechenden App Store gibt. Auf WordPress Seite verwende ich das Plugin „Google Authenticator“ (https://wordpress.org/plugins/google-authenticator/). Nach der Installationkann es über den Menüpunkt „Benutzer\Dein Profil“ konfiguriert werden.

WordPress 2FA

Der angezeigte QR Code kann mit der Smartphone App eingescannt werden. Nach dem ersten Sync ist die Einrichtung des Tokens bereits abgeschlossen.

WordPress2FA03

Sobald die Profiländerungen in WordPress gespeichert werden, übernimmt das Plugin seine Aufgabe.

WordPress2FA01

Der angezeigte „Geheimschlüssel“ sollte auf jeden Fall in einem Passwortsafe gesichert werden. Sollte es ein Problem mit dem Token geben ist ein Zugriff über das Web Frontend nur noch mit dem Sicherheitsschlüssel möglich. Als Holzhammermethode lässt sich über einen FTP Zugang noch das Pluginverzeichnis löschen, um die 2FA zu deaktivieren. Der Einsatz von 2FA erhöht doch deutlich den Schutz des Adminbereichs und minimiert die Nachteile einer unverschlüsselten Kommunikation. Anregungen und Fragen wie immer gerne in den Kommentaren.