Blog

WordPress noch sicherer machen

Das Thema Sicherheit wird von vielen in Bezug auf WordPress unterschätzt. Eine WordPress-Installation ist immer eine beliebte Anlaufstelle für Exploits und XSS Injections. Wer immer die verfügbaren Updates von wordpress.org bzw. wordpress-deutschland.org einspielt (und von keiner anderen Seite!), ist in der Regel auf der sicheren Seite, allerdings ist das auch kein Garant für ein sicheres WordPress.

Um dem ein wenig vorzubeugen, habe ich mich mal auf die Suche nach ein paar Möglichkeiten gemacht, WordPress sicher(er) zu machen.

WordPress Exploit Scanner

Zuallererst sollte man einmal überpruefen, ob vielleicht schon ein Hacker bei der eigenen WordPress-Installation am Werk war. Dabei hilft einem das Plugin WordPress Exploit Scanner von Donncha O Caoimh. Es macht nichts anderes, als die Dateien und die Datenbank-Einträge der WordPress-Installation nach Texten zu durchsuchen, die in der Regel von Hackern und Spammern verwendet werden, wenn diese die Webseite bereits kompromittiert haben.

Findet der Exploit Scanner solche Textpassagen, kann entsprechend gehandelt werden. Gerade ältere und grosse Blogs profitieren von diesem Plugin, da eine manuelle Suche nach solchen Textpassagen praktisch unmöglich ist.

WordPress Suche deaktiveren

Frank Bültge stellt auf seiner Seite bueltge.de eine einfache Anleitung zur Verfügung, wie man die in WordPress eingebaute Suchfunktion deaktivieren kann, wenn sie nicht benötigt wird. Das “Gemeine” an der Suche von WordPress ist naemlich, dass sie auch verwendet werden kann, wenn die Suchbox gar nicht in den Templates oder im eigenen Theme eingebaut ist. Dazu muss man leidglich die WordPress-Installation mit dem Paremeter “?s=” aufrufen, bspw. http://www.wordpress-magazin.de/?s=sicherheit

Dadurch wird die Suche ausgefuührt. Eine XSS Injection (Cross Site Scripting) benötigt ein Formular-Feld, um eine Seite hacken zu können. Ein solches Formular-Feld findet sich auf der Such-Seite eines jeden out-of-the-box WordPress. Wer nicht alle seine WordPress-Installation auf dem neuesten Sstand halten kann, sollte also die Anpassung von Frank durchführen – natürlich nur wenn auch auf die Suchfunktion verzichtet wird.

Secure WordPress

Und nochmal Frank Bültge, dessen Arbeit für WordPress ich sehr schätze, mit dem Plugin Secure WordPress. Dieses Plugin wurde im Zusammenhang mit dem Entfernen der WordPress-Versionsnummer aus dem Quelltext schon einmal erwähnt. Nebenbei sorgt es aber auch für weitere Sicherheits-Features:

  1. Error Informationen aus dem Login-Bereich entfernen
  2. Erstellt eine virtuelle index.html im Plugin-Verzeichnis, um eventuell das Listen des Inhaltes zu verhindern.
  3. Entfernt Link für Windows Live Writer
  4. Entfernt Link zum Really Simple Discovery Service
  5. Entfernt die Update-Info zur WordPress Version für Nicht-Admins
  6. Entfernt die Update-Info zu Plugin Updates für Nicht-Admins

In diesen Zusammenhang sei auch nochmal der Beitrag aus Frank’s WordPress-Buch erwähnt, der noch weitere Vorschlaege fuer eine sichere WordPress-Installation bereithält.

Bei allem Sicherheits-Eifer sollte übrigens auch nicht vergessen werden, regelmaessig die Datenbank zu sichern.

Fazit

Ich kann mir gut vorstellen, dass viele Leser jetzt denken: Danke, der tausendste Eintrag zum Thema WordPress und Sicherheit (und auf wordpress-magazin.de sogar schon der zweite), aber wie eingangs erwähnt, kann man nicht oft genug darüber schreiben, zumal ich selbst auch ohne böse Absichten immer wieder WordPress-Blogs entdecke, die nicht aktuell sind und/ oder Sicherheitslücken aufweisen. Gerade wenn einem die eigene Website bzw. das eigene Blog am Herzen liegt, weil man sicherlich viel Arbeit hineingesteckt hat, wäre es doch schade, wenn man nicht ein paar Minuten Zeit findet und die einfachen Mittel zur Verbesserung der Sicherheit durchführt.

Ich freue mich wie immer ueber Kommentare und Meinungen zu diesem Thema und bin gespannt auf weitere Tipps und Links!

