- Werbung -

Im Artikel Selber Bloggen leicht gemacht mit Wordpress wurde das kostenlose CMS schon vorgestellt und Hinweise zur Installation und Einrichtung gegeben. Doch ein wichtiger Zwischenschritt fehlt noch. Daher folgt nun als zweiter Teil der Reihe ein Exkurs zum Thema Sicherheit.

Exkurs Wordpress absichern

Aufgrund der großen Beliebtheit von Wordpress sind damit betriebene Blogs ein häufiges Ziel von Hackerangriffen. Um die Sicherheit des eigenen Blogs zu erhöhen empfiehlt es sich daher, einige zusätzliche Sicherheitsmaßnahmen zu ergreifen. Die folgende Aufstellung erhebt keinen Anspruch auf Vollständigkeit, zeigt aber verschiedene Maßnahmen, die einem Angreifer das Leben erschweren und insbesondere weniger professionelle Angriffe ins Leere laufen lassen.

Umbenennung  des WordPress-Ordners vor dem Upload

Nach dem Entpacken der ZIP-Datei mit den WordPress-Dateien erhält man einen Ordner mit dem Namen "wordpress". Diesen Ordner benennt man nun mit einem kryptischen Namen, z.B. wp_produktiv_3D7g und lädt ihn nach der Anpassung der config.php in das Root-Verzeichnis der Webseite.

Die Vorteile:
Es können beliebig viele WordPress-Instanzen nebeneinander aufgesetzt werden, ohne dass Systemdateien oder Einstellungen miteinander kollidieren. Das ist z.B. praktisch, um verschiedene Test- und Entwicklungsversionen zu betreiben.
Der Administrationsbereich liegt nicht mehr im Rootverzeichnis und kann von Angreifern nicht so leicht ausfindig gemacht werden.
Das Blog bleibt trotzdem unter der Haupt-URL http://mein-blog.de erreichbar, indem man die index.php aus dem Verzeichnis wp_produktiv_3D7g in die Root-Ebene verschiebt, mit einem Texteditor öffnet und die Codezeile mit dem Pfad zu wp-blog-header.php um den Ordnernamen erweitert. In diesem Beispiel sieht die Zeile dann so aus:  require('./wp_produktiv_3D7g/wp-blog-header.php');
Weitere Testinstallation werden dann am besten per Subdomain adressiert.

Einstellungen und Sicherungen der wp-config.php

Wordpress verwendet vier Sicherheitsschlüssel, die möglichst aus zufälligen Werten bestehen sollten. Am besten lässt man diese auf der Seite https://api.wordpress.org/secret-key/1.1/salt/ automatisch generieren und kopiert den gesamten Code in die wp-config.php.
Den Standard-Tabellenpräfix sollte man mit einem zufälligen, kryptischen Wert erweitern, um den unbefugten Zugriff auf die Tabellen zusätzlich zu erschweren. Dazu ändert man die Zeile (61) mit dem Präfix bspw. so: $table_prefix  = 'wpfx5_';
Gestattet der Server den Zugriff auf das Blog via SSL-Verschlüsselung, so sollte man dies für den Administrationsbereich nutzen. Dafür trägt man diesen Befehl in der wp-config.php ein: define('FORCE_SSL_ADMIN', true);
Sofern der Server es zulässt, Dateien in übergeordnete Verzeichnisebenen zu verschieben, so kann man die wp-config.php außerhalb der Webserver-Root ablegen. Wordpress schaut dort automatisch nach seiner wp-config.php. Ist dies nicht möglich, weil der Provider es nicht zulässt, kann man alternativ externe Zugriffe auf die wp-config.php per Anweisungen in der .htacces unterbinden. Diese .htaccess muss im gleichen Verzeichnis liegen wie die wp-config.php! Dort trägt man folgende Code-Zeilen ein:

# wp-config.php schützen<br />
	<files wp-config.php><br />
	Order deny,allow<br />
	deny from all<br />
	</files>

Verzeichnisschutz für Wordpress-Login zum Admin-Bereich

