fwsnort是将snort规则转换成iptables规则,由于snort规则大部分是基于应用层的数据进行检测,所以使用字符串搜索、正则(pcre)等算法进行识别,所以有的规则转换会失败。
先验一下iptables的字符串匹配扩展,根据下面的这篇博客,操作就能验证。
wget http://www.cipherdyne.org/fwsnort/download/fwsnort-1.6.8.tar.bz2
下载当前最新版本,也可以下载http://www.cipherdyne.org/fwsnort/download/fwsnort-1.6.8.tar.bz2.asc。
这里就不下载演示。接下来就是解压安装。
tar -jxf fwsnort-1.6.8.tar.bz2
cd fwsnort-1.6.8/
sudo ./install.pl
报错 :Can't locate File/Copy.pm in @INC (you may need to install the File::Copy module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.22.1 /usr/local/share/perl/5.22.1 /usr/lib/x86_64-linux-gnu/perl5/5.22 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.22 /usr/share/perl/5.22 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base .) at ./install.pl line 31.
BEGIN failed--compilation aborted at ./install.pl line 31.
没有安装perl。
解决方式:
sudo apt-get install perl
sudo ./install.pl
报错:[*] Could not find make anywhere!!! Please edit the config section to include the path to make. at ./install.pl line 559.
解决方式:
sudo apt-get install make
sudo ./install.pl :并选择下载最新snort规则
出现下面的截图,说明安装成功。
接下来就是转换规则:
sudo fwsnort
成功率 62.03%.下面执行截图中的最后一个sh脚本。
报错,原因是规则头中的端口!455 iptables不支持。终止整个操作。
定位问题规则:
执行完sudo fwsnort ,默认规则会同步到 /etc/fwsnort/snort_rules/ 下,
先打开/var/lib/fwsnort/fwsnort.save 定位问题规则,找到对应的SID,例如2012252
再执行下面搜索: sudo egrep "2012252" -r /etc/fwsnort/snort_rules -n
将输出结果的规则注释掉。
重新执行 sudo fwsnort
再执行 sudo /var/lib/fwsnort/fwsnort.sh ,iptables规则已经部署好了。
执行 sudo iptables -L 查看结果。
下面演示一个DDOS的模拟攻击:
在另一台机器上面执行
echo "l44adsl" | nc -u 192.168.1.169 27444
在刚刚部署的机器上面查看日志(ubuntu=>/var/log/syslog 、 CentOS => /var/log/messages)
Apr 30 02:55:51 localhost kernel: [86] SID237 IN=ens33 OUT= MAC=00:0c:29:b6:b5:07:00:0c:29:03:c4:51:08:00 SRC=192.168.1.166 DST=192.168.1.169 LEN=36 TOS=0x00 PREC=0x00 TTL=64 ID=46852 DF PROTO=UDP SPT=58204 DPT=27444 LEN=16
SID237 :表示是 SID是237的规则匹配成功了。
sid为237的规则详情:
ddos.rules:alert udp $EXTERNAL_NET any -> $HOME_NET 27444 (msg:"DDOS Trin00 Master to Daemon default password attempt"; content:"l44adsl"; reference:arachnids,197; classtype:attempted-dos; sid:237; rev:2;)
好了,一个简单部署、攻击到这里就讲解完了。