Ich möchte wissen, dass ich anhand der Zugriffsliste, die ich mit iptables erstellt habe, herausfinden kann, auf welche Regel wie oft zugegriffen wurde.
Meine Firewall verfügt über mehr als 1000 Ein- und Ausgaberegeln in iptbales. Ich möchte herausfinden, auf wie viele von ihnen jeweils zugegriffen wurde.
Angenommen, ich habe die folgenden Regeln
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT
Ich möchte herausfinden, wie oft die Regeln 1, 2, 3, 4, 5 und 6 getroffen wurden.
iptables
listet Paket- und Byte-Zähler auf, wenn Sie die Option -v
für verbose angeben, z. iptables -vL
. Ebenso listet iptables-save
alle Einträge auf, einschließlich der erwähnten Zähler für jede Kette, jedoch nicht für jeden Tabelleneintrag (auf einigen Systemen erfordert iptables-save
die Option -c
, um Zähler einzuschließen).
Ich verwende Folgendes, um meine iptables-Regeln zu überprüfen:
iptables -nvL [INPUT|FORWARD|OUTPUT|myCHAINNAME] --line-numbers | less
Das -n beschleunigt den Prozess, indem es keine Hostnamen-Suchvorgänge durchführt
Die Zeilennummern helfen beim Löschen von Regeln:
iptables -D [INPUT|FORWARD|OUTPUT|myCHAINNAME] [Rule#]
HTH
Sie können auch das Modul collectds iptables verwenden, um die Zähler zu aggregieren: