实训项目10-基于Snort入侵检测功能配置一、实训题目:基于Snort入侵检测功能配置二、实训目的:1.深入理解IDS的功能及相关的知识;2.学会利用Snort软件及附加软件配置IDS系统方法;3.学会利用Snort规则文件定义对不同协议的数据包的检测、记录与报警。
三、实训要求:1.准备安装有WIN2003系统的虚拟机软件;2.准备Snort软件软件;3.准备Snort附加软件及数据库软件等。
四、引导文本:1.SNORT的特点;2.Snort一个轻量的网络IDS;3.提供全面的网络协议数据包解析;4.Snort规则链处理过程;5.Snort日志和报警子系统;6.关于snort的规则;7.Snort规则示例。
五、实训步骤:(一)设计Snort软件的入侵检测功能1.构建Snort网络入侵检测系统的五个主要部分第一步:安装Snort程序;第二步:要进行底层驱动WinPcap的安装;第三步:可选的,建议安装,为了方便安装一个控制台来设置Snort程序(IDSCENTER);第四步:可选的,数据库用于存储日志(MySQL Database),可能;第五步:可选的,安装一个PHP的基于WEB的Snort的远程管理平台(ADODB及ACID)。
2.任务设计选在WINDOWS2003中配置SNORT,为了作到实时监控及记录,安装MYSQL数据库作入侵记录,用MYSQL建立一个名为SNORT的数据库,要借助于MYSQL FRONT来创建SNORT数据库,同时用CREAT_MYSQL建立所需的记录数据用的多个表,用IIS通过PHP ACID与SNORT数据库连接,也可以用IDSCENTER构造你想要的IDS效果。
下面利用Snort结合相关软件,在WINDOWS下完成一个NIDS的工作任务,网络以上一个工作任务图为参考。
3.构建SNORT网络入侵检测系统软件部署(1)获得SNORT程序可以免费从SNORT的站点获得源代码:,选择DOWNLOAD项,选择BINAR…,选择相应的操作系统的SNORT。
这时要选择的是WIN32因为要在WINDOWS上设计NIDS,后面的其它附加软件可以通过互联网搜索或到本课程网站下载。
(2)构建完整的SNORT-NIDS的附加软件◆ Snort2.1.2 (for Win32的更新):IDS 主程序。
◆ Snort Rules (snort 压缩包中有,Snort2.1.2 装完就有了):常用的IDS 规则集。
◆ WinPcap (WinPcap_3_01_a.exe ):WinPcap 是一个重要的抓包工具,它是libpcap 的Windows 版本。
需要注意的是Snort 的版本与WinPcap 的配合上有BUG 。
建议选用此版本。
◆ MySQL mysql-4.0.18-win :SNORT 很好和MYSQL 相处。
◆ MySQL mysqlfront :可以用来操作MYSQL 数据库的软件。
◆ create_mysql(snort 压缩包中有):用于创建SNORT 数据库表。
◆ PHP php-4.0.6-Win32:使IIS 也能运行PHP 网页。
◆ ADODB 1.1.2:一个高性能的数据库(组件)。
◆ ACID 0.9.6b6:一个PHP 网站,已经和MYSQL 的SNORT 数据库作好了关联。
◆ IDSCENTER Snort idscenter1.1:SNORT 管理控制台,可以说是对Snort 的GUI 。
(二)利用Snort 软件实施入侵检测1.安装与配置Snort2.安装WinPcap建议这一步最好在Snort 的安装之前完成(针对当前Snort 版本,必须安装项)。
WinPcap 是一个重要的抓包工具。
WinPcap 安装很简单只要选择同意、下一步就可以了,WinPcap 包括三个部分模块:NPF(Netgroup Packet Filter)、packet.dll 、Wpcap.dll 。
安装完成后可以在系统信息中查看到其运行情况,如下图所示:3、安装MySQL DatabaseMYSQL 服务器和客户端程序安装很容易(可选安装项,如果安装Snort 主程序时选择日志方式为不记录到数据库,此步可以省略),默认安到C:\MYSQL 目录下,进入C:\MYSQL\BIN 打开MYSQL 管理器winmysqladmin.exe 。
执行后任务栏上会有图标出现,右键选择SHOW ME 。
要求输入用户和密码,正确情况下应该显示如下YES OK ……配置MY .INI 文件(位于系统目录下)4.配置MySQLFRONT ,并生成SNORT 数据库此步是为上一步服务的,当然也是可选项,如果不使用MySQL 数据库或能正确建立Snort 数据库,则本步骤可以省去。
5.利用create_mysql在SNORT中生成Acid的库表执行后即可生成SNORT所需的表。
本步骤当然也是可选项,如果不使用MySQL数据库或能正确建立Snort数据库,则本步骤可以省去。
6.安装及配置PHP将PHP解压到C:\Snort\PHP目录。
拷贝文件php.ini-dist到本机的根目录,并将它改名为php.ini。
本机的根目录是c:\windows。
用写字板打开php.ini,修改以下两个变量:(1)max_execution_time = 60(2)session.save_path = "\Temp" folder7.安装与配置ADODB及ACID解压ADODB到C:\Snort\ADODB目录,编辑ADODB.INC.PHP,找到$ADODB_Database,输入修改为$ADODB_Database = 'C:\Snort\adodb';解压并移动Acid到缺省的web站点目录下C:\Inetpub\wwwroot\。
配置acid目录下的acid_conf.php,只需要修改以下变量:$DBlib_path = "C:\Snort\ADODB";$alert_dbname = "snort";$alert_host = "localhost";$alert_port = "";$alert_user = "snort";$alert_password = "";重新启动计算机,打开浏览器输入http://localhost/Acid/Index.html。
8.安装与配置IDSCENTER1.1IDScenter-Configuration全局配置,如左图;IDScenter- Network Variables网络变量,如右图;IDScenter- Options选项配置,可先采取默认。
9、完成任务的关键配置完成以上的软件的安装与配置流程,接下来将针对本工作任务进行具体的实施。
任务的关键在于规则文件的编写:(1)利用写字板编写一个.rule的规则文件,并放置在BIN目录下;(2)在文件中加入下面的语句:alert ICMP any any -> 10.2.2.0/24 any (msg:“ICMP TEST”;) ;(3)得用其它主机对安装有Snort的主机进行Ping通信的测试;(4)检查Snort的主机是否有警报记录;(5)对.rule的规则文件进行调整后重复以上步骤。
(三)进行入侵检测效果的检测1.在命令行下调试与测试Snort(1)在命令模式下进入到“C:\ Snort \Bin”目录,输入:Snort –W,会看到罗列出的很多适配器,可以在他们上面安装入侵检测的传感器,这些适配器分别编号为:1,2,3,等;(2)在“C:\Snort\Bin> ”模式下输入:snort -v –ix(X是传感器的编号,笔者选用了本机作为传感器,输入了snort -v –i1);打开浏览器,随便访问一些网址,目的是为了生成一些网络流量,在windows的命令窗口中你将会看到所有连接的具体信息;(3)在任务管理器中关掉这个进程;(4)再回到命令模式,在"C:\Snort\Bin> “下输入:Snort -c C:\Snort\Bin\Snort.conf -l C:\Snort\Logs –ix(X是传感器的编号),如果不出意外,Snort会在”C:\Snort\Logs“目录下生成一个Alert.ids文件,系统报错,后改为以下语句:Snort -c C:\Snort\Bin\Snort.conf -l C:\Snort\Logs;最终在”C:\Snort\Logs “目录下成功生成一个Alert.ids文件,该文件可以用写字板打开查看;(5)再在任务管理器中关掉这个进程。
2.修改Snort.conf配置可以采用下面的步骤来定制配置文件,并指定:(1)定义网络变量如下:var HOME_NET any和var EXTERNAL_NET any;(2)配置处理器Configure preprocessors:preprocessor frag2和preprocessor stream4。
(3)配置输出组件Configure output plugins;(4)定制规则集Customize your rule set:include $RULE_PA TH/bad-traffic.rules。
3.修改入侵检测规则SNORT自带的规则都在C:\Snort\rules目录下,可以通过IDScenter选择或加入用户自己定义的规则文件,这要事先用记事本编写就可以。
如下图为选择或加入新的规则。
在IDSCenter中的IDS Rules项下的Rules/ Configuration中可以指定一个规则文件分类,Snort将按此文件定义的入侵检测规则进行检测。
4.IDSCenter设置的故障调试在设置IDSCenter控制台时,由于步骤的烦琐,可能会出现一些错误或遗漏,那如何知道是哪里出了问题呢?认为配置完成后,可以点击IDSCENTER工具栏上的“Apply”加以应用与保存。
如果有错误或遗漏项目,在General下的Overview中的Configuration errors下边的文本框中会有相应的提示,可以参照进行调试故障。
5.修改数据库输出组件设置IDSCenter控制台的IDS Rules项下的Configure output plugins,可以对Snort的输出进行配置,如数据的连接信息的修改与配置。
6.修改报警项为声音的设置当发生定义好的入侵条件的事件是,并且定义为ALERT,Snort通过IDSCenter调用这个声音文件报警。