[Tutorial] WordPress Blog mit fail2ban absichern
Hallo und willkommen zu Teil 3 meiner kleinen Security Reihe!
Heute zeige ich euch wie man mit wenigen Schritten den WordPress Blog Login mit fail2ban absichern kann.
Dies funktioniert allerdings nur wenn man WordPress auf einem eigenen Server, vServer oder beispielsweise einem Raspberry Pi betreibt auf dem Linux läuft.
In meinem Fall habe ich das ganze unter Debian Wheezy getestet, es sollte aber keinen Unterschied machen wenn man Ubuntu oder andere Linux Distros verwendet.
Kleine Info: Bei direkt auf WordPress oder bei anderen Webhostern gehosteten Blogs funktioniert die Methode leider nicht.
Die Installation und Konfiguration von fail2ban wird in Teil 1 erklärt.
- [Tutorial] Server mit fail2ban absichern
- [Tutorial] Zarafa mit fail2ban absichern
- [Tutorial] WordPress Blog mit fail2ban absichern
Los gehts!
Charles Lecklider hat ein super Plugin geschrieben, welches die Integration in fail2ban mehr als einfach macht: WP fail2ban
Was macht das Plugin genau?
Jeder Loginversuch auf den Blog wird nun im syslog protokolliert und zwar im selben Format wie ssh Logins. Dadurch bemerkt fail2ban jeden Login- und v.a. jeden fehlgeschlagenen Loginversuch.
Je nachdem wie fail2ban konfiguriert wurde, wird der Angreifer z.B. nach fünf vergeblichen Versuchen per iptables ausgesperrt.
Installieren kann man das Plugin im Adminbereich des Blogs unter Plugins. Hier einfach nach „WP fail2ban“ suchen und installieren. Alternativ kann man das Plugin auch downloaden und selbst in das Pluginverzeichnis unter wp-content/plugins des Blogs laden.
Eine Konfiguration unter WordPress ist nicht notwendig, das Plugin muss lediglich aktiviert werden.
Nun muss noch ein neues Jail für fail2ban erstellt werden. Unter wp-content/plugins/wp-fail2ban liegt die Datei wordpress.conf. Diese muss in den filters.d Ordner von fail2ban unter /etc/fail2ban/filters.d/ kopiert werden.
Nun das Jail noch aktivieren, dazu die Datei /etc/fail2ban/jail.local bearbeiten und am Ende folgendes einfügen:
1 2 3 4 5 | [wordpress] enabled = true filter = wordpress logpath = /var/log/auth.log port = http,https |
Als letztes fail2ban neustarten:
sudo fail2ban-client restart
Ab sofort wird WordPress mit überwacht 😀
Das Plugin bietet aber noch mehr nützliche Sicherheitsfeatures, welche in der FAQ näher erleutert werden.
So kann man in der wp-config.php noch zusätzliche Features aktivieren in dem man beispielsweise folgendes einfügt:
- Gegen Bruteforce Attacken:
define(‚WP_FAIL2BAN_BLOCK_USER_ENUMERATION‘,true);
- Logins nicht existierender User blocken, bevor der Großteil der Seite überhaupt geladen wird (in diesem Beispiel der User „admin“, die Zeile kann beliebig oft kopiert und mit anderen Namen versehen werden):
define(‚WP_FAIL2BAN_BLOCKED_USERS‘,’^admin$‘);
Ausserdem empfiehlt es sich den Login per SSL zu verschlüsseln, wie das geht habe ich in einem anderen Tutorial erklärt: WordPress: SSL Verschlüsselung für Admin und Login Seiten in Zusammenspiel mit Pound (Loadbalancer & Reverse Proxy)
Nutzt man Pound nicht, muss man lediglich den ersten Teil durchführen und die wp-config.php ändern.
Das wars auch schon! Falls der Artikel gefallen hat freuen wir uns über einen kleinen Klick auf eines der dezenten Werbebanner. Dies ermöglicht uns den Server zu finanzieren und weitere Tutorials in dieser Art zu entwickeln 😉
Gruß iro
0 Kommentare zu „[Tutorial] WordPress Blog mit fail2ban absichern“