WordPress Sicherheit

WordPress Sicherheit

Das A und O für eine sichere WordPress-Webseite ist natürlich regelmässiges Updaten von WordPress, Plugins und Themes. Aber es gibt noch viele weitere Punkte die für einen sicheren Betrieb deiner Seite unerlässlich sind.

 

Photo by Dmitry Ratushny on Unsplash

Verstecke den Login-Bereich

Ein recht simpler aber effektiver Schutz! Für Hacker ist es natürlich besonders einfach deine Webseite mit Brute-Force-Attacken anzugreifen wenn du dich über das Standard Loginverzeichnis (domain.ch/wp-admin) anmeldest. Ich empfehle dir dringend die Loginseite umzubenennen. Super einfach geht das mit dem Plugin WPS Hide Login.

 

 

Photo by Bermix Studio on Unsplash

Verhindere Brute-Force-Attacken

Auch wenn du ein sehr gutes und sicheres Passwort hast: mache es Hackern nicht zu leicht, indem Sie mit Passwortknacker-Tools tausende oder gar millionen Kombinationen in Sekundenschnelle ausprobieren können! Verhindern kannst du das indem du die Anzahl Passwort-Eingaben in einem bestimmten Zeitraum beschränkst. Dafür eignet sich ein Plugin wie WPS Limit Login. Ich lasse meistens 3,4 Versuche pro 15min zu.

Wer noch weitergehen möchte, installiert auch noch das Plugin Disable XML-RPC.

Schreibberechtigungen anpassen

Standardmässig sehen die Schreibberechtigungen nach einer WordPress-Installation für sicherheitsrelevante Dateien wie «wp-config.php» oder «.htaccess» wie folgt aus (siehe «Actual», rot gekennzeichnet):

Wenn du deine WordPress-Installation noch mehr absichern möchtest, änderst du die Zugriffsberechtigungen wie in diesem Screenshot von einem Sicherheits-Plugin empfohlen. Diese Berechtigungen kannst du beispielsweise in der Webhosting-Umgebung anpassen oder mit einem FTP-Client. In den folgenden Screenshots siehst du die Unterschiede von 0644 und 0444:

wp-config-permissionswp-config-permissions-empfohlen

Aber Vorsicht: Mit Zugriffsberechtigung «Lesen» kann auch der Besitzer resp. bestimmte Funktionen von WordPress oder Plugins selber die Dateien nicht mehr verändern. Zum Beispiel bei Cashing-Plugins wenn die .htaccess-Datei optimiert werden soll. In diesem Fall müssten die Anpassungen in den Dateien manuell durchgeführt werden oder du setzst die Berechtigung kurzfristig wieder auf 0644.

 

2-Fach-Authentifizierung

Diese Sicherheitsvorkehrung ist natürlich das Non-Plus-Ultra. Ähnlich wie beim E-Banking gibst du zuerst deinen Benutzernamen und Passwort ein und danach ein Code der dir das Smartphone anzeigt. Sicherer gehts nicht! Ob du das wirklich brauchst und vor allem für welche User ist dir überlassen. Ich habe für eine Webseite mit sensiblen Kundendaten diese Authentifizierung für die Admin-Rolle eingerichtet. Mein Tool der Wahl: Google Authenticator.

 

 

WordPress-Version in Quellcode ausblenden

Gerade die Versions-Info hilft auch einem Hacker.

Bestimmt hast du dir auch schon den Quellcode einer Webseite anzeigen lassen um z. Bsp. herauszufinden ob die Seite mit WordPress erstellt wurde. Und viele weitere wertvolle Informationen finden Entwickler im Quellcode. Aber nicht nur «brave» Entwickler sondern auch Hacker tun dies! Und gerade bei WordPress ist die Info über die Version für diese Personengruppe interessant: so sieht man gleich ob die Webseite up-to-date ist oder bestimmte Sicherheitslücken noch nicht geschlossen wurde. Verhindern kannst du dies mittels einem Sicherheits-Plugin oder wers gerne mal ohne Plugin mag mit folgendem Code den du in functions.php deines Themes kopierst:

function wp_version_remove_version() {
return '';
}
add_filter('the_generator', 'wp_version_remove_version');

Mach das aber bitte nur in einem aktiven Child-Theme, ansonsten ist dieser Code beim nächsten Update des Themes wieder verschwunden.

 

«Theme Editor» in WordPress-Menü ausblenden

wp-menu-designSehr praktisch – gerade für Entwickler – ist natürlich der «Theme-Editor» in WordPress. Hier kann ich direkt das Theme-Stylesheet oder die «functions.php»-Datei anpassen ohne die Datei zuerst in einem HTML-Editor zu bearbeiten und dann uploaden. Aber ein Hacker der es geschafft hat, das Admin-Passwort zu ergattern, wird hier natürlich als erstes deine Website «infizieren».

Mittlerweile blende ich diesen Menü-Eintrag aus, sobald eine neue Webseite live ist und ich nichts mehr in der «functions.php»-Datei verändern muss. Und zwar mit folgendem Code in der «wp-config.php»-Datei:

define('DISALLOW_FILE_EDIT', true);

 

 

 

Nicht mehr benötigte Dateien löschen

Photo by Ujesh Krishnan on Unsplash

Dieser Punkt soll vor allem der Vollständigkeit halber erwähnt werden. Ich selber wende diesen Tipp nicht oder nur teilweise an, dennoch ist mir wichtig darauf hinzuweisen.

Folgende Dateien können für Hacker wichtige Informationen liefern oder für eine Infizierung verwendet werden:

  • wp-config-sample.php: In dieser Datei wurden vielleicht mal Verbindungsdaten erfasst (je nach Installationsart).
  • install.php: Wer die manuelle WordPress-Installation wählt, sollte diese Datei nach erfolgreicher Installation unbedingt löschen. Wer WordPress über die Webhosting-Umgebung installiert, muss sich darum keine Sorgen machen, den dann wird sie automatisch gelöscht.
  • Readme-Dateien: Sowohl im Root-Verzeichnis von WordPress sowie in den Plugin-Ordnern sind diese Readme’s enthalten. Diese Dateien können auch Versions-Infos enthalten, sind aber nicht notwendig für den Betrieb von WordPress. Wer nicht ständig in neu installierten Plugins die Readme-Dateien von Hand löschen möchte, der kann auch mittels .htaccess-Datei den direkten Zugriff verhindern (siehe https://www.netz-gaenger.de/blog/wordpress-tutorials/zugriff-auf-sensible-dateien-in-wordpress-entfernen/)

 

Es gibt noch viele weitere Möglichkeiten die Sicherheit einer WordPress-Installation zu verbessern, aber die oben geschilderten Methoden (oder sogar nur ein paar davon) reichen meiner Meinung nach schon vollends aus. Mach deine WordPress-Installation zu einer Festung! 😉 Und wenn dir dieser Beitrag gefallen hat, dann teile ihn bitte mit deiner Community!