Deine Website ist im Internet kontinuierlichen Angriffen ausgesetzt. Solche Angriffe erfolgen heutzutage meistens vollkommen automatisiert. Dem Thema Sicherheit widmen sich viele Website-Betreiber dennoch meist erst dann, wenn das Kind schon in den Brunnen gefallen ist. Dabei kann ein gelungener Angriff auf die Homepage fatale Folgen nach sich ziehen – oftmals ist die Arbeit mehrerer Monate, wenn nicht sogar Jahre, verloren, was nicht selten großen Verlust von Umsatz und Reputation bedeutet. Den eingeschleusten Schadcode im Nachhinein ausfindig zu machen kann sehr aufwändig sein und nicht immer kann garantiert werden, dass nichts übersehen wurde. Damit dir das nicht passiert, möchte ich dir als langjähriger WordPress Experte in diesem Beitrag zeigen, wie du deine WordPress Website noch besser vor Hackern schützst.
Vorab muss man jedoch sagen, dass es keine hundertprozentige Sicherheit gibt. Selbst namhafte Unternehmen mit umfangreichen Sicherheitsvorkehrungen sind trotz allem schon Opfer erfolgreicher Angriffe geworden. Je größer die Hürden für einen Angriff sind, desto eher brechen Hacker ihr Vorhaben allerdings ab. Daher ist es ratsam, einen Angriff so schwierig wie möglich zu machen, denn Hacker suchen sich in der Regel dann lieber einfachere Opfer.
Die beste Versicherung: Erstelle regelmäßig Backups
Das hilft dir grundsätzlich zwar nicht, deine Website vor Hackern zu schützen, im Falle eines Angriffs kannst du allerdings deine Homepage und die dazugehörige Datenbank mit wenigen Klicks wieder vollständig herstellen. Hierbei ist es wichtig, dass du, im Falle eines Angriffs, mehrere Backups zur Hand hast und diese nicht nur auf deinem Server abgespeichert sind, sondern auch in einer Cloud (z.B. Dropbox), auf der lokalen Festplatte oder auf einer CD. Denn oftmals merken Website-Betreiber nicht, dass die eigene Homepage evtl. schon seit mehreren Wochen oder Monaten als Spam-Schleuder dient. Achte also immer darauf, auch ältere Backups parat zu haben. Sichere deine Website am besten täglich oder mindestens einmal in der Woche. Je nach Anbieter und Tarif kümmert sich auch dein Webhoster um eine zuverlässige Datensicherung.
Für WordPress-Websites gibt es eine Reihe guter und kostenloser Plugins, mit welche du ohne viel Aufwand ein Backup deiner Website erstellen kannst. Ich empfehle an dieser Stelle das kostenlose und bewährte Plugin BackWPup. Das Tool sichert deine komplette Homepage inkl. Datenbank und aller Administrationsdateien. Mit einer einzigen ZIP-Datei kannst du deine Installation wiederherstellen. Eine gute Alternative zu BackWPup ist das ebenfalls kostenlose UpdraftPlus. Ich habe mit beiden Plugins bisher nur positive Erfahrungen gemacht.
Im Falle eines Angriffs solltest du jedoch nicht nur auf deine Backups vertrauen. Um auch im Nachhinein deine Website vor Hackern zu schützen solltest du in jedem Fall verstärkte Sicherheitsmaßnahmen einsetzen. Sonst ist es nur eine Frage der Zeit, bis es zum erneuten Hacker-Angriff kommt.
Setze nur sichere Passwörter für WordPress ein
In der heutigen Zeit besitzen die meisten Internetnutzer eine Reihe von Accounts, welche die Vergabe eines Passworts benötigen. Ob E-Mail-Account, Facebook-Account oder WordPress-Website – die Versuchung ist groß, überall dasselbe Passwort zu verwenden, das man sich am besten auch leicht merken kann. Entsprechend groß ist auch die Zahl der Nutzer, welche nach wie vor einfache Passwörter nutzen wie „admin“ oder „1234“. Doch das ist vergleichbar damit, dass du deine Haustür offen stehen lässt und am besten noch ein Schild mit „Diebe hereinspaziert“ aufstellst. Wenn du deine Website vor Hackern schützen möchtest, ist die Vergabe eines starken und sicheren Passworts der erste Schritt. Denn Hacker nutzen automatisierte Tools, die diverse einfache Buchstaben- und Zahlenkombinationen innerhalb weniger Sekunden durchprobieren. Ich habe spaßeshalber selbst mal ein solches Tool verwendet und war wirklich erschrocken, dass ich innerhalb weniger Sekunden schon die notwendigen Zugangsdaten auslesen konnte. Spätestens seit dieser Erfahrung weiß ich also, wie wichtig die Vergabe eines sicheren Passworts ist.
Das Passwort sollte dabei mindestens 8 Zeichen lang sein und neben Buchstaben und Zahlen auch Sonderzeichen enthalten. Die Verwendung von Groß- und Kleinbuchstaben gibt dem Passwort noch eine zusätzliche Stärke. Ein sicheres Passwort könnte beispielsweise so aussehen: „5&R1nJL!e2S?§“
Natürlich erwartet niemand, dass du dir so ein Passwort merkst. Um der Kennwort-Flut Herr zu werden kannst du einfach auf Passwort-Manager wie „Password Depot“ zurück greifen. Dieser verwaltet nicht nur deine Passwörter, sondern du kannst diese auch direkt mit einem Klick kopieren und in deinem Browser mit einem erneuten Klick wieder einfügen.
Eine alternative Idee ist es, ein Passwort einfach aus einem Satz zu generieren. Denke dir einfach einen Satz aus und entwickle daraus dein persönliches Passwort. Z.B. würde das Passwort zu dem Satz
Wie merke ich mir ein “Passwort“? Ich mache einen Satz daraus!
lauten:
Wmim1“P“?Im1Sd!
Vermeide es auch für alle Accounts dasselbe Passwort zu nutzen. Insbesondere wenn du deine WordPress Website vor Hackern schützen möchtest und evtl. mehrere Webseiten betreibst, solltest du niemals dasselbe Passwort verwenden. Denn sollte dein Passwort bei einer Seite gehackt werden, sind wenigstens deine anderen Seiten davon nicht betroffen.
Mit einigen Plugins wie Sucuri Security oder Wordfence kannst du in den Einstellungen festlegen, dass das Erstellen sicherer Passwörter erzwungen werden soll.
Verwende keine „typischen“ Nutzernamen wie „admin“
Natürlich ist es auch empfehlenswert, typische Benutzernamen zu vermeiden. Bei WordPress wäre das beispielsweise „admin“. Wähle stattdessen am besten einen Klarnamen, welchen du beispielsweise um Jahreszahlen oder zusätzliche Kürzel erweiterst.
Hier gibt es jedoch noch etwas zu beachten. Bei WordPress wird meistens für jeden Benutzer auch eine Autorenseite angelegt. Vor allem, wenn du einen öffentlichen Blog auf deiner Website betreibst, in welchem auch der Autorenname steht, ist es für Hacker ein Leichtes, den jeweiligen Benutzernamen zu erraten. Idealerweise solltest du daher darauf achten, dass der öffentlich einsehbare Autorenname nicht zugleich der Benutzername des jeweiligen Nutzers ist.
Außerdem kannst du einen zusätzlichen Code in der .htaccess-Datei hinzufügen, der verhindert, dass ein Benutzername auf einfache Art ausgelesen werden kann. Denn bei WordPress-Webseiten erhält jeder Nutzer automatisch auch eine ID, die ganz einfach über die folgende URL aufgerufen werden kann: www.deine-domain.de/?author=1.
Hier wird also versucht direkt auf die Autorenseite des Benutzers mit der ID1 zuzugreifen. Der Nutzer mit der ID 1 ist meistens der Administrator. Um solch ein einfaches Auslesen zu verhindern, ergänze deine .htaccess um folgenden Code:
# Verhindert das einfache Auslesen von Nutzernamen
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} .*author=(.+.?) [NC]
RewriteRule (.*) /blog/?author= [NC,L,R=301]
Installiere regelmäßig Updates um deine WordPress Website vor Hackern zu schützen
3 von 4 WordPress-Installationen sind veraltet – diese Zahl ist alarmierend. Immerhin dienen Updates dazu, Sicherheitslücken zu schließen, welche in vorherigen Versionen aufgetreten sind. Wer seine WordPress Website vor Hackern schützen möchte, sollte verfügbare Updates daher umgehend auf seiner Seite installieren. Wird dies regelmäßig durchgeführt, entstehen im Normalfall auch keine Probleme bei einem Update. Wenn du das Installieren von Updates vernachlässigt hast und nun vor einem größeren Versionssprung stehst, solltest du vor Installation des Updates vorsichtshalber ein Backup erstellen.
Neben der regelmäßigen Aktualisierung von Plugins und Erweiterungskomponenten solltest du natürlich auch deine WordPress Version stets aktuell halten. Ab WordPress 3.7. gibt es die Möglichkeit, Updates automatisiert im Hintergrund ausführen zulassen. Falls du diese Funktion deaktiviert hast, solltest du deine WordPress-Version lückenlos manuell überprüfen und ggf. aktualisieren.
Oft vernachlässigt wird das Fundament einer jeden Website: Der Server. Gerade ältere Websites vegetieren auf ebenso alten Servern. Informiere dich im Zweifel bei deinem Hoster, welche Versionen von PHP und MySQL auf deinem Webspace laufen. Diese sollten stets so aktuell wie möglich sein und mindestens alle Sicherheits-Updates eingespielt haben.
Die jeweils aktuellsten Software-Versionen auf dem Markt der wichtigsten Komponenten deines Servers findest du hier:
Blende deine aktuelle WordPress-Version aus
Kennt ein potentieller Angreifer deine verwendete WordPress-Version, kann er sich über Sicherheitslücken informieren, die speziell die entsprechende Version betreffen. Damit ist es ein Leichtes, bereits bekannte Sicherheitslücken auszunutzen.
Um das zu verhindern, kannst du die functions.php deines verwendeten WordPress-Themes um folgenden Code ergänzen:
function wp_version_remove_version() {
return '';
}
add_filter('the_generator', 'wp_version_remove_version');
Verwende so wenig Plugins wie möglich
Je mehr Plugins du verwendest, desto mehr Potential für Sicherheitslücken bietest du einem Hacker. Denn jedes Plugin besteht aus zusätzlichem Programmcode, der weitere potentielle Angriffsflächen bietet. Eine große Anzahl an Plugins ist zudem aufwändiger in der Pflege, allein schon aufgrund der notwendigen Updates.
Achte also darauf, dass du nur solche Plugins installierst, die du wirklich unbedingt benötigst. Verzichte auf alles, was deine Website bzw. den Quellcode nur unnötig aufbläht. Das macht deine WordPress-Website nicht nur weniger anfällig gegenüber Angriffen, sondern sorgt zudem auch für schnellere Ladezeiten.
Verschleiere deinen WordPress Login-Bereich
Den Login-Bereich einer WordPress-Homepage erreichst du stets über folgendes URL-Muster: www.domainname.xx/wp-admin/. Bots und Hacker setzen daher oft hier an, um in ein WordPress System einzudringen. Eine Möglichkeit, sich vor automatisierten Hacking-Attacken besser zu schützen, besteht darin, den Standard-Pfad durch eine individuelle Login-URL zu verschleiern. Dies erledigt man am besten mit dem kostenlosen WordPress-Plugin Protect you Admin.
Sichere Kontaktformulare und Gästebücher durch Captcha-Abfragen
Wenn du deine WordPress Website vor Hackern schützen möchtest, solltest du insbesondere auch Kontaktformulare durch zusätzliche Maßnahmen absichern. Denn Kontaktformulare sind äußerst beliebte Angriffspunkte für automatisierte Hacker-Angriffe. Eine einfache und praktische Möglichkeit dem entgegen zu wirken, sind sogenannte Captchas (Completely Automated Public Turing test to tell Computers and Humans Apart). So wird sichergestellt, dass eine Anfrage von einem „echten“ Menschen stammt und nicht etwa von einem Computer. Die meisten WordPress-Plugins für Kontaktformulare bieten bereits standardmäßig die Möglichkeit, eine Captcha-Abfrage zu integrieren. Ansonsten empfehle ich das kostenlose Plugin “Captcha“.
Mit diesem kannst du nicht nur Kontaktformulare durch Captchas sichern, sondern auch den WordPress Login- und Kommentar-Bereich.
Begrenze die Anzahl der Login-Versuche um deine WordPress Website vor Hackern zu schützen
Auch wenn du dir viele Gedanken um ein sicheres Passwort und einen kreativen Benutzernamen gemacht hast, hält das Hacker nicht davon ab, auch weiterhin über deinen Login-Bereich in dein System eindringen zu wollen. Dadurch, dass deine Website ja immer online ist, haben Hacker schließlich alle Zeit der Welt und können standardmäßig unbegrenzt oft versuchen, in dein System einzudringen. Mit dem kostenlosen Plugin „Limit Login Attempts“ kannst du u.a. einstellen, dass nur bestimmte IP-Adressen Zugriff auf deinen WordPress Login-Bereich haben und kannst diejenigen IPs sperren, welche versuchen sich nach einer gewissen Anzahl fehlerhafter Anmeldungen einzuloggen.
Verwende eine 2-Faktor-Authentifizierung und/oder ergänze deinen Login-Bereich mit einer Sicherheitsabfrage
Eine 2-Faktor-Authentifizierung ist eine weitere Hürde, die es einem Angreifer nahezu unmöglich macht, sich in dein System einzuloggen.
Bei der 2-Faktor-Authentifizierung wird zusätzlich zu deinen Login-Daten noch ein weiterer Sicherheitscode abgefragt. Dieser Sicherheitscode wird dann entweder an dein Smartphone oder an deine E-Mail-Adresse verschickt. Selbst wenn ein Angreifer also sowohl dein Passwort als auch deinen Nutzernamen kennt, kann er sich nicht einfach damit einloggen. Er benötigt zunächst noch Zugriff auf dein Smartphone oder E-Mail-Konto, um auch den Sicherheitscode zu erhalten.
Die 2-Faktor-Authentifizierung kann durch den zusätzlichen Aufwand für dich als Nutzer zwar nervig sein, ist aber eine sehr gute Sicherheitsvorkehrung, was den unbefugten Login betrifft.
Ist dir die 2-Faktor-Authentifizierung zu umständlich, kannst du deinen Login aber auch schon durch eine zusätzliche Sicherheitsabfrage aufrüsten. Hierbei kannst du eine Frage definieren, zu der lediglich du die Antwort kennst. Für einen Hacker stellt dies eine weitere Hürde dar, die nicht so einfach zu überwinden ist. Eine solche Sicherheitsabfrage kannst du beispielsweise mit einem Plugin wie WP Security Question umsetzen.
Installiere keine Plugins und Themes aus unsicheren Quellen
Es gibt viele illegale Anbieter, welche kostenpflichte Plugins und Themes kostenlos zum Download anbieten. Die meisten dieser illegalen Downloads beinhalten jedoch Schadcode, welcher im schlimmsten Fall deine komplette Installation zerstören kann. Die Installation solcher Downloads läuft meistens reibungslos, erst im späteren Verlauf wird klar, dass über die Dateien Schadcode eingeschleust wurde. Es hilft auch nichts, einfach das entsprechende Plugin wieder zu deinstallieren, da meistens auch andere Dateien im System dadurch verseucht werden. Den gesamten Schadcode ausfindig zu machen und zu löschen ist nahezu unmöglich. Verzichte daher darauf, Plugins und Themes aus illegalen Downloads zu installieren, erst recht nicht bei einer frischen Installation, da dann selbst Backups im Falle einer Zerstörung nicht mehr helfen. Die vergleichsweise günstigen Preise von Plugins und Themes stehen in keinerlei Relation zu dem Schaden, der in diesem Fall entstehen würde.
Sichere die „wp-config“-Datei deiner WordPress Installation ab
Die wp-config.php Datei ist das Rückgrat deiner WordPress-Installation. Diese Datei hast du (oder WordPress selbst) bei der Installation angelegt. Sie beinhaltet nicht nur die Login Daten deiner Datenbank, sondern auch viele Einstellungen und Konfigurationsdaten deiner Webseite. Die Datei findest du im Root-Verzeichnis deiner Website – dort, wo auch die Ordner „wp-admin“, „wp-content“ und „wp-includes“ zu finden sind. Wenn du ein FTP-Programm wie FileZilla benutzst, machst du einfach einen Rechtsklick auf die Datei „wp-config.php“ und klickst auf „Ansehen/Bearbeiten“. In dem sich öffnenenden Text-Editor kannst du die Datei nun bearbeiten.
Ändere den Datenbank „Prefix“ – $table_prefix
Das ist quasi das “Wort” welches vor den Datenbankeinträgen von WordPress steht. Standardmäßig lautet es “wp_”. Ändere es ab, am besten zu einem Begriff, der nicht so leicht zu erraten ist z.B. “wdb_”. Wichtig ist jedoch, dass auf jeden Fall “_” am Ende des Begriffes steht.
Verhindere Zugriffe auf die wp-config Datei
Mithilfe der .htaccess-Datei kannst du Zugriffe auf die wp-config.php verhindern. Die .htaccess-Datei befindet sich im selben Verzeichnis wie die wp-config.php.
Auch diese Datei kannst du mit einem Rechtsklick bearbeiten. Um die wp-config.php vor externen Zugriffen zu sichern, solltest du die .htaccess-Datei um folgende Zeilen ergänzen:
<Files wp-config.php>
Order Allow,Deny
Deny from all
</Files>
Füge den Code ganz am Ende der .htaccess ein.
Wichtig: Da die .htaccess eine der sensibelsten System-Dateien ist, solltest du auf jeden Fall ein komplettes Backup deiner Website durchführen, bevor du Änderungen an der .htaccess durchführst!
Passe die Dateiberechtigungen auf deinem Webserver an
Mithilfe von Dateiberechtigungen kannst du festlegen, wer auf welche WordPress-Dateien zugreifen oder sie bearbeiten darf.
Eine Anpassung der Dateiberechtigungen kannst du normalerweise ganz einfach über FTP vornehmen. Hierfür verbindest du dich mit einem entsprechenden Programm wie WinSCP oder Filezilla mit deinem Webserver und machts einen Rechtsklick auf die Datei oder den Ordner, für welchen du die Zugriffsrechte anpassen möchtest. Klicke dann auf „Dateiberechtigungen“ und schon kannst du die gewünschten Einstellungen vornehmen.
Hierbei haben sich folgende Berechtigungen bewährt und werden auch von WordPress selbst empfohlen:
- Alle einzelnen Dateien erhalten 644
- Alle Ordner erhalten 755
- Die wp-config.php erhält 660 oder 400
Prüfe deine Website regelmäßig auf Malware und Viren
Oftmals merkt man erst viel zu spät, dass die eigene Website mit Malware und/oder Viren infiziert ist. Wenn dich dann auch noch ein Nutzer darauf aufmerksam macht, kann das einen enormen Image-Schaden nach sich ziehen. Daher solltest du bereits von vornherein dafür Sorge tragen, dass du deine Website selbst einem regelmäßigen Check unterziehst. Keine Sorge – es gibt einige Plugins, die das automatisiert für dich tun. An der Stelle empfehle ich dir die Installation von Wordfence.
Mit Wordfence kannst du deine WordPress-Website sowohl manuell als auch automatisiert auf Malware überprüfen lassen.
Nutze eine SSL-Verschlüsselung
Eine SSL-Verschlüsselung ist nicht nur notwendig, wenn du deine Website DSGVO-konform machen möchtest. Daten werden mithilfe von SSL verschlüsselt übertragen und verhindern so, dass Angreifer sensible Kundendaten abfangen können. In folgendem Beitrag erkläre ich dir, wie du ein SSL Zertifikat in WordPress einbindest.