Ich denke jeder kennt iptables. Meißt in der Funktion einer Firewall. Iptables können aber auch verwendet werden um den Netzwerkverkehr zu überwachten. Als erstes sollte dazu der Log-Level für den eingehenden Verkehr definiert werden.
Aktivierung: iptables -A INPUT -j LOG --log-prefix "ipchains:" --log-level 4Deaktivierung: iptables -D INPUT -j LOG --log-prefix "ipchains:" --log-level 4
Nun können die Firewall Logs über den syslog-daemon in eine extra Datei umgelegt werden.
Syslog config Datei editieren:
vim /etc/syslog.conf
um folgende Zeile erweiteren:
kern.warning /var/log/iptables.log
Nun noch sysklogd neustarten
/etc/init.d/sysklogd restart /etc/init.d/syslog restart /etc/init.d/klogd restart
#log ip Packet Header iptables -A INPUT -j LOG --log-ip-options --log-prefix '#### IP Header ####'
#log tcp Packet Header iptables -A INPUT -j LOG --log-tcp-options --log-prefix '#### TCP Header ####'
# SSH Logging iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 22 -j LOG --log-prefix '#### ssh connection ####' iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 22 -j ACCEPT
# HTTP Logging iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 80 -j LOG --log-prefix '#### http connection ####' iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 80 -j ACCEPT
# HTTPS Logging iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 443 -j LOG --log-prefix '#### https connection ####' iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 443 -j ACCEPT
Port Forwarding
modprobe ip_tables modprobe ip_conntrack modprobe iptable_nat echo 1 > /proc/sys/net/ipv4/ip_forward iptables -A INPUT -i eth0 -p tcp --dport 443 -j ACCEPT iptables -t nat -A PREROUTING -t nat -p tcp -d 192.168.0.209 --dport 443 -j DNAT --to 192.168.0.210 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Reset der Einstellungen
iptables -F iptables -Xiptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT
Log-Level
1 alert 2 critical 3 error 4 warning 5 notice 6 info 7 debug