Wordpress Sicherheit

WordPress Sicherheit: So schließt du Sicherheitslücken und schützt dich vor Hacker-Angriffen

Hält man seine WordPress-Version immer auf dem aktuellsten Stand, hat man schon den ersten Schritt zur Verbesserung der WordPress-Sicherheit getan. Doch gibt es bei Weitem mehr Möglichkeiten, Hackern die Angriffe auf dieses CMS zu erschweren. Im folgenden Artikel kannst du eine Vielzahl an Tipps nachlesen, die dir dabei helfen, deinen WordPress-Blog vor Angriffen zu schützen.

Der Admin-Account hat alle Rechte: Wähle den Benutzernamen mit Bedacht!

Um es Angreifern so schwer wie möglich zu machen, sollte man den Login-Namen des Admin-Accounts so kompliziert wie möglich wählen. Der Vorname des Webseitenbesitzers, sein Zuname, Administrator, Admin oder gar der Name der Webseite sind als Benutzername des Admin-Accounts völlig fehl am Platz. Einfacher kann man es Angreifern nicht machen, eine Webseite zu kapern, denn mithilfe elektronischer Wörterbücher und automatisierten Programmen findet der Hacker solche Benutzernamen recht schnell heraus.

Tipp: Für den Benutzernamen des Admin-Accounts solltest du unbedingt einen Namen wählen, der nicht direkt mit dir in Verbindung gebracht werden kann. Dabei musst du darauf achten, dass eben dieser Benutzername auch nicht von außen ausgelesen werden kann. Du musst immer einen anderen Spitznamen als deinen Benutzernamen in deinem Benutzerprofil angeben. Dadurch erscheint dein Benutzername für den Login-Bereich nicht mehr unter deinen in WordPress veröffentlichten Artikeln. Doch reicht das nicht aus, da es in WordPress noch sogenannte Autoren-Archive gibt, mehr dazu aber später.

Angelegte WordPress-Benutzernamen auslesen – wie kann ich das verhindern?

WordPress ist so konzipiert, dass dieses CMS für jeden einzelnen Benutzer ein Archiv für seine veröffentlichten Artikel anlegt. Dabei entsteht pro Nutzer ein ganz eigener Permalink über den das Archiv direkt erreicht werden kann. Eine Funktion, die ganz praktisch ist, wenn mehrere Autoren an einem Blog schreiben, da diese so einen guten Überblick bekommen, was andere Autoren so verfassen.

Diese Funktion ist für Hacker auch ganz nützlich, da es Ihnen so ganz einfach gemacht wird, bestehende Benutzer einer WordPress-Installation auszulesen. Der Knackpunkt bei dieser WordPress-Funktion ist nämlich, dass das CMS für die Bildung des Permalinks nicht den eingestellten Spitznamen verwendet, sondern den Login-Namen des Nutzers. Dumme Sache, denn jetzt muss der Angreifer nur noch das Passwort herausfinden.

WordPress Benutzernamen auslesen verhindern – welche Möglichkeiten habe ich?

  1. Sie simpelste Möglichkeit, das Auslesen vorhandener Benutzer zu unterbinden, wäre dass du über die .htaccess das Aufrufen der Autorenarchive unterbindest.
  2. Natürlich kann auch das WordPress-Plugin „WP-Autor-Slug“ dabei helfen, das Problem des Autoren-Archivs zu beseitigen. WP-Autor-Slug gibt einen Code aus, den du direkt in die funktions.php des aktuell verwendeten Themes einfügen musst. Der Code des Plugins sorgt dafür, dass WordPress für die Bildung des Permalinks für die Autorenarchive nicht den Login-Namen der jeweiligen Benutzer verwendet, sondern den spitznamen.

Tipp: Da bei jeder WordPress-Installation der Admin die User-ID1 zugewiesen bekommt, sollte diese unbedingt sofort geändert werden. Ein Plugin, dass dir dabei hilft, die User-ID1 zu entfernen ist zum Beispiel „iThemes Security“. Über dieses Sicherheits-Plugin können noch weitere Sicherheitseinstellungen durchgeführt werden, um es Angreifern noch schwerer zu machen Ihre WordPress-Installation zu übernehmen.

