实验四 网络入侵检测系统.docx
《实验四 网络入侵检测系统.docx》由会员分享,可在线阅读,更多相关《实验四 网络入侵检测系统.docx(10页珍藏版)》请在冰豆网上搜索。
实验四网络入侵检测系统
太原理工大学学生实验报告
学院名称
计算机技术与应用学院
专业班级
计算机双学位0901
学号
07101237
学生姓名
张炫
实验日期
2010/12/4
成绩
课程名称
网络安全技术与应用
实验题目
实验四网络入侵检测系统
一、网络入侵检测系统Snort软件
Snort配置
在使用snort之前,需要根据保护网络环境和安全策略对snort进行配置,主要包括网络变量、预处理器、输出插件及规则集的配置,位于etc的snort配置文件snort.conf可用任意文本编辑器打开。
除内部网络环境变量HOME_NET之外,在大多数情况下,可以使用snort.conf的默认配置。
用文本编辑器打开Snort\etc\snort.conf文件,在设置网络变量步骤(Step#1:
Setthenetworkvariables:
)注释下找到“varHOME_NETany”,将any更换成自己机器所在子网的CIDR地址。
例如,假设本机IP地址为192.168.6.123,将“varHOME_NETany”更换成“varHOME_NET192.168.6.0/24”或特定的本机地址“varHOME_NET192.168.6.123/32”。
假设在C盘根目录下执行Snort命令,找到规则文件路径变量“varRULE_PATH••rules”,将其修改为varRULE_PATHC:
\snort\rules;找到“includeclassification.config”,将classification.config文件的路径修改为includeC:
\snort\etc\classification.config;找到“includereference.config”,将reference.config文件的路径修改为includeC:
\snort\etc\reference.config。
5.Snort命令格式与帮助
Snort命令格式:
C:
\>snort\bin\snort[-Options]
Snort命令帮助:
C:
\>snort\bin\snort-?
特别注意:
Snort在Windows操作系统下要求给出命令执行的完整路径。
6.Snort主要命令参数选项
(1)-Aalert:
设置snort快速(fast)、完全(full)、控制台(console)或无(none)报警模式,alert取值full、fast、console或none其中之一。
-Afast:
快速报警模式仅记录时间戳(timestamp)、报警信息(alertmessage)、源IP地址、目标IP地址、源端口和目标端口;
-Afull:
完全报警是snort默认的报警模式,记录分组或报文首部所有字段信息和报警信息;
-Aconsole:
控制台报警模式将分组或报文首部和报警信息发送到控制台屏幕;
-Anone:
关闭报警。
(2)-csnort.conf:
使用snort配置文件snort.conf;
(3)-b:
采用Tcpdump二进制格式将分组记录到日志文件;
(4)-d:
显示应用数据;
(5)-e:
显示数据链路层的首部信息;
(6)-h:
指定本地网络(HomeNetwork)IP地址;
(7)-l:
将日志记录到指定的目录directory,默认日志目录是\Snort\log;
(8)-i:
在指定的网络接口上监听;
(9)-r:
从Tcpdump文件中读取分组处理,而不监测网络分组;
(10)-s:
将报警信息发送到系统日志;
(11)-v:
详细输出(Beverbose);
(12)-V:
显示Snort版本号;
(13)-W:
列出本机可用的网络接口(仅在Windows下有效);
(14)-w:
显示IEEE802.11WLAN的管理帧与控制帧;
(15)-?
:
显示snort的简要命令帮助。
7.Snort入侵检测规则
位于rules目录中的规则文件是Snort检测系统的入侵模式库,可以使用任意文本编辑器对规则文件进行修改。
检测规则由规则头(RuleHeader)和规则选项(RuleOption)组成,规则头定义了规则匹配行为、协议类型、源IP地址、源端口、目标IP地址和目标端口等信息,规则选项定义了入侵特征和报警信息的内容。
Snort检测规则的格式与语法参看《计算机网络安全技术与应用》教材第196页。
二、实验内容
1.snort-2_0_0.exe的安装与配置
本实验除安装snort-2_0_0.exe之外,还要求安装nmap-4.01-setup.exe网络探测和端口扫描软件。
Nmap用于扫描实验合作伙伴的主机,Snort用于检测实验合作伙伴对本机的攻击。
用写字板打开Snort\etc\snort.conf文件对Snort进行配置。
将varHOME_NETany中的any配置成本机所在子网的CIDR(202.207.252.53/24)地址;将规则路径变量RULE_PATH定义为C:
\snort\rules;将分类配置文件路径修改为includeC:
\snort\etc\classification.config;将引用配置文件路径修改为includeC:
\snort\etc\reference.config。
其余使用Snort配置文件中的默认设置,这里假设所有Snort命令都在C盘根目录下执行。
2.Snort报警与日志功能测试
用写字板打开C:
\>Snort\rules\local.rules规则文件,添加Snort报警与日志功能测试规则:
alerttcpanyany->anyany(msg:
"TCPtraffic";)。
执行命令:
C:
\>snort\bin\snort-c\snort\etc\snort.conf-l\snort\log-i2
如果在C:
\>Snort\log目录中生成alert.ids报警文件和IP地址命名的日志文件,表明Snort配置正确,能够实施入侵报警和日志记录功能。
特别提醒:
测试Snort报警与日志功能以后,一定要删除掉添加的测试规则或在该规则前加#号变为注释!
否则,随后的实验不能获得正确结果。
C:
\>snort\bin\snort-c\snort\etc\snort.conf-l\snort\log-Aconsole-i2
RunninginIDSmode
Logdirectory=\snort\log
InitializingNetworkInterface\Device\NPF_{BA535863-9EAE-4E59-A04A-47C74D023B8B
}
--==InitializingSnort==--
InitializingOutputPlugins!
DecodingEthernetoninterface\Device\NPF_{BA535863-9EAE-4E59-A04A-47C74D023B8B
}
InitializingPreprocessors!
InitializingPlug-ins!
ParsingRulesfile\snort\etc\snort.conf
Stream4config:
MinTTL:
1
TTLLimit:
5
AsyncLink:
0
StateProtection:
0
Selfpreservationthreshold:
50
Selfpreservationperiod:
90
SMB_COM_TRANSACTIONMaxData
Countof0DOSAttempt[**][Classification:
DetectionofaDenialofServiceAt
tack][Priority:
2]{TCP}202.207.252.53:
1268->202.207.252.44:
139
3.分组协议分析
(1)TCP/UDP/ICMP/IP首部信息输出到屏幕上:
C:
\>snort\bin\snort–v-i2;
(2)TCP/UDP/ICMP/IP首部信息和应用数据输出到屏幕上:
C:
\>snort\bin\snort-vd-i2或C:
\>snort\bin\snort-v–d-i2;(命令选项可以任意结合,也可以分开)
(3)将捕获的首部信息记录到指定的Snort\log目录,在log目录下将自动生成以主机IP地址命名的目录;
C:
\>snort\bin\snort-v-l\snort\log-i2;
(4)采用Tcpdump二进制格式将捕获的首部信息和应用数据记录到指定的Snort\log目录,在log目录下将自动生成snort.log日志文件,可以使用Ethereal或Tcpdump协议分析软件打开snort.log文件,也可以通过-rsnort.log选项用Snort输出到屏幕上。
C:
\>snort\bin\snort-b-l\snort\log-i2
Runninginpacketloggingmode
Logdirectory=\snort\log
InitializingNetworkInterface\Device\NPF_{BA535863-9EAE-4E59-A04A-47C74D023
}
--==InitializingSnort==--
InitializingOutputPlugins!
DecodingEthernetoninterface\Device\NPF_{BA535863-9EAE-4E59-A04A-47C74D023
}
--==InitializationComplete==--
-*>Snort!
<*-
Version2.0.0-ODBC-MySQL-WIN32(Build72)
ByMartinRoesch(roesch@,www.snort.org)
1.7-WIN32PortByMichaelDavis(mike@,
1.8-2.0WIN32PortByChrisReid(chris.reid@)
4.网络入侵检测
(1)实验合作伙伴相互ping对方的主机,利用Snort检测对本机的ping探测,在snort\log目录下将生成报警文件alert.ids:
C:
\>snort\bin\snort-d-c\snort\etc\snort.conf-l\snort\log-i2
RunninginIDSmode
Logdirectory=\snort\log
InitializingNetworkInterface\Device\NPF_{BA535863-9EAE-4E59-A04A-47C74D023B8B
}
--==InitializingSnort==--
InitializingOutputPlugins!
DecodingEthernetoninterface\Device\NPF_{BA535863-9EAE-4E59-A04A-47C74D023B8B
}
InitializingPreprocessors!
InitializingPlug-ins!
ParsingRulesfile\snort\etc\snort.conf
rpc_decodearguments:
PortstodecodeRPCon:
11132771
alert_fragments:
INACTIVE
alert_large_fragments:
ACTIVE
alert_incomplete:
ACTIVE
alert_multiple_requests:
ACTIVE
+++++++++++++++++++++++++++
Ruleapplicationorder:
->activation->dynamic->alert->pass->log
--==InitializationComplete==--
-*>Snort!
<*-
Version2.0.0-ODBC-MySQL-WIN32(Build72)
ByMartinRoesch(roesch@,www.snort.org)
1.7-WIN32PortByMichaelDavis(mike@,
1.8-2.0WIN32PortByChrisReid(chris.reid@)
(2)实验合作伙伴利用“nmap-sT目标主机IP地址或名称”命令TCPconnect()扫描对方主机,以文本格式记录日志的同时,将报警信息发送到控制台屏幕(console):
C:
\>snort\bin\snort-c\snort\etc\snort.conf-l\snort\log-Aconsole-i2
RunninginIDSmode
Logdirectory=\snort\log
InitializingNetworkInterface\Device\NPF_{BA535863-9EAE-4E59-A04A-47C74D023B8B
}
--==InitializingSnort==--
InitializingOutputPlugins!
DecodingEthernetoninterface\Device\NPF_{BA535863-9EAE-4E59-A04A-47C74D023B8B
}
InitializingPreprocessors!
InitializingPlug-ins!
ParsingRulesfile\snort\etc\snort.conf
http_decodearguments:
Unicodedecoding
IISalternateUnicodedecoding
IISdoubleencodingvuln
Flipbackslashtoslash
Includeadditionalwhitespaceseparators
Portstodecodehttpon:
80
Ruleapplicationorder:
->activation->dynamic->alert->pass->log
--==InitializationComplete==--
-*>Snort!
<*-
Version2.0.0-ODBC-MySQL-WIN32(Build72)
ByMartinRoesch(roesch@,www.snort.org)
1.7-WIN32PortByMichaelDavis(mike@,
1.8-2.0WIN32PortByChrisReid(chris.reid@)
(3)实验合作伙伴利用“nmap-O目标主机IP地址或名称”命令探测目标主机操作系统,以Tcpdump二进制格式记录日志的同时,将报警信息发送到控制台屏幕(console):
C:
\>snort\bin\snort-c\snort\etc\snort.conf-b-l\snort\log-Aconsole-i2
RunninginIDSmode
Logdirectory=\snort\log
InitializingNetworkInterface\Device\NPF_{BA535863-9EAE-4E59-A04A-47C74D023B8B
}
--==InitializingSnort==--
InitializingOutputPlugins!
DecodingEthernetoninterface\Device\NPF_{BA535863-9EAE-4E59-A04A-47C74D023B8B
}
InitializingPreprocessors!
InitializingPlug-ins!
ParsingRulesfile\snort\etc\snort.conf
+++++++++++++++++++++++++++++++++++++++++++++++++++
http_decodearguments:
Unicodedecoding
IISalternateUnicodedecoding
IISdoubleencodingvuln
Flipbackslashtoslash
Includeadditionalwhitespaceseparators
Portstodecodehttpon:
80
telnet_decodearguments:
Portstodecodetelneton:
212325119
1331Snortrulesread...
1331OptionChainslinkedinto149ChainHeaders
-*>Snort!
<*-
Version2.0.0-ODBC-MySQL-WIN32(Build72)
ByMartinRoesch(roesch@,www.snort.org)
1.7-WIN32PortByMichaelDavis(mike@,
1.8-2.0WIN32PortByChrisReid(chris.reid@)
(4)实验合作伙伴远程登录Telnet对方主机,利用Snort检测对本机Telnet服务的非法访问,文本格式记录日志的同时,将报警信息发送到控制台屏幕(console):
假设您的主机IP地址为192.168.6.123,用写字板打开C:
\>Snort\rules\local.rules规则文件,添加检测Telnet服务非法访问的规则:
alerttcpanyany->192.168.6.123/3223(msg:
"Someoneattemptstoaccessmytelnetserver";)
C:
\>snort\bin\snort-c\snort\etc\snort.conf-l\snort\log-i2
RunninginIDSmode
Logdirectory=\snort\log
InitializingNetworkInterface\Device\NPF_{BA535863-9EAE-4E59-A04A-47C74D023B8B
}
--==InitializingSnort==--
InitializingOutputPlugins!
DecodingEthernetoninterface\Device\NPF_{BA535863-9EAE-4E59-A04A-47C74D023B8B
}
InitializingPreprocessors!
InitializingPlug-ins!
ParsingRulesfile\snort\etc\snort.conf
12/04-17:
31:
35.089813ARPwho-has202.207.252.119tell202.207.252.1
12/04-17:
31:
35.558145202.207.252.70:
137->202.207.252.127:
137
UDPTTL:
128TOS:
0x0ID:
59461IpLen:
20DgmLen:
78
Len:
50
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
12/04-17:
31:
35.561590202.207.252.100:
137->202.207.252.127:
137
实验地点
计算机学院实验技术中心606
指导教师
张辉