snort 检测nmap_Kali系统 Snort配置和入侵方法介绍

本文介绍了如何在Kali Linux系统中安装和配置Snort,进行ping攻击和nmap扫描的检测。首先,详细阐述了Snort的安装步骤和依赖包的安装,接着讲解了如何配置Snort规则以检测ping攻击,以及针对nmap扫描的检测方法。在实践中遇到了一些问题,如依赖错误和缺少规则文件,文中给出了相应的解决办法。最后,讨论了Snort与iptables联动增强防护能力的两种方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

165fd2f9741edb5446c9882ef98bac2e.gif

Snort简介

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

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

流程图:

af5a0d758c33dc68b6002abb7b628787.png

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包进行编译

e51efcc74430c7895b68638b40df99cc.png

(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是否安装成功

0d9517defefa2d3b77ad882553db0735.png

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

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

597dd03a4650e41efe5cab4d4bef45a8.png

下载并解压最新的规则包

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

f5547cc553e99a35f1ad0dc2ad8484b2.png

练习一条规则

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

ebff4b7f9dc77cb9d8af179582a70396.png

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

重启snort使规则生效。

利用Snort检测ping攻击

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

2e2f4a57b2fd238f35d9e0853b6dedc3.png

创建snort检测日志

660a4339f3590a5125c0e3db33accb04.png

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

b912bb7adfd3630643c18d2b065393bf.png

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

9e8139e4d5e487281789ca202c2fe832.png

成功开启snort进行检测

03b754f7ea571990d02c156d3e69e9e5.png

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

1c67e6d9863ac583f9634846a5f4b53e.png

在日志中查看检测结果:

d96a5b3d446fe1a2f0fbc34eff2d0b5a.png

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

利用Snort检测nmap扫描

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

8cefdf686bb69607f729e57e8e822280.png

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

fe97bbc3556d7562bd7fd25abc70d86c.png

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

45a99c9e16a8ab659d616402aa9f0764.png

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

d7c9858fc8f6de6f7a30749489c9a5bd.png

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

14038b7b2b98954af879e3a5a566e3f1.png

遇到的问题及解决方法:

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

057d0a84ace38519358dc294b154717c.png

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

ec9094ca7c9b07c5dcb6081182e167ac.png

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

fd0dbf583347be91fbac99ad8ce4cb21.png

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

551dd575aea1d70be2e9296485d57033.png

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

309f9e6499528411a7fb1af6639413ea.png

结语

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

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

联动来解决这个问题。

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

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

d998a0053a5e29e8a8075f30249b572b.png

aebb88b1a2e2b2545ea304c35ca98b79.png

bae5d8e880d2293d7787cb70304d6cb5.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值