[vgwort line=“45″ server=“vg05″ openid=“09b8cd3fef7e4abc8f7c0a204fc313c4″]
Täglich wird etwa 100 Mal von etwa 60 Rechnern versucht über die Anmeldeseite wp-login.php in dieses Blog byggvir.de einzubrechen. Die meisten Rechner versuchen es nur einmal mit einer „GET /wp-login.php“ Anfrage und verzichten auf eine anschließende „POST /wp-login.php“ Anfrage, was daran liegen könnte, dass der Zugriff geschützt ist und der Angreifer dier Fehlermeldung 403 – Access denied erhält, aber dazu gleich. Bei einem anderen Blog, in dem die Datei wp-login.php ungeschützt ist, überwiegen die POST-Requests die GET-Requests ganz erheblich (Faktor 10), während in diesem Blog POST-Requests kaum auftreten. Es gibt allerdings auch Angreifer, die auf den einleitenden GET-Request verzichten und ausschließlich POST-Requests absetzen.
Die IP-Adressen deuten auf einen verteilten Angriff aus bestimmten – chinesischen, russischen und türkischen – Netzen hin. Manche Rechner versuchen es nahezu täglich bis ein- bis dreimal. Offenbar haben die Angreifer ihrer Strategie an Tools wie fail2ban angepasst.
Nur ein Rechner versuchte es bei diesem Blog mit einem massiven Brute Force Angriff in „kurzer“ Zeit über POST-Request und scherte sich nicht um die Fehlermeldung 403. Im anderen Blog – ohne die Fehlermeldung 403 – waren es drei Rechner.
Grundsätzlich gibt es also zwei Strategien der Angriffe:
- Der gute alte Brute Force Angriff mit vielen Zugriffen von einem Rechner in kurzer Zeit.
- Der zeitlich gestreckte und auf vieler Rechner verteilte Brute Force Angriff.
Gegen die zweite Art des Angriffes helfen Tools wie fail2ban wenig. Wer die IP-Adressen, von denen er sich anmeldet einschränken kann, der kann zumindest einen Teil der Angriffe frühzeitig abwehren und entlastet damit seinen Server.
Ergänzung der Konfigurationsdatei für den Apache2
Der Zugriff auf die Anmeldeseite ist nur über den VPN-Tunnel freigeschaltet, jeder andere Versuch endet sofort mit der Fehlermeldung 403 – Access denied. Dies hält die Angreifer jedoch nicht unbedingt davon ab weiter zu machen. In der Regel versucht es ein Rechner nur einmal; wenige versuchen es zwei oder drei Male. Andere begreifen es auch nach Dutzenden Versuchen nicht.
Mit folgender Ergänzung der Konfigurationsdatei des virtuellen Host lässt sich bei einem Apache2-Web-Server der Zugriff auf die Anmeldeseite eines WordPress-Blog sperren. Der Server antwortet auf die Anfragen mit der Fehlermeldung 403 -Access denied.
# Beschränkung des Zugriffes auf das File wp-login.php auf Adressen aus dem VPN-Tunnel
<Files wp-login.php>
Order deny,allow
Allow from 172.16.0.0/16
Deny from all
</Files>
Es wäre auch eine Umleitung mittels RewriteRule in der Datei .htaccess möglich, doch diese Variante greift früher und braucht weniger Rechenleistung.
Was ist ein Angriff?
Was sollte in diesem Zusammenhang als eine Angriff gezählt werden. Es geistern immer Horror Zahlen über die Angriffe auf Web-Server durch das Netz. Manchmal habe ich den Eindruck, es gibt ein Wettrennen, wer der tollste ist: Ätsch, ich werde mehr angegriffen als du!
Wen jemand es täglich einmal versucht, und dies seint Monate, ist dies ein Angriff oder ist es ein Angriff jeden Tag. Wenn es ein Bot-Netz von n verschiedenen Adressen versucht, ist es ein Angriff oder sind es n Angriffe.
Für die beiden Statistiken habe ich nur die GET-Requests nach Anzahl und IP-Adressen ausgewertet und die POST-Requests außer Acht gelassen.
Gute Nacht
[…] Geschieht ihm recht. Aber ich bin da lieber vorsichtig. Dies ist auch ein WordPress-Blog. Die Administration ist zwar gut abgesichert, aber gegen Fehler in WordPress bin auch ich nicht […]