Snort
- Snort简介
- Snort安装与配置
- Snort总体结构分析
- Snort的使用
- Snort的规则
- 使用 Snort构建入侵检测系统实例
Snort简介
Snort是一个基于 Libpcap的轻量级网络入侵检测系统,它运行在一个“传感器(Sensor)”主机上,监听网络数据。
Snort能够把网络数据和规则集进行模式匹配,从而检测可能的入侵企图;或者使用 SPADE(Statistical Packet Anomaly Detection Engine)插件,使用统计学方法对网络数据进行异常检测。
Snort使用一种易于扩展的模块化体系结构,开发人员可以加入自己编写的模块来扩展Snort的功能,如HTTP解码插件、TCP数据流重组插件、端口扫描检测插件、FLEXRESP插件以及各种日志输入插件等。
Snort的特点
-
Snort是一个轻量级的入侵检测系统。Snort虽然功能强大,但是其代码极为简洁、短小,其源代码压缩包只有大约110KB。
-
Snort的跨平台性能极佳,Snort具有跨平台的特点,它支持的操作系统广泛,包括 Linux、OpenBSD、FreeBSD、NetBSD、Solaris、HP-UX、AIX、IRIX、Win32(Windows9xNT2000)等。
-
Snort的功能非常强大:
- Snort具有实时流量分析和日志IP网络数据包的能力。
- Snort能够进行协议分析,内容的搜索/匹配。
- Snort的日志格式既可以是 Tcpdump式的二进制格式,也可以解码成ASCII字符形式。
- Snort可以对TCP包进行重组。
- Snort能够报告非正常的可疑包,从而对端口扫描进行有效的检测。
- Snort还有很强的系统防护能力。
-
扩展性能较好,对于新的攻击威胁反应迅速。作为一个轻量级的网络入侵检测系统,Snort有足够的扩展能力。Snort支持插件,可以使用具有特定功能的报告、检测子系统插件对其功能进行扩展。Snort当前支持的插件包括数据库日志输岀插件、碎数据包检测插件、端口扫描检测插件、HTTP URI normalization插件、XML插件等。
-
遵循公共通用许可证GPL
- Snort遵循GPL,所以任何企业、个人、组织都可以免费使用它作为自己的NIDS。
Snort的组成
Snort由3个重要的子系统构成:数据包解码器、检测引擎、日志与报警系统。
Snort的工作模式
Snort有以下3种工作模式。
- 嗅探器——嗅探器模式仅仅是从网络上:读取数据包并作为连续不断的流显示在终端上。
- 数据包记录器——数据包记录器模式把数据包记录到硬盘上。
- 网络入侵检测系统——网路入侵检测模式是最复杂的而且是可配置的。用户可以让 Snort分析网络数据流以匹配用户定义的一些规则,并根据检测结果采取一定的动作。
Snort安装
略
Snort总体结构分析
插件机制优点
在 Snort中运用了插件机制。对于 Snort来说,插件机制具有以下一些明显的优点。
- 通过增加插件,Snort能够非常容易地増加功能,使程序具有很强的可扩展性。
- 插件机制简化了Snort的编码工作。
- 插件机制使代码功能内聚,模块行强,程序相对易读。
- 插件模块包括预处理插件、处理插件和输出插件3种,它们通常对应规则中的一个或几个关键字,规则匹配中遇到这些关键字时就会激活相应的插件,以完成相应的功能。