Iptables basierend auf Apache-Protokolldaten automatisch ändern, um schlecht verhaltene Clients zu blockieren

14

Gibt es unter Linux ein Tool, mit dem iptables automatisch so geändert werden kann, dass ein problematischer Client aufgrund einer Analyse des Apache-Protokolls blockiert wird? Ich helfe beim Betreiben einer Website, die manchmal von Anfragen eines bestimmten Benutzers überfordert ist. Die einzige Lösung besteht darin, einen Eintrag in iptables hinzuzufügen, um den anstößigen Client zu blockieren. Normalerweise ist es zu spät, bis ich manuell reagieren kann. Daher möchte ich einen regelbasierten Mechanismus, um die Iptables zu ändern. Ich würde vermuten, dass eine Art unscharfe Logik oder statistische Analyse notwendig wäre.

Rangachari Anand
quelle

Antworten:

10

Sie können so etwas wie fail2ban verwenden , in das IIRC einen Apache-Protokollprüfer integriert hat.

Glen Solsberry
quelle
fail2ban kommt dem sehr nahe, was ich will. Sieht so aus, als müsste ich ein bisschen durch die Quelle graben.
Rangachari Anand
4

Möglicherweise möchten Sie die Verwendung von iptables in Betracht ziehen, um die Rate eingehender Verbindungen zu begrenzen. In der einfachsten Einstellung können Sie eingehende Verbindungen auf eine Zahl pro Minute beschränken.

Beispielsweise möchten Sie möglicherweise nur 10 Pings pro Minute von einer einzelnen IP-Adresse zulassen. Es wird ein wenig raffinierter als das, mit der Option, Burst-Limits zusätzlich zu den langfristigen Durchschnittslimits festzulegen.

Einige gute Anweisungen zum Einrichten von http://kevin.vanzonneveld.net/techblog/article/block_brute_force_attacks_with_iptables/

Guy C
quelle
Hervorragend - ich hatte keine Ahnung, dass iptables das überhaupt kann. Dies könnte sehr nützlich sein.
Rangachari Anand
Ich werde einen ausgezeichneten Leitfaden ausgraben, den ich kürzlich darüber gelesen habe
Guy C
2

Schauen Sie sich OSSEC an . Bester Protokolldatei-Analysator, den ich verwendet habe. Es unterstützt auch die aktive Reaktion auf der Grundlage von Analysen.

GNUix
quelle