编写的Snort规则不报警怎么办?

    Snort规则编写是一项复杂的工作,要编写有效Snort规则,不仅掌握Snort的语法,更多需要大家对网络协议和Attack 技术都有一定的了解。在编写规则之前,我们需建议学习相关的网络安全知识(熟悉常见网络Attack原理方法和防御手段)然后需要了解Snort规则语法。

      新手刚接触Snort规则编写时会遇到各种“奇葩”的问题,表面上看规则语法和网络特征描述都没啥问题,但就是无法发出报警,在网上到处查找资料,即便是把官网下载的规则,放到系统里也无法达到预期,有几个典型问题总结如下:

Q1:为什么交换机上无法到数据抓包?

A:交换机在默认情况下,网络流量无法抵达Snort,自然无法报警。关键在于我们怎么让数据包发送到Snort系统?这就是如何在交换机上设置端口镜像,不解决这个问题,后面的案例都无从谈起。规则写的再好,没有流量过来也不行,在Snort课程中会详解这个问题。

Q2:简单的TCP协议检测报警

A :用户按语法写条规则,发现有时候报警有时候不报警,很是郁闷。

alert tcp  any any <> any any (msg:"abc";content:"abc";sid:10002;)
1.
在我的Snort课程里学习过Snort会检查包的内容,只有包中内容完全符合content条件才会报警,但新手往往搞不清楚怎么回事,不知道怎么修改规则。成功或失败都不知道怎么回事。

Q3:FTP登录的报警

先看实验环境:

操作系统: CentOS 7
  2.应用软件VsFTP(保持默认配置)

以下是一个用于检测FTP登录成功的规则:

alert tcp any any -> any 21 (msg:"FTP Login Detected"; content:"230"; sid:10001; rev:1;)
1.
上述规则的解释如下:

alert:定义规则命中时的动作,这里是发出一个警报。
tcp:指定规则匹配的协议为TCP。
any any:指定源IP和源端口可以是任意值。
->:指定数据流的方向,这里是从任意源IP和源端口到目标IP的FTP端口(21)。
21:FTP端口号。
msg:"FTP Login Detected":规则命中时的警报消息。
content:"230":代码“230”表示登录成功
nocase:指定匹配时不区分大小写。
sid:10001:规则的唯一标识符。
rev:1:规则的版本号。
上面这条规则看上去没有什么问题,可是放到实验环境,却无法发出报警。

      类似情况还有很多,怎么快速解决新手的常见问题?经过多年的Snort培训经验总结,本人整理出了一套行之有效的规则编写方法将其制作成为适合新人观看的视频教程。在 《手动构建Snort系统》 https://edu.51cto.com/course/23698.html 这门课中包含2.5小时的规则编写实战,能让新手迅速成长为Snort规则开发工程师。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值