Snort入侵检测作为一款免费的轻量级入侵检测IDS系统,它具有实时数据流量分析和日志Ip网络数据包的能力,能够进行协议分析,对内容搜索/匹配并且它拥有良好的拓展性以及可移性。本文从Snort入侵检测的特点等方面对Snort入侵检测进行一次简单的分析。
Snort的特点
Snort是一个强大的清量级的网络入侵检测系统。它具有实时数据流量分析和日志Ip网络数据包的能力,能够进行协议分析,对内容搜索/匹配。它能够检测各种不同的攻击方式,对攻击进行实时警报。此外,Snort具有很好的扩展性和可移植性。
还有,这个软件遵循公用许可GPL,所以只要遵守GPL任何组织和个人都可以自由使用。
Snort是一个轻量级的入侵检测系统
1.Snort虽然功能强大,但是其代码极为简洁,短小,其源代码压缩包只有200KB不到。Snort可移植性非常好。Snort的跨平台性能极佳,目前已经支持Linux系列, Solaris,BSD系列,IRIX,HP-UX,Windows系列,ScoOpenserver,Unixware等。
Snort的功能非常强大
2.Snort具有实时流量分析和日志Ip网数据包的能力。能够快速地检测网络攻击,及时地发出警报。Snort的警报机制很丰富。
例如:Syslog,用户指定文件,UnixSocket,还有使用SAMBA协议向Windows客户程序发出WinPopup消息。利用XML插件,Snort可以使用SNML(简单网络标记语言.simple network markup language)把日志存放在一个文件或者适时警报。
3.Snort能够进行协议分析,内容的搜索/匹配。现在Snort能够分析的协议有TCP,UDP和ICMP。将来的版本,将提供对ARP.ICRP,GRE,OSPF,RIP,ERIP,IPX,APPLEX等协议的支持。它能够检测多种方式的攻击和探测,例如:缓冲区溢出,CGI攻击,SMB检测,探测操作系统质问特征的企图等等。
4.Snort的日至格式既可以是Tcpdump的二进制格式,也可以编码成ASCII字符形式,更便于拥护尤其是新手检查,使用数据库输出插件,Snort可以把日志记入数据库,当前支持的数据库包括:Postagresql,MySQL,任何UnixODBC数据库,MicrosoftMsSQL,还有Oracle等数据库。
5.使用TCP流插件(TCPSTREAM),Snort可以对TCP包进行重组。Snort能够对IP包的内容进行匹配,但是对于TCP攻击,如果攻击者使用一个程序,每次发送只有一个字节的数据包,完全可以避开Snort的模式匹配。而被攻击的主机的TCP西医栈会重组这些数据,将其发送给目标端口上监听的进程,从而使攻击包逃过Snort的监视。使用TCP流插件,可以对TCP包进行缓冲,然后进行匹配,使Snort具备对付上面攻击的能力。
6.使用Spade(Statistical Packet Anomaly Detection Engine)插件,Snort能够报告非正常的可以包,从而对端口扫描进行有效的检测。
7.Snort还有很强的系统防护能力。如:是用其IPTables,IPFilter插件可以使入侵检测主机与防火墙联动,通过FlexResp功能,Snort能够命令防火墙主动短开恶意连接。
8.扩展性能较好,对于新的攻击威胁反应迅速。
作为一个轻量级的网络入侵检测系统,Snort有足够的扩展能力。它使用一种简单的规则描述语言(很多商用入侵检测系统都兼容Snort的规则语言)。最基本的规则知识包含四个域:处理动作,协议,方向,端口。
例如 Log Tcp Any any -> 10.1.1.0/24 80(谁都看得明白)
9.Snort支持插件,可以使用具有特定功能的报告,检测子系统插件对其功能进行扩展。Snort当前支持的插件包括:数据库日志输出插件,破碎数据包检测插件,断口扫描检测插件,HTTP URI插件,XML网页生成等插件。
10.Snort的规则语言非常简单,能够对新的网络攻击做出很快的反应。发现新攻击后,可以很快地根据Bugtrag邮件列表,找到特征码,写出新的规则文件。
总之,对于世界上各安全组织来讲,Snort入侵检测都是一个优秀入侵检测系统的一个标准的标准。通过研究它,我们可以学到到所有入侵检测系统的内部框架及工作流程(也包括同类型的商业入侵检测系统的框架及工作流程)。
【编辑推荐】