基于Snort的入侵检测系统方案
- 格式:doc
- 大小:213.00 KB
- 文档页数:64
在Window下采用Snort配置入侵检测系统院系:计算机与通信工程学院班级:信息安全学号:姓名:1.安装Apache①Apache安装在C:\apache文件夹下②在“Folder name”文本框中输入“C:\apache”,如下图所示:修改安装路径-安装到C:\apache文件夹下正在安装ApacheApache安装完成③为了避免Apache监听端口与Web服务器默认的端口发生冲突,必须更改监听端口。
方法是打开配置文件C:\Apache2\conf\heepd.conf,将其监听端口更改为不常用的端口50080,如下图所示:更改监听端口④重新启动计算机。
然后,单击“开始”----“运行”,输入cmd然后在C:\apache\Apache2\bin\Apache.exe拖动到命令窗口里然后输入“-k install”⑤找到电脑有下角的红色的标志。
双击打开⑥选择“start”按钮启动50080端口已经进入监听状态2.安装PHP①将文件php-4.3.2-Win32.Zip 解压缩至C:\php目录下。
②将C:\php目录下的php4ts..dll文件复制到C:\WINDOWS\system32目录下。
③将C:\php目录下的php.ini-dist复制到C:\WINDOWS\目录下,再将这个文件改名为php.ini。
④添加系统图形库的支持。
在php.ini中的extension=php_gd2.dll语句前的“;”注释符去掉,如下图所示:.添加系统对图形库的支持⑤将文件C:\php\extension\php_gd2.dll复制到C:\php目录下。
⑥添加Apache对PHP的支持。
在C:\aphche\apache2\conf\httpd.conf文件中添加如下两行:此处有空格⑦重启Apache服务⑧在.\apache2\htdocs目录下新建test.php测试文件,文件的内容如下图所示,这一步主要是用来测试前面的安装是否成功。
windows下Snort的配置与使用实验1:Snort的配置与使用1实验目的和要求学习Snort的配置与使用,要求:1)掌握Snort入侵检测环境的搭建;2)掌握Snort的配置与使用;3)熟悉Snort的工作原理。
2实验设备及材料1)系统环境:Windows XP/Windows 20032)软件安装:JDK:jdk-6u17-windows-i586.exe(可选)TOMCAT:apache-tomcat-5.5.30.exe(可选)MySQL:mysql-5.5.15-win32.msiWinPcap:WinPcap_4_1_2.exeSnort:Snort_2_9_1_Installer.exeIDSCenter:idscenter109b21.zip3实验内容3.1软件安装与配置3.1.1 JDK安装与配置软件版本:jdk-6u17-windows-i586.exe双击jdk-6u17-windows-i586.exe安装JDK,安装完后设置环境变量:变量名变量值java_home C:\Program Files\Java\jdk1.6.0_17classpath C:\Program Files\Java\jdk1.6.0_17\jre\libpath C:\Program Files\Java\jdk1.6.0_17\binjava –version // 查看软件版本信息,确定软件是否安装成功3.1.2 Tomcat安装与配置软件版本:apache-tomcat-5.5.30.exe、apache-tomcat-5.5.30-admin.zip 1)安装apache-tomcat-5.5.30.exe安装过程中会要求指定JRE的安装目录,确定端口,用户名和密码(用于可视化配置界面登录)。
启动Tomcat:验证安装是否成功:http://localhost:8088/http://127.0.0.1:8088/2)安装pache-tomcat-5.5.30-admin.zip首先解压apache-tomcat-5.5.30-admin.zip,用解压后的文件替换以下tomcat 文件。
⼊侵检测软件Snort的使⽤实验1.安装和配置 IDS 软件 Snort并查看⽹卡信息从返回的结果可知主机上有哪个物理⽹卡正在⼯作及该⽹卡的详细信息。
图中显⽰此计算机只有1个⽹卡,且该⽹卡具有物理地址。
2.输⼊ snort –v –i1命令启⽤ Snort并捕捉到⼀些流量3. 配置snort3.1打开 snort配置⽂件,设置 Snort 的内部⽹络和外部⽹络⽹络检测范围。
将 Snort.conf ⽂件中的 var HOME_NET any 语句的 any 改为⾃⼰所在的⼦⽹地址,即将Snort 监测的内部⽹络设置为所在的局域⽹。
我实验的机器ip地址为192.168.1.131,故⼦⽹地址应该为192.168.1.0/243.2配置⽹段内提供⽹络服务的 IP 地址,只需要把默认的$HOME_NET 改成对应的主机地址即可。
var DNS_SERVERS $HOME_NETvar SMTP_SERVERS HOME N ETvarHTTP S ERVERS HOME_NETvar SQL_SERVERS HOME N ETvarTELNET S ERVERS HOME_NETvar SNMP_SERVERS $HOME_NET3.3配置动态预处理器库# path to dynamic preprocessor librariesdynamicpreprocessor directory c:\Snort\lib\snort_dynamicpreprocessordynamicpreprocessor file c:\Snort\lib\snort_dynamicpreprocessor\sf_dce2.dlldynamicpreprocessor file c:\Snort\lib\snort_dynamicpreprocessor\sf_dns.dlldynamicpreprocessor file c:\Snort\lib\snort_dynamicpreprocessor\sf_ftptelnet.dlldynamicpreprocessor file c:\Snort\lib\snort_dynamicpreprocessor\sf_sdf.dlldynamicpreprocessor file c:\Snort\lib\snort_dynamicpreprocessor\sf_smtp.dlldynamicpreprocessor file c:\Snort\lib\snort_dynamicpreprocessor\sf_ssh.dlldynamicpreprocessor file c:\Snort\lib\snort_dynamicpreprocessor\sf_ssl.dlldynamicengine c:\Snort\lib\snort_dynamicengine\sf_engine.dll3.4修改配置⽂件 classification.config 和 reference.config的路径:include c:\Snort\etc\classification.configinclude c:\Snort\etc\reference.config其中 classification.config ⽂件保存的是规则的警报级别相关的配置,reference.config ⽂件保存了提供更多警报相关信息的链接。
基于入侵检测网络安全方案研究新疆电力公司超高压公司彭敏[摘要] 入侵监测系统是一种事前检测系统,本文通过阐述Snort的模式匹配原理,对常见的匹配算法进行了分析,给出了数组标记定位法,对规则库中的规则进行了动态排序和删除,提高了匹配常见规则的速度,对网络中存在或已经存在的危险快速给出警报,更加全面的保护网络。
[关键词] 入侵检测;Snort;规则匹配前言随着互联网的快速发展,网络已成为人们生活重要元素,同时网络安全问题也越来越明显。
表现为:计算机系统受病毒感染和破坏,电脑黑客活动越来越频繁,信息技术设施比较落后,信息系统对于入侵事件的预测、反应、防范和恢复能力比较弱。
具体网络安全形式有:以间谍软件、僵尸网络为代表的分布式拒绝服务攻击,以网络嫁接,网络仿冒等手段的在线窃听的事件会继续增加。
复杂而严峻的网络安全问题,加上网络的无界性和融入性,必须通过加强网络安全监管和建立安全措施,才能使我们的信息和交流变得可靠和安全。
1 入侵检测技术入侵检测是对入侵行为的检测,它通过收集网络行为、安全日志、审计信息、计算机系统中关键点的信息及其他网络上可以获得的信息等并对其进行分析,检查网络或系统中存在的异常或入侵迹象。
入侵检测是一种积极主动地安全防御技术,提供了对异常和攻击行为的实时检测和分析处理,在网络系统受到危害之前进行拦截和入侵响应。
1.1 入侵检测的方法入侵检测的方法基于不同的方面,如用户行为概率统计模型、专家系统、神经网络、审计、模型推理等五种入侵检测依据而进行划分,从而有以下集中入侵检测方法:用户行为概率统计模型的IDS:通过对历史行为建模及在早期的模型或证据的基础上,审计系统及时的检测用户操作。
基于专家系统的入侵检测:根据专家对异常行为的分析来形成一套推理规则,在此基础上建立专家系统,之后专家系统自动进行对所涉及入侵行为建立分析工作。
基于神经网络入侵检测方法:利用神经网络技术进行检测,通过给用户行为加上学习和自适应功能,根据检测的信息有效的加以处理并做出入侵可能性的判断。
第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 页面,如何搭建适合我们自己的入侵检测系统,是本文基本出发点。
基于Snort的入侵检测系统用Snort,Apache,MySQL,PHP及ACID构建高级IDS第一章入侵检测系统及Snort介绍在当今的企业应用环境中,安全是所有网络面临的大问题。
黑客和入侵者已成功的入侵了一些大公司的网络及。
目前已经存在一些保护网络架构及通信安全的方法,例如防火墙、虚拟专用网(VPN)、数据加密等。
入侵检测是最近几年出现的相对较新的网络安全技术。
利用入侵检测技术,我们可以从已知的攻击类型中发现是否有人正在试图攻击你的网络或者主机。
利用入侵监测系统收集的信息,我们可以加固自己的系统,及用作其他合法用途。
目前市场中也有很多弱点检测工具,包括商品化的和开放源码形式的,可以用来评估网络中存在的不同类型的安全漏洞。
一个全面的安全系统包括很多种工具:●防火墙:用来阻止进入及走出网络的信息流。
防火墙在商业化产品和开放源码产品中都有很多。
最著名的商业化防火墙产品有Checkpoint (.checkpoint.), Cisco (.cisco.)及Netscreen(.netscreen.)。
最著名的开放源码防火墙是Netfilter/Iptables()。
●入侵检测系统(IDS):用来发现是否有人正在侵入或者试图侵入你的网络。
最著名的IDS是Snort,可以在下载。
●弱点评估工具:用来发现并堵住网络中的安全漏洞。
弱点评估工具收集的信息可以指导我们设置恰当的防火墙规则,以挡住恶意的互联网用户。
现在有许多弱点评估工具,比如Nmap(/)和Nessus(/).以上这些工具可以配合使用,交互信息。
一些产品将这些功能捆绑在一起,形成一个完整的系统。
Snort是一个开放源码的网络入侵检测系统(NIDS),可以免费得到。
NIDS 是用来检测网络上的信息流的入侵检测系统(IDS)。
IDS也包括安装在特定的主机上并检测攻击目标是主机的行为的系统。
IDS迄今为止还是一门相当新的技术,而Snort在IDS中处于领先的地位。
本书由入侵检测介绍及相关概念入手,你将学习如何安装及管理Snort以及与Snort协同工作的其他产品。
这些产品包括MySQL数据库()、入侵数据库分析管理工具ACID(/kb/acid)。
Snort能够将日志数据(例如告警和其他日志消息)记录到数据库中。
MySQL用作存储所有这些数据的数据库引擎。
利用ACID及Apache (.apache.)Web服务器,我们可以分析这些数据。
Snort、Apache、MySQL及ACID的共同协作,使我们可以将入侵检测数据记录到数据库,然后用web界面察看和分析这些数据。
此书的组织结构使读者能够跟着随后的章节一步一步的建立一个完整的入侵检测系统。
安装及整合各种工具的步骤将在如下的章节逐步介绍:第二章将介绍编译及安装Snort的基本知识。
在这一章中,你将能够用基本安装及默认规则建立一个能够工作的IDS,同时能够建立可以记录入侵活动的日志文件。
第三章介绍Snort规则的有关知识,Snort规则的组成及如何根据你的系统环境及需要建立自己的规则。
建立良好的规则是构建入侵检测系统的关键,因此本章非常重要。
本章同时也介绍Snort不同版本间规则的不同。
第四章介绍input及output插件。
插件与Snort一同编译,并用来调整检测引擎的输入和输出部分。
Input插件用在实际检测过程发生前准备好捕获的数据包。
Output插件用来将数据数据格式化,以用于特定的目的,例如一种output插件可以将输出的检测信息转换成SNMP trap信息,而另外一种output插件可以将信息转换成数据库信息。
这一章将详细介绍如何配置及使用这些插件。
第五章介绍MySQL数据库与Snort的共同工作。
MySQL插件使Snort 能够将日志数据记录到数据库以便随后的分析。
在这一章中,你将了解如何在MySQL中建立数据库,如何配置数据库插件,以及将日志数据记录到数据库中。
第六章介绍ACID,以及如何用ACID取得你在第五章建立的数据库中的信息,并用Apache服务器显示它。
ACID一种提供丰富的数据分析能力的重要工具,你可以用它来取得攻击频率、攻击类别、察看这些攻击方法的相关资源等等。
ACID用PHP脚本语言、图形显示库(GD library)和PHPLOT(一种用来绘制图表的工具)来工作,可以分析SQL中的数据并绘制图表。
第七章主要介绍可以和Snort一起工作的其他一些有用的工具。
在读完此书后,你将建立一个完整的,具有多个组件的系统,如图1-1所示。
在图中你可以看到,Snort捕获并分析数据,然后用output插件将数据储存在MySQL数据库中。
Apache服务器在ACID,PHP、GD library及PHP包的帮助下使连接到服务器的用户能够通过浏览器显示数据。
用户可以在网页上应用不同的查询来分析、备份、删除数据或者显示图表。
基本上,你可以将Snort、MySQL、Apache、PHP、ACID、GD库以及ACID都安装到一台计算机上,而实际上在读完本书后,你可以建立一个类似于如图1-2所示得更加贴近实际应用的系统。
在企业中,人们通常使用多个Snort探测器,在每个路由器或者防火墙后面都放置探测器。
在这种情况下,你可以用一个集中的数据库来收集所有探测器的信息,并在这个数据库服务器上运行Apache Web服务器,如图1-3所示。
1.1 什么是入侵检测?入侵检测是指用来检测针对网络及主机的可疑活动的一系列技术和方法。
入侵检测系统基本可以分为两大类:基于特征的入侵检测系统和异常行为检测系统。
入侵者常具有用软件可以检测到的特征,如病毒。
入侵检测系统将检测包含已知入侵行为特征或者异常于IP协议的数据包。
基于一系列的特征及规则,入侵检测系统能够发现并记录可疑行为并产生告警。
基于异常的入侵检测系统通常是分析数据包中协议头部的异常,在某些情况下这种方式要比基于特征的入侵检测系统要更好一些。
通常情况下,入侵检测系统在网络上捕获数据包与规则比对或者检测其中的异常。
Snort基本上是一个基于规则的IDS,但是input插件可以分析协议头部异常。
Snort的规则存储在文本文件中,并可以用文本编辑器修改。
规则以类别分组。
不同类别的规则存储在不同的文件中。
最后,这些文件被一个叫做snort.conf的主配置文件引用。
Snort在启动时读取这些规则,并建立部数据结构或链表以用这些规则来捕获数据。
发现入侵特征并利用规则捕获它们是一项具有技巧性的工作,因为在实时检测中你应用越多的规则,那么你将需要越多的处理能力,所以用尽量少的规则来捕获尽量多的特征是非常重要的。
Snort已经预先定义了许多入侵检测规则,并且你可以自由添加自定义的规则。
同时,你也可以移除一些建规则以防止错误告警。
1.1.1 一些定义在详细了解入侵检测及Snort之前,你需要了解一些网络安全相关的定义,这些定义将在这本书的随后章节中重复应用。
对这些名词的基本了解对于理解其他更加复杂的安全概念是非常必要的。
1.1.1.1IDS入侵检测系统或IDS是一种用来检测入侵行为的软件、硬件或者两者的结合。
Snort是大众可以获得的开放源码的IDS。
IDS的实际能力依赖于组件的复杂度及精巧性。
实体的IDS是硬件和软件的结合,很多公司可以提供及决方案。
如前面提到的,IDS可以采用特征分析技术、异常检测技术,或者两者同时应用。
1.1.1.2 网络IDS或NIDSNIDS是用来捕获在网络介质上传播的数据并与特征数据库比对的入侵检测系统。
跟据数据包与特征数据库的匹配情况,IDS产生告警或者将日志记录到文件或数据库中。
Snort主要是作为NIDS来使用的。
1.1.1.3 主机IDS或HIDS面向主机的入侵检测系统或称HIDS作为一个代理安装在一台主机上,这种入侵检测系统可以分析系统及应用程序日志来检测入侵行为。
其中一些HIDS是被动状态的,只有当某些事情发生了才会通知你,另外一些是主动状态的,可以嗅探网络中针对某一主机的通信状况并实时产生告警。
1.1.1.4 特征特征是数据包中包含信息的特点。
特征用来检测一种或多种攻击行为。
例如,目标是你的web服务的包中如果出现“scripts/iisadmin”,可能意味着一个入侵尝试。
根据攻击行为本质的不同,特征数据可能会出现在数据包中的不同位置。
例如,你可能会在IP、传输层头(TCP或UDP头)及/或应用层头或载荷中发现攻击特征。
你将在本书的后面更多的了解攻击特征。
通常IDS依靠特征来发现入侵行为。
在发现新的入侵特征时,某些商业化的IDS需要从厂商那里得到更新的特征库。
另外一些IDS,比如Snort,你可以自己更新特征库。
1.1.1.5 告警告警是任何一种对入侵行为的通知。
当IDS检测到入侵者,它将用告警来通知安全管理员。
告警的形式可以使弹出窗口、终端显示及发送等等。
告警同时也被存储到日志文件或者数据库中,以便供安全专家察看。
在本书的后面,你将得到关于告警的详细信息。
Snort的告警由output插件控制,并可以产生多种形式的报警。
Snort 也可以将同一个告警发送到不同的目标,例如,将告警发送到数据库的同时,产生SNMP trap信息。
一些插件可以修改防火墙配置,使入侵者在防火墙或者路由器上被控制。
1.1.1.6 日志日志信息通常存放在文件中。
默认情况下,Snort将这些信息存放在/var/log/snort目录下,但是也可以在启动Snort时用命令行开关来改变这个目录。
日志信息可以存储为文本格式或者二进制格式,二进制格式的文件可以供Snort或者Tcpdump随后访问,现在也有一个叫做Barnyard的新工具可以分析Snort产生的二进制日志文件。
将日志存放为二进制文件可以有更高的效率,因为这种格式开销相对较低。
将Snort应用在高速网络环境中,将日志存放为二进制文件是非常必要的。
1.1.1.7 误告警误告警是错误的将非入侵行为报告为入侵行为的告警。
例如,部主机的错误配置有时会产生触发规则,从而产生误告警。
某些路由器,例如Linksys 家用路由器,会产生一些信息,导致UpnP相关的告警。
为了避免误告警,你要修改和调试默认规则,在某些情况下,你也许需要停止一些规则的使用,以避免误告警。
1.1.1.8 探测器运行入侵检测系统的机器也叫做探测器,因为它用来“探测”网络中的活动。
在本书的后面部分,如果用到探测器这个词,那么它是指运行Snort 的计算机或者其他设备。
1.1.2IDS应该放在网络中的什么位置?根据你的网络拓扑结构的不同,你应该在一个或多个位置放置IDS。
IDS 放置的位置也要取决于你想检测的入侵行为的种类:部入侵、外部入侵,或者两个都要检测。
例如,如果你想仅仅检测外部入侵活动,并且你只有一个路由器接到Internet,那么放置IDS的最佳位置也许紧靠着路由器或者防火墙的部网络接口。