14 Kommentare

  1. Sebastian am 29. April 2009 um 08:31

    danke! sehr hilfreich. ich würde mir einen artikel wünschen welcher komplett alle derzeit zur verfügung stehenden Maßnahmen vorstellt. ansonsten weiter so ;-)

  2. Malte am 29. April 2009 um 12:42

    Vielen Dank für den Artikel. Ich bin neulich auf das AntiVirus-Plugin für WordPress gestoßen. Könnte auch nützlich sein für den einen oder anderen …

  3. Sergej Müller am 29. April 2009 um 16:36

    Ok, da ich als Entwickler eines Sicherheitsplugins doch ein wenig mehr in der Materie stecke, möchte ich paar Punkte loswerden:

    1. Solche Listen wie “Wie mache ich mein WordPress sicher” erscheinen fast jeden Tag und der Inhalt weicht nur in der Satzlänge ab, sprich: Nichts Neues. Mein Vorschlag: Lieber einzelne Lösungen genau unter die Lupe nehmen, testen, vergleichen, analysieren, auf Schwächen und Stärken hinweisen. Bitte mehr Recherche, Tiefe.

    2. Eine Website ohne Suche? Wenn ein Projekt keine Suchfunktion braucht, dann ist es eine winzige, unbedeutende Seite ohne einen nennenswerten Mehrwert, die auch nie gezielt attackiert wird. Da merkt wirklich keiner, ob die Suche abgeschaltet ist. Andernfalls: Lasst die Suche drin, dem Leser zugute.

    3. Sehe ich das richtig, dass der Exploit Scanner nur für die aktuellste WordPress-Version gültig ist? Die MD5-Werte, die das Plugin intern abgleicht, weichen jedoch je nach WP-Version ab. Also nicht für die nicht aktuelle WP-Installation geeignet? Außerdem, wenn man die aktuelle Verbreitung der WordPress-Würmer erforscht und mitverfolgt, dann stellt man schnell fest, dass der Schutz auf dieser Basis absolut wirkungslos ist – vor einem Jahr, vielleicht; aber nicht jetzt. Nur da wären wir wieder beim 1. Punkt…

    Aber natürlich besser als gar nichts, die Empfehlungen. Nur zwischen der “Empfehlung aus Erfahrung” und “Empfehlung gefunden bei Google” liegen Welten. Nicht böse gemeint mein Kommentar, doch wir sollen die Qualität der Beiträge deutlich verbessern, vor allem als WordPresss Magazin ;)

  4. Thomas Scholz am 29. April 2009 um 17:26

    Zitat: »Eine XSS Injection (Cross Site Scripting) benoetigt ein Formular-Feld, um eine Seite kompromittieren zu koennen.«
    Das ist falsch. Formulare sind für Menschen gedacht; XSS-Scripte versuchen einfach, alle möglichen Werte in die Webseite einzuführen; sie interessieren sich nicht für Formulare. Jeder kann einen Request per POST, GET, DELETE etc. mit einer simplen Konsole ausführen.

    Für die meisten der hier angesprochenen »Probleme« reicht eine einfache .htaccess-Datei und ein vernünftig geschriebenes Theme aus. Den Rest erledigen überlegt gesetzte Schreibrechte auf dem Server und ein sauber konfigurierter MySQL-Account, über den man die Datenbank anspricht.

    Mit Plugins erhöht man die Komplexität des Systems, das man schützen möchte – das kann enorm nach hinten losgehen, wenn man den Code nicht selbst geschrieben oder zumindest verstanden hat.

  5. Thomas Langel am 29. April 2009 um 18:04

    Hi Thomas,

    Danke für deinen Hinweis zum Thema XSS Injection.

    Das mit Plugins und Komplexität stimmt natürlich, andererseits ist nicht jeder in der Lage eine .htaccess-Datei richtig anzupassen und hat von Schreibrechten keine Ahnung. Von daher lieber ein Plugin, was die Sache erleichtert und (mit Sicherheit) eine geringere Hemmschwelle hat.

    Gruss,
    Thomas

  6. Ralf am 29. April 2009 um 21:12

    Die WP-Suche als Sicherheitslücke weil sie ein Eingabefeld enthält? An dem Punkt bin ich auch sehr stutzig geworden. Diese Sicherheitslücke wurde in Version 1.5 oder 2.0 geschlossen. Ansonsten könnte man auch gleich die Kommentare schließen, da gibt es auch Eingabefelder ;)

    WP sicher zu halten ist leider nicht so einfach wie es oft dargestellt wird. Ein bisschen rumfummeln an der .htaccess, ein paar Schreibrechte setzen und dann noch hier und da ein paar Funktionen deaktivieren wird nicht immer zum Erfolg führen. Gerade wenn man mit einer älteren WP-Version arbeitet.
    Die Angriffspunkte sind dort oft anderer Natur. Leider werden bei älteren Versionen keine Sicherheitslücken mehr geschlossen. Man ist also als WP-Nutzer auf Gedeih und Verderb auf Updates angewiesen.
    Ein Update ist aber wiederum nicht immer die beste Lösung. Entweder funktionieren die lieb gewonnenen Plugins nicht mehr. Oder man hat sich sein WP (u.U. mit eigenen Plugins) mühevoll angepasst. Oder man müsste nun eine ganze Reihe von Leuten auf eine neue Version schulen weil man das Blog im Unternehmen einsetzt. Usw. Usf. Zudem gibt es wohl bei einigen Benutzern mittlerweile eine Update-Müdigkeit. Kaum hat man sich an die neue Version gewöhnt, steht schon die nächste in den Startlöchern.

    Sinnvoller als die tausendste Wiederholung von “Sicherheitsratschlägen” wäre es Sicherheitslücken auch in älteren WP-Versionen zu stopfen.

  7. United20 am 1. Mai 2009 um 09:48

    Muss leider meinen Vorrednern hier recht geben, dass der Artikel ein wenig oberflächlich ist und einiges nicht ganz der Wahrheit entspricht oder nur halb. Ich selber bin der Meinung, dass in Sachen Sicherheit vielleicht beim Ursprung angefangen werden sollte. Das ist aus meiner Sicht die Programmierung von WordPress selber und PHP, welches dem Programmierer es einfach macht, unsauber zu entwickeln. Ein Schritt in die richtige Richtung wäre PHP 5, aber dies wird an der Abwärtskompatibilität scheitern.

  8. Marc am 2. Mai 2009 um 09:49

    Der Kritik von Sergej Müller möchte ich mich mal explizit anschließen. Selten habe ich als Sicherheitslösung für WP etwas so inhaltsloses gelesen.

    Wenigstens dem Standard der Otto-Normal-Beiträge hätte ein solcher Beitrag doch wohl leicht gereichen können. Selbst der übliche Standardtipp, den Account “admin” zu löschen, hättest du aufführen können. Das hilft zwar nicht viel, erweitert den Beitrag aber schon auf den vierten Tipp.

  9. Thomas Langel am 2. Mai 2009 um 11:10

    Hi Marc,

    das mit dem admin-User löschen steht schon im ersten Beitrag hier zu dem Thema – wiederholen wollte ich es dann auch nicht.

  10. Sven am 13. Mai 2009 um 13:07

    Naja, gut, jetzt steht das mit der Adminlöschung doch hier. Das schadet also nichts.

  11. Paul Voth » Wordpress noch sicherer machen am 7. Juni 2009 um 16:22

    [...] habe kürzlich im WordPress-Magazin einen Beitrag gelesen, der für alle WordPress Betreiber relevant ist bzw. sein sollte. Thema: WordPress noch [...]

  12. Karsten Meier am 11. Juni 2009 um 17:29

    Letzten Monat habe ich 800 Webzugriffe auf das WordPress-Loginformular im meinen Logs gefunden.
    Allerdings war das Formular an der Stelle gar nicht vorhanden….
    Ich habe auch schon viele Aufrufe auf Software gesehen, die ich nicht installiert habe (z.B. phproject)

    Es wird also offenbar einfach systematisch alles ausprobiert. Ideen wie die WordPress-Version zu verschleiern bringen da vermutlich wenig.

    Geholfen hat mir:
    1) Meine Installation war in einem Unterverzeichnis.
    Gezieltere Angriffe lassen sich allerdings davon nicht aufhalten…

    2) Mein Passwort ist etwas länger. 800 Versuche reichen dafür nicht…

    Ein vernünftiges Passwort ist deshalb immer noch der wichtigste Sicherheitstipp.

  13. afrikaurlaub am 4. Juli 2009 um 23:04

    Beim Passwort sollte man einige Regel beachten.

    1. min 8 Zeichen lang
    2. Groß- und Kleinschreibung verwendt und nicht nur am Anfang groß
    3. Ziffern und Sonderzeichen verwendt
    4. Keine sinnvollen Worte benutzen
    5. etwa alle 90 Tage ein neues Password verwenden

  14. Felix am 10. Oktober 2009 um 11:48

    Als weiteren Sicherheitstipp würde ich aufführen, unbedingt den Admin-Bereich über HTTPS verschlüsselt laufen zu lassen.
    Dazu in die wp-config.php die Zeile:

    define(‘FORCE_SSL_ADMIN’, true);

    hinzufügen. Ab jetzt ist der Login- und Admin-bereich SSL-verschlüsselt.

Kommentar schreiben




Newsletter & Updates

Trag' Dich ein, um die neuesten Artikel per E-Mail zu erhalten!

Die letzten Kommentare

  • dirk: Das ganze ist extremst praktisch muss ich sagen! Die Seiten die man damit aufbaut sind besser geordnet und es...
  • Chris: Hmmm… also ich hatte bisher immer den entgegengesetzten Effekt. Immer wenn ich Themes gesucht habe, fand...
  • Obertauern: Vielen Dank für diesen wirklich hilfreichen Artikel, ich habe schon oft versucht xammp zu installieren,...
  • Rhein Neckar Kreis: Ich sage mal Danke an die Wordprss Macher, je mehr “kleine” es nutzen und die Plugins...
  • Marcel: Es gibt dafür ein Plugin, nennt sich Page Link Manager. Einfacher gehts nun wirklich nicht mehr.

    Feedleser

    • Gesamt: 1150 (Letzten 31 Tage)
    • Maximum: 342 (6. March 2010)
    • Durchschnitt: 37