Im Eifer des Gefechtes werden oft wichtige Dinge einer WordPress Installation vergessen. Um nichts mehr zu vergessen, arbeiten sogar Experten wie Piloten, denen viele Menschen das leben anvertrauen mit Checklisten. Checklisten haben generell die Eigenschaft, dass nichts vergessen wird.
Hier möchte ich euch unterstützen, wichtige Sachen in WordPress nicht zu vergessen. Die Checkliste kann zu Zwecken der Dokumentation auch einfach ausgedruckt werden.
Übersicht der Checkliste
WP-Config
Login Sicherheit Verbessern
WordPress Admin absichern
WordPress Themes
WordPress Plugins
WordPress Datenbank
Hosting
Hier die Erklärungen und Anleitung zu den einzelnen Maßnahmen
Video zu WP-config und Admin absichern.
WP-Config Datei
Die WP-Config ist das Herzstück einer WordPress Installation. In dieser werden die Datenbankverbindungen und viele weitere Dinge eingestellt. Bevor die Datei bearbeitet wird, immer ein Backup erstellen – ganz nach dem Motto „Kein Backup – kein Mitleid“.
Für weitere Informationen zur WP-Config Datei, gibt es einen eigenen Artikel darüber.
Über FTP zugriff ändern
Um diese Datei zu ändern, empfiehlt es sich über einen FTP Programm oder über die Hosting Panel zuzugreifen.
- Öffnen in einem FTP Programm euere Webseite
- sucht die Datei wp-config.php und öffnet diese
- sucht den Abschnitt * Authentication Unique Keys and Salts. und öffnet in einem Browser die Generierung URL von WordPress
- Setzt die neu generierten Keys ein und speichert die Datei
- Ladet die Datei hoch und prüft, ob die Anmeldung weiterhin funktioniert.
Es gibt auch ein Weg über ein Plugin
Wenn Sie die Sicherheitsschlüssel regelmäßig ändern möchten, kann Ihnen ein WordPress-Sicherheitsschlüssel-Generator-Plugin wie Salt Shaker beim Ändern dieser Schlüssel helfen.
Nach der Installation des Plugins sehen Sie, dass es auf der Seite Extras> Salt Shaker in Ihrem WordPress-Dashboard konfiguriert werden kann, um Ihr Plugin zu konfigurieren.
Andere Generatoren sind:
Login Sicherheit Verbessern
WPS – Hide – Anmelde URL ändern
Die anmelde URL kann mit dem Plugin WPS-Hide sehr einfach geändert werden. Dazu einfach in den Einstellungen -> WPS Hide die neue Login URL einfügen und speichern.
User Lock down – Anmeldeversuche limitieren
Die Logins und deren Versuche können sehr einfach im Plugin „Login LockDown“ definiert werden. Nach der Installation die Einstellungen für die Anzahl der Versuche, die Wiederholungen in einer Zeitspanne und die Sperrdauer angeben.
Benutzernamen ändern
Leider bietet WordPress keine einfache Möglichkeit die Benutzernamen nach dem Speichern zu ändern. Um nicht über die Datenbank arbeiten zu müssen, kann das Plugin „username Changer“ installiert werden. Nach dem Aktivieren habt ihr die Möglichkeit neben dem Benutzernamen Feld auf Change Username zu klicken und diesen zu ändern.
Bitte beachtet, dass doppelte Benutzernamen (selbe) zu Problemen frühen wird!
REST API deaktivieren
Die REST-API hat viele verschiedene Aufgaben, das Plugin Jetpak verwendet diese, um damit zu kommunizieren, sowie WooCommerce verwendet diese um die Bestellungen usw. auf das Mobile APP zu synchronisieren. Im Normalfall kann ohne Probleme die REST-API deaktiviert.
Nach der Installation von „Disable REST API“ sind keine weiteren Schritte mehr notwendig.
Alternativ zu diesem Plugin kann auch ein Script in die function.php eures Child-Themes eingefügt werden:
add_filter ('json_enabled', '__return_false');
add_filter ('json_jsonp_enabled', '__return_false');
WP Admin absichern
Es gibt noch viele weitere Dinge, die gemacht werden können, um den Adminbereich von WordPress abzusichern. Bitte liest euch im Falle von Security Plugins auch den Umfang durch, damit ihr doppelte Funktionen, die zuvor installiert wurden, nicht in Konflikt zueinanderstehen.
WP-Admin Ordner mit einer Passwortdatei schützen
in cPanel kann einfach unter Ordner Dateirecht einen Passwortschutz auf den Ordner „wp-admin“ errichtet werden.
Bitte verwendet die Hosting Tools dafür, da dies wesentlich einfacher und unkomplizierter ist – sowie die Erfolgschance höher ist.
WordPress Core aktualisieren
Update können sehr einfach mit Button „Aktualisierungen“ überprüft werden.
Um automatisch benachrichtigt zu werden, welche Aktualisierungen verfügbar sind, kann das Plugin „WP Updates Notifier“ installiert werden.
Benutzer für Redakteure und Bearbeiter erstellen
Setzt für jeden Benutzer auch die richtige Rolle, damit die Fehlerquellen von dritten Personen begrenzt wird. Administrator sollte maximal eine Person sein (ganz nach dem Motto, zu viele Köche verderben den Brei!)
Die Rollen die WordPress anbietet können nicht verändert werden.
- Administrator – es gibt keine Grenzen
- Redakteur – hat Zugriff auf alle Beiträge, Seiten, Kommentare, Kategorien, Schlagwörter und Links.
- Autor – kann schreiben sowie eigene Beiträge mit hochgeladenen Fotos ergänzen, bearbeiten und veröffentlichen.
- Mitarbeiter – hat keine Berechtigungen zum Veröffentlichen oder Hochladen, kann aber eigene Beiträge schreiben und bearbeiten, bis sie veröffentlicht werden.
- Abonnent kann Beiträge und Seiten lesen und kommentieren.
SSL aktivieren
SSL Zertifikate werden meistens durch den Hosting Provider zur Verfügung gestellt. Damit die Webseite auf SSL umgestellt werden kann, wird zuerst ein solches Zertifikat benötigt. Bitte kontaktiert euren Hosting Provider, solltet ihr diese Einstellung nicht finden. Meistens verbirgt sich diese unter „Domain“ Einstellungen.
Habt Ihr ein solches Zertifikat gelöst, dann müsst Ihr WordPress nur die neue URL hinterlegen. Dies kann sehr einfach unter Einstellungen –> Allgemein erledigt werden.
In vereinzelten Fällen muss noch zusätzlich die Links ausgetauscht werden, dafür bietet sich das Plugin „Better Search & Replace“ an. In diesem Plugin, wird einfach die alte URL (ohne SSL) und die neue URL angegeben, die Tabellen der Datenbank ausgewählt und dann ersetzt.
Installation von einem Sicherheitsplugin
Ich verwende WP Security oder WordFence für die Absicherung und Einsparung von mehreren Plugins.
WP Security (All in one WP Security & Firewall Plugin) beherrscht die wichtigsten Aspekte einer sicheren WordPress Installation – schaut auch mein Video dazu an – dort erkläre ich im groben, was das Plugin kann und was ich einstellen würde.
Webseite auf Malware überprüfen
Bevor eine Webseite online geht, ist es immer gut, die Seite auf Malware zu überprüfen. Oft werden viele Plugins installiert und irgendwann wieder deinstalliert, weil diese nicht benötigt werden, aber auch werden Plugins und Themes vergessen. Prüft eure Webseite regelmäßig auf Malware. Managewp.com bietet dazu einen hervorragenden und einfachen Service dazu an.
Formulare absichern mit Google ReCaptcha
Viele Kontaktformulare bieten eine ReCaptcha Integration an, bitte sichert jedes Formular ab. Bei Contact Form 7, gibt es bei den Einstellungen diese Funktionalität, auch Ninja Forms, Elementor Form usw. bieten diese Funktionalitäten.
Ein ReCaptcha versucht einen Bot in eine Falle zu locken, es integriert zusätzliche Felder, die nur von Menschen ausgefüllt werden können, da diese Logik basierend oder auf eine Frage zurückzuführen sind.
WordPress Themes
Ein Theme ist das Design deiner Webseite, dies sollte unbedingt immer auf dem aktuellen Stand sein.
Themes updaten
Die Themes werden im Menüpunkt Themes verwaltet und auch aktualisiert. Bei größeren Update Sprüngen, empfiehlt es sich, dies nicht auf der live Webseite zu aktualisieren sondert zuerst auf einer kopierten Version deiner Webseite um, Problems zu vermeiden.
Themes löschen
Lösche unbedingt nicht mehr benötige Themes, um die Einfallstoren zu minimieren.
Löschen der WordPress Version vom Theme
Auch sehr hilfreich ist, wenn wir dem Angreifer keine Informationen über die Version deiner WordPress Installation liefern. Dies wird normalerweise von Security Plugins oder durch ein einfaches Codesnippet unterdrückt:
Diese Änderungen müssen in die function.php Datei
function remove_wordpress_version() {
return '';
}
add_filter('the_generator', 'remove_wordpress_version');
// Pick out the version number from scripts and styles
function remove_version_from_style_js( $src ) {
if ( strpos( $src, 'ver=' . get_bloginfo( 'version' ) ) )
$src = remove_query_arg( 'ver', $src );
return $src;
}
add_filter( 'style_loader_src', 'remove_version_from_style_js');
add_filter( 'script_loader_src', 'remove_version_from_style_js');
Vertrauenswürdige Quelle
Installiere generell nur Themes von WordPress repository oder von zertifizierten Herstellern. Niemals eine „Black“ oder geklaute Version installieren – oft kann nicht beurteilt werden, ob dieses Theme verändert wurde oder nicht.
WordPress Plugins
Plugins dienen dem Zweck der Erweiterung von WordPress. Zu viele Plugins machen das WordPress langsam und bieten viel Angriffsfläche für Hacker und Bots. Generell installiert nur die benötigten Plugins – vergesst nie, nicht mehr verwendete Plugins zu deinstallieren.
Über 90% der Angriffe auf WordPress, erfolgen über veraltete und unsichere Plugins.
Plugins Updaten
Plugins können sehr einfach über den Menüeintrag Plugins -> installierte Plugins überprüft und aktualisiert werden.
Verwendet, wenn möglich, die automatische Plugin update Funktion von WordPress die recht neu integriert wurde.
Plugins löschen
Nicht mehr aktive Plugins müssen gelöscht werden, damit die Angriffsfläche minimiert wird.
Alternative Plugins
Sollte ein Plugin für längere Zeit kein update mehr erhalten haben, dann kann es sein, dass dieses vom jeweiligen Autor nicht mehr gepflegt und gewartet wird. Diese Plugins gilt es generell zu vermeiden. Um genauere Informationen zu finden, einfach die Bewertungen auf WordPress dazu ansehen, um sich selber ein Bild darüberzumachen, ob der Hersteller aufgegeben hat – oder ob das Plugin einfach nur super gut entwickelt wurde. Es kann auch sein, dass das Plugin einfach so gut funktioniert, dass es keine Updates erhält.
Plugin und Anzahl der Plugins
Bitte verwendet nur die Plugins, die unbedingt notwendig sind. Oft muss lediglich ein, zwei Zeilen Code in die function.php geschrieben werden, um denselben Effekt zu haben, wie ein zusätzliches Plugin bietet.
Jedes weitere Plugin kostet wertvolle Ladezeit und macht euer WordPress langsamer.
Vertrauenswürdige Plugins
Auch bei den Plugins sowie bei den Themes bitte nur offizielle Quelle verwenden und niemals geklaute oder „schwarze“ Kopien installieren. Oft kann auch hier nicht sichergestellt werden, ob das Plugin verändert wurde.
WordPress Datenbank
Tabellenpräfix ändern
Das Tabellenpräfix, kann im Plugin WP Security sehr einfach mit nur einem klick verändert werden.
Manuell kann dies auch gemacht werden, allerdings benötigt dies einiges an Erfahrungen in MySQL – ich rate hier von einer manuellen Änderung ab und würde dies über das empfohlene Plugin realisieren.
Backup einrichten
Auch ein Datenbank-Back-up und Dateibackup ist notwendig. Je nach Wunsch kann hier ein Plugin verwendet werden oder sofern der Hoster eine Funktion integriert hat, diese dafür verwendet werden.
WP Security bietet ein Datenbank Backup an, das ist das Minimum um Texte und Einstellungen zu sichern.
Alle Plugins, Themes und das WordPress an sich ist auf Dateiebene zu sichern.
Ein sehr bekanntes Plugin dafür ist „UpdraftPlus WordPress Backup Plugin“ es bietet in der Free Version alles, was für ein Backup benötigt wird.
Passwort – Datenbankbenutzer
Solltet ihr die Datenbank selber erstellt haben und keine Installation Routine (One klick Installation) verwendet haben, bitte prüft den Datenbankbenutzer und dessen Passwort nochmals – ändert ggf. das Passwort auf etwas Sicheres um und hinterlegt es in der wp-config.php
Datenbankbenutzer – eigener Benutzer verwenden
Verwendet niemals den Datenbank root Benutzer für die WordPress Installation. Dies hat mehrere Gründe:
Sollte die wp-config.php Datei irgendwie gelesen werden, können – dann kann, der Angreifer mit eurer Datenbank alles machen was er will, sowie sehr einfach in das System eingreifen. Noch kommt dazu, dass der root User Zugriff in alle Datenbanken hat, die auf diesem Datenbankserver liegen.
Deshalb erstellt, immer einen neuen Benutzer und legt auch die Rechte fest.
Datenbank aufräumen
Nach vielen Plugin Installationen und nach vielen Beiträgen, muss auch die Datenbank aufgeräumt werden und von Altlasten entfernt werden.
Ich verwende dazu das Plugin „Advanced Databse Cleaner“ bei diesem Plugin habe ich mir die Pro-Version gekauft.
Auch hier gilt, „kein Backup – kein Mitleid!“
Die Hauptaufgabe, die ich damit bewältige, ist das Löschen von Revisionen und das Löschen von Tabellen, die nicht mehr benötigt werden. zb. nach einer Plugin Deinstallation.
Hosting
Die beste Programmierung hilft nichts, wenn das Hosting langsam und einen schlechten Support leistet.
Suche einen vernünftigen Hosting Partner
Es gibt genug gute lokale Hosting Anbieter auch in deiner Nähe. Das Billigste Hosting kann nur die billigste Hardware kaufen, oder einen zu stark überbuchten Server anbieten – und das bekommt dann auch.
Je nach Auslastung und Besucherzahlen sowie nach eingesetzter Technologie und Anzahl an zusätzlichen Plugins kann ein Memory Limit von 256 MB schnell überschritten werden. Sowie reichte einen Virtuelle CPU nicht mehr aus.
Ein vernünftiges Hosting fängt um die 15-20€ pro Monat an, damit hat man auch Spaß.
Für Experten unter euch wäre auch ein eigener VPS Server hier die bessere Wahl.
Verbinde dich nur mit SFTP oder SSH auf deinen Server
Ein gutes Hosting, legt Wert auf Sicherheit. Versichere, dass du verschlüsselt auf dein Hosting zugreifst.
Ändere die Dateirechte: Ordner auf 755 und 644 für Dateien
Im Plugin „WP-Security“ gibt es unter Dateisystem-Sicherheit den Tab „Dateiberechtigungen“ passe ggf. die Rechte mit dem Button „korrigieren“ an.
Prüfe ob die wp-config.php nicht erreichbar ist
Setzte den hacken bei „Zugriff auf WP-Standard-Installationsdateien verhindern“. Verhindere damit, dass Hacker die Version von WordPress einfach auslesen kann.
Deaktiviere Dateiänderungen
Aktiviere auch „Fähigkeit PHP-Dateien zu bearbeiten deaktivieren“ um die Angriffsfläche zu minimieren.
Deaktiviere die „directory listing“
Selten aber dennoch gesehen, ist das directory listing. Wird ein Pfad geöffnet, zeigt es den Inhalt im Browser an. Dies ist für Hacker die einfachste Art herauszufinden, welche Plugins und Themes verwendet werden. Deaktiviert in eurem Hosting diese Funktion.
PHP Warnungen deaktivieren
Unterbindet im Hosting jegliche Art von Warnungen und Fehler Darstellung durch PHP – oft werden gezielt Fehler über Formulare herbeigerufen, die den Angreifern wertvolle Informationen geben. Wird eine Ausgabe unterbunden, dann bekommt der Angreifer einfach keine Informationen.
Ihr findet diese Einstellung meistens unter PHP Einstellungen.
Dies funktioniert nur, wenn der „Debug“ in der wp-config.php Datei auf „false“ gestellt ist. Normalerweise wird der Debugmodus nur dann aktiviert, wenn es Probleme gibt. Schaut einen kurzen Blick in die Datei und versichert euch, dass dieser auf „false“ steht.
Verwende eine aktuelle PHP-Version
Verwende eine aktuelle PHP-Version! – 7.4 oder 8.0 sind derzeit noch aktuell.
Sollte ich wichtige Aspekte vergessen habe, bitte kommentiert es – ich ergänze die Liste gerne!
Die Liste ist zur freien Verwendung, darf also kopiert, angepasst oder auch veröffentlicht werden.
Oft hilft bei der Umsetzung das Plugin „WP – Security“ oder auch WordFence.
Viel Spaß und Happy WordPress Security
Die Liste wurde aus verschiedensten Quellen zusammengestellt, vieles davon aus eigener Erfahrung.