《2022年网络安全实验Snort网络入侵检测实验 .pdf》由会员分享,可在线阅读,更多相关《2022年网络安全实验Snort网络入侵检测实验 .pdf(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、遵义师范学院计算机与信息科学学院实验报告(20132014 学年第 1 学期)课程名称:网络安全实验班级:学号:姓名:任课教师:计算机与信息科学学院名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 25 页 -1 实验报告名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 25 页 -2 实验名称Snort 网络入侵检测实验指导教师实验类型操作实验学时4 实验时间一、实验目的与要求(1)进一步学习网络入侵检测原理与技术。(2)理解 Snort 网络入侵检测基本原理。(3)学习和掌握 Snort 网络入侵检测系统的安装、配置与操作。(4)学习和掌握如何利用Snort 进行网
2、络入侵检测应用。二、实验仪器和器材惠普 pavilion-G4,corel-i3-2310,内存:4G,虚拟机软件 vmware9.0,windows server 2003,Snort_2_9_2_2_Installer,appserv-win32-2.5.10。Acid,Adodb,Jpgraph,Mysql,PHP,WINPCAP,SNORTRULES。三、实验原理、内容及步骤(一)、实验原理:入侵检测基本原理:入侵检测(Intrusion Detection)是对入侵行为的检测。它通过收集和分析网络行为、安全日志、审计数据、其它网络上可以获得的信息以及计算机系统中若干关键点的信息,检查
3、网络或系统中是否存在违反安全策略的行为和被攻击的迹象。入侵检测作为一种积极主动地安全防护技术,提供了对内部攻击、外部攻击和误操作的实时保护,在网络系统受到危害之前拦截和响应入侵。因此被认为是防火墙之后的第二道安全闸门,在不影响网络性能的情况下能对网络进行监测。入侵检测通过执行以下任务来实现:监视、分析用户及系统活动;系统构造和弱点的审计;识别反映已知进攻的活动模式并向相关人士报警;异常行为模式的统计分析;评估重要系统和数据文件的完整性;操作系统的审计跟踪管理,并识别用户违反安全策略的行为。入侵检测是防火墙的合理补充,帮助系统对付网络攻击,扩展了系统管理员的安全管理能力(包括安全审计、监视、进攻
4、识别和响应),提高了信息安全基础结构的完整性。它从计算机网络系统中的若干关键点收集信息,并分析这些信息,看看网络中是否有违反安全策略的行为和遭到袭击的迹象。入侵检测被认为是防火墙之后的第二道安全名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 25 页 -3 闸门,在不影响网络性能的情况下能对网络进行监测,从而提供对内部攻击、外部攻击和误操作的实时保护。这些都通过它执行以下任务来实现:监视、分析用户及系统活动 系统构造和弱点的审计 识别反映已知进攻的活动模式并向相关人士报警 异常行为模式的统计分析 评估重要系统和数据文件的完整性操作系统的审计跟踪管理,并识别用户违反安全策略的行为。
5、对一个成功的入侵检测系统来讲,它不但可使系统管理员时刻了解网络系统(包括程序、文件和硬件设备等)的任何变更,还能给网络安全策略的制订提供指南。更为重要的一点是,它应该管理、配置简单,从而使非专业人员非常容易地获得网络安全。而且,入侵检测的规模还应根据网络威胁、系统构造和安全需求的改变而改变。入侵检测系统在发现入侵后,会及时作出响应,包括切断网络连接、记录事件和报警等。入侵检测系统所采用的技术可分为特征检测 与异常检测 两种:特征检测(Signature-based detection)又称 Misuse detection,这一检测假设入侵者活动可以用一种模式来表示,系统的目标是检测主体活动是
6、否符合这些模式。它可以将已有的入侵方法检查出来,但对新的入侵方法无能为力。其难点在于如何设计模式既能够表达“入侵”现象又不会将正常的活动包含进来。异常检测(Anomaly detection)的假设是入侵者活动异常于正常主体的活动。根据这一理念建立主体正常活动的“活动简档”,将当前主体的活动状况与“活动简档”相比较,当违反其统计规律时,认为该活动可能是“入侵”行为。异常检测的难题在于如何建立“活动简档”以及如何设计统计算法,从而不把正常的操作作为“入侵”或忽略真正的“入侵”行为名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 25 页 -4 Snort 入侵检测系统:Snort 简
7、介:在 1998 年,Martin Roesch 先生用 C 语言开发了开放源代码(Open Source)的入侵检测系统 Snort.直至今天,Snort 已发展成为一个多平台(Multi-Platform),实时(Real-Time)流量分析,网络 IP 数据包(Pocket)记录等特性的强大的网络入侵检测/防御系统(Network Intrusion Detection/Prevention System),即 NIDS/NIPS.Snort 符合通用公共许可(GPLGUN General Pubic License),在网上可以通过免费下载获得Snort,并且只需要几分钟就可以安装并开
8、始使用它。snort 基于 libpcap。Snort 有三种工作模式:嗅探器、数据包记录器、网络入侵检测系统。嗅探器模式仅仅是从网络上读取数据包并作为连续不断的流显示在终端上。数据包记录器模式把数据包记录到硬盘上。网络入侵检测模式是最复杂的,而且是可配置的。我们可以让 snort分析网络数据流以匹配用户定义的一些规则,并根据检测结果采取一定的动作。Snort 原理:Snort 能够对网络上的数据包进行抓包分析,但区别于其它嗅探器的是,它能根据所定义的规则进行响应及处理。Snort 通过对获取的数据包,进行各规则的分析后,根据规则链,可采取 Activation(报警并启动另外一个动态规则链)
9、、Dynamic(由其它的规则包调用)、Alert(报警),Pass(忽略),Log(不报警但记录网络流量)五种响应的机制。Snort 有数据包嗅探,数据包分析,数据包检测,响应处理等多种功能,每个模块实现不同的功能,各模块都是用插件的方式和Snort 相结合,功能扩展方便。例如,预处理插件的功能就是在规则匹配误用检测之前运行,完成 TIP 碎片重组,http 解码,telnet解码等功能,处理插件完成检查协议各字段,关闭连接,攻击响应等功能,输出插件将名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 25 页 -5 得理后的各种情况以日志或警告的方式输出。Snort 工作过程:S
10、nort 通过在网络 TCP/IP 的 5 层结构的数据链路层进行抓取网络数据包,抓包时需将网卡设置为混杂模式,根据操作系统的不同采用libpcap 或 winpcap函数从网络中捕获数据包;然后将捕获的数据包送到包解码器进行解码。网络中的数据包有可能是以太网包、令牌环包、TCP/IP 包、802.11 包等格式。在这一过程包解码器将其解码成 Snort 认识的统一的格式;之后就将数据包送到预处理器进行处理,预处理包括能分片的数据包进行重新组装,处理一些明显的错误等问题。预处理的过程主要是通过插件来完成,比如Http 预处理器完成对Http 请求解码的规格化,Frag2 事务处理器完成数据包的
11、组装,Stream4 预处理器用来使 Snort 状态化,端口扫描预处理器能检测端口扫描的能力等;对数据包进行了解码,过滤,预处理后,进入了Snort 的最重要一环,进行规则的建立及根据规则进行检测。规则检测是Snort 中最重要的部分,作用是检测数据包中是否包含有入侵行为。例如规则alert tcp any any-202.12.1.0/24 80(msg:”misc large tcp packet”;dsize:3000;)这条规则的意思是,当一个流入202.12.1.0 这个网段的 TCP 包长度超过 3000B 时就发出警报。规则语法涉及到协议的类型、内容、长度、报头等各种要素。处理
12、规则文件的时候,用三维链表来存规则信息以便和后面的数据包进行匹配,三维链表一旦构建好了,就通过某种方法查找三维链表并进行匹配和发生响应。规则检测的处理能力需要根据规则的数量,运行Snort 机器的性能,网络负载等因素决定;最后一步就是输出模块,经过检测后的数据包需要以各种形式将结果进行输出,输出形式可以是输出到alert 文件、其它日志文件、数据库UNIX域或 Socket 等。Snort 部署与运行:Snort 的部署非常灵活,很多操作系统上都可以运行,可以运行在 window xp,windows2003,linux 等操作系统上。用户在操作系统平台选择上应考虑名师资料总结-精品资料欢迎下
13、载-名师精心整理-第 6 页,共 25 页 -6 其安全性,稳定性,同时还要考虑与其它应用程序的协同工作的要求。如果入侵检测系统本身都不稳定容易受到攻击,就不能很好的去检测其它安全攻击漏洞了。在Linux 与Windows 操作系统相比较之下,Linux 更加健壮,安全和稳定。Snort 的运行,主要是通过各插件协同工作才使其功能强大,所以在部署时选择合适的数据库,Web 服务器,图形处理程序软件及版本也非常重要。Snort 部署时一般是由传感器层、服务器层、管理员控制台层三层结构组成。传感器层层就是一个网络数据包的嗅探器层,收集网络数据包交给服务器层进行处理,管理员控制台层则主要是显示检测分
14、析结果。部署Snort时可根据企业网络规模的大小,采用三层结构分别部署或采用三层结构集成在一台机器上进行部署,也可采用服务器层与控制台集成的两层结构。Snort 的有三种模式的运行方式:嗅探器模式,包记录器模式,和网络入侵检测系统模式。嗅探器模式仅仅是从捕获网络数据包显示在终端上,包记录器模式则是把捕获的数据包存储到磁盘,入侵检测模式则是最复杂的能对数据包进行分析、按规则进行检测、做出响应。(二)、实验内容:(1)在 Windows 下安装 Sort 工具。(2)Snort 入侵检测系统配置。(3)Snort 入侵检测系统检测ICMP PING 扫描。(4)Snort 入侵检测系统来自外网的I
15、CMP PING 扫描。(5)Snort 入侵检测系统与防火墙联动。(三)、实验步骤(因为此次实验在windows 系统下进行,所以软件安装步名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 25 页 -7 骤较多,具体如下):1.Windows 下安装 Snort 以及其他工具安装1)首先在 windows 下先安装 apache windows 服务器,并安装至 C:IDSAPACHE文件夹内,在弹出来的因为此版本是集成了PHP,MY SQL 的,所以直接点击安装。安装过程中会提示输入SQL 密码以及 apache 的 root 名和管理员邮箱,输入即可。在此处我们输入的邮箱为
16、,帐户名为Tokyo,密码设置为123456.2)将 C:idsphp5 Php5ts.dll复制到 WINDOWS 和 WINDOWSsystem32目录名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 25 页 -8 3)添加 GD 图形库的支持,将C:WINDOWS 下的 PhP.ini 中把“;extension=php_gd2.dll”和“;extension=php_mysql.dll”这两条语句前面的分号去掉。名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 25 页 -9 4)将 C:idsphp5ext下的文件 php_gd2.dll,php_mysq
17、l.dll复制至 C:windows 下;将 php_mysql.dll 复制至 C:windowssystem32下;名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 25 页 -10 5)添加 APACHE 对 PHP 的支持。在 C:idsapacheconfhttpd.conf的末尾添加以下语句:LoadModule php5_module c:/ids/php5/php5apache2_2.dll AddType application/x-httpd-php.php 6)重启 APACHE。名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 25 页 -1
18、1 7)在 C:idsAPACHEhtdocs目录下新建 TEST.PHP,内容:。在 IE 中测试 PHP 是否成功安装。8)安装 WINPCAP。此处安装了一个带有winpcap 的软件,由于前次实验已经安装在电脑上就不再安装。9)安装 SNORT 至 C:idssnort。安装时会提示选择组件以及是否用数据库,这里我们先不选择数据库,组件默认四个全部安装,安装完成后运行一次MYSQL,安装目录如下图:名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 25 页 -12 10)在命令行方式下,进入c:idssnortbin,执行命令:snort W,测试 SNORT是否成功安装
19、。出现以下提示则安装成功。11)将 C:IDSSnortschemas里面的 create_mysql 复制到根目录下,如图:名师资料总结-精品资料欢迎下载-名师精心整理-第 13 页,共 25 页 -13 12)安装 adodb,将实验实现准备好的额adodb 文件夹 复制至 c:php5adodb 目录下:13)安装 jpgraph,将实验实现准备好的jpgraph 文件夹复制至 c:php5jpgraph。修改 C:php5jpgraphsrcjpgraph.php:DEFINE(“CACHE_DIR”,”/tmp/jpgraph_cache”);14)创建数据库,创建表,进入cmd 界
20、面,执行以下命令:,mysql-u root p,输入密码后,登录 mysql 名师资料总结-精品资料欢迎下载-名师精心整理-第 14 页,共 25 页 -14 建两个数据库:create database snort;create database snort_archive;验证一下show databases;2.运行 Snort:1)进 入Mysql控 制 台,建 立SNORT运 行 必 须 的SNORT数 据 库 和SNORT_ARCHIVE数 据 库。输 入mysql-h localhost-u root-p123456 c:snort_mysql.sql:2)复制 C:idssn
21、ortschames下的 create_mysql 文件到 C:idssnortbin 下。3)在命令行方式下分别输入和执行以下两条命令。mysql-D snort-u root-p C:create_mysql mysql-D snort_archive-u root-p c:create_mysql 名师资料总结-精品资料欢迎下载-名师精心整理-第 15 页,共 25 页 -15 4)查看数据库:show databases 5)修改该目录下的ACID_CONF.PHP 文件,修改内容如下:$DBlib_path=c:idsphp5adodb;$DBtype=mysql;$alert_db
22、name=snort;$alert_host=localhost;$alert_port=3306;$alert_user=acid;名师资料总结-精品资料欢迎下载-名师精心整理-第 16 页,共 25 页 -16$alert_password=“123456;/*Archive DB connection parameters*/$archive_dbname=snort_archive;$archive_host=localhost;$archive_port=3306;$archive_user=acid;$archive_password=“123456;$ChartLib_path=
23、c:idsphp5jpgraphsrc;名师资料总结-精品资料欢迎下载-名师精心整理-第 17 页,共 25 页 -17 6)重启 APACHE 服务。在 IE 中输入:http:/localhost/acid/acid_db_setup.php,打开页面后,单击 Create ACID AG按钮,建立数据库。7)解压缩 SNORT 规则包。将事先准备的SNORT 规则包的所有文件解压缩至:C:idssnort 下,替换其中的文件和文件夹。名师资料总结-精品资料欢迎下载-名师精心整理-第 18 页,共 25 页 -18 8)配置 SNORT,打开 snort 配置文件 c:snortetcsn
24、ort.conf 将 include classification.config include reference.config 改为绝对路径include c:snortetcclassification.config include c:snortetcreference.config 9)启动 SNORT 入侵检测。以命令行下输入以下命令,启动SNORT 程序。(如果希望看到 SNOR 抓取的数据包,可以-X 之后加-V。名师资料总结-精品资料欢迎下载-名师精心整理-第 19 页,共 25 页 -19 10)执行以下命令加速SNORT 并保存配置名师资料总结-精品资料欢迎下载-名师精心
25、整理-第 20 页,共 25 页 -20 3.查看统计数据:1)从安装有 SNORT 的主机上打开 http:/192.168.1.60/acid/acid_main.php,进入ACID 分析控制台主界面,从中便可以查看到统计数据。至此,基于SNORT 的入侵检测系统配置结束。后续工作则是完善SNORT 规则配置文件。名师资料总结-精品资料欢迎下载-名师精心整理-第 21 页,共 25 页 -21 可以在命令行中看见snort 监测数据。名师资料总结-精品资料欢迎下载-名师精心整理-第 22 页,共 25 页 -22 重新做了一边实验以后,显示以下内容,算是成功吧。名师资料总结-精品资料欢迎
26、下载-名师精心整理-第 23 页,共 25 页 -23 到此,实验结束。总结:名师资料总结-精品资料欢迎下载-名师精心整理-第 24 页,共 25 页 -24 此次实验历经苦难,最终还是没有在网页上显示snort 检测数据报告,但是在命令行里面却可以看见snort 监测数据,因为先前在做实验的时候不小心将acid_conf.php里面的用户修改为了root,后来虽然又改回来acid,但是因为已经create acid ag,所以没有再次提示 create,然后数据一直不显示。又不知什么办法才能解决。PS:后来换了一个 server 2003 重新做了一遍,结果显示 UDP100%,想想应该是成功了,不过不太确定,在网上找了一些教程,还没试,试试再说。成 绩日期批阅人名师资料总结-精品资料欢迎下载-名师精心整理-第 25 页,共 25 页 -