Ben Stienstra

Linux, Unix, network, radio and more...

User Tools

Site Tools


iptables_logging

iptables logging

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.

Instellen van logging

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.

  • Controleer of er iptables rules actief zijn. Als er al rules in gebruik zijn, voeg deze dan boven eventuele drop-regels in (-I in plaats van -A):
    iptables -nvL
  • Voeg een logregel toe.
    #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
    
  • Configureer rsyslog zodat deze regels naar een ander logbestand worden weggeschreven. Dit voorbeeld gaat uit van /var/tmp. Maak het bestand /etc/rsyslog.d/00_ldap_connect_log.conf aan met de onderstaande inhoud. De -ampersand tilde- zorgt ervoor dat de weggeschreven regel niet meer door andere rsyslog regels loopt. Hierdoor komen de logregels alleen in het bedoelde bestand terecht. Deze tilde is in latere versies deprecated en kan vervangen worden door het woord stop.
    :msg,contains,"[ldapconnect] " /var/tmp/ldapconnect.log
    
    & ~
  • Herstart rsyslog:
    service rsyslog restart
  • Controleer of er regels weggeschreven worden:
    # 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 
iptables_logging.txt · Last modified: 2015/08/25 12:15 by admin