经过前面的安装和配置之后,snort现以可以以IDS模式运行并执行入侵检测工作。但是检测的成效大多依赖于下载的规则库,而细心的我发现,下载的规则库虽然有200+M,但是仍有相当多的空文档。

除此之外还有DOS,DDOS,backdoor,dns,ftp,icmp等文件为空,不禁让我怀疑其规则库的可信赖性,当然其作为一个开源免费的模型,我们又能更多地要求他什么呢。所以指定符合本机机情的检测规则是当务之急。

规则编写

虽然理论上来说更改任意一个文件夹内的规则都可以达到目的,但是为了便于管理和查找,自定的规则还是写入/rules文件内的local.rules文件内,直接双击打开即可编写。
本次规则如下:
alert icmp any any -> $HOME_NET any (msg:"ICMP incmoing!!";classtype:not-suspicious;sid:1000001;rev:1;)
任意IP来源,任意端口的ICMP报文发送到本机的任意端口时,发出警报ICMP incoming!!

测试

sudo snort -de -l logs/ -c etc/snort.conf以IDS模式打开snort
任意主机ping装有snort的主机
snort不显示任何内容,ping结束后退出即可
进入snort安装目录下的logs文件夹,可以看到生成了alert文件,内容记录如下:

编写规范

规则头

规则头包含一些信息,这些信息包括:哪些数据包、数据包的来源、什么类型的数据包,以及对匹配的数据包如何处理。每条规则的第一项就是规则行为(rule action)。规则行为告诉snort当发现匹配的数据包时,应该如何处理。在snort中,有五种默认的处理方式:alert、log、pass、activate和dynamic。

1).alert:使用选定的报警方法产生报警信息,并且记录数据包
2).log:记录数据包
3).pass:忽略数据包
4).activate:报警,接着打开其它的dynamic规则
5).dynamic:保持空闲状态,直到被activete规则激活,作为一条log规则
你也可以定义自己的规则类型,把它们和一个或者几个输出插件联系在一起。然后你就可以在snort规则中使用这些规则类型了。
详见参考连接规则编写规范

协议

每条规则的第二项就是协议项。当前,snort能够分析的协议是:TCP、UDP和ICMP。将来,可能提供对ARP、ICRP、GRE、OSPF、RIP、IPX等协议的支持。

IP地址

