如何编写snort的检测规则

如何编写snort的检测规则

ID:6357321

大小:36.85 KB

页数:23页

时间:2018-01-11

如何编写snort的检测规则_第1页
如何编写snort的检测规则_第2页
如何编写snort的检测规则_第3页
如何编写snort的检测规则_第4页
如何编写snort的检测规则_第5页
资源描述:

《如何编写snort的检测规则》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、摘要snort是一个强大的轻量级的网络入侵检测系统。它具有实时数据流量分析和日志IP网络数据包的能力,能够进行协议分析,对内容进行搜索/匹配。它能够检测各种不同的攻击方式,对攻击进行实时报警。此外,snort具有很好的扩展性和可移植性。本文将讲述如何开发snort规则。(2002-07-0913:13:25)--------------------------------------------------------------------------------By书生前言snort是一个强大的轻量级的网络入侵检测系统。它具有实时数据流量分析

2、和日志IP网络数据包的能力,能够进行协议分析,对内容进行搜索/匹配。它能够检测各种不同的攻击方式,对攻击进行实时报警。此外,snort具有很好的扩展性和可移植性。本文将讲述如何开发snort规则。1.基础snort使用一种简单的规则描述语言,这种描述语言易于扩展,功能也比较强大。下面是一些最基本的东西:snort的每条规则必须在一行中,它的规则解释器无法对跨行的规则进行解析。注意:由于排版的原因本文的例子有的分为两行。snort的每条规则都可以分成逻辑上的两个部分:规则头和规则选项。规则头包括:规则行为(rule'saction)、协议(protoc

3、ol)、源/目的IP地址、子网掩码以及源/目的端口。规则选项包含报警信息和异常包的信息(特征码,signature),使用这些特征码来决定是否采取规则规定的行动。这是一个例子:alerttcpanyany->192.168.1.0/24111(content:"

4、000186a5

5、";msg:"mountdaccess";)表1.一条简单的snort规则从开头到最左边的括号属于规则头部分,括号内的部分属于规则选项。规则选项中冒号前面的词叫做选项关键词(optionkeywords)。注意对于每条规则来说规则选项不是必需的,它们是为了更加详

6、细地定义应该收集或者报警的数据包。只有匹配所有选项的数据包,snort才会执行其规则行为。如果许多选项组合在一起,它们之间是逻辑与的关系。让我们从规则头开始。1.1includesnort使用的规则文件在命令行中指定,include关键词使这个规则文件可以包含其它规则文件中的规则,非常类似与C语言中的#include。snort会从被包含的文件读出其内容,取代include关键词。格式:include<文件路径/文件名>注意:行尾没有分号。1.2varriables在snort规则文件中可以定义变量。格式:var例子:

7、varMY_NET192.168.1.0/24,10.1.1.0/24]$MY_NETany(flags:S;msg:'SYNMETApacket";)表2.变量的定义和使用规则变量名可以使用多种方式来修改,你可以使用$操作符来定义元变量(meta-variables)。这些修改方式可以结合变量修改操作符:?和-来使用。$var:定义元变量$(var):以变量var的内容作为变量名$(var:-default):以变量var的内容作为变量名,如果var没有定义就使用default作为变量名$(var:?message):使用变量var的内容作为变

8、量名,如果不成功就打印错误信息message并退出。例如:varMY_NET$(MYU_NET:-192.168.1.0/24)tcpanyany->$(MY_NET:?MY_NETisundefined!)23表3.高级变量应用2.规则头(RuleHeaders)2.1RuleAction规则头包含一些信息,这些信息包括:哪些数据包、数据包的来源、什么类型的数据包,以及对匹配的数据包如何处理。每条规则的第一项就是规则行为(ruleaction)。规则行为告诉snort当发现匹配的数据包时,应该如何处理。在snort中,有五种默认的处理方式:

9、alert、log、pass、activate和dynamic。alert:使用选定的报警方法产生报警信息,并且记录数据包log:记录数据包pass:忽略数据包activate:报警,接着打开其它的dynamic规则dynamic:保持空闲状态,直到被activete规则激活,作为一条log规则你也可以定义自己的规则类型,把它们和一个或者几个输出插件联系在一起。然后你就可以在snort规则中使用这些规则类型了。这个例子将建立一个类型,它将只以tcpdump格式输出日志:ruletypesuspicious{typelogoutpu

10、tlog_tcpdump:suspocious.log}下面这个例子将建

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。