Was Sie wollen, ist Fail2ban (vorausgesetzt, dies ist ein Linux-Rechner, haben Sie nicht gesagt ...)
Was ist Fail2ban?
Fail2ban analysiert Systemprotokolle und sucht nach bestimmten regulären Ausdrücken, die blockiert werden sollen. Wenn eine Übereinstimmung gefunden wird (oder mehrere Übereinstimmungen mit derselben IP-Adresse, je nachdem, wie Sie sie konfiguriert haben), wird sie normalerweise über IPTables blockiert. In der Regel wird dies verwendet, um fehlgeschlagene Authentifizierungsversuche gegen SSH oder Webserver zu blockieren.
Sie konfigurieren es so, dass sie für eine festgelegte Zeitspanne gesperrt werden (kann Minuten sein, kann Tage sein ... hängt davon ab, wie dauerhaft sie sind). Danach läuft das Verbot ab, es sei denn, sie versuchen es erneut.
Wie blockiert dies phpmyadmin-Scan-Bots?
Es kann genauso einfach verwendet werden, um häufige Anzeichen eines Angriffs zu erkennen, wie beispielsweise den Zugriff auf nicht vorhandene phpmyadmin-Ordner. Sie müssen den richtigen regulären Ausdruck finden, um diesen Versuchen zu entsprechen, und sicherstellen, dass Sie keine legitimen Benutzer blockieren.
Die in diesem Blog-Beitrag angegebene Konfiguration funktioniert möglicherweise wörtlich oder erfordert einige Anpassungen für Ihr Setup.
Warum sollte ich sie blockieren? Die 404-Fehler kosten nicht viel
Sie in iptables zu blockieren, hat eine gewisse Bedeutung. Wenn sie nach phpmyadmin-Schwachstellen suchen, versuchen sie möglicherweise auch andere Dienste auf Schwachstellen hin, bis sie auf etwas stoßen, das funktioniert. Wenn Sie sie verbieten, geben die meisten Bots / Skripte nach einer Weile auf und sie bewegen sich zu besseren Zielen.
Selbst wenn die Scans nicht viel kosten (es sei denn, sie stellen tatsächlich eine Sicherheitsanfälligkeit fest), überfluten sie Ihre Protokolle, sodass erfolgreiche Angriffe und Probleme mit Ihrem Webserver schwerer zu erkennen sind.
Wie der folgende Kommentar besagt, benötigt Fail2ban einige Systemressourcen. Aber nicht viel. Zumindest kann ich sagen, dass ich noch nie ein Leistungsproblem hatte, das ich Fail2ban zuschreiben könnte. Ich hatte jedoch Leistungsprobleme durch sehr aggressive Skripte, die versuchten, Passwörter zu erzwingen oder Tausende von SQL-Injektionsversuchen und andere Exploits pro Sekunde auf meinem Server auszulösen. Das Blockieren auf Firewall-Ebene erfordert weit weniger Ressourcen als das Blockieren auf Server- / Anwendungsebene. Es kann auch erweitert werden, um benutzerdefinierte Skripts zum Sperren von IP-Adressen auszuführen. Statt sie in IP-Tabellen zu sperren, können Sie sie möglicherweise in einer Hardware-Firewall sperren lassen oder jemandem eine E-Mail senden, wenn dieselbe Person weiterhin versucht, Sie anzugreifen, damit Sie sich beschweren können zu ihrem ISP oder lassen Sie sie von Ihrem Rechenzentrum auf ihren Firewalls blockieren.
Irgendwelche anderen Tipps?
Es wird DRINGEND EMPFOHLEN, einige von Ihnen kontrollierte IP-Adressen auf die Positivliste zu setzen, damit Sie sich nicht versehentlich aussperren.