论文部分内容阅读
摘 要 Snort是一种轻量型的入侵检测系统,适合于工作于多种操作系统平台,免费,源代码公开等优点深受用户喜爱。本文从Snort的概念、Snort的原理、工作过程、部署与运行方式,Snort的不足等几个方面进行了阐述。
关键词 入侵检测;Snort;网络安全.
中图分类号:TP3 文献标识码:A 文章编号:1671—7597(2013)022-057-1
1 SNORT的概念
计算机网络的安全需要从多个层次多个环节入手,确保网络的机密性、完整性和可用性。通带主要安全措施是采用加密技术,数字签名和身份鉴别技术,访问控制手段,采用IPSEC,SSL安全协议进行通道安全加密,主要的网络安全产品与技术是防火墙,VPN,防火墙在大多数机构的网络安全策略中起到支柱的作用。但是这些安全产品有不少的缺点,比如病毒等恶性程序可利用EMAIL夹带闯关,防火墙不能提供实时的攻击检测能力,防火墙只是按照固定的工作模式来防范己知的威胁,不能阻止来自内部网络的攻击等。传统的安全防御的重点大都是外向型的,能很好的防止大部分的外部攻击,但是针对内部网络攻击防御能力却非常有限。近年来,NAT技术,P2P技术,给网络安全带来严峻考验。入侵检测技是近年来发展起来的一种动态监控,预防抵御入侵行为的一种机制,被认为是防火墙之后的第二道安全闸门,可以在不影响网络性能的情况下对网络进行监控,能对内部攻击,外部攻击和误操作实施保护,在网络受到攻击的过程中,能及时报警和事件报告通知管理者,与其它网络产品联动作用,终止攻击进程强制用户退出。Snort是一款轻量级的开源入侵检测系统,本质上是网络数据包的嗅探器,经过对数据包的规则处理分析,当网络攻击或误操作时进行报警和记录等响应操作。
2 SNORT的原理
Snort能够对网络上的数据包进行抓包分析,但区别于其它嗅探器的是,它能根据所定义的规则进行响应及处理。Snort 通过对获取的数据包,进行各规则的分析后,根据规则链,可采取Activation(报警并启动另外一个动态规则链)、Dynamic(由其它的规则包调用)、Alert(报警),Pass(忽略),Log(不报警但记录网络流量)五种响应的机制。
Snort有数据包嗅探,数据包分析,数据包检测,响应处理等多种功能,每个模块实现不同的功能,各模块都是用插件的方式和Snort相结合,功能扩展方便。例如,预处理插件的功能就是在规则匹配误用检测之前运行,完成TIP碎片重组,http解码,telnet解码等功能,处理插件完成检查协议各字段,关闭连接,攻击响应等功能,输出插件将得理后的各种情况以日志或警告的方式输出。
3 SNORT的工作过程
Snort通过在网络TCP/IP的5层结构的数据链路层进行抓取网络数据包,抓包时需将网卡设置为混杂模式,根据操作系统的不同采用libpcap或winpcap函数从网络中捕获数据包;然后将捕获的数据包送到包解码器进行解码。网络中的数据包有可能是以太网包、令牌环包、TCP/IP包、802.11包等格式。在这一过程包解码器将其解码成Snort认识的统一的格式;之后就将数据包送到预处理器进行处理,预处理包括能分片的数据包进行重新组装,处理一些明显的错误等问题。预处理的过程主要是通过插件来完成,比如Http预处理器完成对Http请求解码的规格化,Frag2事务处理器完成数据包的组装,Stream4预处理器用来使Snort状态化,端口扫描预处理器能检测端口扫描的能力等;对数据包进行了解码,过滤,预处理后,进入了Snort的最重要一环,进行规则的建立及根据规则进行检测。规则检测是Snort中最重要的部分,作用是检测数据包中是否包含有入侵行为。例如规则alert tcp any any ->202.12.1.0/24 80(msg:”misc large tcp packet”;dsize:>3000;)这条规则的意思是,当一个流入202.12.1.0这个网段的TCP包长度超过3000B时就发出警报。规则语法涉及到协议的类型、内容、长度、报头等各种要素。处理规则文件的时候,用三维链表来存规则信息以便和后面的数据包进行匹配,三维链表一旦构建好了,就通过某种方法查找三维链表并进行匹配和发生响应。规则检测的处理能力需要根据规则的数量,运行Snort机器的性能,网络负载等因素决定;最后一步就是输出模块,经过检测后的数据包需要以各种形式将结果进行输出,输出形式可以是输出到alert文件、其它日志文件、数据库UNIX域或Socket等。
4 SNORT的部署与运行
Snort的部署非常灵活,很多操作系统上都可以运行,可以运行在window xp,windows2003,linux等操作系统上。用户在操作系统平台选择上應考虑其安全性,稳定性,同时还要考虑与其它应用程序的协同工作的要求。如果入侵检测系统本身都不稳定容易受到攻击,就不能很好的去检测其它安全攻击漏洞了。在Linux与Windows操作系统相比较之下,Linux更加健壮,安全和稳定。Snort的运行,主要是通过各插件协同工作才使其功能强大,所以在部署时选择合适的数据库,Web服务器,图形处理程序软件及版本也非常重要。Snort部署时一般是由传感器层、服务器层、管理员控制台层三层结构组成。传感器层层就是一个网络数据包的嗅探器层,收集网络数据包交给服务器层进行处理,管理员控制台层则主要是显示检测分析结果。部署Snort时可根据企业网络规模的大小,采用三层结构分别部署或采用三层结构集成在一台机器上进行部署,也可采用服务器层与控制台集成的两层结构。
Snort的有三种模式的运行方式:嗅探器模式,包记录器模式,和网络入侵检测系统模式。嗅探器模式仅仅是从捕获网络数据包显示在终端上,包记录器模式则是把捕获的数据包存储到磁盘,入侵检测模式则是最复杂的能对数据包进行分析、按规则进行检测、做出响应。
5 SNORT的不足
Snort入侵检测系统适应多种平台,源代码开放,使用免费,受众多用户喜爱,但也有不少缺点。Snort之所以说他是轻量型就是说他的功能还不够完善,比如与其它产品产生联动等方面还有待改进;Snort由各功能插件协同工作,安装复杂,各软件插件有时会因版本等问题影响程序运行;Snort对所有流量的数据根据规则进行匹配,有时会产生很多合法程序的误报。
参考文献
[1]胡昌振.网络入侵松检测原理与技术[M].北京北京理工大学出版社,2010.
[2]陈伟,周继军,许德武. snort 轻量级入侵检测系统全攻略[M]. 北京:北京邮电大学出版社,2009.
[3]曹元大.入侵检测技术[M]. 北京:人民邮电出版社 ,2007.
关键词 入侵检测;Snort;网络安全.
中图分类号:TP3 文献标识码:A 文章编号:1671—7597(2013)022-057-1
1 SNORT的概念
计算机网络的安全需要从多个层次多个环节入手,确保网络的机密性、完整性和可用性。通带主要安全措施是采用加密技术,数字签名和身份鉴别技术,访问控制手段,采用IPSEC,SSL安全协议进行通道安全加密,主要的网络安全产品与技术是防火墙,VPN,防火墙在大多数机构的网络安全策略中起到支柱的作用。但是这些安全产品有不少的缺点,比如病毒等恶性程序可利用EMAIL夹带闯关,防火墙不能提供实时的攻击检测能力,防火墙只是按照固定的工作模式来防范己知的威胁,不能阻止来自内部网络的攻击等。传统的安全防御的重点大都是外向型的,能很好的防止大部分的外部攻击,但是针对内部网络攻击防御能力却非常有限。近年来,NAT技术,P2P技术,给网络安全带来严峻考验。入侵检测技是近年来发展起来的一种动态监控,预防抵御入侵行为的一种机制,被认为是防火墙之后的第二道安全闸门,可以在不影响网络性能的情况下对网络进行监控,能对内部攻击,外部攻击和误操作实施保护,在网络受到攻击的过程中,能及时报警和事件报告通知管理者,与其它网络产品联动作用,终止攻击进程强制用户退出。Snort是一款轻量级的开源入侵检测系统,本质上是网络数据包的嗅探器,经过对数据包的规则处理分析,当网络攻击或误操作时进行报警和记录等响应操作。
2 SNORT的原理
Snort能够对网络上的数据包进行抓包分析,但区别于其它嗅探器的是,它能根据所定义的规则进行响应及处理。Snort 通过对获取的数据包,进行各规则的分析后,根据规则链,可采取Activation(报警并启动另外一个动态规则链)、Dynamic(由其它的规则包调用)、Alert(报警),Pass(忽略),Log(不报警但记录网络流量)五种响应的机制。
Snort有数据包嗅探,数据包分析,数据包检测,响应处理等多种功能,每个模块实现不同的功能,各模块都是用插件的方式和Snort相结合,功能扩展方便。例如,预处理插件的功能就是在规则匹配误用检测之前运行,完成TIP碎片重组,http解码,telnet解码等功能,处理插件完成检查协议各字段,关闭连接,攻击响应等功能,输出插件将得理后的各种情况以日志或警告的方式输出。
3 SNORT的工作过程
Snort通过在网络TCP/IP的5层结构的数据链路层进行抓取网络数据包,抓包时需将网卡设置为混杂模式,根据操作系统的不同采用libpcap或winpcap函数从网络中捕获数据包;然后将捕获的数据包送到包解码器进行解码。网络中的数据包有可能是以太网包、令牌环包、TCP/IP包、802.11包等格式。在这一过程包解码器将其解码成Snort认识的统一的格式;之后就将数据包送到预处理器进行处理,预处理包括能分片的数据包进行重新组装,处理一些明显的错误等问题。预处理的过程主要是通过插件来完成,比如Http预处理器完成对Http请求解码的规格化,Frag2事务处理器完成数据包的组装,Stream4预处理器用来使Snort状态化,端口扫描预处理器能检测端口扫描的能力等;对数据包进行了解码,过滤,预处理后,进入了Snort的最重要一环,进行规则的建立及根据规则进行检测。规则检测是Snort中最重要的部分,作用是检测数据包中是否包含有入侵行为。例如规则alert tcp any any ->202.12.1.0/24 80(msg:”misc large tcp packet”;dsize:>3000;)这条规则的意思是,当一个流入202.12.1.0这个网段的TCP包长度超过3000B时就发出警报。规则语法涉及到协议的类型、内容、长度、报头等各种要素。处理规则文件的时候,用三维链表来存规则信息以便和后面的数据包进行匹配,三维链表一旦构建好了,就通过某种方法查找三维链表并进行匹配和发生响应。规则检测的处理能力需要根据规则的数量,运行Snort机器的性能,网络负载等因素决定;最后一步就是输出模块,经过检测后的数据包需要以各种形式将结果进行输出,输出形式可以是输出到alert文件、其它日志文件、数据库UNIX域或Socket等。
4 SNORT的部署与运行
Snort的部署非常灵活,很多操作系统上都可以运行,可以运行在window xp,windows2003,linux等操作系统上。用户在操作系统平台选择上應考虑其安全性,稳定性,同时还要考虑与其它应用程序的协同工作的要求。如果入侵检测系统本身都不稳定容易受到攻击,就不能很好的去检测其它安全攻击漏洞了。在Linux与Windows操作系统相比较之下,Linux更加健壮,安全和稳定。Snort的运行,主要是通过各插件协同工作才使其功能强大,所以在部署时选择合适的数据库,Web服务器,图形处理程序软件及版本也非常重要。Snort部署时一般是由传感器层、服务器层、管理员控制台层三层结构组成。传感器层层就是一个网络数据包的嗅探器层,收集网络数据包交给服务器层进行处理,管理员控制台层则主要是显示检测分析结果。部署Snort时可根据企业网络规模的大小,采用三层结构分别部署或采用三层结构集成在一台机器上进行部署,也可采用服务器层与控制台集成的两层结构。
Snort的有三种模式的运行方式:嗅探器模式,包记录器模式,和网络入侵检测系统模式。嗅探器模式仅仅是从捕获网络数据包显示在终端上,包记录器模式则是把捕获的数据包存储到磁盘,入侵检测模式则是最复杂的能对数据包进行分析、按规则进行检测、做出响应。
5 SNORT的不足
Snort入侵检测系统适应多种平台,源代码开放,使用免费,受众多用户喜爱,但也有不少缺点。Snort之所以说他是轻量型就是说他的功能还不够完善,比如与其它产品产生联动等方面还有待改进;Snort由各功能插件协同工作,安装复杂,各软件插件有时会因版本等问题影响程序运行;Snort对所有流量的数据根据规则进行匹配,有时会产生很多合法程序的误报。
参考文献
[1]胡昌振.网络入侵松检测原理与技术[M].北京北京理工大学出版社,2010.
[2]陈伟,周继军,许德武. snort 轻量级入侵检测系统全攻略[M]. 北京:北京邮电大学出版社,2009.
[3]曹元大.入侵检测技术[M]. 北京:人民邮电出版社 ,2007.