WordPress ist das beliebteste Content-Management-System. Mittlerweile besitzt es einen Marktanteil von über 65 % unter den CMS. Das liegt nicht zuletzt dran, dass es sich sowohl für klassische Websites, Blogs und Unternehmenswebsites, als auch für Online-Shops und Community Foren eignet. Gerade daher ist es ein begehrtes Angriffsziel für Hacker.
Da eine gehackte Website immer mit einem zeitlichen Aufwand verbunden ist, um beispielsweise Rechner und Server zu prüfen oder gar eine komplette Neuinstallation vorzunehmen, lohnt es sich in die Sicherheit einer Website zu investieren.
Schon mit einigen Handgriffen lässt sich die Sicherheit einer WordPress-Website erhöhen.
Grundlegende Sicherheitsmaßnahmen bei WordPress-Websites
Um die Sicherheit zu gewährleisten, sollte WordPress stets auf dem aktuellsten Stand gehalten werden. Das gilt nicht nur für den Kern von WordPress, sondern ebenso für die installierten Plugins und Themes. Hierbei ist zu beachten, dass Änderungen am Theme durch ein Update überschrieben werden. Daher empfiehlt es sich immer ein Child-Theme einzurichten, denn dortige Änderungen sind „updatefest“.
Außerdem sollten Themes, die sich nicht in Verwendung befinden, entfernt werden, um die Angriffsfläche zu verringern, denn für Hacker sind Standard-Konfigurationen meist ein leichtes Ziel.
Sichere Passwörter sind Pflicht
Da die meisten Hackingversuche auf gestohlenen Passwörtern basieren, sollte Sicherheit bereits bei der Auswahl der Passwörter beginnen. Sicher verstaute und schwer zu erratende Passwörter sind bereits die halbe Miete. Gleiches gilt auch für den Login-Benutzernamen. Je weiter er vom Standard abweicht, desto schwerer ist es für einen Hacker, diesen in Erfahrung zu bringen.
SSL-Verschlüsselung aktivieren
Die Verwendung eines gültigen SSL-Zertifikats erlaubt eine verschlüsselte Übertragung der Website-Daten zwischen Besucher und Webserver. Dazu gehören unter anderem übermittelte Formulardaten oder persönliche Daten beim Abschluss einer Bestellung. Eine aktivierte SSL-Verbindung wird Besuchern im Browser angezeigt und erhöht neben der Sicherheit auch das Vertrauen der Benutzer.
WordPress ist ein „datenbankgetriebenes“ System und die Datenbank selbst ein beliebtes Ziel für Hacker. Standardmäßig wird bei einer WordPress-Installation das Datenbank-Präfix „wp_“ angehängt. Dieses kann bei der Installation aber auch geändert werden und das sollte es auch. Denn mit dem Standardpräfix muss ein Hacker nicht lange nach der WordPress-Datenbank suchen.
WordPress-Login verschleiern
Das ist mit dem kleinen Tool WPS Hide Login denkbar einfach. Das schlanke Plugin erlaubt Änderungen an der URL der WP-Login Seite vorzunehmen und funktioniert mit jeder WordPress-Website, denn es fängt die Seitenabfrage ab, ohne die URL im Kern umzuschreiben.
WP-Config.php absichern
Eine weitere Maßnahme betrifft die Datei „wp-config.php“, welche im Root-Verzeichnis des Webservers liegt. Bei der Installation wird dort unter anderem auch der Datenbankname inklusive Benutzername und das Datenbank-Passwort abgelegt.
Durch ein Verschieben der Datei in einen anderen Bereich des Webservers, der öffentlich nicht zugänglich ist, soll ein Angreifer keinen direkten Zugriff auf diese sensible Datei erhalten. WordPress erlaubt dazu, die Datei eine Ebene höher zu bewegen, ohne dass zusätzliche Konfigurationsschritte nötig sind, denn WordPress sucht dort automatisch.
Eine weitere Möglichkeit ist, den Zugriff auf diese Datei zu sperren. Dazu ist lediglich ein kurzer Eintrag in der „.htaccess-Datei“ vorzunehmen:
<Files wp-config.php>
order allow,deny
deny from all
</Files>
Die „.htaccess-Datei“ befindet sich ebenfalls im Root-Verzeichnis eines Webservers und der Code-Snippet schützt die „wp-config.php“ vor externen Zugriffen.
Als weitere Sicherheitsmaßnahme empfiehlt es sich, die Login-Versuche der WordPress-Installation für Benutzer einzuschränken. Hierbei wird eine bestimmte IP-Adresse gesperrt, sollten von ihr zu viele fehlgeschlagene Anmeldeversuche ausgehen. Zur Umsetzung stehen eine Reihe von Plugins zur Verfügung. Mithilfe von Plugins sollten in diesem Zusammenhang auch die Logins beobachtet werden, sodass ein permanenter Überblick über die angemeldeten Benutzer gegeben ist.
HTTP Security-Header
Mithilfe von Security-Headern kann die Sicherheit einer Website weiter erhöht werden. Immer wenn ein Browser eine Seite von einem Webserver anfordert, gibt der Server die Seite aus und sendet zusätzlich einen HTTP-Response-Header. Er enthält neben Metadaten (Zeichensätze, Fehlercodes) teilweise auch Security-Einstellungen, sodass der Browser erfährt, wie er sich zu verhalten hat.
Es gibt verschiedene Security-Header, von denen einige sehr einfach einzubinden sind, wohingegen andere einen größeren Konfigurationsaufwand benötigen. Sie sorgen beispielsweise dafür, dass „Cross-Site-Scripting“, also das Laden fremder Scripte in die Website unterbunden wird.
Alle Security-Header im Einzelnen zu behandeln, würde den Rahmen für diesen Artikel sprengen. Für eine detailliertere Behandlung empfehlen wir den Artikel von Dr. Web.
Firewall und Malware Scanner
Mit dem Plugin Wordfence Security steht Website-Betreibern eine umfangreiche Sicherheits-Lösung zur Verfügung. Zum einen erkennt und blockiert die integrierte Firewall unerwünschten Datenverkehr und beinhaltet außerdem eine Echtzeit-IP-Blacklist, die alle Anfragen einer auffällig gewordenen IP-Adresse blockiert, zum anderen sorgt der integrierte Malware-Scanner für effektiven Schutz vor Anforderungen die schädlichen Code enthalten. Das Plugin überprüft aber nicht nur Dateien auf Malware, sondern verhindert aktiv SEO-Spam, Spam-E-Mails, nicht gewollte Weiterleitungen und unbefugten Zugriff auf den Code.
Eine weitere Option stellt das kostenlose Plugin Antispam Bee dar. Dieses kleine Tool unterbindet entsprechende Spam-Kommentare und –Trackbacks, ohne dabei auf Captchas zurückzugreifen. Obendrein ist es frei von Werbung und DSGVO-konform.
Zu guter Letzt – WordPress Backups!
Eine offensichtliche Strategie, um auf der sicheren Seite zu sein, wenn beim Webserver etwas schiefläuft, ist die regelmäßige Erstellung von Backups. Auch vor jedem Update einer WordPress-Installation sollte ein Backup durchgeführt werden. Neben den Seiten, den Konfigurationsdateien, Themes und Plugins wird dabei auch die Datenbank gesichert. Ein dafür sehr beliebtes Plugin ist beispielsweise UpdraftPlus.
Nach Fertigstellung sollten die Backupdateien vom Webserver heruntergeladen und auf einem vom Webserver unabhängigen Datenträger gespeichert werden, damit sich die Installation im Notfall problemlos wiederherstellen lässt.