Die Sicherheit in WordPress wird sehr ernst genommen, aber wie bei jedem anderen System gibt es potenzielle Sicherheitsprobleme, die auftreten können, wenn einige grundlegende Sicherheitsvorkehrungen nicht getroffen werden. In diesem Artikel werden einige gängige Formen von Sicherheitsanfälligkeiten und die Dinge beschrieben, die Sie tun können, um Ihre WordPress-Installation sicher zu halten.
Dieser Artikel ist nicht die ultimative schnelle Lösung für Ihre Sicherheitsbedenken. Wenn Sie bestimmte Sicherheitsbedenken oder Zweifel haben, sollten Sie diese mit Personen besprechen, denen Sie ausreichende Kenntnisse über Computersicherheit und WordPress zutrauen.
- Was ist Sicherheit? # Was ist Sicherheit?
- Sicherheitsthemen # Sicherheitsthemen
- Schwachstellen auf Ihrem Computer # Schwachstellen auf Ihrem Computer
- Schwachstellen in WordPress # Schwachstellen in WordPress
- WordPress aktualisieren # WordPress aktualisieren
- Melden von Sicherheitsproblemen # Melden von Sicherheitsproblemen
- Schwachstellen des Webservers # Schwachstellen des Webservers
- Netzwerkschwachstellen # Netzwerkschwachstellen
- Passwörter # Passwörter
- FTP # FTP
- Dateiberechtigungen # Dateiberechtigungen
- Ändern der Dateiberechtigungen # Ändern der Dateiberechtigungen
- In Bezug auf automatische Updates # In Bezug auf automatische Updates
- Datenbanksicherheit # Datenbanksicherheit
- Datenbankbenutzerrechte einschränken # Datenbankbenutzerrechte einschränken
- Sichern von wp-admin # Sichern von wp-admin
- Sichern von wp-includes # Sichern von wp-includes
- Sichern von wp-config.php # Sicherung wp-config.php
- Dateibearbeitung deaktivieren # Dateibearbeitung deaktivieren
- Plugins # Plugins
- Firewall # Firewall
- Plugins, die Schreibzugriff benötigen # Plugins, die Schreibzugriff benötigen
- Plugins zur Codeausführung # Plugins zur Codeausführung
- Sicherheit durch Dunkelheit # Sicherheit durch Dunkelheit
- Datensicherungen # Datensicherungen
- Logging # Logging
- Überwachung # Überwachung
- Überwachung Ihrer Protokolle # Überwachung Ihrer Protokolle
- Überwachung Ihrer Dateien auf Änderungen # Überwachung Ihrer Dateien auf Änderungen
- Ziele # Ziele
- Allgemeine Ansätze # Allgemeine Ansätze
- Spezifische Werkzeuge # Spezifische Werkzeuge
- Überlegungen # Überlegungen
- Webserver extern überwachen # Webserver extern überwachen
- Ressourcen # Ressourcen
- Siehe auch # Siehe auch
Was ist Sicherheit? # Was ist Sicherheit?
Grundsätzlich geht es bei Sicherheit nicht um vollkommen sichere Systeme. So etwas könnte unpraktisch oder unmöglich zu finden und / oder zu warten sein. Was Sicherheit jedoch ist, ist Risikominderung, nicht Risikobeseitigung. Es geht darum, im Rahmen des Zumutbaren alle geeigneten Steuerelemente einzusetzen, mit denen Sie Ihre allgemeine Haltung verbessern können, um die Wahrscheinlichkeit zu verringern, dass Sie sich selbst zum Ziel machen und anschließend gehackt werden.
Website-Hosts
Oft ist Ihre Hosting-Umgebung ein guter Ausgangspunkt, wenn es um Website-Sicherheit geht. Heutzutage stehen Ihnen eine Reihe von Optionen zur Verfügung, und während Hosts Sicherheit auf einem bestimmten Niveau bieten, ist es wichtig zu verstehen, wo ihre Verantwortung endet und Ihre beginnt. Hier ist ein guter Artikel, der die komplizierte Dynamik zwischen Webhosts und der Sicherheit Ihrer Website erklärt. Ein sicherer Server schützt die Privatsphäre, Integrität und Verfügbarkeit der Ressourcen unter der Kontrolle des Serveradministrators.
Zu den Qualitäten eines vertrauenswürdigen Webhosts können gehören:
- Diskutiert bereitwillig Ihre Sicherheitsbedenken und welche Sicherheitsfunktionen und -prozesse sie mit ihrem Hosting anbieten.
- Bietet die aktuellsten stabilen Versionen aller Serversoftware.
- Bietet zuverlässige Methoden für Backup und Recovery.
Entscheiden Sie, welche Sicherheit Sie auf Ihrem Server benötigen, indem Sie die Software und die Daten bestimmen, die gesichert werden müssen. Der Rest dieses Handbuchs wird Ihnen dabei helfen.
Website-Anwendungen
Es ist einfach, Webhosts zu betrachten und die Sicherheitsverantwortung an sie weiterzugeben, aber es gibt auch eine enorme Menge an Sicherheit, die auf dem Website-Besitzer liegt. Webhosts sind oft für die Infrastruktur verantwortlich, auf der sich Ihre Website befindet, sie sind nicht für die Anwendung verantwortlich, die Sie installieren möchten.
Um zu verstehen, wo und warum dies wichtig ist, müssen Sie verstehen, wie Websites gehackt werden, Selten wird dies der Infrastruktur und meistens der Anwendung selbst (dh der Umgebung, für die Sie verantwortlich sind) zugeschrieben.
Oben
Sicherheitsthemen # Sicherheitsthemen
Denken Sie an einige allgemeine Ideen, während Sie die Sicherheit für jeden Aspekt Ihres Systems berücksichtigen:
Zugriff einschränken
Intelligente Entscheidungen treffen, die mögliche Einstiegspunkte für eine böswillige Person reduzieren.
Eindämmung
Ihr System sollte so konfiguriert sein, dass es den Schaden minimiert, der im Falle einer Kompromittierung entstehen kann.
Vorbereitung und Wissen
Halten Sie Backups und kennen Sie den Status Ihrer WordPress-Installation in regelmäßigen Abständen. Wenn Sie einen Plan zur Sicherung und Wiederherstellung Ihrer Installation im Katastrophenfall haben, können Sie im Falle eines Problems schneller wieder online gehen.
Vertrauenswürdige Quellen
Holen Sie sich keine Plugins / Themes von nicht vertrauenswürdigen Quellen. Beschränken Sie sich auf die WordPress.org repository oder bekannte Unternehmen. Der Versuch, Plugins / Themes von außen zu erhalten, kann zu Problemen führen.
Top
Schwachstellen auf Ihrem Computer # Schwachstellen auf Ihrem Computer
Stellen Sie sicher, dass die von Ihnen verwendeten Computer frei von Spyware, Malware und Virusinfektionen sind. Kein Maß an Sicherheit in WordPress oder auf Ihrem Webserver macht den geringsten Unterschied, wenn sich auf Ihrem Computer ein Keylogger befindet.
Halten Sie Ihr Betriebssystem und die darauf befindliche Software, insbesondere Ihren Webbrowser, immer auf dem neuesten Stand, um Sie vor Sicherheitslücken zu schützen. Wenn Sie nicht vertrauenswürdige Websites durchsuchen, empfehlen wir auch die Verwendung von Tools wie No-Script (oder Deaktivieren von Javascript / Flash / Java) in Ihrem Browser.
Oben
Schwachstellen in WordPress # Schwachstellen in WordPress
Wie viele moderne Softwarepakete wird WordPress regelmäßig aktualisiert, um neue Sicherheitsprobleme zu beheben, die auftreten können. Die Verbesserung der Softwaresicherheit ist immer ein ständiges Anliegen, und zu diesem Zweck sollten Sie immer über die neueste Version von WordPress auf dem Laufenden bleiben. Ältere Versionen von WordPress werden nicht mit Sicherheitsupdates gepflegt.
WordPress aktualisieren # WordPress aktualisieren
Hauptartikel: WordPress aktualisieren.
Die neueste Version von WordPress ist immer auf der Haupt-WordPress-Website unter https://wordpress.org verfügbar. Offizielle Versionen sind nicht von anderen Websites verfügbar – laden oder installieren Sie WordPress niemals von einer anderen Website als https://wordpress.org.
Seit Version 3.7 bietet WordPress automatische Updates. Verwenden Sie diese Funktionalität, um den Prozess der Aktualisierung zu vereinfachen. Sie können auch das WordPress-Dashboard verwenden, um über Updates informiert zu bleiben. Lesen Sie den Eintrag im Dashboard oder im WordPress-Entwicklerblog, um zu bestimmen, welche Schritte Sie ausführen müssen, um zu aktualisieren und sicher zu bleiben.
Wenn eine Sicherheitsanfälligkeit in WordPress entdeckt wird und eine neue Version veröffentlicht wird, um das Problem zu beheben, sind die Informationen, die zum Ausnutzen der Sicherheitsanfälligkeit erforderlich sind, mit ziemlicher Sicherheit gemeinfrei. Dies macht alte Versionen anfälliger für Angriffe und ist einer der Hauptgründe, warum Sie WordPress immer auf dem neuesten Stand halten sollten.
Wenn Sie ein Administrator sind, der für mehr als eine WordPress-Installation verantwortlich ist, sollten Sie Subversion verwenden, um die Verwaltung zu vereinfachen.
Oben
Melden von Sicherheitsproblemen # Melden von Sicherheitsproblemen
Wenn Sie glauben, eine Sicherheitslücke in WordPress gefunden zu haben, können Sie helfen, indem Sie das Problem melden. Informationen zum Melden von Sicherheitsproblemen finden Sie in den Sicherheits-FAQ.
Wenn Sie glauben, einen Fehler gefunden zu haben, melden Sie ihn. Siehe Fehler senden, um zu erfahren, wie Sie dies tun können. Möglicherweise haben Sie eine Sicherheitsanfälligkeit oder einen Fehler entdeckt, der zu einer solchen führen könnte.
Oben
Schwachstellen des Webservers # Schwachstellen des Webservers
Der Webserver, auf dem WordPress ausgeführt wird, und die darauf befindliche Software können Schwachstellen aufweisen. Stellen Sie daher sicher, dass Sie sichere, stabile Versionen Ihres Webservers und der darauf befindlichen Software ausführen, oder stellen Sie sicher, dass Sie einen vertrauenswürdigen Host verwenden, der diese Dinge für Sie erledigt.
Wenn Sie sich auf einem gemeinsam genutzten Server befinden (der neben Ihrer eigenen auch andere Websites hostet) und eine Website auf demselben Server kompromittiert ist, kann Ihre Website möglicherweise ebenfalls kompromittiert werden, selbst wenn Sie alles in diesem Handbuch befolgen. Stellen Sie sicher, dass Sie Ihren Webhost fragen, welche Sicherheitsvorkehrungen er trifft.
Oben
Netzwerkschwachstellen # Netzwerkschwachstellen
Dem Netzwerk an beiden Enden — der WordPress—Serverseite und der Client-Netzwerkseite – sollte vertraut werden. Das bedeutet, dass Sie die Firewall-Regeln auf Ihrem Heimrouter aktualisieren und darauf achten müssen, von welchen Netzwerken aus Sie arbeiten. Ein Internetcafe, in dem Sie Passwörter über eine unverschlüsselte Verbindung senden, drahtlos oder auf andere Weise, ist kein vertrauenswürdiges Netzwerk.
Ihr Webhost sollte sicherstellen, dass sein Netzwerk nicht von Angreifern kompromittiert wird, und Sie sollten dasselbe tun. Durch Netzwerkschwachstellen können Kennwörter und andere vertrauliche Informationen abgefangen werden.
Top
Passwörter # Passwörter
Viele potenzielle Schwachstellen können mit guten Sicherheitsgewohnheiten vermieden werden. Ein starkes Passwort ist dabei ein wichtiger Aspekt.
Das Ziel Ihres Passworts besteht darin, es anderen Personen schwer zu machen, es zu erraten, und es einem Brute-Force-Angriff schwer zu machen, erfolgreich zu sein. Es stehen viele automatische Passwortgeneratoren zur Verfügung, mit denen sichere Passwörter erstellt werden können.
WordPress bietet auch einen Passwortstärkemesser, der angezeigt wird, wenn Sie Ihr Passwort in WordPress ändern. Verwenden Sie diese Option, wenn Sie Ihr Passwort ändern, um sicherzustellen, dass seine Stärke ausreichend ist.
Dinge, die Sie bei der Auswahl eines Passworts vermeiden sollten:
- Jede Permutation Ihres eigenen echten Namens, Benutzernamens, Firmennamens oder Namens Ihrer Website.
- Ein Wort aus einem Wörterbuch in einer beliebigen Sprache.
- Ein kurzes Passwort.
- Jedes nur numerische oder nur alphabetische Passwort (eine Mischung aus beidem ist am besten).
Ein starkes Passwort ist nicht nur notwendig, um Ihre Blog-Inhalte zu schützen. Ein Hacker, der Zugriff auf Ihr Administratorkonto erhält, kann schädliche Skripte installieren, die möglicherweise Ihren gesamten Server gefährden können.
Zusätzlich zur Verwendung eines sicheren Passworts empfiehlt es sich, die zweistufige Authentifizierung als zusätzliche Sicherheitsmaßnahme zu aktivieren.
Oben
FTP # FTP
Wenn Sie eine Verbindung zu Ihrem Server herstellen, sollten Sie die SFTP-Verschlüsselung verwenden, wenn Ihr Webhost dies bereitstellt. Wenn Sie sich nicht sicher sind, ob Ihr Webhost SFTP bereitstellt oder nicht, fragen Sie ihn einfach.
Die Verwendung von SFTP ist dasselbe wie FTP, außer dass Ihr Passwort und andere Daten verschlüsselt werden, wenn sie zwischen Ihrem Computer und Ihrer Website übertragen werden. Dies bedeutet, dass Ihr Passwort niemals im Klartext gesendet wird und von einem Angreifer nicht abgefangen werden kann.
Oben
Dateiberechtigungen # Dateiberechtigungen
Einige nette Funktionen von WordPress ergeben sich daraus, dass verschiedene Dateien vom Webserver beschreibbar sind. Das Zulassen des Schreibzugriffs auf Ihre Dateien ist jedoch potenziell gefährlich, insbesondere in einer Shared-Hosting-Umgebung.
Es ist am besten, Ihre Dateiberechtigungen so weit wie möglich zu sperren und diese Einschränkungen zu lockern, wenn Sie Schreibzugriff zulassen müssen, oder bestimmte Ordner mit weniger Einschränkungen zu erstellen, um beispielsweise Dateien hochzuladen.
Hier ist ein mögliches Berechtigungsschema.
Alle Dateien sollten Ihrem Benutzerkonto gehören und von Ihnen beschreibbar sein. Jede Datei, die Schreibzugriff von WordPress benötigt, sollte vom Webserver beschreibbar sein, wenn Ihre Hosting-Einrichtung dies erfordert, kann dies bedeuten, dass diese Dateien dem Benutzerkonto gehören müssen, das vom Webserver-Prozess verwendet wird.
/
Das WordPress-Stammverzeichnis: Alle Dateien sollten nur von Ihrem Benutzerkonto beschreibbar sein, außer .htaccess
Wenn Sie möchten, dass WordPress automatisch Umschreibregeln für Sie generiert.
/wp-admin/
Der WordPress-Administrationsbereich: Alle Dateien sollten nur von Ihrem Benutzerkonto beschreibbar sein.
/wp-includes/
Der Großteil der WordPress-Anwendungslogik: Alle Dateien sollten nur von Ihrem Benutzerkonto beschreibbar sein.
/wp-content/
Vom Benutzer bereitgestellter Inhalt: soll von Ihrem Benutzerkonto und dem Webserver-Prozess beschreibbar sein.
Innerhalb von /wp-content/
finden Sie:
/wp-content/themes/
Theme-Dateien. Wenn Sie den integrierten Theme-Editor verwenden möchten, müssen alle Dateien vom Webserver-Prozess beschreibbar sein. Wenn Sie den integrierten Theme-Editor nicht verwenden möchten, können alle Dateien nur von Ihrem Benutzerkonto beschreibbar sein.
/wp-content/plugins/
Plugin-Dateien: Alle Dateien sollten nur von Ihrem Benutzerkonto beschreibbar sein.
Andere Verzeichnisse, die mit /wp-content/
vorhanden sein können, sollten von jedem Plugin oder Thema dokumentiert werden, das sie benötigt. Berechtigungen können variieren.
Top
Ändern der Dateiberechtigungen # Ändern der Dateiberechtigungen
Wenn Sie Shell-Zugriff auf Ihren Server haben, können Sie die Dateiberechtigungen rekursiv mit dem folgenden Befehl ändern:
Für Verzeichnisse:
find /path/to/your/wordpress/install/ -type d -exec chmod 755 {} \;
Für Dateien:
find /path/to/your/wordpress/install/ -type f -exec chmod 644 {} \;
Oben
In Bezug auf automatische Updates # In Bezug auf automatische Updates
Wenn Sie WordPress anweisen, ein automatisches Update durchzuführen, werden alle Dateioperationen als Benutzer ausgeführt, dem die Dateien gehören, nicht als Benutzer des Webservers. Alle Dateien werden auf 0644 und alle Verzeichnisse auf 0755 gesetzt und nur vom Benutzer beschreibbar und von allen anderen, einschließlich des Webservers, lesbar.
Top
Datenbanksicherheit # Datenbanksicherheit
Wenn Sie mehrere Blogs auf demselben Server betreiben, sollten Sie sie in separaten Datenbanken aufbewahren, die jeweils von einem anderen Benutzer verwaltet werden. Dies geschieht am besten bei der ersten WordPress-Installation. Dies ist eine Eindämmungsstrategie: Wenn ein Eindringling eine WordPress-Installation erfolgreich knackt, ist es viel schwieriger, Ihre anderen Blogs zu ändern.
Wenn Sie MySQL selbst verwalten, stellen Sie sicher, dass Sie Ihre MySQL-Konfiguration verstehen und dass nicht benötigte Funktionen (z. B. das Akzeptieren von Remote-TCP-Verbindungen) deaktiviert sind. Eine schöne Einführung finden Sie unter Sicheres MySQL-Datenbankdesign.
Oben
Datenbankbenutzerrechte einschränken # Datenbankbenutzerrechte einschränken
Für normale WordPress-Vorgänge wie das Posten von Blogbeiträgen, das Hochladen von Mediendateien, das Posten von Kommentaren, das Erstellen neuer WordPress-Benutzer und das Installieren von WordPress-Plugins benötigt der MySQL-Datenbankbenutzer nur Lese- und Schreibrechte für die MySQL-Datenbank; AUSWÄHLEN, EINFÜGEN, AKTUALISIEREN und LÖSCHEN.
Daher können alle anderen Datenbankstruktur- und Administratorrechte wie DROP, ALTER und GRANT widerrufen werden. Indem Sie solche Privilegien widerrufen, verbessern Sie auch die Eindämmungsrichtlinien.Hinweis: Einige Plugins, Themes und wichtige WordPress-Updates erfordern möglicherweise strukturelle Änderungen an der Datenbank, z. B. das Hinzufügen neuer Tabellen oder das Ändern des Schemas. In diesem Fall müssen Sie dem Datenbankbenutzer vor der Installation des Plugins oder der Aktualisierung einer Software vorübergehend die erforderlichen Berechtigungen erteilen.
WARNUNG: Der Versuch von Aktualisierungen ohne diese Berechtigungen kann zu Problemen führen, wenn Änderungen am Datenbankschema vorgenommen werden. Daher wird NICHT empfohlen, diese Berechtigungen zu widerrufen. Wenn Sie das Bedürfnis haben, dies aus Sicherheitsgründen zu tun, dann stellen Sie bitte sicher, dass Sie zuerst einen soliden Backup-Plan haben, mit regelmäßigen ganzen Datenbank-Backups, die Sie getestet haben, sind gültig und das kann leicht wiederhergestellt werden. Ein fehlgeschlagenes Datenbankupgrade kann normalerweise behoben werden, indem die Datenbank auf eine alte Version zurückgesetzt, die richtigen Berechtigungen erteilt und WordPress dann die Datenbankaktualisierung erneut versuchen lässt. Wenn Sie die Datenbank wiederherstellen, wird sie auf diese alte Version zurückgesetzt, und die WordPress-Verwaltungsbildschirme erkennen dann die alte Version und ermöglichen es Ihnen, die erforderlichen SQL-Befehle darauf auszuführen. Die meisten WordPress-Upgrades ändern das Schema nicht, einige jedoch. Nur wichtige Punktaktualisierungen (z. B. 3.7 bis 3.8) ändern das Schema. Kleinere Upgrades (3.8 bis 3.8.1) werden in der Regel nicht. Führen Sie dennoch ein regelmäßiges Backup durch.
Oben
Sichern von wp-admin # Sichern von wp-admin
Hinzufügen eines serverseitigen Kennwortschutzes (z. B. BasicAuth) zu /wp-admin/
fügt eine zweite Schutzebene um den Admin-Bereich Ihres Blogs, den Anmeldebildschirm und Ihre Dateien hinzu. Dies zwingt einen Angreifer oder Bot, diese zweite Schutzschicht anstelle Ihrer eigentlichen Administratordateien anzugreifen. Viele WordPress-Angriffe werden autonom von bösartigen Software-Bots ausgeführt.
Das einfache Sichern des wp-admin/
-Verzeichnisses kann auch einige WordPress-Funktionen beeinträchtigen, z. B. den AJAX-Handler unter wp-admin/admin-ajax.php
. Weitere Informationen zum richtigen Kennwortschutz Ihres wp-admin/
-Verzeichnisses finden Sie im Abschnitt Ressourcen.
Die häufigsten Angriffe auf ein WordPress-Blog lassen sich in der Regel in zwei Kategorien einteilen.
- Senden speziell gestalteter HTTP-Anfragen an Ihren Server mit bestimmten Exploit-Nutzlasten für bestimmte Schwachstellen. Dazu gehören alte / veraltete Plugins und Software.
- Der Versuch, durch „Brute-Force“ -Passwort-Erraten Zugang zu Ihrem Blog zu erhalten.
Die ultimative Implementierung dieses „Second Layer“ -Passwortschutzes besteht darin, eine HTTPS-SSL-verschlüsselte Verbindung für die Verwaltung zu benötigen, so dass die gesamte Kommunikation und sensible Daten verschlüsselt sind. Siehe Administration über SSL.
Top
Sichern von wp-includes # Sichern von wp-includes
Eine zweite Schutzschicht kann hinzugefügt werden, wenn Skripte im Allgemeinen nicht für den Zugriff durch einen Benutzer vorgesehen sind. Eine Möglichkeit, dies zu tun, besteht darin, diese Skripte mit mod_rewrite in der zu blockieren.htaccess-Datei. Hinweis: Um sicherzustellen, dass der folgende Code nicht von WordPress überschrieben wird, platzieren Sie ihn außerhalb der Tags # BEGIN WordPress
und # END WordPress
in der .htaccess-Datei. WordPress kann alles zwischen diesen Tags überschreiben.
Oben
Sichern von wp-config.php # Sicherung wp-config.php
Sie können die wp-config.php
-Datei in das Verzeichnis über Ihrer WordPress-Installation verschieben. Dies bedeutet, dass Sie für eine Site, die im Stammverzeichnis Ihres Webspace installiert ist, wp-config.php
außerhalb des Webstammordners speichern können.
Hinweis: Einige Leute behaupten, dass das Verschieben von wp-config.php hat minimale Sicherheitsvorteile und kann, wenn es nicht sorgfältig ausgeführt wird, tatsächlich schwerwiegende Sicherheitslücken aufweisen. Andere sind anderer Meinung.
Beachten Sie, dass wp-config.php
EINE Verzeichnisebene über der WordPress-Installation (in der sich wp-includes befindet) gespeichert werden kann. Stellen Sie außerdem sicher, dass nur Sie (und der Webserver) diese Datei lesen können (dies bedeutet im Allgemeinen eine Berechtigung von 400 oder 440).
Wenn Sie einen Server mit .htaccess, Sie können dies in diese Datei (ganz oben) einfügen, um jedem, der danach surft, den Zugriff zu verweigern:
<files wp-config.php>order allow,denydeny from all</files>
Oben
Dateibearbeitung deaktivieren # Dateibearbeitung deaktivieren
Im WordPress-Dashboard können Administratoren standardmäßig PHP-Dateien wie Plugin- und Themendateien bearbeiten. Dies ist oft das erste Tool, das ein Angreifer verwendet, wenn er sich anmelden kann, da es die Ausführung von Code ermöglicht. WordPress hat eine Konstante, um die Bearbeitung über das Dashboard zu deaktivieren. Platzieren Sie diese Zeile in wp-config.php entspricht dem Entfernen der Funktionen ‚edit_themes‘, ‚edit_plugins‘ und ‚edit_files‘ aller Benutzer:
define('DISALLOW_FILE_EDIT', true);
Dies hindert einen Angreifer nicht daran, schädliche Dateien auf Ihre Site hochzuladen, kann jedoch einige Angriffe stoppen.
Oben
Plugins # Plugins
Stellen Sie zunächst sicher, dass Ihre Plugins immer aktualisiert werden. Wenn Sie kein bestimmtes Plugin verwenden, löschen Sie es aus dem System.
Oben
Firewall # Firewall
Es gibt viele Plugins und Dienste, die als Firewall für Ihre Website fungieren können. Einige von ihnen arbeiten, indem Sie Ihre .htaccess
-Datei und die Beschränkung einiger Zugriff auf der Apache-Ebene, bevor sie von WordPress verarbeitet wird. Ein gutes Beispiel ist iThemes Security oder All in One WP Security. Einige Firewall-Plugins wirken auf WordPress-Ebene, wie WordFence und Shield, und versuchen, Angriffe zu filtern, während WordPress geladen wird, jedoch bevor es vollständig verarbeitet wird.Neben Plugins können Sie auch eine WAF (Web Firewall) auf Ihrem Webserver installieren, um Inhalte zu filtern, bevor sie von WordPress verarbeitet werden. Die beliebteste Open Source WAF ist ModSecurity.
Eine Website-Firewall kann auch als Vermittler zwischen dem Datenverkehr aus dem Internet und Ihrem Hosting-Server hinzugefügt werden. Diese Dienste fungieren alle als Reverse-Proxys, in denen sie die anfänglichen Anforderungen akzeptieren und an Ihren Server umleiten, wodurch alle böswilligen Anforderungen entfernt werden. Sie erreichen dies, indem Sie Ihre DNS-Einträge über einen A-Eintrag oder einen vollständigen DNS-Swap ändern, sodass der gesamte Datenverkehr zuerst durch das neue Netzwerk geleitet werden kann. Dadurch wird der gesamte Datenverkehr von der Firewall gefiltert, bevor er Ihre Site erreicht. Einige Unternehmen bieten solche Dienste an, wie CloudFlare, Sucuri und Incapsula.Darüber hinaus fungieren diese Drittanbieter standardmäßig als Content Distribution Network (CDNs) und führen Leistungsoptimierung und globale Reichweite ein.
Oben
Plugins, die Schreibzugriff benötigen # Plugins, die Schreibzugriff benötigen
Wenn ein Plugin Schreibzugriff auf Ihre WordPress-Dateien und -Verzeichnisse wünscht, lesen Sie bitte den Code, um sicherzustellen, dass er legitim ist, oder wenden Sie sich an jemanden, dem Sie vertrauen. Mögliche Orte zu überprüfen sind die Support-Foren und IRC-Kanal.
Oben
Plugins zur Codeausführung # Plugins zur Codeausführung
Wie gesagt, ein Teil des Ziels der Härtung von WordPress besteht darin, den Schaden einzudämmen, der bei einem erfolgreichen Angriff entsteht. Plugins, mit denen beliebiger PHP- oder anderer Code aus Einträgen in einer Datenbank ausgeführt werden kann, vergrößern effektiv die Möglichkeit von Schäden im Falle eines erfolgreichen Angriffs.
Eine Möglichkeit, die Verwendung eines solchen Plugins zu vermeiden, besteht darin, benutzerdefinierte Seitenvorlagen zu verwenden, die die Funktion aufrufen. Ein Teil der Sicherheit, die dies bietet, ist nur aktiv, wenn Sie die Dateibearbeitung in WordPress nicht zulassen.
Oben
Sicherheit durch Dunkelheit # Sicherheit durch Dunkelheit
Sicherheit durch Dunkelheit ist im Allgemeinen eine unsolide Primärstrategie. Es gibt jedoch Bereiche in WordPress, in denen das Verschleiern von Informationen zur Sicherheit beitragen kann:
- Benennen Sie das Administratorkonto um: Vermeiden Sie beim Erstellen eines Administratorkontos leicht zu erratende Begriffe wie
admin
oderwebmaster
als Benutzernamen, da diese normalerweise zuerst angegriffen werden. Bei einer vorhandenen WordPress-Installation können Sie das vorhandene Konto im MySQL-Befehlszeilenclient mit einem Befehl wieUPDATE wp_users SET user_login = 'newuser' WHERE user_login = 'admin';
oder mit einem MySQL-Frontend wie phpMyAdmin umbenennen. - Ändern des table_prefix: Viele veröffentlichte WordPress-spezifische SQL-Injection-Angriffe gehen davon aus, dass das table_prefix
wp_
, der Standardwert. Wenn Sie dies ändern, können zumindest einige SQL-Injection-Angriffe blockiert werden.
Top
Datensicherungen # Datensicherungen
Sichern Sie regelmäßig Ihre Daten, einschließlich Ihrer MySQL-Datenbanken. Siehe den Hauptartikel: Sichern Sie Ihre Datenbank.
Datenintegrität ist entscheidend für vertrauenswürdige Backups. Das Verschlüsseln der Sicherung, das Führen einer unabhängigen Aufzeichnung von MD5-Hashes für jede Sicherungsdatei und / oder das Platzieren von Sicherungen auf schreibgeschützten Medien erhöht Ihre Sicherheit, dass Ihre Daten nicht manipuliert wurden.
Eine gute Backup-Strategie könnte darin bestehen, eine Reihe von Snapshots Ihrer gesamten WordPress-Installation (einschließlich WordPress-Kerndateien und Ihrer Datenbank) an einem vertrauenswürdigen Speicherort zu speichern. Stellen Sie sich eine Website vor, die wöchentliche Schnappschüsse macht. Eine solche Strategie bedeutet, dass, wenn eine Site am 1. Mai kompromittiert wird, die Kompromittierung jedoch erst am 12. Mai erkannt wird, der Websitebesitzer über Pre-Compromise-Backups verfügt, die beim Wiederaufbau der Site helfen können, und möglicherweise sogar Post-Compromise-Backups, die bei der Bestimmung helfen, wie die Site kompromittiert wurde.
Top
Logging # Logging
Logs sind Ihr bester Freund, wenn es darum geht zu verstehen, was mit Ihrer Website passiert, insbesondere wenn Sie versuchen, Forensik durchzuführen. Entgegen der landläufigen Meinung können Sie mit Protokollen sehen, was von wem und wann getan wurde. Leider werden die Protokolle nicht sagen, wer, Benutzername, angemeldet, aber es wird Ihnen erlauben, die IP und Zeit zu identifizieren und was noch wichtiger ist, die Aktionen der Angreifer getroffen haben könnte. Sie können alle diese Angriffe über die Protokolle sehen – Cross Site Scripting (XSS), Remote File Inclusion (RFI), Local File Inclusion (LFI) und Directory Traversal Versuche. Sie können auch Brute-Force-Versuche sehen. Es stehen verschiedene Beispiele und Tutorials zur Verfügung, die Sie durch das Parsen und Analysieren Ihrer Rohprotokolle führen.
Wenn Sie sich mit Ihren Protokollen wohler fühlen, können Sie beispielsweise sehen, wann die Theme- und Plugin-Editoren verwendet werden, wann jemand Ihre Widgets aktualisiert und wann Beiträge und Seiten hinzugefügt werden. Alle Schlüsselelemente bei forensischen Arbeiten an Ihrem Webserver. Es gibt einige WordPress-Sicherheits-Plugins, die Sie dabei unterstützen, wie das Sucuri-Auditing-Tool oder das Audit-Trail-Plugin.
Es gibt zwei wichtige Open-Source-Lösungen, die Sie auf Ihrem Webserver aus Sicherheitsgründen benötigen, dies ist ein mehrschichtiger Sicherheitsansatz.
OSSEC kann auf jeder NIX-Distribution und auch unter Windows ausgeführt werden. Wenn es richtig konfiguriert ist, ist es sehr mächtig. Die Idee ist, alle Protokolle zu korrelieren und zu aggregieren. Sie müssen sicherstellen, dass es so konfiguriert ist, dass alle access_logs und error_logs erfasst werden, und wenn Sie mehrere Websites auf dem Serverkonto haben. Sie sollten auch darauf achten, das Rauschen herauszufiltern. Standardmäßig sehen Sie viel Rauschen und möchten es so konfigurieren, dass es wirklich effektiv ist.
Oben
Überwachung # Überwachung
Manchmal reicht Prävention nicht aus und Sie können immer noch gehackt werden. Deshalb ist Intrusion Detection/Monitoring sehr wichtig. Auf diese Weise können Sie schneller reagieren, herausfinden, was passiert ist, und Ihre Site wiederherstellen.
Oben
Überwachung Ihrer Protokolle # Überwachung Ihrer Protokolle
Wenn Sie sich auf einem dedizierten oder virtuellen privaten Server befinden, auf dem Sie den Luxus des Root-Zugriffs haben, können Sie die Dinge einfach so konfigurieren, dass Sie sehen können, was los ist. OSSEC erleichtert dies leicht und hier ist ein kleiner Artikel, der Ihnen helfen könnte OSSEC für Website-Sicherheit – Teil I.
Top
Überwachung Ihrer Dateien auf Änderungen # Überwachung Ihrer Dateien auf Änderungen
Wenn ein Angriff stattfindet, hinterlässt er immer Spuren. Entweder in den Protokollen oder im Dateisystem (neue Dateien, geänderte Dateien usw.). Wenn Sie beispielsweise OSSEC verwenden, werden Ihre Dateien überwacht und Sie benachrichtigt, wenn sie sich ändern.
Ziele # Ziele
Zu den Zielen der Dateisystemverfolgung gehören:
- Geänderte und hinzugefügte Dateien überwachen
- Änderungen und Ergänzungen protokollieren
- Möglichkeit, granulare Änderungen rückgängig zu machen
- Automatisierte Warnungen
Oben
Allgemeine Ansätze # Allgemeine Ansätze
Administratoren können das Dateisystem über allgemeine Technologien überwachen, z. B .:
- Systemdienstprogramme
- Revisionskontrolle
- Überwachung der OS-/Kernel-Ebene
Top
Spezifische Werkzeuge # Spezifische Werkzeuge
Zu den Optionen für die Dateisystemüberwachung gehören:
- diff – Erstellen Sie eine saubere Testkopie Ihrer Site und vergleichen Sie sie mit der Produktion
- Git – Quellcodeverwaltung
- inotify und incron – Dateiüberwachungsdienst auf OS–Kernel–Ebene, der Befehle für Dateisystemereignisse ausführen kann
- Watcher – Python-Inotify-Bibliothek
- OSSEC – Open-Source-hostbasiertes Intrusion-Detection-System, das Protokollanalysen, Dateiintegritätsprüfungen, Richtlinienüberwachung, Rootkit-Erkennung, Echtzeitalarmierung und aktive Reaktion ausführt.
Top
Überlegungen # Überlegungen
Bei der Konfiguration einer dateibasierten Überwachungsstrategie gibt es viele Überlegungen, einschließlich der folgenden.
Führen Sie das Überwachungsskript / den Überwachungsdienst als root aus
Dies würde es Angreifern erschweren, Ihre Dateisystemüberwachungslösung zu deaktivieren oder zu ändern.
Deaktivieren Sie die Überwachung während geplanter Wartungsarbeiten/Upgrades
Dies würde unnötige Benachrichtigungen verhindern, wenn Sie regelmäßige Wartungsarbeiten an der Site durchführen.
Nur ausführbare Dateitypen überwachen
Es kann einigermaßen sicher sein, nur ausführbare Dateitypen zu überwachen, wie z.PHP-Dateien usw.. Das Herausfiltern nicht ausführbarer Dateien kann unnötige Protokolleinträge und Warnungen reduzieren.
Strenge Dateisystemberechtigungen verwenden
Lesen Sie mehr über das Sichern von Dateiberechtigungen und -besitz. Vermeiden Sie im Allgemeinen, Ausführungs- und Schreibberechtigungen so weit wie möglich zuzulassen.
Top
Webserver extern überwachen # Webserver extern überwachen
Wenn der Angreifer versucht, Ihre Website zu verunstalten oder Malware hinzuzufügen, können Sie diese Änderungen auch mithilfe einer webbasierten Integritätsmonitorlösung erkennen. Verwenden Sie Ihre bevorzugte Suchmaschine und suchen Sie nach Web-Malware-Erkennung und -behebung, und Sie werden wahrscheinlich eine lange Liste von Dienstanbietern erhalten.
Oben
Ressourcen # Ressourcen
- So verbessern Sie die WordPress-Sicherheit (Infografik)
- Sicherheits-Plugins
- WordPress-Sicherheit Durchschneiden der BS
- E-Book: WordPress sperren
- wpsecure.net hat ein paar Anleitungen zum Sperren von WordPress.
- Ein Leitfaden für Anfänger zum Härten von WordPress
- Brad Williams: Lock it Up (Video)
- 21 Möglichkeiten, Ihre WordPress-Site zu sichern
- Offizielle Dokumente zum Kennwortschutz von Verzeichnissen mit einem .htaccess-Datei
- Einfaches Tutorial zum Kennwortschutz des WordPress-Administratorbereichs und zur Behebung des 404-Fehlers
Oben
Siehe auch # Siehe auch
- Sicherheits-FAQ
- FAQ – Meine Website wurde gehackt
- Brute-Force-Angriffe
- WordPress-Sicherheits-Whitepaper