您的位置:首页 > 其它

Snort入侵检测系统介绍

2010-11-18 12:23 337 查看

什么是Snort

Snort是一个免费的IDS(入侵监测系统)软件。它的一些源代码是从著名的tcpdump软件发展而来的。它是一个基于libpcap包的网络监控软件,可以作为一个十分有效的网络入侵监测系统。

Snort首先根据远端的ip地址建立目录,然后将检测到的包以tcpdump的二进制格式记录或者以自身的解码形式存储到这些目录中.这样一来,你就可以使用snort来监测或过滤你所需要的包.

Snort是一个轻量级的入侵检测系统,它具有截取网络数据报文,进行网络数据实时分析、报警,以及日志的能力。snort的报文截取代码是基于libpcap库的,继承了libpcap库的平台兼容性。它能够进行协议分析,内容搜索/匹配,能够用来检测各种攻击和探测,例如:缓冲区溢出、隐秘端口扫描、CGI攻击、SMB探测、OS指纹特征检测等等。snort使用一种灵活的规则语言来描述网络数据报文,因此可以对新的攻击作出快速地翻译。snort具有实时报警能力。可以将报警信息写到syslog、指定的文件、UNIX套接字或者使用WinPopup消息。snort具有良好的扩展能力。它支持插件体系,可以通过其定义的接口,很方便地加入新的功能。snort还能够记录网络数据,其日志文件可以是tcpdump格式,也可以是解码的ASCII格式。

简单的说,Snort是数据包的嗅探器,也是数据包记录器,还是NIDS。 提供数据包嗅探和记录功能只是Snort的部分功能,Snort的特点就是其入侵检测功能—根据入侵规则匹配数据包中的内容。

Snort系统需求

Snort对硬件没有特殊的要求,对Snort来说,硬件系统的处理器频率越高越好,不同网络使用的网卡和硬盘空间大小会制约Snort捕捉数据包和存储数据包的功能。

Snort的产品定位为简单NIDS。现在能运行x86平台的Linux、FreeBSD、NetBSD、OpenBSD和Windows等操作系统上。另外,Sparc Solaris、PowerPc MacOS X MKLinux和PA-RISC HP-UX等操作系统都支持Snort。可以说Snort可以在任何流行的平台上运行。

Snort的功能架构

Snort可提供Protocol分析、内容查找和匹配,可以用来检测各种攻击和探测,如缓冲区溢出、隐蔽端口扫描、CGI攻击、SMB探测、操作系统指纹识别尝试等.其中的包嗅探、数据包记录和入侵检测是其重要功能.Snort的架构决定了它的各种功能,构架图见下图所示.而Snort架构由以下4个基本模块构成:

⑴嗅探器

⑵预处理器

⑶检测引擎

⑷输出模块

Snort的最简单形式就是包嗅探器,但当Snort获取到数据包后会将数据包传送到与处理模块,然后通过检测引擎判断这些数据包是否违反了某些预定义规则





Snort的预处理器、检测引擎和报警模块都以插件形式存在.插件就是符合Snort接口定义的程序,这些程序曾经是Snort内核代码的一部分,现在独立出来使内核部分的修改变得简单可靠.

包嗅探器用来监听数据网络,可以是硬件也可以是软件.一个网络嗅探器使应用程序或者硬件设备能够监听网络上的数据流.互联网多是IP数据流,在本地局域网或传统网络中多是IPX或AppleTalk数据流.具体来说,包嗅探器不仅可以进行网络分析及错误处理、性能分析及基准测量、监听明文密码及其他感兴趣的数据.

预处理器得到原始数据包,使用不同的插件检测数据包,这些插件检测数据包的某些特定行为.一旦数据包被确认具有某些特定行为,就会被送到检测模块.插件可以根据需要在与处理层被启用或停用,从而更具网络优化级被分配计算资源并生成报警,插件是入侵检测系统的一个非常有用的功能.

检测引擎接收预处理器及其插件穿送来的数据,然后根据一系列的规则对数据进行检测.如果这些规则和数据包中的数据相匹配,就将数据包传送给报警处理器.

