Kategorien
Linux

Portscans mit iptables erkennen und protokollieren.

Mit iptables(Netfilter) lassen sich Portscans leicht blockieren. Um die bekanntesten Portscans auch zu protokollieren verwende ich normalerweise folgende Regeln.

Als erstes brauchen wir ein neues Ziel für die erkannten Pakete. Die Pakete die hier rein wandern werden protokolliert und danach verworfen.

iptables -N PORTSCAN
iptables -A PORTSCAN -j LOG --log-prefix "PORTSCAN detected -- "
iptables -A PORTSCAN -j DROP

Danach können wir uns an die einzelnen Portscan Typen machen, die wir anhand von ungültigen Flagkombinationen aussortieren.

SYN + RST

iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j PORTSCAN
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN,RST -j PORTSCAN

SYN + FIN

iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j PORTSCAN
iptables -A FORWARD -p tcp --tcp-flags SYN,FIN SYN,FIN -j PORTSCAN

FIN + URG + PSH

iptables -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j PORTSCAN
iptables -A FORWARD -p tcp --tcp-flags ALL FIN,URG,PSH -j PORTSCAN

ALL

iptables -A INPUT -p tcp --tcp-flags ALL ALL -j PORTSCAN
iptables -A FORWARD -p tcp --tcp-flags ALL ALL -j PORTSCAN

nmap Null scan

iptables -A INPUT -p tcp --tcp-flags ALL NONE -j PORTSCAN
iptables -A FORWARD -p tcp --tcp-flags ALL NONE -j PORTSCAN

nmap FIN stealth scan

iptables -A INPUT -p tcp --tcp-flags ALL FIN -j PORTSCAN
iptables -A FORWARD -p tcp --tcp-flags ALL FIN -j PORTSCAN

XMAS

iptables -A INPUT -p tcp --tcp-flags ALL URG,ACK,PSH,RST,SYN,FIN \
        -j PORTSCAN
iptables -A FORWARD -p tcp --tcp-flags ALL URG,ACK,PSH,RST,SYN,FIN \
        -j PORTSCAN

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert