#!/bin/bash echo "Running iptables firewall script ... # laden wichtiger Module - iptables Modul und Logging Modul modprobe ip_tables ipt_LOG #Alle TCP Packete die nicht über eth0 kommen und als Zielport einen der Ports aus der Range #1-1023 besitzen, werden geloggt. iptables -A INPUT -i ! eth0 -p TCP --dport 1:1023 -j LOG --log-prefix " Alert! PrivPort " #Alle TCP und UDP Packete die nicht über eth0 kommen und als Zielport einen der Ports aus der Range #1-1023 besitzen, werden veworfen. iptables -A INPUT -i ! eth0 -p TCP --dport 1:1024 -j DROP iptables -A INPUT -i ! eth0 -p UDP --dport 1:1024 -j DROP #Alle TCP Packete mit gesetztem SYN,FIN Flags werden geloggt # --> es könnte sich um einen SYN,FIN Scan handeln iptables -A INPUT -p tcp --tcp-flags ALL SYN,FIN -j LOG --log-prefix " Alert! SYNFINSCAN " #Alle TCP Packete ohne gesetzten Flag werden geloggt # --> es könnte sich um einen Nullscan handeln iptables -A INPUT -p tcp --tcp-flags ALL NONE -j LOG --log-prefix " Alert! NULLSCAN " #Alle TCP Packete mit gesetzten FIN,PSH,URG Flags werden geloggt # --> es könnte sich um einen XMAS Scan handeln iptables -A INPUT -p tcp --tcp-flags ALL FIN,PSH,URG -j LOG --log-prefix " Alert! NMAPXMAS " #Alle fragmentierten ICMP Packete werden geloggt iptables -A INPUT -p icmp -f -j LOG --log-prefix " Alert! ICMPFRAG " #Alle TCP Packete mit dem Zielport 1080 bzw. 8080 werden geloggt #--> möglicherweise wird nach einem Proxy gescannt iptables -A INPUT -p tcp -d 0/0 --dport 1080 -j LOG --log-prefix " Alert! PROXYSCAN " iptables -A INPUT -p tcp -d 0/0 --dport 8080 -j LOG --log-prefix " Alert! PROXYSCAN " exit 0 |
# # /etc/syslog-ng/syslog-ng.conf # # File format description can be found in syslog-ng.conf(5). # options { long_hostnames(off); sync(0); }; source src { unix-dgram("/dev/log"); file("/proc/kmsg"); internal(); }; # own code ---begin--- destination d_firewall {file ("/var/log/ids"); }; filter firewall_filter { match("Alert!"); }; log {source(src); filter(firewall_filter); destination(d_firewall);}; # own code ---end--- filter f_newsnotice { level(notice) and facility(news); }; filter f_newscrit { level(crit) and facility(news); }; filter f_newserr { level(err) and facility(news); }; filter f_news { facility(news); }; filter f_mail { facility(mail); }; filter f_cron { facility(cron); }; filter f_warn { level(warn,err, crit); }; filter f_alert { level(alert); }; [...] |