当数据通过检测引擎后,Snort会对其数据进行不同的处理.如果数据和检测引擎的规则相匹配,Snort就会触发报警.报警可以通过网络连接、UNIX的套接字或Windows Popup(SMB),甚至SNMP陷阱机制发送到日志文件.也可以使用Snort的一些附加工具来通过Web接口显示日志内容,包括一些perl、PHP和Web服务器的插件等.日志可以存储在文本文件中.报警和日志都可以记录到数据库中,如MySQL或Postgree等.另外,Snort报警可以通过系统日志工具如SWATCH发送电子邮件及时通知系统管理员,是系统不需要由专人24小时监控。

Snort与其他入侵监测系统的比较

Snort是一个轻量级产品,因此很难应用于大型网络。但Snort的规则语言非常经典,以至于一些商业化的产品中也套用其规则描述语言。

根据国内外IDS的现状,主要的IDS有着以下相同和差异:

相同之处:模式匹配检测是主流方式;多采用多引擎+控制台结构;适用于10/100 Mbps的以太网络;

主要差异 :

同厂商对攻击的认识和定义各不相同,用户购买时不能简单观看产品宣传页中的一些数字。

国外产品本地化程度要差一些,但产品成熟度要好一些。

在管理界面和模式上各有特色,有采用浏览器方式,有采用独立界面方式,还有利用和其他网络安全产品统一界面的管理方式。

有的产品在引擎上采用软件方式(如ISS、北方计算中心和CA的产品等),有的产品引擎提供硬件方式(如启明星辰和Cisco等)。比较起来,硬件方式在安装、调试等方面的操作相对简单方便。

国外产品贵一些。

一些商业的IDS有着自身的技术特点:

ISS公司的Realsecure 对网络引擎和主机代理技术的结合做得比较好,并且其创始人克劳斯和X-Force小组在网络安全界有较高的知名度。

Cisco公司的NetRanger 由于占有网络设备的优势地位,在IDS硬件引擎的处理性能方面表现极佳,可以把入侵检测和路由器、防火墙技术有机集成或结合。

Symantec收购的Axent公司Netprowler/Intruder Alert 其NIDS可对主机进行细粒度控制,其HIDS所支持的操作系统平台的种类最全面。

CA公司的eTrust Intrusion Detection对Web内容和邮件内容的检。测比较直观,和该公司其他安全产品管理结合得比较好。

启明星辰公司的天阗入侵检测系统具有主控中心、多级子控和网络引擎(主机代理)的集中管理与分级(分权限)控制的架构,非常适合大型的分布式网络体系; 可对独特的网络行为或关联行为进行定制检测。

对于免费的IDS,应该说是适合一些个人、有研究兴趣的单位(如学校)或是计算机技术能力较强的小型企业。这样不需要花费任何投资,只要有能力和时间来进行很好的配置,便可让它发挥检测和分析作用。

免费IDS的主要缺点是功能单一,对用户友好性差,不像商业产品那样具有支持、服务和后续升级能力,其不明背景很难保证其可用性和自身安全性,不适于大中型企业或关键行业部门的应用。建议一些大型企业的安全建设和管理人员在小范围内使用免费IDS,以积累入侵检测技术分析的经验,增强认识,有助于选取或应用商业产品。

与免费的IDS相比,IDS商业产品具有明显的优势。首先,知名的IDS商业产品提供商都是具有丰富安全技术背景的安全公司,具有强大的开发团队,并具有对黑客技术的安全研究能力,保证了对IDS技术的跟踪和发展。其次,由于是商业化产品,在产品的需求设计、新技术应用、产品功能和性能以及用户友好性上非常关注,产品易用性、功能性等表现出色。最后,商业化的产品会给用户提供成熟的技术支持、有保障的安全服务和可保护投资的产品升级换代技术

正确看待IDS,不管是免费的,还是付费的,关键是要把入侵检测技术利用起来。只有用户用起来,碰到具体问题,真正体会其中的用处和不足,引发更为准确的用户需求,才能使得入侵检测产品发挥应有的作用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: