Version: 1.0
Getestet: CentOS 5
Unter Linux gibt es verschiedene Möglichkeiten, ein hostbasiertes Intrusion Detection System (IDS) zu installieren. Dies Variante kommt mit Boardmitteln aus, dh. es werden lediglich ein paar Iptables Regeln gesetzt. Das Paket Iptables ist bei jeder Distribution dabei. Es werden definierte Ports sowohl auf Connects über TCP als auch über UDP überwacht. Wird versucht, einen Connect auf einem der überwachten Ports herzustellen, so wird die entsprechende IP für einen bestimmten Zeitraum komplett geblockt und ein Eintrag in ein gesondertes Logfile geschrieben.
Beim Arbeiten mit Iptables gilt wie immer: Vorsicht!
Installation
Separates Logfile anlegen
touch /var/log/firewallSyslog anpassen (anschließend Syslog neustarten)
/etc/syslog.conf
kern.warn /var/log/firewallIptables Rules
#!/bin/sh# Basic IDS via IPTABLES Rules
# SRC IP will be locked out for some time (LOCKOUT_TIME) [seconds]
IPTABLES_BIN='/sbin/iptables'
LOCKOUT_TIME=60
### Chain IDS ###
$IPTABLES_BIN -N IDS
$IPTABLES_BIN -A IDS -m recent --update --seconds $LOCKOUT_TIME --name portscan -j DROP
### Trusted Networks/Hosts ###
$IPTABLES_BIN -A INPUT -s 127.0.0.1 -j ACCEPT
$IPTABLES_BIN -A INPUT -s x.x.x.x -j ACCEPT
$IPTABLES_BIN -A INPUT -s y.y.y.y/16 -j ACCEPT
$IPTABLES_BIN -A INPUT -s z.z.z.z/24 -j ACCEPT
### All Other ###
$IPTABLES_BIN -A INPUT -j IDS
### TCP Rules ###
$IPTABLES_BIN -A IDS -p tcp -m multiport --dport 1,7,9,11,15,21,23,25,70,79,109,110,111 -m recent --name portscan --set -j LOG --log-prefix "Portscan " --log-level 4 --log-ip-options
$IPTABLES_BIN -A IDS -p tcp -m multiport --dport 1,7,9,11,15,21,23,25,70,79,109,110,111 -m recent --name portscan --set -j DROP
$IPTABLES_BIN -A IDS -p tcp -m multiport --dport 119,138,143,512,513,514,515,540,635,1080 -m recent --name portscan --set -j LOG --log-prefix "Portscan " --log-level 4 --log-ip-options
$IPTABLES_BIN -A IDS -p tcp -m multiport --dport 119,138,143,512,513,514,515,540,635,1080 -m recent --name portscan --set -j DROP
$IPTABLES_BIN -A IDS -p tcp -m multiport --dport 1524,2000,2001,4000,4001,5742,6000,6001,6667,12345,12346 -m recent --name portscan --set -j LOG --log-prefix "Portscan " --log-level 4 --log-ip-options
$IPTABLES_BIN -A IDS -p tcp -m multiport --dport 1524,2000,2001,4000,4001,5742,6000,6001,6667,12345,12346 -m recent --name portscan --set -j DROP
$IPTABLES_BIN -A IDS -p tcp -m multiport --dport 20034,27665,30303,32771,32772,32773,32774,31337,40421,40425,49724,54320 -m recent --name portscan --set -j LOG --log-prefix "Portscan " --log-level 4 --log-ip-options
$IPTABLES_BIN -A IDS -p tcp -m multiport --dport 20034,27665,30303,32771,32772,32773,32774,31337,40421,40425,49724,54320 -m recent --name portscan --set -j DROP
### UDP Rules ###
$IPTABLES_BIN -A IDS -p udp -m multiport --dport 1,7,9,66,67,68,69,111,137,161 -m recent --name portscan --set -j LOG --log-prefix "Portscan " --log-level 4 --log-ip-options
$IPTABLES_BIN -A IDS -p udp -m multiport --dport 1,7,9,66,67,68,69,111,137,161 -m recent --name portscan --set -j DROP
$IPTABLES_BIN -A IDS -p udp -m multiport --dport 162,474,513,517,518,635,640,641,666,700,2049 -m recent --name portscan --set -j LOG --log-prefix "Portscan " --log-level 4 --log-ip-options
$IPTABLES_BIN -A IDS -p udp -m multiport --dport 162,474,513,517,518,635,640,641,666,700,2049 -m recent --name portscan --set -j DROP
$IPTABLES_BIN -A IDS -p udp -m multiport --dport 31335,27444,34555,32770,32771,32772,32773,32774,31337,54321 -m recent --name portscan --set -j LOG --log-prefix "Portscan " --log-level 4 --log-ip-options
$IPTABLES_BIN -A IDS -p udp -m multiport --dport 31335,27444,34555,32770,32771,32772,32773,32774,31337,54321 -m recent --name portscan --set -j DROP
### Chain IDS End ###
$IPTABLES_BIN -A IDS -j RETURN
Rules für abspeichern (erhält Rules bei Reboots)
CentOS/RHEL
/etc/init.d/iptables saveBetrieb
Recent Liste anzeigen
cat /proc/net/ipt_recent/*Recent Liste löschen
echo clear > /proc/net/ipt_recent/*Iptable Rules anzeigen
iptables -LIptable Rules löschen
iptables -FIptable Chains löschen
iptables -XBitte teilen Sie uns und allen Besuchern von maec.de Ihre Meinung zu diesem Artikel mit.