Wichtig: Änderungen an der functions.php und anderen Dateien des Themes bleiben nur bis zum nächsten Update bestehen. Aus diesem Grund musst du immer mit sogenannten Child-Themes arbeiten.

Das Passwort – je komplizierter desto besser

Gerade im Bereich des Passwortes sind viele User einfach zu nachlässig. Es wird der eigene Name verwendet, der Name des Hundes, der Frau, den eigenen Kindern oder, oder, oder. Sichere Passwörter sind das jedoch nicht. Wenn du dich für ein zu einfaches Passwort entscheidest, musst du dich nicht wundern, wenn früher oder später deine WordPress-Installation nicht mehr dir gehört.

Das richtige Passwort – auf was muss man achten?

Ein sicheres Passwort setzt sich mindestens aus acht Zeichen zusammen. Des Weiteren muss das Passwort aus Sonderzeichen, Ziffern, Klein- und Großbuchstaben bestehen.

Es gibt kein Passwort, das nicht geknackt werden kann, jedoch sollte man es Angreifern so schwer wie möglich machen.

Wichtig: Achten darauf, dass dein WordPress-Passwort niemals aus gängigen Buchstaben- und Zahlenkombinationen oder einem ganzen Wort besteht. Hacker nutzen nämlich bei Ihren Angriffen automatisierte Wörterbücher, wodurch Ihnen das Hacken eines WordPressblogs wesentlich erleichtert wird.

Tipp: Um die Sicherheit deiner WordPress-Installation zu verbessern, musst du unbedingt in unregelmäßigen Abständen dein Passwort regelmäßig ändern.

WordPress-Administratorenoberfläche schützen – aber wie?

Die einfachste Möglichkeit Angreifern, dass Hacken einer WordPress-Installation zu erschweren ist, dass du den Login-Pfad änderst. Du kannst statt des für WordPress typischen Login-Pfads „/wp-login.php“ einen individuellen Pfad festlegen. Dafür kannst du entweder direkt über die .htaccess den Login-Pfad ändern oder diverse Plugin, wie zum Beispiel „iThemes Security“ nutzen. Natürlich hast du auch die Möglichkeit, den Login-Pfad deiner Installation über ein zusätzliches Passwort vor Angriffen von außen zu schützen.

Ein weiteres Passwort über die .htaccess – die Vorteile

Das Einrichten einer zweiten Passwort-Eingabe über die .htaccess hat den Vorteil, dass das Aufgrund der wp-login.php unmöglich wird. Dadurch zeigen versuchte Bruce-Force-Attacken keine Wirkung. Es kommt zu keiner Überbelastung der Installation, wodurch der WordPress-Blog garantiert immer erreichbar ist.
Wichtig: An sich ist das eirichten eines zweiten Passwortes über die .htaccess eine gute Möglichkeit, um Hackern Ihr Handwerk schwerer zu gestalten. Dummerweise funktioniert diese Möglichkeit aber nicht bei jedem Hosting-Angebot.

.htaccess und .htpasswd – wie funktioniert die Erstellung?

Die .htpasswd erstellt man am schnellsten mit der Hilfe eines Generators. Die generierte Zeile muss in einem einfachen Text-Dokument mit dem Namen .htpasswd auf dem Webspace abgelegt werden. Anschließend muss noch der passende Code für den Aufruf der Passwort-Datei in die .htaccess eingefügt werden.

<Files wp-login.php>
AuthType Basic
AuthName "Zweites Password"
AuthUserFile /pfad/pfad/.htpasswd ### hier den genauen Pfad angeben, in dem die .htpasswd liegt. ###
Require valid-user
</Files>

Login-Fehlermeldungen von WordPress ausschalten – mach es Hackern so schwer wie möglich

WordPress ist ein erstklassiges CMS-System mit vielen Funktionen, die so gestaltet sind, dass auch ein Laie gut mit diesem Programm zurechtkommt. Doch das CMS hat einen Fehler, und zwar dass es aufgrund der genauen Ausgabe von Fehlermeldungen dem Hacker dabei hilft, einen WordPress-Blog zu entern. Der Angreifer gibt zum Beispiel einen Benutzernamen mit Passwort ein. Über die genaue Ausgabe der Fehlermeldungen bekommt der Hacker recht schnell mit, ob der Benutzername falsch oder richtig ist. Eine unbekannte Variable wurde aufgelöst, jetzt geht es nur noch darum, das richtige Passwort zu ermitteln.

Wie kann man die WordPress Login-Fehlermeldungen deaktivieren?

Damit du die WordPress-Login-Fehlermeldungen deaktivieren kannst, musst du nur in die functions.php den folgenden Code-Schnipsel eingeben:

Add_filter(‘login_errors‘, create-funktion(‘$a‘,“return null;“));

Verbessere die Sicherheit deines WordPress-Blogs – entferne die Version deiner Installation

Damit du eine weitere Sicherheitslücke deines WordPress-Blogs schließen kannst, musst du die Version deiner WordPress-Version im Code entfernen. Um zu erklären warum, solltest du wissen, dass genau genommen jede Version von WordPress gewisse Schwächen hat, die zum Teil mit der Folgeversion des CMS geschlossen werden. Das Problem hierbei ist, dass WordPress-Administratoren meistens bequem veranlagt sind, vor allem, wenn sie mehrere WordPress-Installationen betreuen. Das bedeutet, dass die genutzte Version von WordPress nicht immer aktuell ist. Dumm, denn eine ältere WP-Version macht es Hackern leichter einen Zugang zu finden, vor allem, wenn die Version noch bekannt ist. Aus diesem Grund raten wir den Besuchern unserer Seite immer die im Quellcode vorhandene WordPress-Version zu entfernen. Möchtest du die Version deiner WordPress-Version entfernen, stehen dir zwei verschiedene Vorgehensweisen zur Verfügung.

  1. Entferne diesen Code-Schnipsel aus dem Header:
    <meta content="Wordpress <?php bloginfo ('version'; ?>"name="generator"/>
  2. Füge zur functions.php folgende Code-Zeile hinzu:
    remove_action('wp_head', 'wp_generator');

Verhindere Angriffe auf deine WordPress-Ordner

Mit diesen zwei Möglichkeiten kannst du die Ordner deiner WordPress-Installation vor fremden Zugriffen schützen.

  1. Lege eine leere index.html in den Ordner deiner WordPress-Installation
  2. Ergänze deine .htaccess der Code-Zeile
    Options All – Index

Warum sollte man die wp-config.php besonders schützen?

Die wp-config.php ist genau genommen die wichtigste Datei jeder WordPress-Installation, da in der Datei alle Datenbankzugangsdaten angegeben sind. Aus diesem Grund muss man die wp-config.php besonders schützen. Das kannst du in dem du den folgenden Code in die .htaccess deiner WordPress-Installation hinzufügst.

<FilesMatch ^wp-config.php$>deny from all </FilesMatch>

Nicht genutzte Themes und Plugins immer gleich löschen!

Deaktivierst du in deiner WP-Installation das Theme oder verschiedene Plugins, installiere diese unbedingt sofort, wenn du sie nicht mehr benötigst. Das liegt daran, dass deaktivierte Plugins und Themes zwar nicht mehr von WordPress genutzt werden können, dafür aber von Hackern, um doch noch Zugang zu WordPress zu bekommen. Ein gutes Beispiel ist das Standard-Theme, das bei der ersten WordPress-Installation vorhanden ist. Das Theme ist dafür bekannt, dass es eine unsichere Version ist. Trotzdem deaktivieren die meisten User dieses WordPress-Theme nur, anstatt es gleich zu deinstallieren. Warum sollte man angreifbare Plugins und Themes noch installiert lassen, wenn man dadurch die Sicherheit seines WordPressblogs riskiert.

Unnötige Kommentar-Funktion deaktivieren

Solltest du nicht unbedingt Kommentare unter deinen Beiträgen benötigen, ist es ratsam diese utner Einstellungen in der Kategorie Diskussionen entweder ganz deaktivieren bzw. einschränken. Hierfür hast du zwei Möglichkeiten. Entweder entscheidest du dich dafür, dass du deine Blog-Kommentare erst manuell freigeben musst oder, dass jemand in deinem Blog angemeldet sein muss, dass dieser einen Kommentar hinterlassen kann.

Durch eingeschränkte Diskussionsmöglichkeiten sorgst du nicht nur dafür, dass dein Blog kein Spam-Opfer wird. Zu sorgst des Weiteren dafür, dass XSS-Angriffe keine Chance haben. Ein angenehmer Nebeneffekt ist, dass du Abmahnungen vermeidest, weil du ein sagen, wir, nicht ganz sauberes Kommentar übersehen hast.

Wordfence – ein Minimum an Sicherheit für jede WordPress-Installation

Als Basis der WordPress-Sicherheit sollte unbedingt das Plugin „Wordfence“ installiert werden, denn das Tool kann definitiv als Gewinn für die WordPresssicherheit bezeichnet werden. Wenn du Wordfence installierst, solltest du unter der Option „Immediately block the IP of users who try to sign in as these usernames“ unbedingt Admin, admin, Administrator und den ausgewählten Spitznamen eintragen. Wordfence sorgt dafür, dass die IP-Nummern der User sofort für fünf Minuten blockiert wird, die versuchen mit eben diesen Namen und einem „falschen“ Passwort einzudringen. Natürlich kannst du die Sperrzeiten in Wordfence individuell einstellen.

Readme-Dateien schützen

Die Readme-Datei der WordPress-Installation ist alles andere wie gefährlich, trotzdem enthält Sie Informationen, die es dem Hacker einfacher machen eine WordPress-Installation zu kapern. Solche Informationen wäre zum Beispiel die Version des installierten WordPress. Natürlich sollte man auch bei den Plugins darauf achten, die Dateien, wie .html oder .txt mitbringen, dass eben diese Dateien besonders geschützt werden. Mit dem folgenden Code-Schnipsel, den du der .htaccess hinzufügst, kannst du Zugriffe von außen auf txt. bzw. .html-Dateien unterbinden.

#disable access to readme.html (and all others)
<files *.html>
Order allow,deny
Deny from all
</files>
<files *.txt>
Order allow,deny
Deny from all
</files>

Einschränkung der Ausführungsrechte

Bei Angriffen auf ThimThums geht es meistens darum, dass eine Datei in die Installation geladen wird, die Schadcode auf dem Server ausführen soll. Damit so ein RCE-Angriff aber ausgeführt werden kann, ist es nicht nur nötig, dass WordPress Sicherheitslücken aufweist, sondern auch, dass die eingeschleuste Datei auch ausgeführt werden kann. Dumm nur, dass solche Codes das innerhalb von WordPress-Verzeichnissen auch dürfen. In dem Fall bleibt dir nur die Wahl, diese Funktion direkt in den Wordverzeichnissen zu sperren in dem du folgenden Code in die .htaccess hinzufügst.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
#disable code execution in selected paths
RedirectMatch 403 ^.*/wp-content/uploads/(.*).php$
RedirectMatch 403 ^.*/wp-includes/(.*).php$
</IfModule>

