块是Snort体系中两个重要的部分,预处理器在Snort应用规则前处理.doc

块是Snort体系中两个重要的部分,预处理器在Snort应用规则前处理.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
块是Snort体系中两个重要的部分,预处理器在Snort应用规则前处理

与处理器和输出模块是Snort体系中两个重要的部分,预处理器在Snort应用规则前处理接收到的数据。输出模块输出Snort探测机制所产生的数据。数据包通过Snort的流程图如图4-1所示。被捕获的数据包首先经过预处理器,然后,经过探测引擎根据规则处理。根据规则处理的结果,输出处理器处理日志或者告警。 Snort允许你对预处理器和输出模块进行配置,这些工作可以通过修改snort.conf来完成。在本书中,输入插件和预处理器是同一概念,输出插件和输出模块也是同一概念。本章将对这些组件进行讨论。 4.1预处理器 当Snort接收到数据包的时候,主探测引擎并不能对它们进行处理和应用规则,比如,数据包有可能是分片的,需要重新组装,预处理器就是做这样的工作,使数据能够被探测引擎处理,另外,一些预处理器还可以做一些其它工作,比如探测包中的一些明显错误。下面给你介绍预处理器如何工作。 在安装过程中,你可以在编译的时候选择对各种预处理器的支持。各种预处理器的配置参数在snort.conf中调整,你可以在通过这个文件打开或者关闭某个预处理器。 捕获的包要经过所有已经打开的预处理器,不能跳过,因此如果你如果打开了大量的预处理器,就会降低Snort的运行速度。 在snort.conf中,你可以用preprocessor关键字打开预处理器,格式如下: preprocessor name of preprocessor[: parameters] 后面的参数通常是可选项。 你也可以编写自己的预处理器,察看Snort源代码doc目录中的README.PLUGIN文件,你可以获得相关的资料,也可以在templates目录中查看源代码示例。 4.1.1HTTP解码 Snort可以对HTTP协议各种形式的编码进行解码,并从中找出已知的攻击特征。你可以将HTTP服务器的端口列表作为HTTP解码预处理器的参数。例如下面的命令可以对在80,8080和443端口的HTTP相关数据包进行解码,以便探测引擎处理: preprocessor http_decode: 80 8080 443 尤其重要的是,如我们前面所提到的,关于HTTP的攻击也常用各种变换形式,如果应用HTTP解码预处理器,就可以更有效的探测到这些企图。 4.1.2端口扫描 端口扫描是用来发现网络上主机开放的端口的方法。任何入侵者的第一个行动通常都是找出网络上在运行一些什么样的服务。一旦入侵者找到了这样的信息,就可以尝试针对相关服务弱点的攻击了。端口扫描预处理器的作用是监测端口扫描的活动,这种预处理器可以将端口扫描行为记录到指定的位置或者标准的日志。黑客们使用很多种扫描方式,你也可以查看nmap的文档来获得更多的信息。 下面是在snort.conf中应用端口扫描预处理器的大体格式: preprocessor portscan: address ports time period file 这个预处理器有4个相关的参数 所监控的地址范围,采用CIDR规格。 在一个时间段内访问的端口数目,例如这个参数取5表示在一个时间段内,如果超过5个端口被扫描,则产生告警。 时间段,用来配合上个参数的门限时间范围,用秒表示。 记录日志的文件路径。 下面是个配置实例,用来监测针对网络/24的端口扫描,并将日志记录到/var/log/snort/portscan.log文件中。 preprocessor portscan: /24 5 10 \ /var/log/snort/portscan.log 端口扫描活动是针对TCP和UDP端口的。端口扫描预处理器可以监测正常端口和隐秘端口的扫描。针对隐秘端口的扫描,可以查看nmap的相关文档或网站。端口扫描的主要方法如下: TCP端口连接扫描。这种方式试图对某个端口进行标准的TCP连接,如果连接建立,则表示这个端口是打开的。 SYN扫描。入侵者发送一个带有SYN标志的TCP包到某个端口,如果收到了带有SYN和ACK标志的回应,那么这个端口是打开的,如果收到了带有RST标志的包,这个端口就是关闭的。 NULL端口扫描,FIN端口扫描,XMAS端口扫描,这是几个比较类似的扫描方式。入侵者发送一个TCP包出去,如果收到带有RST标志的包,表示端口是关闭的,如果什么包也没有收到,就有端口打开的可能性。 还有一种预处理器,可以和这种预处理器一同工作,它叫做端口扫描忽略预处理器,用来忽略针对某些主机的扫描行为,用法如下例所示: preprocessor portscan-ignorehosts: 0/32 \ 3/32 4.1.3 frag2模块 这个预处理器用来组装包的分片,老版本的Snort用defrag。 应用frag2的时候,你可以配置组装分片的超时

文档评论(0)

youshen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档