Soms is het handig om, over een bepaalde tijdspanne, netwerkverkeer te loggen. Dit kan eenvoudig door gebruik te maken van iptables. Let erop dat iptables regels op volgorde werken. Een drop, log zal niet werken, maar een log, drop wel.
Standaard worden logregels door de kernel weggeschreven en daardoor komen ze, via rsyslog, in /var/log/messages en dmesg terecht. Onderstaande stappen zorgen ervoor dat de logregels in een apart bestand worden weggeschreven.
iptables -nvL
#Dit voorbeeld logt LDAP SYN packets: iptables -A INPUT -p tcp -m tcp -m multiport --dports 389,636 --syn -j LOG --log-prefix "[ldapconnect] " # Voorbeeld log & drop iptables -N logdrop iptables -A logdrop -m limit --limit 5/m --limit-burst 10 -j LOG --log-prefix "[invalid] " iptables -A logdrop -j DROP iptables -A INPUT -m conntrack --ctstate INVALID -j logdrop
:msg,contains,"[ldapconnect] " /var/tmp/ldapconnect.log & ~
service rsyslog restart
# cat /var/tmp/ldapconnect.log Aug 21 15:42:01 server kernel: [ldapconnect] IN=eth3 OUT= MAC= SRC=10.10.10.1 DST=10.10.10.10 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=3854 DF PROTO=TCP SPT=48081 DPT=389 WINDOW=5840 RES=0x00 SYN URGP=0 Aug 21 15:42:09 server kernel: [ldapconnect] IN=eth3 OUT= MAC= SRC=10.10.10.1 DST=10.10.10.10 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=31265 DF PROTO=TCP SPT=44596 DPT=636 WINDOW=14600 RES=0x00 SYN URGP=0 Aug 21 15:42:34 server kernel: [ldapconnect] IN=eth3 OUT= MAC= SRC=10.10.10.1 DST=10.10.10.10 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=27859 DF PROTO=TCP SPT=40614 DPT=636 WINDOW=14600 RES=0x00 SYN URGP=0 Aug 21 15:42:46 server kernel: [ldapconnect] IN=eth3 OUT= MAC= SRC=10.10.10.1 DST=10.10.10.10 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=2992 DF PROTO=TCP SPT=48780 DPT=636 WINDOW=14600 RES=0x00 SYN URGP=0 Aug 21 15:43:01 server kernel: [ldapconnect] IN=eth3 OUT= MAC= SRC=10.10.10.1 DST=10.10.10.10 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=51481 DF PROTO=TCP SPT=48082 DPT=389 WINDOW=5840 RES=0x00 SYN URGP=0