Mehr Sicherheit gegen Angriffe für WordPress Blogs
Immer wieder werden WordPress Blogs wegen Sicherheitslücken Ziele von Hackerangriffen. Das WordPress Plugin WP Security Scan von Michael Torbert verspricht eine Hilfe bei der Erkennung dieser Sicherheitslücken. Das Plugin führt einen Sicherheitsscan der WordPress Installation auf Lücken und Konfigurationsfehler im Bereich Passwörter, Dateirechte, Datenbank Sicherheit usw. aus und schlägt entsprechende Korrekturen wie zum Beispiel das verstecken der Versionangabe vor.
Das Secure WordPress Plugin von Frank Bültge dient ebenfalls der Absicherung einer WordPress Installation gegen Angriffe. Zur Zeit verfügt das Plugin über die folgenden Funktionen: Fehler Informationen aus dem Login-Bereich entfernen, die Anzeige WordPress Version aus allen Bereichen, außer dem Backend, entfernen; auch im Feed, erstellen einer virtuelle index.html im Plugin-Verzeichnis um das Listen von Inhalten zu verhindern, entfernen des Links für Windows Live Writer, entfernt den Link zum Really Simple Discovery Service, entfernt die Update-Info zur WordPress Version für Nicht-Admins, entfernt die Update-Info zu Plugin Updates für Nicht-Admins usw.
Die Installation des LoginLock Plugin ist auch hilfreich. Das Plugin blockt automatisch IP-Adresses, über die mehrmals versucht wurde sich in den Adminbereich einzuloggen. LoginLock Der Standardwert der Sprerre liegt bei einer Stunde.
Der WordPress Exploid Scanner scannt die gesamte WordPress Installation, die Datenbank, Dateien und Plugins auf Veränderungen und Sicherheitslücken. Im Pluginbereich wird auch nach verdächtigen Dateinamen gesucht. Das Plugin nutzt dazu unter anderem Dateien mit der exakten Dateigröße diverser WordPress Versionen.
Was kann man sonst noch tun?
Nutzen eines sicheren Clienten zum Upload von Dateien anstatt einfachem FTP. Das kostenlose Programm WinSCP zum Beispiel ist ein grafischer Open Source SFTP und FTP Client für Windows, der auch das alte SCP-Protokoll unterstützt. Er bietet einen geschützten Daten- und Dateitransfer zwischen verschiedenen Rechnern und ermöglicht die Nutzung geschützter “Tunnel“. Das Programm verfügt über eine Windows-Explorer-artige und Norton-Commander-artige Oberflächen und ist daher intuitiv zu bedienen.
Oft sind Sicherheitslücken an eine bestimmte WordPress Version gebunden. Daher kann es sinnvoll sein, die Anzeige der WordPress Version im Header zu unterdrücken.
Dazu genügt es folgende Zeile in die funktions.php Datei des Themes einzugeben:
remove_action('wp_head','wp_generator');
Die Versionsanzeige wird nun unterdrückt.
Wenn ein Unbefugter versucht sich in ein WordPress Blog einzuloggen, bekommt er eine Fehlermeldung, wenn er falsche Daten angibt. Diese Fehlermeldung gibt unnötige Hinweise für das weitere Vorgehen.
Durch den Eintrag der folgenden Zeile in die functions.php können Login Fehlermeldungen unterdrückt werden.
add_filter('login_errors',create_function('$a', "return null;"));
Falls das Theme über keine functions.php verfügt kann man eine entsprechende Datei erstellen. In dem Fall muss der Inhalt so aussehen:
<?php
add_filter('login_errors',create_function('$a', "return null;"));
?>
Mitunter kann es passieren, das PHP auf dem Server ausfällt, zum BEispiel durch eine dem eigentlichen Angriff vorhergehende Denial of Service (DoS) Attacke und PHP Dateien deshalb nicht mehr geparst werden. In diesem Fall ist es für potentielle Angreifer möglich die Inhalte der PHP Dateien auszulesen indem er sie einfach listet. Um die Passwörter in der wp-config.php zu schützen, genügt folgender Eintrag in der .htaccess
Das Verfahren kann man natürlich auf beliebige Dateien ausdehnen.
# wp-config.php schuetzen
<files wp-config.php>
order allow,deny
deny from all
</files>
Auf diese Weise kann man natürlich auch andere Dateien schützen.
Weitere Maßnahmen sind Änderung des Table Prefix in der config.php vor der Installation „‚wp_“ auf etwas anderes.
Besonders wichtig ist es hin und wieder im Dashboard des WordPress Blogs nachzuschauen, ob es Sicherheitsupdates gibt.