Serverseitig kann man den Zugriff auf die Loginseite zusätzlich mit einem weiteren Login absichern. Dazu trägt man in der Wordpress-eigenen .htaccess - die sonst für die Permalinks zuständig ist – folgenden Code ein:

# wp-login.php schützen<br />
	<files wp-login.php><br />
	AuthName "Admin-Bereich"<br />
	AuthType Basic<br />
	AuthUserFile /vollstaendiger-lokaler-pfad-zu/.htpasswd<br />
	require valid-user<br />
	</files>

Die zugehörige .htpasswd muss man erzeugen und auf dem Server ablegen. Dabei hilft z.B. der Htaccess & Htpasswd Generator.

Löschen des Standard-Admin-Accounts und arbeiten mit Autoren-Account

Bei der Installation wird ein Administrator-Account mit dem (änderbaren) Benutzernamen admin und der User-ID 1 angelegt. Aus Sicherheitsgründen sollte man diesen nach der Installation löschen und durch einen neuen Adminstrator-Account ersetzten. Das geht so:

  • Im Admin-Bereich einloggen und einen zusätzlichen User mit der Rolle Administrator anlegen
  • Aus dem Admin-Bereich ausloggen
  • Mit den Zugangsdaten des neu angelegten Administrators wieder einloggen
  • Den alten Administrator-Account löschen
  • Zusätzlich sollte man auch gleich noch einen Benutzer anlegen, der nur Autorenrechte hat und diesen künftig verwenden, um Artikel auf dem Blog zu veröffentlichen oder zu kommentieren. So wird der Accountname des Administrators nie auf den Blogseiten erwähnt und bleibt verborgen.
Starke Passwörter verwenden

Eine häufige Schwachstelle sind zu einfache Passwörter. Grundsätzlich sollte man für seine Accounts keine Wörter nehmen, die in Wörterbüchern stehen, Namen von Haustieren oder den eigenen Geburtstag. Sichere Passwörter die mindestens 8 Zeichen lang sind, aus Groß- und Kleinbuchstaben bestehen und zusätzlich Ziffern und Sonderzeichen enthalten. Wordpress informiert übrigens beim Ändern des eigenen Passwortes über dessen Stärke.

Plugin-Verzeichnis sichern

Normalerweise sollte das Auflisten von Verzeichnissen auf dem Apache-Server unterbunden sein. Bei manchen Servern ist dies allerdings nicht der Fall. Um auf der sicheren Seite zu sein, empfiehlt es sich eine leere Index.html-Datei im Ordner ./wp-content/plugins abzulegen. So wird der Verzeichnisinhalt auch dann nicht aufgelistet, wenn diese Funktion serverseitig nicht deaktiviert ist und Informationen über verwendete Plugins sind schwerer zu bekommen.

Beschränkung der Zahl ungültiger Login-Versuche

Von Haus aus gibt es bei Wordpress keinerlei Beschränkungen, wie oft ein User mit fehlerhaften Zugangsdaten versuchen kann, sich Zugang zum Admin-Bereich zu verschaffen. Fehlversuche werden noch nicht einmal protokolliert!
Mit dem Plugin Limit Login Attempts kann man diesen Mangel beheben. Es begrenzt Fehlversuche auf eine vom Admin festgelegte Zahl. Danach gibt es eine Zeitsperre, bis man es erneut versuchen darf. Nach einer ebenfalls einstellbaren Zahl von Sperren kann die Sperrzeit drastisch verlängert werden. Zusätzlich loggt das Plugin Fehlversuche und sendet dem Admin auf Wunsch ein E-Mail-Benachrichtigung.

Software auf dem neuesten Stand halten

Das Aktualisieren einer Wordpress-Installation ist sehr einfach. Daher sollte man regelmäßig nachschauen, ob es eine neue Version gibt - Wordpress informiert einen darüber bei jedem Besuch des Admin-Bereichs - und diese umgehend einspielen. Das gleiche gilt auch für Plugins. Achtung: Auch wenn das Update kinderleicht geht, sollte man vorher immer ein Backup der Datenbank und Installation machen. Nach dem Update empfiehlt es sich, die Seite zu testen, denn es kann vorkommen, dass nicht aktualisierte Plugins mit der neuen Wordpress-Version plötzlich nicht mehr funktionieren. Gibt es von diesen keine neue Version, so bleibt gelegentlich nichts anderes übrig, als sie zu deaktivieren.