规则头下面的部分就是IP地址和端口信息。关键词any可以用来定义任意的IP地址。snort不支持对主机名的解析。所以地址只能使用数字/CIDR的形式。/24表示一个C类网络;/16表示一个B类网络;而/32表示一台特定的主机地址。例如:192.168.1.0/24表示从192.168.1.1到192.168.1.255的地址。
在规则中,可以使用使用否定操作符(negation operator)对IP地址进行操作。它告诉snort除了列出的IP地址外,匹配所有的IP地址。否定操作符使用!表示。例如,使用否定操作符可以很轻松地对表1的规则进行改写,使其对从外部网络向内的数据报警。
alert tcp !192.168.1.0/24 any -> 192.168.1.0/24 111(content:"|00 01 86 a5|";msg:“external mountd access”

端口号

在规则中,可以有几种方式来指定端口号,包括:any、静态端口号(static port)定义、端口范围,以及使用非操作定义。any表示任意合法的端口号;静态端口号表示单个的端口号,例如:111(portmapper)、23(telnet)、80(http)等。使用范围操作符:可以指定端口号范围。有几种方式来使用范围操作符:达到不同的目的,例如:
log udp any any -> 192.168.1.0/24 1:1024
记录来自任何端口,其目的端口号在1到1024之间的UDP数据包

总结

本文介绍了snort规则编写的方法,并进行了测试。
但目前该入侵检测系统只能针对已有规则下的攻击进行检测,且被攻击也只是在文档中记录,并不能及时有效地警示管理员,后续功能需要我们自行编写,比如将更新的警报发送到管理员邮箱等方法,而要想实现入侵防御的功能更是还需要主动防御或其他安全模块。

入侵防御之snort规则编写相关推荐

  1. 网络入侵检测--Snort软件规则编写

    Snort规则编写 今天主要来讲一下Snort中的规则编写规则,还有些绕口,就是编写他们的rules的方法,可以帮助我们理解他们提供的rules和定义我们自己的rules. 首先我们来看一条规则 al ...

  2. Web流量检测与绕过(基于Snort规则)

    Web流量检测与绕过 Snort Snort概述 Snort规则学习 Snort规则编写 流量特征处理 消除流量特征 检测特征是否消除 实战 Snort 我在上一篇博客已经讲述,如何进行windows ...

  3. 实验 snort安装配置与规则编写

    实验 snort安装配置与NIDS规则编写 1 实验目的 在linux或windows任意一个平台下完成snort的安装,使snort工作在NIDS模式下,并编写符合相关情景要求的snort规则. 2 ...

  4. 开源入侵检测系统—Snort的配置与检测规则编写

    IDS(入侵检测系统)模式配置 1.创建snort用户和组,其中snort为非特权用户 groupadd snort useradd snort -r -s /sbin/nologin -c SNOR ...

  5. snort规则检测引擎初探

    0x01缘由        目前的产品开发过程中,涉及到了对应用层协议类型的检测.考虑到要构建高效的规则匹配引擎,于是再次研究了snort的规则引擎.      主要目的还是开阔下设计思路和借鉴一些方 ...

  6. Snort规则入门学习

    Snort规则学习 Snort 是一个开源入侵防御系统(IPS).Snort IPS 使用一系列规则来帮助定义恶意网络活动,并利用这些规则来查找与之匹配的数据包,并为用户生成警报. 下面来学习一下sn ...

  7. DVWA全级别-双向规则编写

    下面的规则可以通过DVWA高中低三种难度 爆破攻击 攻击方式 规则编写 SQL注入攻击 攻击方式 规则编写 XSS反射型攻击 攻击方式 规则编写 XSS存储型攻击 攻击方式 规则编写 文件上传攻击 攻 ...

  8. 30 snort 规则

    项关键字. msg - 在报警和包日志中打印一个消息. logto - 把包记录到用户指定的文件中而不是记录到标准输出. ttl - 检查ip头的ttl的值. tos 检查IP头中TOS字段的值. i ...

  9. CVE-2018-1273漏洞复现日志+IDS规则编写

    CVE-2018-1273(Spring Data Commons) 远程命令执行漏洞 漏洞描述: Spring Data Commons(1.13至1.13.10之前的版本,2.0至2.0.5的版本 ...

最新文章

  1. nacos config基本使用
  2. 不同版本GCC编译器之间的切换
  3. iOS - UITextField
  4. oracle查询中over(partition by ...order by ...)用法
  5. IntelliJ IDEA 如何从SVN导入项目 怎么部署 就是路劲和tomcat配置等等 步骤希望
  6. PyTorch 入坑四 梯度、链式法则、计算图与反向传播
  7. 解决vmware“二进制转换和长模式与此平台兼容.....”问题
  8. 【Prison Break】第二天(3.28)
  9. javaweb JAVA JSP计算机系试题库管理系统的设计与实现JSP题库管理系统 JSP试题管理系统
  10. 敏捷开发工具scrum
  11. 中继器制作联动下拉列表
  12. 自动化办公1-文件夹文件分类器
  13. 移动200/300M网速只有最高5M/s(3G太快了),提高网速的办法和具体处理方式
  14. 软件工程与计算II-19-软件测试
  15. 数控车床加工的工艺与普通车床的加工工艺
  16. 计算机网络两台主机互相通信过程概览
  17. 【天光学术】旅游管理论文:大连金石滩旅游餐饮文化资源开发对策研究
  18. phpmoadmin 远程代码执行 (CVE-2015-2208)
  19. 【react基础】7、react获取文本框的值
  20. 电话录音设备市场现状及未来发展趋势

热门文章

  1. 每天记录学习的新知识:利用高德地图绘制历史路线
  2. 如何让自己精力充沛 【转】
  3. 邮件协议POP3/IMAP/SMTP学习总结 SSL/TLS介绍 常用邮箱服务器设置
  4. android 修改手机系统,【教程贴丨09-29】手机系统APK自己来修改
  5. Java 访问PI 数据库:(1)安装必要软件
  6. python学习之socket模块网络通信的异常信息汇总
  7. Centos下修改hostname
  8. 单目结构光——Micro deep learning profilometry for 3D surface imaging 复现
  9. 2022-08-02 分析RK817 输出32k clock PMIC_32KOUT_WIFI给WiFi模块 clock 注册devm_clk_hw_register
  10. 瑞萨e2studio(22)----移植兆易创新SPI Nor Flash之GD25Q64Flash