WordPress sicherer machen

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.

Allgemeine Tipps

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.

Backups

VOR der Installation würde ich ein komplettes Backup der Dateien und Datenbank empfehlen. Dies mache ich mit dem ebenfalls kostenlosen PlugIn „UpdraftPlus“. Aber auch andere PlugIns erfüllen natürlich den Anspruch eines kompletten Backups, wie z. B. Duplicator (das ideale PlugIn, wenn man seine Website auf einen anderen Provider/Server umlegen möchte). Diese Backups sollte man regelmäßig herunterladen, um im Falle eine irreversiblen Infektion die Seite schnell auf diesen Stand wieder herstellen zu können.

All In One WP Security & Firewall

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“).

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“.

Edit Author Slug

WordPress bietet in Beiträgen die Funktion den Autor (sowie Datum und Kategorien) eines Beitrags unter dem Titel anzuzeigen und als Link anzubieten, was viele Themes gerne nutzen. Der Nachteil: Der Link zur Autorenseite ist mit dem Loginnamen dargestellt. Auf diese Weise können automatisierte Programme das Internet nach diesen Loginnamen durchsuchen und haben damit schon einmal den richtigen Loginnamen für die Seite. Abhilfe schafft das PlugIn „Edit Author Slug“, mit dem man den Link auf den „Öffentlichen Namen“ oder die „UserID“ umstellen kann. Nach der Installation des PlugIns kann man in den Einstellungen die künftige „Struktur der Autoren-Titelform“ festlegen. ACHTUNG: Um bestehende Autorenlinks mit anzupassen sollte diese Angabe darunter wiederholt werden und der Haken bei „Massen-Aktualisierung“ gesetzt werden, bevor man die Einstellungen speichert.

Yoast SEO

Das PlugIn schreibt ebenfalls den Loginname eines Autors in den Quellcode (jedoch in einem Funktionsauftruf), so dass dieser von Hackern ausgelesen werden kann. Das kann man jedoch deaktivieren: „YOAST Seo“ > „Darstellung in der Suche“ > „Archive“ > „Autoren-Archiv“ > „Aus“

 

Fazit

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 „All In One WP Security & Firewall“ sehen (User Login > Failed Login Records).

Viel Glück!