第32卷第4期集宁师专学报Vol.32,No.42010年12月Journal of JiningTeachers College Dec.2010收稿日期:作者简介:马永强(—),男,内蒙古商都县人,讲师,研究方向:多媒体技术及网络安全。
Snor t 入侵检测系统的使用与测试马永强1,刘娟2(1.集宁师范学院计算机系,内蒙古乌兰察布市0120002.1.集宁师范学院英语系,内蒙古乌兰察布市012000)摘要:入侵检测技术是一种主动保护计算机系统和网络资源的安全技术。
本文详细叙述了配置入侵检测系统的步骤,本系统能将s nort 捕获到的入侵情况传送到M ySQ L 中,并能在B A SE 中以网页的形式观察有问题的数据包,方便管理员对网络入侵情况的观察,并及时作出相应的处理。
关键词:入侵检测系统;Snort 校园网;网络安全中图分类号:G 2文献识别码:B 文章编号:1009-7171(2010)04-0048-04校园网作为高校教育科研的重要基础设施,担当着学校教学、科研、管理等重要角色,做好对入侵攻击的检测与防范,很好地保障计算机系统、网络及整个信息基础设施的安全已经成为当前重要的课题。
随着入侵技术的不断发展、攻击手段与方法的日趋复杂化和多样化,防火墙技术、加密技术、身份认证技术以及访问控制技术等传统的安全防御体系已经远远不能满足当前安全状况的需要。
在这种情况下,入侵检测系统(I nt r usi on D et ect i on Syst e m ,I D S)就应运而生。
然而,目前我国对入侵检测系统的框架结构和理论的研究比较多,但是真正具体的实际应用的却很少,这势必会造成了理论和实践的脱节。
Snor t 虽然功能强大,但是由于没有图形界面的支持,也很难让我们普通使用者理解它的工作原理,如何将我们现有的入侵检测系统应用到我们的计算机系统中,如何将snor t 捕获的数据传送到W eb 页面,如何搭建适合我们自己的入侵检测系统,是本文基本出发点。
1引言随着网络技术的不断发展,校园网络环境变得越来越复杂,仅仅依靠传统的防火墙技术已不能很好的保护校园网的安全,有些攻击方式可以绕过防火墙,直接侵入到网络内部,使得网络安全受到严重威胁。
入侵检测系统恰恰可以弥补防火墙技术的不足,其任务是用来识别针对计算机系统和网络,或者更广泛意义上的信息系统的非法入侵攻击。
它采用检测与控制相结合的技术,起着积极主动防御的作用,为网络安全提供实时的入侵检测并采取相应的防护手段。
2Snor t 简介Snor t 是一款轻量级的网络入侵检测系统,它能够在网络上进行实时流量分析和数据包记录。
Snor t 不仅能进行协议分析、内容检索和内容匹配,而且能用于侦测缓冲溢出、隐秘端口扫描、C G I 攻击、操作系统指纹识别等大量的攻击或非法探测。
Snor t 通常使用灵活的规则去描述哪些数据包应该被收集或被忽略,并且提供了一个模块化的检测引擎。
该系统可以根据使用者自己的需求进行开发和升级。
Snor t 的工作原理是在网络上检测原始的网络传输数据,通过分析捕捉到的数据包,匹配入侵行为的特征或者从正常网络活动的角度检测异常行为,进而采取入侵的报警和记录。
从数据分析手段来看,Snor t 属于滥用入侵检测,即对已知攻击的特征模式进行匹配。
Snor t 入侵检测系统如果只有snor t 的可执行程序,而没有规则文件(r ul e s ),那么snor t 就不能真正实现入侵检测功能,不能识别任何的攻击。
Snor t 规则文件是该系统的核心,2010-4-221982第4期马永强,刘娟:Snor t入侵检测系统的使用与测试49是s nor t检测入侵攻击的知识库。
3基于s nor t入侵检测系统的实现系统由三个核心功能模块组成:网络入侵检测模块、入侵数据存储模块和管理员分析控制台模块。
对入侵检测模块来说,本系统采用Snor t作为入侵检测的内核。
对于数据库服务器,本系统使用了M ySQ L数据库作为数据库服务器,它可以支持远程的连接访问。
管理员分析显示控制台模块则采用了B/S系统构架,基于W e b浏览器运行,同时也可支持远程的数据访问操作。
3.1网络入侵检测模块Snor t网络入侵检测模块主要包括W i nPcap和Snor t的安装和配置。
首先需要安装的是W i nPcap。
W i nPc ap的安装非常容易,我们只需要根据安装向导的提示,单击下一步即可完成安装。
安装完成后,可能会提示重新启动计算机,重启即可。
然后是安装Snor t。
首先,从w w w.snor t.or g上下载安装程序(最好是最新版本)。
然后双击Snor t_2_8_6_1_I nst al l er.e xe进行安装,本系统将Snor t放到了E:\w i ni ds\Snor t 目录下,在Snor t的e t c目录下用记事本打开并修改其配置文件Snor t.conf,查找../r ul es,将其替换成e:\w i ni ds\snor t\r ul es,Snor t在运行时将到该目录下找扩展名为r ul es的规则文件;查找/usr/l oca l/l i b/snor t_dynam i cpr epr ocess or/,将其替换成e:\w i ni ds\Snor t\1i b\Snor t_dyna m i cpr epr oces sor,Snor t将在该目录下加载预处理器;查找/usr/l oca l/l i b/Snor t_dyna m i ce ngi ne/l i bsf_engi ne.s o,将其替换成e:\w i ni ds\Snor t\l i b\Snor t_dynam i ce ngi ne\sf_engi ne.dl l,Snor t在运行时将加载这个动态引擎;查找out put dat abase:l og m ysql所在行,将其前面注释符号#去掉,表示开始启用Snor t输出采用数据库的功能,本系统采用的是M ySQ L数据库,具体将本行修改为out put da t aba se:l og,m ysql,user=r oot pa ssw or d=111dbnam e=db host=l ocal host;最后修改两个重要的配置文件的路径:将i ncl ude cl assi f i ca t i on.conf i g改为i ncl ude e:\w i ndi s\snor t\e t c\c l ass i f i c at i on.conf i g,将i ncl ude r e f er e nce.conf i g改为i ncl ude e:\w i ni ds\snor t\e t c\r ef er ence.conf g,存盘退出。
在ht t p://w w w.snor t.or g 注册后下载最新规则并解压,并用r ul es文件夹替换s nor t的r ul es目录。
3.2入侵数据存储模块该模块的功能和作用主要是从网络入侵检测模块中收集报警日志数据并将它导入到一个关系型数据库中。
利用关系数据库存放入侵日志,可实现对数量庞大的报警数据进行有效管理,现在可以使用多种数据库系统,本系统采用的是M ySQ L数据库。
下面我们开始安装M ySQ L。
下载并运行M ySQ L数据库安装程序,一路单击“下一步”,设置M ySQ L安装路径为“e:\w i ni ds\M ySQ L",在要输入r oot用户口令的文本框内输入111,以和上面入侵检测模块设置的s nor t.conf相一致。
接下来在命令提示符下进入M ySQ L的bi n目录,输入m ysql-u r oot-P,回车换行后输入口令111,在出现的M ySQ L提示符下输入c r eat e dat a base db,建立名为db的数据库,用来存储snor t的输出数据。
我们这里将数据库命名为db就是为了和上面Snor t的配置相一致。
下面我们为刚建立的数据库导入Snor t定义的数据表。
在m ysql提示符下输入’c onne ct db’,回车。
注意它将显示’C ur r ent dat a base:db’。
然后在m ysql提示符下输入’sour ce e:\w i ni ds\s nor t\schem as\cr e at e_m ysql’,回车。
最后在m ysql提示符中,可用us e db和show t a bl es命令进行查看,确保导入成功。
现在,我们可以测试Snor t能否将检测到的入侵信息发往M ySQ L数据库了,在Snor t的bi n目录下用snor t-c e:\w i ni ds\snor t\e t c\s nor t.conf-l e:\w i ni ds\snor t\l og-i2进行测试,仔细观察控制台输出,确认Snor t能正常连接M ySQ L数据库db。
若出现找不到数据库的错误,则要重新检查前面的安装与设置。
nor t bi n snor t/se r vi c e/i nst al l-c 若测试成功,可进一步在S的目录下用命令50集宁师专学报第32卷e :\w i ni ds \snor t \e t c\s nor t .conf -1e:\w i ni ds\snor t \l og –i 2将Snor t 配置成一个系统服务。
打开系统“服务”窗口,启动Snor t 并设置为自动方式。
Snor t 就以网络入侵检测模式开始工作了,以后W i ndow s 操作系统重启后,Snor t 会自动启动并将检测到的入侵信息写入己经设置好的M ySQ L 数据库中。
3.3管理员分析控制台模块该模块主要包括日志数据库接口,日志分析控制台和图表化显示。
数据库接口的作用是用来从数据库中提取数据,日志分析控制台的作用是对日志数据库数据进行相应的分析处理,并可以与图表化显示工具相配合最终以图形化界面的形式显示给管理者。
为了实现该模块的功能,我们需要开发基于B/S 结构的入侵检测日志分析模块,通过W eb 浏览器来实现日志数据的分析、查询和管理。
为此,我们通过使用PH P 脚本语言,以一个开源的日志分析系统BA SE (B asi c A na l ysi s Secur i t y E ngi ne)为基础,最终实现了基于w eb 的日志分析控制台的功能。
日志控制台可以安装在运行入侵检测系统的计算机上,也可以将其安装在单独的一台专用计算机机上。
因为该分析控制台是基于W eb 的方式进行浏览操作的,所以它需要W eb 服务器工具的支持,本入侵检测系统选用的是I I S 服务器。