Nicht benutzte Plugins deaktivieren und deinstallieren

Es kommt nicht selten vor, dass man die Funktionalität von Wordpress mit Plugins erweitern möchte. Dabei sollte man behutsam vorgehen und neue Plugins zunächst in einer Testumgebung ausprobieren, bevor man sie auf seiner Webseite einsetzt. Werden sie später durch andere (weil bessere) Plugins ersetzt, sollte man sie nicht nur deaktivieren, sondern auch vollständig deinstallieren

Regelmäßig die Wordpressmeldungen lesen

Wordpress bietet im Admin-Bereich standardmäßig Nachrichten vom Wordpress-Blog. Diese sollte man regelmäßig lesen, denn sie enthalten nicht nur Hinweise zu neuen Updates, sondern auch Sicherheitswarnungen. Aktuell z.B. über eine gefährliche Sicherheitslücke, die sich in Themes von Drittanbietern verbergen kann:

"Sicherheitslücke in vielen Themes durch timthumb 3. August 2011
Es gibt vieles Themes und Plugins, darunter auch Premium-Themes z.B. von StudioPress oder Elegant Themes welche das PHP-Script timthumb benutzen, um z.B. Vorschaubilder zu erzeugen oder Bilder zuzuschneiden. Dieses Script enthält aber eine schwerwiegende Sicherheitslücke welche praktisch kompletten Zugriff auf das ganze Blog bietet. Jeder sollte also überprü [...]"
http://blog.wordpress-deutschland.org/2011/08/03/sicherheitsluecke-in-vielen-themes-durch-timthumb.html

Wordpress Exploit Scanner

Hilft beim Überprüfen, ob  die eigene WordPress-Installation kompromittiert worden ist. Dazu durchsucht das Plugin WordPress Exploit Scanner von Donncha O Caoimh Dateien und Datenbank-Einträge der WordPress-Installation nach verdächtigen Texten. Die Benutzung erfordert allerdings etwas Erfahrung mit PHP und HTML, da auch ordnungsgemäße Codeteile als verdächtig eingestuft werden können.

Suchfunktion deaktivieren

Um Schadcode in ein Wordpress-Blog z.B. per SQL-Injection durchführen zu können, benötigt man zumindest ein Eingabefeld. Wer niemandem ein Login in seinem Blog gestattet und den Admin-Zugang abgesichert hat, lässt trotzdem noch eine Lücke offen: die Suchfunktion. Wer bei seinem Blog auf die Wordpress-eigene Suche verzichten will, sollte diese vollständig deaktivieren (das Ausblenden der Suchen-Box genügt nicht!). Dies ist allerdings mit Programmierarbeit verbunden und sollte nur von erfahrenen Usern durchgeführt werden. Auf bueltge.de ist schön beschrieben, wie man die Suchfunktion abschaltet.

Regelmäßige Backups erstellen

Eigentlich eine Selbstverständlichkeit und gute Hostingprovider machen das standardmäßig. Daneben empfiehlt es sich aber auch von Zeit zu Zeit ein Backup auf den lokalen Rechner zu ziehen, insbesondere von der Datenbank und den Userfiles, die nicht zur Wordpress-Installation gehören (z.B. Bilder oder Dateiuploads). Für das DB-Backup kann man bspw. das Tool MySQLdumper verwenden. Die eigentliche Wordpress-Installation kann man mit jedem FTP-Programm sichern.

Vorschau

Nun ist das Wordpress-Blog eingerichtet und abgesichert. Demnächst folgt der letzte Teil dieser Artikelreihe. Darin gibt es einige Empfehlungen zu nützlichen Plugins, Tipps zum eigentlichen Bloggen und Hinweise, wie man sein Blog immer auf dem neuesten Stand hält.

Links

Deutsche Wordpress-Seite: http://de.wordpress.org/

Wordpess.org (englisch): http://wordpress.org/