■DROP/ACCEPTの判断の材料に、firewallのログを取得する。 $ sudo cat sfw_report.sh #!/bin/bash if [ `id -u` -ne "0" ] ;then echo "Sorry,Not Permit User" exit 1 fi grep "IN=" /var/log/syslog | \ sed s/".*IN="/"IN="/g | sed s/" "/"\n"/g | \ grep -v "^LEN\|^TOS\|^PREC\|^TTL\|^ID\|^MAC\|^DF" | \ grep -v "^\$" | xargs echo -n | sed s/" "/","/g | \ sed s/"IN="/"\n&"/g | sed s/",\$"/"\n"/g \ >> /var/log/sfwlog echo "" >> /var/log/sfwlog sort /var/log/sfwlog | uniq -c | grep "," | sort -k 1 -n -r | \ mail -s "sfw report mail" root ■例えば、vmnet8のゲストOSのiptablesで引っかかったDNS、NetBIOSのログが以下のようにmailで届く。 638 IN=eth0,OUT=,SRC=192.168.132.1,DST=192.168.132.255,PROTO=UDP,SPT=137,DPT=137 119 IN=eth0,OUT=,SRC=192.168.132.1,DST=192.168.132.255,PROTO=UDP,SPT=138,DPT=138 22 IN=,OUT=eth0,SRC=192.168.132.168,DST=192.168.132.2,PROTO=UDP,SPT=36752,DPT=53 11 IN=,OUT=eth0,SRC=192.168.132.168,DST=192.168.132.2,PROTO=UDP,SPT=56656,DPT=53 ■上記メールをそのまま反映した許可の設定を追加する場合 iptables -A INPUT -i eth0 -s 192.168.132.1 -d 192.168.132.255 -p udp --sport 137 --dport 137 -j ACCEPT iptables -A INPUT -i eth0 -s 192.168.132.1 -d 192.168.132.255 -p udp --sport 138 --dport 138 -j ACCEPT iptables -A OUTPUT -o eth0 -s 192.168.132.168 -d 192.168.132.2 -p udp --dport 53 -j ACCEPT