WordPress Sicherheit verbessern – die allgemeinen Grundregeln

  • Wenn du eine WordPress-Installation machst, musst du unbedingt unter Einstellungen>Allgemein den Haken bei dem Punkt „Jeder kann sich registrieren“ entfernen.
  • Mach unbedingt regelmäßige Backups deines WordPressblogs. Sollte es doch einmal zu einem Hack kommen kannst du jederzeit, deinen Blog wieder in den Urzustand versetzen. Diverse Plugins, wie iThemes Security oder WP-DB-Backup können dir dabei helfen.
  • ie WordPress-Installation, das verwendete Theme und die genutzte Plugins müssen unbedingt immer aktuell sein. Regelmäßiges Updaten ist unbedingt Pflicht.
  • Achte unbedingt immer darauf, dass das Antivirenprogramm deines PCs auf dem aktuellen Stand ist. Hat dein Computer einen Trojaner, kannst du darauf wetten, dass auch dein WordPress-Passwort anderen bekannt ist.
  • Beim Aufspielen der WordPress-Dateien auf dem Server musst du unbedingt ein sicheres FTP-Programm nutzen. Daher lass von Filezilla am besten die Finger, denn dieses FTP-Programm ist bekannt dafür, dass es extrem anfällig ist.

Fazit: Hast du alle Punkte bei deiner WordPress-Installation bedacht? Wenn Nein, bzw. wenn du auf Nummer sicher gehen möchtest, gibt es diverse Tools (wpscan) mit denen du gezielt die Sicherheit deines WordPress-Blogs überprüfen kannst. WPscan ist ein wirklich tolles Tool, das alle Wahrscheinlichkeiten bedenkt, problematisch bei der Nutzung ist allerdings, dass ein eigener Server und tiefgreifende Programmierkenntnisse vorhanden sein müssen, damit man WPscan überhaupt nutzen kann.

cs

Website Tutor

Website Tutor will Einsteigern eine Orientierungshilfe auf dem Weg zur eigenen Homepage geben und Fortgeschritten hilfreiche Tools, sowie Tipps für den Erfolg ihrer Website bieten. Jeder unserer Autoren hat einen anderen Fokus und eigene Erfahrungen, die hier in diesem Account vereint werden.

4 Gedanken zu „WordPress Sicherheit: So schließt du Sicherheitslücken und schützt dich vor Hacker-Angriffen

  1. Hm, in der htaccess-Datei bewirkt leider, dass WordPress keine Seite mehr aufrufen kann. Es wird der Fehler 500 zurückgegeben… Es geht um diese Zeile: Options All – Index.

    1. Möglicherweise hast du das rewrite Modul nicht geladen. Schau mal nach ob in deiner Konfiguration folgende Zeile (oder ähnlich) eventuell auskommentiert ist:
      LoadModule rewrite_module modules/mod_rewrite

  2. Hallo.
    Vielen Dank erst Mal für die Tipps. Ich habe zwei kurze Fragen:

    1. Kann man generell verhindern, dass fremde PHP-Dateien in die WordPress-Installation eingeschleust werden? Bei mir tauchen in verschiedenen Verzeichnissen immer wieder neue Dateien auf (glücklicherweise ist mein Hoster sehr auf Zack und sperrt diese relativ schnell).

    2. Bei deinem letzten Tipp „Einschränkung der Ausführungsrechte“ gibst du folgende Zeile für die htaccess an:
    > RedirectMatch 403 ^.*/wp-includes/(.*).php$
    Sperre ich damit nicht auch die Ausführung der rechtmäßigen PHP-Dateien die im includes-Verzeichnis liegen?

    Schonmal Danke für die Antwort!

    Grüße,
    Matthias

    1. Hallo Matthias,

      zu 1.: Die meisten der genannten Tipps bewirken eben genau das. Es werden Schwachstellen beseitigt, die sonst eine offene Tür für Schadcode bedeuten.

      zu 2.: Ja das ist richtig. Du kannst aber auch noch weitere Einschränkungen auf Unterordener vornehmen. Zum Beispiel: RedirectMatch 403 ^.*/wp-content/uploads/(.*).php$
      Hier ist das noch mal ganz gut erklärt: https://www.wordpress-security-scan.com/2015/07/08/ausfuehrungsrechte-einschraenken-besser-nicht-vergessen/

      Viele Grüße,
      Hans-Jürgen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.