Es gibt jede Menge PlugIns für die Sicherheit von WordPress. Wie in vielen Bereichen ist es eine Frage des Maßes: Möchte ich totale Sicherheit und investiere dafür täglich Zeit oder reicht die Installation eines PlugIns und dann darf die Seite ohne weiterer Wartung im Internet seinem Dasein fristen. Ich versuche es mit einem ausgewogenem Maß, dass aber um ein wenig regelmäßiger Kontrolle nicht umher kommt.

Das Sicherheits-PlugIn meiner Wahl heißt „All In One WP Security & Firewall“, da es einen soliden Umfang bietet, nicht zu viele Ressourcen in Beschlag nimmt und zu dem auch noch kostenlos ist (eine Spende an die Autoren wird aber sicherlich gerne angenommen). Das PlugIn kann, wie die meisten, direkt in WordPress gesucht und installiert werden („Plugins“ > „Installieren“ > „Security“ im Suchfeld rechts eingeben > „Installieren“ > „Aktivieren“).

VOR der Installation würde ich ein komplettes Backup der Dateien und Datenbank empfehlen. Dies mache ich mit dem ebenfalls kostenlosen PlugIn „UpdraftPlus“. Generell ist es hilfreich keinen Benutzer „admin“ zu nutzen und im Profil „Öffentlichen Namen“ zu wählen, der NICHT dem „Benutzernamen“ entspricht. Wenn man nun noch ein entsprechend komplexes Passwort benutzt, ist damit schon eine ganze Menge getan. Ich vergebe bei der Installation auch schon ein abweichenden „DB Table Prefix“ als „wp_”, um auch die Datenbank damit gegen sogenannte Injektionen (SQL-Injection) zu schützen.

 

Anbei nun die aus meiner Sicht notwendigsten Einstellungen im oben genannten PlugIn:

  • Settings > WP Version Info > Remove WP Generator Meta Info > aktivieren
  • User Login > Login Lockdown > Enable Login Lockdown Feature > aktivieren
  • User Login > Login Lockdown > Display Generic Error Message > aktivieren
  • User Login > Login Lockdown > Notify By Email > aktivieren (kann später „nerven“)
  • User Registration > Manual Approval > Enable manual approval of new registrations > aktivieren
  • User Registration > Registration Captcha > Enable Captcha On Registration Page > aktivieren
  • User Registration > Registration Honeypot > Enable Honeypot On Registration Page > aktivieren
  • Database Security > DB Backup > Enable Automated Scheduled Backups > aktivieren
  • Filesystem Security > File Permissions > Set recommended permissions (bei allen Dateien)
  • Filesystem Security > WP File Access > Prevent Access to WP Default Install Files > aktivieren
  • Firewall > Basic Firewall Rules > ALLE > aktivieren
  • Firewall > Additional Firewall Rules > ALLE > aktivieren
  • Brute Force > Login Captcha > ALLE > aktivieren
  • Brute Force > Honeypot > Enable Honeypot On Login Page > aktivieren
  • Miscellaneous > Users Enumeration > Disable Users Enumeration > aktivieren

Das Umbenennen der Loginseite (Brute Force > Rename Login Page) habe ich ein paar Mal versucht und hatte dann Probleme mit dem StyleSheet, was die Benutzer irritierte. Daher habe ich diese Funktionalität nicht mit in die nötigsten Einstellungen aufgenommen.

Die letztgenannte Option in „Miscellaneous“ halte ich für extrem wichtig, da auf diese Weise der „Benutzername“ herausbekommen werden kann. Da dieser für den Login benutzt wird, ist die Seite bei Bekanntwerden dieses Benutzernamens erst richtig in Gefahr. Deshalb sollte auch darauf geachtet werden, dass überall (!) höchstens der „Spitzname“ als „Öffentlicher Name“ angezeigt wird und auf keinen Umständen der „Benutzername“.

 

Das war es auch schon. Sicherlich sind diese Einstellungen nicht für jede Installation zutreffend, da WordPress einfach sehr flexibel einsetzbar ist. Die Einstellung zur Benachrichtigung von Fehllogins lasse ich bei mir via Regel direkt in den Papierkorb meines Mailclients verschieben. Dort schaue ich dann von Zeit zu Zeit rein, ob mein „Benutzername“ bei den vielen Fehllogins benutzt wurde, denn dann wird es Zeit für ein neues Benutzerkonto! Die Benutzernamen der Fehllogins lassen sich aber auch im PlugIn sehen (User Login > Failed Login Records).

Viel Glück!