Botnetze greifen WordPress weltweit an, schütze dein WordPress vor Angriffe
Der Angriff selbst ist dabei denkbar einfach, es wird versucht, sich mit „admin“ einzuloggen. Um das Passwort herauszufinden, wird schlichtweg eine entsprechende Vorlage aus tausenden Einträgen sehr schnell abgearbeitet. Es kommt deshalb bei den betroffenen Blogs in der Folge zu einer massiv erhöhten Anzahl von Login-Versuchen – „Brute Force Attack“. Was die Angriffswelle in diesem Fall so problematisch macht, ist die riesen Menge an infizierten PCs, die zum Einsatz kommt.

Gemäss Experten geht es am Ende darum, aus den Servern ein neues Botnet aufzubauen. Das wäre dann um ein Vielfaches mächtiger als das jetzige, weil die Server beispielsweise eine wesentlich bessere Internetanbindung haben als infizierte PCs.
Die wichtigsten Massnahmen um ein WordPress zu schützen
Den Account „admin“ nach Möglichkeit ganz vermeiden. Er ist bei WordPress-Blogs so verbreitet, dass er – so wie auch in diesem Fall – als Hebel für den Angriff genutzt wird. In diesem Blog wird ebenfalls aufgezeigt, wie man den „admin“-Loginname ändert.
Eine weitere Möglichkeit WordPress vor Angriffe zu schützen gibt es, in dem man den Admin-Bereich von WordPress selbst mit einem Passwort schützt. Ohne dieses „Master-Passwort“ kommt man gar nicht erst auf die Login-Seite fürs back-end. Das kann gerade bei Brute-Force-Attacken sehr sinnvoll sein, da der automatische Angriff sehr früh abgefangen wird und den Server dadurch weniger belastet. Auch sollte das MySQL front-end nicht über „phpMyAdmin“ oder „MyAdmin“ in der URL abrufbar sein, hier sollte ein Apache Alias oder ein Symlink, z.B. „db_manager“ angelegt werden, damit ist man aus der Schusslinie von Brute-Force-Attacken, zusätzlich schützt auch ein htaccess-Passwort.
Schutz vor Angriffe mit fail2ban

Noch effizienter und den Server nicht belastend, wirkt sich der Schutz vor Angriffe durch den Einsatz von fail2ban aus.
Dazu wird fail2ban installiert, hier bei CentOS, Fedora.
wget https://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm rpm -ivh epel-release-5-4.noarch.rpm yum repolist yum install fail2ban chkconfig --add fail2ban chkconfig fail2ban on service fail2ban start
Bei Debian und Ubuntu kann fail2ban direkt aus dem Standard Repo installiert werden.
sudo apt install -y fail2ban
Nach der Installation wird die Filter Definition für WordPress-„wp-login.php“ erstellt.
vi /etc/fail2ban/filter.d/wp-auth.conf
[Definition] failregex = ^<HOST> .* "POST .*wp-login\.php HTTP.*" ignoreregex =
Und nun die jail-Konfiguration hinzufügen.
vi /etc/fail2ban/jail.conf
[wp-auth] enabled = true filter = wp-auth action = iptables-multiport[name=wp-auth, port="http,https"] mail[name=wp-auth, dest=root] logpath = /home/www/*/web/logs/access_log bantime = 3600 maxretry = 6
Die Änderungen aktivieren mit service fail2ban restart
Es wird nun die Brute Force Attacke nach 6 fehlerhaften Login-Versuche, den Zugang für eine Stunde von der Firewall blockiert, geht die Attacke nach einer Stunde weiter, beginnt die Blockierung erneut.