基于Kali的Snort配置和入侵检测测试 – 作者:Alexli888

Snort简介

snort作为一个开源代码的入侵检测工具,在入侵检测系统开发的过程中有着重要的借鉴意义,其主要有

初始化工作,解析命令行,读入规则库,生成用于检测的三维规则链表,然后循环检测。

流程图:

图片[1]-基于Kali的Snort配置和入侵检测测试 – 作者:Alexli888-安全小百科

1.在kali Linux下对snort进行安装

(1)https://www.snort.org/downloads官网中下载

snort-2.9.15.1.tar.gz

daq-2.0.6.tar.gz

进行安装包解压:

  tar -zxvf snort-2.9.15.1.tar.gz

  tar -zxvf daq-2.0.6.tar.gz

(2)安装daq所依赖的开发包,直接编译会出现错误

 Apt-get install flex

 Apt-get install bison

 Apt-get install libpcap-dev

(3)查看目录下文件,并对dag包进行编译

图片[2]-基于Kali的Snort配置和入侵检测测试 – 作者:Alexli888-安全小百科

(4)安装snort所依赖的软件包

 Apt-get isnatll libpcre3-dev

 Apt-get install libdumbnet-dev

 Apt-get install zlibig-dev

同样对snort包进行编译:./configure –disable-open-appid && make && make install

(5)查看snort是否安装成功

图片[3]-基于Kali的Snort配置和入侵检测测试 – 作者:Alexli888-安全小百科

2.配置snort规则,进行ping攻击检测

从官网下载规则包:(需注册登录)

图片[4]-基于Kali的Snort配置和入侵检测测试 – 作者:Alexli888-安全小百科

下载并解压最新的规则包

将snort安装目录的包用规则包进行替换

图片[5]-基于Kali的Snort配置和入侵检测测试 – 作者:Alexli888-安全小百科

练习一条规则

在rules/local.rules下进行规则配置

图片[6]-基于Kali的Snort配置和入侵检测测试 – 作者:Alexli888-安全小百科

实现对内网的UDP协议相关流量进行检测,并报警

重启snort使规则生效。

利用Snort检测ping攻击

在rules/icmp-info.rules文件中设置如下规则:

图片[7]-基于Kali的Snort配置和入侵检测测试 – 作者:Alexli888-安全小百科

创建snort检测日志

图片[8]-基于Kali的Snort配置和入侵检测测试 – 作者:Alexli888-安全小百科

将snort规则中的路径(RULE_PATH)改为snort下的rules规则路径

图片[9]-基于Kali的Snort配置和入侵检测测试 – 作者:Alexli888-安全小百科

使用snort规则对流量进行检测,并将结果输出到snort日志中

图片[10]-基于Kali的Snort配置和入侵检测测试 – 作者:Alexli888-安全小百科

成功开启snort进行检测

图片[11]-基于Kali的Snort配置和入侵检测测试 – 作者:Alexli888-安全小百科

使用局域网内主机对安装snort主机进行包>800的ping攻击

图片[12]-基于Kali的Snort配置和入侵检测测试 – 作者:Alexli888-安全小百科

在日志中查看检测结果:

图片[13]-基于Kali的Snort配置和入侵检测测试 – 作者:Alexli888-安全小百科

成功检测包大于800的ping攻击!

利用Snort检测nmap扫描

1.对snort规则进行修改,将检测的家庭网络改为所在局域网

图片[14]-基于Kali的Snort配置和入侵检测测试 – 作者:Alexli888-安全小百科

2.在rules/local.rules下进行tcp规则配置

图片[15]-基于Kali的Snort配置和入侵检测测试 – 作者:Alexli888-安全小百科

3.启动snort进行局域网内的扫描检测

图片[16]-基于Kali的Snort配置和入侵检测测试 – 作者:Alexli888-安全小百科

4.使用宿主机进行局域网内的namp扫描

图片[17]-基于Kali的Snort配置和入侵检测测试 – 作者:Alexli888-安全小百科

5.在var/log/snort中查看检测结果

图片[18]-基于Kali的Snort配置和入侵检测测试 – 作者:Alexli888-安全小百科

遇到的问题及解决方法:

1.在启动snort规则中,出现如下错误:

图片[19]-基于Kali的Snort配置和入侵检测测试 – 作者:Alexli888-安全小百科

这个错误与安装的依赖有关,这里我们可对326,327行进行注释,并删除324后的\

图片[20]-基于Kali的Snort配置和入侵检测测试 – 作者:Alexli888-安全小百科

2.在snort文件中没有while_list.rules和black_list.rules:

图片[21]-基于Kali的Snort配置和入侵检测测试 – 作者:Alexli888-安全小百科

这里我们可以进行删除或者注释掉

图片[22]-基于Kali的Snort配置和入侵检测测试 – 作者:Alexli888-安全小百科

3.在tcp规则的设定中,没有sid号导致错误(注释:<100保留,100~999999为snrot发布用,>=1000,000本地用)

图片[23]-基于Kali的Snort配置和入侵检测测试 – 作者:Alexli888-安全小百科

结语

snort还可以对网站的访问进行检测。

由于snort只能检测到入侵行为并发出报警信息,但是不能直接地阻断入侵行为,可以将snort与iptables

联动来解决这个问题。

①利用Snort的扩展功能,自定义开发集成插件(snortsam): Snort 有个插件机制提供了预处理插件和处理插件等方式。而这种插件在Snort里是支持自定义开发并加载的。因此第一种实现方式就是自定义开发插件,当检测到规则匹配时则调用远程或对应主机的防火墙,将有入侵行为的ip 和端口,建立对应的一条
Iptables规则丢弃这个连接、端口的数据包或将此ip的所有包都丢弃。

②利用Snort的告警日志,自定义开发脚本。相对于Snort的插件方式,第二种的实现方式非常简单且易于实现,就是利用一个简单的脚本实时读取告警日志,将记录到的Ip和端口,创建对应的一条lptables规则,加入到远程或对应主机的防火墙规则中,也就是实现了同第一种方式相同的功能,虽然后者在处理速度上没有第一种方式及时,但整体防护能力上并未有太大什么区别。

来源:freebuf.com 2020-07-18 23:26:32 by: Alexli888

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论