WordPress sicherer machen – acht Tipps für den Hausgebrauch

Neben der bei größeren Besucherzahlen oft etwas unzureichenden Performance von WordPress (ein paar Tipps zur Optimierung übrigens hier: WordPress Datenbank optimieren) ist insbesondere die Anfälligkeit für Angriffe von Hackern ein großes Manko einer nicht richtig betreuten WordPress Installation. Prinzipiell trifft dies selbstverständlich auch auf viele andere gehostete Systeme zu. Matt Cutts hat dazu einige gute Tipps zusammengetragen, die ich hier kurz zusammenfassen und um den ein oder anderen Aspekt ergänzen möchte:

1. Schütze den Admin Bereich
Natürlich ist der Administrationsbereich bereits durch die Kombination aus Benutzername/Passwort geschützt, das reicht aber nicht wirklich. Am sichersten ist die Begrenzung der Zugriffe auf ausgewählte IP-Adressen. Hat man keine statische Adresse muss man diese vor jedem Zugriff manuell ergänzen/anpassen – für wesentlich mehr Sicherheit aber vielleicht drei Klicks die sich lohnen. Matt hat folgende .htaccess Datei verfasst, die es im Ordner /wp-admin abzulegen gilt:

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName “Access Control”
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
# whitelist home IP address
allow from 64.233.169.99
# whitelist work IP address
allow from 69.147.114.210
allow from 199.239.136.200
# IP while in Kentucky; delete when back
allow from 128.163.2.27
</LIMIT>

2. Plugins Verzeichnis sichern
Normalerweise sollte das Anzeigen leerer Verzeichnisse auf dem Apache Server sowieso unterbunden sein. Um auf der sicheren Seite zu sein empfiehlt Matt Cutts eine leere Index.html Datei im /plugins Ordner abzulegen. So bleibt der Inhalt des Verzeichnisses und somit die Übersicht welche Plugins in welcher Versionsnummer verwendet werden vor den Augen nicht autorisierter Betrachter verborgen.

3. Aktualisiere WordPress regelmässig
Nichts ist gefährlicher als WordPress mit einer veralteten Versionsnummer zu betreiben. Sobald Sicherheitslücken publiziert werden ist mit Updates der Software zu rechnen. Diese sollten umgehend eingespielt werden. Eine alte Version mit sauber dokumentierten Lecks ist absolut unsicher und lädt Hacker geradezu ein. Am besten diesen Feed abonnieren, dann kommen die Infos über Updates ins Haus: http://wordpress.org/development/feed/

4. Verschleiere Deine Versionsnummer
Natürlich kann man mitunter nicht sofort auf jedes Update reagieren. Um aber in der Übergangszeit nicht ganz deutlich nach aussen zu tragen welche Version man verwendet sollte man diese Info aus dem Header der Seite entfernen. Lösche dazu einfach diese Zeile aus der Header.php Datei:

<meta name=”generator” content=”WordPress <?php bloginfo(’version’); ?>” /> <!-– leave this for stats please -->

5. Verwende so wenig Plugins wie möglich
Jeder kann ein Plugin für WordPress schreiben und veröffentlichen. Das ist gut, belebt dies doch die Community ungemein und macht WordPress zu diesem flexiblen und universellen Tool, das wir schätzen. Aber, genau hier liegt eine Gefahr. Solang Plugins nicht (von welcher Instanz auch immer, vgl: Brauchen wir ein Gütesiegel für WordPress Plugins?) geprüft werden, stehen hier sowohl unsicherem und unsauber programmiertem Code Tor und Tür offen. Das geht nicht nur zur Lasten der Performance, sondern womöglich auch zu Lasten der Sicherheit.

6. Minimiere die Anzahl der WordPress Benutzer
Nicht mehr aktive Autoren, Gäste und Testaccounts sollten gelöscht werden, wenn Sie nicht mehr genutzt werden. Das gilt natürlich für alle Systeme, wird aber gerade bei WordPress öfter vergessen. Besonders prekär wird dies bei Corporate Blogs wenn ausgeschiedene Mitarbeiter weiterhin vollen Zugriff auf das Blog haben und theoretisch unter falscher Flagge neue Artikel verfassen könnten – und dem Unternehmen dadurch schlimmstenfalls großen kommunikativen Schaden zufpgen könnten.

7. Backups
Sollte eigentlich selbstverständlich sein, dennoch der Hinweis: Macht Backups. Am besten täglich, mindestens aber wöchentlich. Größte Sicherheit bietet ein Backup auf ein externes System. Dabei sollten nicht nur die Dateien sondern insbesondere die Datenbank vollständig gesichert werden. Denn wird diese beschädigt oder gelöscht sind auf einen Schlag alle Inhalte weg. Idelaerweise automatisiert man diesen Prozess über Cronjobs.

