|
Snort的使用方法
安装Snort
Snort是基于libpcap的,一般操作系统安装的时候,libpcap已经默认安装了,如果没
有安装,可以到http://www.tcpdump.org下载。Snort的安装步骤如下:
1.分别执行指令:mkdir Snortinstall和cd Snortinstall;
2.从www.Snort.org 下载Snort-2.0.0.tar.gz和Snortrules.tar.tz到新建的目录中,可以通过浏览器或者wget下载;
3.分别执行如下指令:tar -zxvf Snort-2.0.0.tar.gz;cd Snort-2.0.0;
./configure;make;make install。
Snort使用
这里通过使用常见的观察主机是否存活的Ping命令来介绍Snort的具体使用。执行命令“./Snort -v”,运行Snort和显示IP和TCP/UDP/ICMP头信息。笔者使用命令:“ping 192.168.0.1”,显示如下信息:
06/10-10:21:13.884925 192.168.0.2 -> 192.168.0.1
ICMP TTL:64 TOS:0x0 ID:4068
ID:20507 Seq:0 ECHO
06/10-10:21:13.885081 192.168.0.1 -> 192.168.0.2
ICMP TTL:128 TOS:0x0 ID:15941
ID:20507 Seq:0 ECHO REPLY
06/10-10:21:14.884874 192.168.0.2 -> 192.168.0.1
ICMP TTL:64 TOS:0x0 ID:4069
ID:20507 Seq:256 ECHO
06/10-10:21:14.885027 192.168.0.1 -> 192.168.0.2
ICMP TTL:128 TOS:0x0 ID:15942
ID:20507 Seq:256 ECHO REPLY
如果想要解码应用层,就执行命令“Snort -d”,然后执行“ping 192.168.0.1”,就可以显示如下信息:
06/10-10:26:39.894493 192.168.0.2 -> 192.168.0.1
ICMP TTL:64 TOS:0x0 ID:4076
ID:20763 Seq:0 ECHO
58 13 42 39 E0 BB 05 00 08 09 0A 0B 0C 0D 0E 0F X.B9............
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F ................
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F !"#$%&'()*+,-./
30 31 32 33 34 35 36 37 01234567
06/10-10:26:39.894637 192.168.0.1 -> 192.168.0.2
ICMP TTL:128 TOS:0x0 ID:15966
ID:20763 Seq:0 ECHO REPLY
58 13 42 39 E0 BB 05 00 08 09 0A 0B 0C 0D 0E 0F X.B9............
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F ................
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F !"#$%&'()*+,-./
30 31 32 33 34 35 36 37 01234567
如果要看到更详细的关于以太网帧头的信息,就要使用“Snort -vde” 命令,然后执行“ping 192.168.0.1”就可以显示相应信息。
Snort规则的编写
Snort之所以受到广泛的关注,一方面由于它的轻量级特性,消耗系统资源少;另一方面就在于它的动态性和可编程性。然而这对于广大网络用户来说有些困难,因为他们必须具备相应的网络协议分析知识和安全知识。值得庆幸的是,这个软件有相应的规则库可以实时地从网上下载(网址为:www.Snort.org),用户可以直接下载即可使用,所以本文不讲述过多的规则编写规范,只是给出几个简单的例子:
● SMB报警配置: output alert_smb:workstation.list ;
● 端口扫描检测模块的配置:prepro
cessor portscan:192.168.1.0/24 5 7 /var/log/portscan.log ;
● 封堵带有不健康信息的数据包:alert tcp any any <> 192.168.1.0/24 80 (content-list:"adults";msg:"Not for children!";react:block,msg) 。
(作者E-mail: liyangsuper@163.com)
背景知识
入侵检测系统简介
入侵检测系统 (Intrusion Detection System,IDS) 顾名思义,便是对入侵行为的发觉。它通过对计算机网络或计算机系统中的若干关键点收集信息并对其进行分析,从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象。它具有如下功能:
● 监控、分析用户和系统的活动;
● 核查系统配置和漏洞;
●评估关键系统和数据文件的完整性;
● 识别攻击的活动模式并向网管人员报警;
● 对异常活动的统计分析;
● 操作系统审计跟踪管理,识别违反政策的用户活动;
● 评估重要系统和数据文件的完整性。
入侵检测系统的结构一般如图所示。其中“包抓取引擎”从网络上抓取数据包;“包分析引擎”对数据包做简单处理如IP重组、TCP流重组,并根据规则库判断是否为可疑或入侵的数据包;“规则库”是入侵检测系统的知识库,定义了各种入侵的知识;“响应模块”是当系统发现一个可疑的数据包的时候所采取的响应手段。其中,“包分析引擎”是整个系统的核心所在,对入侵特征的检测在这里完成。
IDS通常采用两种技术:一是异常发现技术,它假定所有入侵行为都是与正常行为不同的。如果建立系统正常行为的轨迹,那么理论上可以把所有与正常轨迹不同的系统状态视为可疑企图。对于异常阀值与特征的选择是异常发现技术的关键。比如,通过流量统计分析将异常时间的异常网络流量视为可疑。异常发现技术的局限是并非所有的入侵都表现为异常,而且系统的轨迹难于计算和更新。二是模式发现技术,它假定所有入侵行为和手段(及其变种)都能够表达为一种模式或特征,那么所有已知的入侵方法都可以用匹配的方法发现。模式发现的关键是如何表达入侵的模式,把真正的入侵与正常行为区分开来。模式发现的优点是误报少,局限是它只能发现已知的攻击,对未知的攻击无能为力。
|