
Ich habe ein einfaches Apache-Webserver-Setup und grundlegende IP-Tabellen (ufw) für einen Entwicklungsserver. In meinen Protokollen sehe ich Zeilen wie diese:
[Fri May 16 10:10:36.258369 2014] [:error] [pid 15926] [client 69.147.158.130:8396] script '/var/www/html/wp-login.php' not found or unable to stat
Ich verwende WordPress überhaupt nicht und mir ist klar, dass dies ein sehr kleiner Hackversuch ist (es gibt viel ausgefeiltere Angriffe auf Apache). Ich möchte diese IP-Adresse jedoch (vorübergehend) automatisch blockieren, ohne ein IDS/IPS wie Snort zu installieren.
Ich suche nur nach einer einfachen Möglichkeit, eine Adresse zu blockieren, die versucht, eine Verbindung zu wp-admin oder wp-login herzustellen. Gibt es ein Apache-Modul, das so etwas handhaben könnte?
Antwort1
Obwohl Sie eindeutig nach einer Lösung zum Blockieren von IP-Adressen fragen, halte ich das nicht für eine gute Lösung.
Der Grund dafür ist, dass diese Angriffe, die Sie sehen, von verschiedenen IP-Adressen ausgehen, die höchstwahrscheinlich von einem Mastersystem gesteuert werden. Das liegt einfach in der Natur der heutigen DDoS- und Hackerangriffe.
Stattdessen sollten Sie die Umsetzung prüfenModSicherheit. Es handelt sich um ein Apache-Modul, das als Firewall auf Webdienstebene fungiert. Es analysiert den gesamten Webverkehr, der auf Ihre Site gelangt, und wenn es bekanntes abweichendes Verhalten erkennt, wird der Zugriff auf uns sofort durch eine „403: Verboten“-Antwort blockiert.
Die etwas negative Seite ist, dass MidSecurity Dutzende von Standardregelsätzen hat, die gut funktionieren, aber zu Fehlalarmen führen können. Wenn Sie es also implementieren, müssen Sie es in den ersten Wochen höchstwahrscheinlich optimieren.
Das Endergebnis ist jedoch, dass Sie nach dieser Kennenlernphase über ein Tool verfügen, das Ihre Site heuristisch vor bekanntem Fehlverhalten schützt. Und nicht nur eine Liste von IP-Adressen führt.
Antwort2
Ich würde nicht empfehlen, dies automatisch zu versuchen. Ich würde empfehlen, die IP manuell zu blockieren. Das einzige automatisierte System, das ich verwenden würde, wäre ein Skript oder etwas Ähnliches, das Ihre Protokolle nach ähnlichen Fehlern durchsucht.
So blockieren Sie eine IP mit ufw
sudo ufw deny from <ip address>
mit iptables
sudo iptables -I INPUT -s <ip address> -j DROP
Antwort3
Die Lösung, die bei mir funktioniert, ist fail2ban, wie im Kommentar von @ceejayoz angemerkt
@iain – Das ist tatsächlich ein Duplikat – danke, dass Sie darauf hingewiesen haben.