8. Regelmässiges Monitoring
Abschliessend bleibt darauf hinzuweisen, dass man sein System stets im Auge behalten sollte und alle Auffälligkeiten einer gründlichen Prüfung unterziehen sollte. Dazu kann auch ein Check der eigenen Seite via Google Suche beitragen. Denn ein plötzlicher Ausschluss vom Index kann Hinweise auf einen bereits erfolgten Hack geben, so geschehen vor einiger Zeit beim Werbeblogger. Mit dem Tool WP-Scanner kann man einige Basics der eigenen Seite überprüfen und nötigenfalls schnell nachbessern.

Nutzt Ihr noch weitere Möglichkeiten zu Absicherung Eurer WordPress Installation? Habe ich etwas wesentliches vergessen?

Kommentare (18)

  1. zu 4: Die Versionsnummer taucht in den Feeds noch einmal auf.

    Die Versionsnummer kann man global ändern indem man version.php aus wp-includes bearbeitet. Der Nachteil ist allerdings, dass Plugins die z.B. über neue WP-Versionen informieren dann nicht mehr korrekt arbeiten. Muss man halt abwägen ob man auf solche Plugins verzichten kann oder nicht.

    Alternativ kann man die Feeds von der Indexierung durch Suchmaschinen ausschließen. Das verhindert auch das Indexieren doppelten Contents und somit eine Abwertung in den Suchergebnissen.

    User-Agent: *
    Disallow: /feed
    Disallow: /feed/
    (Wenn man mit mod-rewrite umleitet)

    Disallow: index.php?feed=rss
    Disallow: index.php?feed=rss2
    usw.

  2. Pingback: This Week’s Bookmarks at Not So Relevant

  3. Pingback: Von Contentklau profitieren und andere WordPress-Tipps | macophilia

  4. Kann mir mal jemand erklären, warum normaler htaccess schutz nicht reicht?
    Wieso dieses Gedaddel mit den ip-adressen?

  5. Pingback: Colurz Blog »  Security Tipps für Wordpress

  6. Pingback: links for 2008-01-21 « roxomatic links

  7. @sven: Meisten ist die Kombination Benutzername/Passwort schwer genug herauszufinden. Die Beschränkung auf einzelne IP-Adressen ist dann noch eine zusätzliche (kaum überwindbare) Hürde. Wer verantwortungsbewusst mit Passwörtern umgeht und nicht test123 benutzt, sollte ohne IP-Filterung sehr sicher sein. Man könnte auch das Passwort wöchentlich ändern.

    Ich achte bis auf die IP-Filterung und die Verschleierung der Versionsnummer auf alle Punkte. Am allerallerALLERwichtigsten sind die Backups. Immer. Es muss nicht gleich ein Hackerangriff sein, man kann auch den Ordner mit dem selbstgebastelten Theme oder den Bildern für die Beiträge ungewollt löschen.

  8. Pingback: Memo: Wordpress.com, Rivva, Wordpress Sicherheit, Software für Blogger | Bloganbieter.de Blog

  9. Pingback: Blogblumen vom 22.01.2008 at Lebensfreude pur

  10. Pingback: 04/08 - Die vierte Woche 2008 im Überblick

  11. Habe zwar kein WP im Einsatz aber zu der Geschichte mit der IP fällt mir noch ein, man kann sich die Arbeit ein wenig angenehmer machen, wenn man sich einen dynamischen DNS vergibt und diesen dort einträgt.

    Ein bekannter Anbieter ist dyndns, der sogar oft schon in Routern vorinstalliert ist. Somit übernimmt der Router bei einem Reconnect automatisch die Publizierung der neuen IP für den dynamischen Hostname.

    So können auch User, die mit einer dynamischen IP unterwegs sind – was wahrscheinlich so auf 99% aller Heimanwender zutreffen dürfte – ohne viel Aufwand die Möglichkeit, den Zugriff auf lediglich eine Adresse zu beschränken.

  12. Pingback: Schweizer Wordpress Magazin » Anleitungen » WordPress sicherer machen

  13. Pingback: WP 2.5 - unnötigen Ballast abwerfen « Nicht spurlos

  14. Danke, damit sollte mein Blog etwas sicherer werden… Mit WordPress-Updates hatte ich allerdings auch schon schlechte Erfahrungen. Beim letzten Update haben sich alle meine Sonderzeichen in irgendein Gematsch umgewandelt, so dass ich jetzt so 150 Posts hab, bei denen ich alle Sonderzeichen korrigieren muss…

Kommentare sind geschlossen.