WordPress Sicherheits-Checkliste – bevor die Webseite live gehen kann.

WordPress Security Checkliste - alles, was vor einem Livegang beachtet werden sollte.

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.
Eigene Abbildung - WP-Config Datei
Eigene Abbildung – WP-Config Datei

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:

Eigene Abbildung - WP-Keys
Eigene Abbildung – WP-Keys

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.

WPS Hide - Anmelde URL ändern
Eigene Abbildung – Anmelde URL ändern

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.

Lockout Screenshot
Eigene Abbildung – Lockout Screenshot Einstellungen

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!

Username Changer Abbildung
Eigene Abbildung – Benutzername ändern

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.

Eigene Abbildung - SSL Einstellungen
Eigene Abbildung – SSL Einstellungen WordPress

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.

Eigene Abbildung - Automatische Plugin update Funktion
Eigene Abbildung – Automatische Plugin update Funktion

Plugins löschen

Nicht mehr aktive Plugins müssen gelöscht werden, damit die Angriffsfläche minimiert wird.

Alternative Plugins

Eigene Abbildung - Plugin Sicherheitswarnung von WordPress zu alt
Eigene Abbildung – Plugin Sicherheitswarnung von WordPress zu alt

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.

Eigene Abbildung - Tabellenpräfix ändern über WP Security Plugin
Eigene Abbildung – Tabellenpräfix ändern über WP Security Plugin

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.

Eigene Abbildung - Dateirechte anpassen
Eigene Abbildung – Dateirechte anpassen

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.

Eigene Abbildung - Dateirechte eingrenzen
Eigene Abbildung – Dateirechte eingrenzen

Deaktiviere Dateiänderungen

Aktiviere auch „Fähigkeit PHP-Dateien zu bearbeiten deaktivieren“ um die Angriffsfläche zu minimieren.

Eigene Abbildung - Dateiänderungen sperren
Eigene Abbildung – Dateiänderungen sperren

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.

Christoph Purin
Christoph Purin

Mein Name ist Christoph Purin und befasse mich mit IoT Geräten wie Raspberry, Arduino, ESP. Auch Aktivitäten wie die FFW, Quad-fahren, Amateurfunk zählen zu meinen bevorzugten Hobbys.
Dieser Blog, stellt eine Sammlung meiner Projekte dar, wie Dinge gelöst oder umgebaut werden können.

Artikel: 345

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert