snort入侵检测规则编写与验证

实验声明:本实验教程仅供研究学习使用,请勿用于非法用途,违者一律自行承担所有风险!

Snort入侵检测规则编写与验证

【实验目的】

通过本实验掌握snort入侵检测系统的搭建以及相关配置。

【实验环境】

Snort服务器登录信息:

用户名: college 密码: 360College

【实验原理】

  搭建好Snort环境后,编写规则对某种特征的数据包进行检测,然后利用发包器,发送具有该特征的数据包,检验规则的有效性。

实验步骤

预置环境说明:

OS为CentOS7。snort入侵检测环境已经完成构建。

预置环境

进入WEB服务器,启动PHPstudy,并启动服务。

一、制定snort规则文件

根据网络拓扑,设置好变量$HOME_NET的网段(/etc/snort/snort.conf文件)。

在Snort规则中/etc/snort/snort.conf文件的

#7) Customize your rule set

部分下面进行配置(新增加一行)。

include $RULE_PATH/my.rules

my.rules规则文件可根据需要进行修改名称。

二、编写snort入侵检测规则

查看$RULE_PATH下,没有my.rules文件,所以使用touch命令,新建一个文件。

编辑/etc/snort/rules/my.rules,在其中添加自行编写的入侵检测规则。

范例规则:

alert tcp any any -> $HOME_NET 8082 (msg:"SNORT:visit destport tcp 8082";  sid:201900001; rev:1;)

此规则,检测外网对内网某主机tcp8082端口的访问,并进行告警。没有具体的意义。

alert tcp any any -> $HOME_NET any (fragbits:R+; msg:"SNORT:Reserverd IP bit set!";sid:201900002; rev:1;)

此规则,检测外网对内网某主机的访问,并对IP报文中的分片标志R位为1的报文(正常情况下R标志默认为0),进行告警。这是一种异常报文。

alert icmp any any -> $HOME_NET any (msg:"SNORT:External host ping inner host!";sid:201900003; rev:1;)

此规则,检测外网对内网某主机的ping操作,并进行告警。这是一种正常报文。

alert smb any any -> $HOME_NET any (msg:“ET EXPLOIT Possible ETERNALBLUE MS17-010”; flow:to_server,established; content:”|00 00 00 31 ff|SMB|2b 00 00 00 00 18 07 c0|”; depth:16; fast_pattern; content:”|4a 6c 4a 6d 49 68 43 6c 42 73 72 00|”; distance:0; flowbits:set,ETPRO.ETERNALBLUE; flowbits:noalert; classtype:trojan-activity; sid:2024220; rev:1;)

此规则,检测任意主机对内网某主机的永恒之蓝攻击操作,并进行告警。这是一种攻击性报文。

自行分析各字段的意义。

(验证:可采用Metasploit进行针对MS17-010漏洞的攻击,或利用WannaCry宿主机,对该规则进行验证)。

还可以根据规则格式,针对其他特征进行检测。

也可将snort规则,选择一些进行验证。

三、运行SNORT

1、启动Mysql服务器:

#service mysql start

2、启动Snort:

#snort -c /etc/snort/snort.conf

#barnyard2 -c /etc/snort/barnyard2.conf -d /var/log/snort -f snort.log -w /var/log/snort/barnyard2.waldo -g snort -u snort

运行后,应该能看到sensor_name,user,database_name等配置参数。

并且,barnyard2等待新到来的数据。

四、验证与查看结果

1、进行验证操作

从测试机,利用浏览器访问服务器的8082端口;

对web进行ping测试;

利用metasploit对操作机进行永恒之蓝ms17-010攻击。

2、查看记录

正常情况下,snort会进行告警并记录日志。

snort日志中会记录告警日志,同时可在mysql数据库中看到对入侵行为的记录。

实验小结

通过本次实验,能够了解snort入侵检测规则的编写方法及验证方法。从而了解,基于误用的入侵检测系统的工作方式。获取攻击特征,编写检测规则,验证规则,然后才能导入生产系统,进行线上工作。

posted @ 2020-11-17 20:09  码小农的幸福生活  阅读(3700)  评论(1编辑  收藏  举报