实验(11)Snort的安装与配置_第1页
实验(11)Snort的安装与配置_第2页
实验(11)Snort的安装与配置_第3页
实验(11)Snort的安装与配置_第4页
实验(11)Snort的安装与配置_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1Snort的安装与配置2实验目的通过实验深入理解IDS的原理和工作方式,熟悉入侵检测工具snort在Windows和linux操作系统中的安装和配置方法。 3目 录一. Snort介绍 二. Windows下安装配置Snort三. windows下snort的使用 四. Linux 下安装配置Snort五. 总结六. 致谢4Snort介绍(1) snort是Martin Roesch等人开发的一种开放源码的入侵检测系统。Martin Roesch把snort定位为一个轻量级的入侵检测系统。它具有实时数据流量分析和IP数据包日志分析的能力,具有跨平台特征,能够进行协议分析和对内容的搜索/匹配。

2、它能够检测不同的攻击行为,如缓冲区溢出、端口扫描、DoS攻击等,并进行实时报警。 5Snort介绍(2) snort有三种工作模式:嗅探器、数据包记录器、入侵检测系统。做嗅探器时,它只读取网络中传输的数据包,然后显示在控制台上。作数据包记录器时,它可以将数据包记录到硬盘上,已备分析之用。入侵检测模式功能强大,可通过配置实现,但稍显复杂,snort可以根据用户事先定义的一些规则分析网络数据流,并根据检测结果采取一定的动作。 6Snort介绍(3) Snort具有良好的扩展性和可移植性,可支持Linux、windows等多种操作系统平台,在本实验中,我们介绍snort在Linux和windows操

3、作系统中的安装和使用方法,以有助于读者对入侵检测系统的深入理解。 在下面的实验内容中涉及到较多mysql数据库服务器以及snort规则的配置命令,为了有助于对实验内容的深入了解,我们在这里先对mysql和snort的使用方法进行简单介绍,下面的介绍主要基于windows操作系统,在linux操作系统中使用方法和windows中大同小异。 7Snort介绍(4) Snort具有良好的扩展性和可移植性,可支持Linux、windows等多种操作系统平台,在本实验中,我们介绍snort在Linux和windows操作系统中的安装和使用方法,以有助于读者对入侵检测系统的深入理解。 在下面的实验内容中涉

4、及到较多mysql数据库服务器以及snort规则的配置命令,为了有助于对实验内容的深入了解,我们在这里先对mysql和snort的使用方法进行简单介绍,下面的介绍主要基于windows操作系统,在linux操作系统中使用方法和windows中大同小异。 8mysql的使用 mysql默认安装在C:mysql文件夹下,其运行文件为C:mysqlbinmysql.exe,故在使用时需先在windows命令行方式下进入C:mysqlbin文件夹,即单击“开始”按钮,选择“运行”,输入cmd后,输入下面的命令: C:cd mysqlbin 出现下面的提示符: C:mysqlbin 在此目录下可连接my

5、sql数据库。 91. 连接mysql数据库 连接mysql:mysql -h主机地址 -u用户名 -p用户密码。 如果只连接本地的mysql,则可以省去主机地址一项,默认用户的用户名为root,没有密码。故可以用下面的语句登录:mysql -u root p 屏幕上会出现密码输入提示符Enter password:由于根用户没有密码,直接回车,出现下面的提示符:mysql 这表示已经进入mysql数据库的管理模式,可在此模式下对数据库、表、用户进行管理。 102. 数据库和表的管理 创建新的数据库:create database 数据库名; 注意一定要在命令末尾加上“;”最为语句的终止符,否

6、则mysql不会编译该条命令。使用某数据库:use 数据库名 在某库中建立表:create table 表名(字段设定列表)也可以从事先导出的表文件导入数据库中:c:mysqlbinmysql -D 数据库名 -u 用户名 -p密码 snort -c 配置文件及路径 -l 日志文件的路径 -d -e X 其中:-X 参数用于在数据链接层记录raw packet 数据-d 参数记录应用层的数据-e 参数显示记录第二层报文头数据-c 参数用以指定snort 的配置文件的路径 如:c:snortbinsnort -c c:snortetcsnort.conf -l c:snortlog -d -e

7、-X也可以控制snort将记录写入固定的安全记录文件中:c:snortbinsnort A fast c 配置文件及路径 l 日志文件及路径 142.配置文件的设置 snort的配置文件是c:snortetcsnort.conf,该文件中规定了snort检测内外网的IP范围,一些基本工具的启用,以及一些要启用的监测规则。监测规则用于规定需要记录的网络流量以及监测到某些攻击后所做的反应,一般位于c:snortrules中。例如:var HOME_NET /24 /*定义内网范围*/include $RULE_PATH/virus.rules /*要包含的规则*/153.

8、规则编写语法 (1) 作为一个轻量级的网络入侵检测系统,snort也支持自己编写规则文件,它使用一种简单的规则描述语言来记录配置文件中确定的“外网”对“内网”的某些活动,形成规则写入配置文件中使用,其语法规则如下: 规则头(行为) 协议 流量发出方 流量接受方(规则选项)alert tcp !/24 any - /24 23(msg:“External net attempt to access internal telnet sever”;classtype:appempt-recon;) 164.规则编写语法 (2) 上述规则为:当外部网络(!1

9、/24)试图以TCP协议访问内部网络(/24)位于23号端口的telnet服务器时,将所示的警告信息写入日志或发出警告信息,其攻击类型为“可能存在信息泄漏”。 如监测双向的流量,可将语句中的“-”换成“”。 snort的缺陷是误报率太高,即记录了很多正常的网络流量而不仅是攻击。因此,指定好的监测规则是提高监测效率、减少记录数量的最佳方法。 17目 录一. Snort介绍 二. Windows下安装配置Snort三. windows下snort的使用 四. Linux 下安装配置Snort五. 总结六. 致谢18实验环境 一台安装windows2000/

10、XP和一台安装linux操作系统的计算机,连接到本地局域网中。 注意: 在打开PHP文件的时候用的是写字板,而不是记事本。 19需要下载安装的软件 软件:201.安装Apache_2.0.46(1) (1)双击apache_2.0.46-win32-x86-no_src.msi,安装在默认文件夹c:apache下。安装程序会在该文件夹下自动产生一个子文件夹apache2。 (2)打开配置文件c:apacheapache2confhttpd.conf,将其中的Listen 8080 ,更改为 Listen 50080,如图7-19所示。 注意:这里要重新启动计算机! 211.安装Apache_2

11、.0.46(2) 注意:这是由于windows IIS中的Web服务器默认情况下在TCP 80端口监听连接请求,而8080端口一般留给代理服务器使用,所以为了避免Apache web 服务器的监听端口与其发生冲突,将Apache Web服务器的监听端口修改为不常用的高端端口50080。 221.安装Apache_2.0.46(3) (3)单击“开始”,选择“运行”,输入“cmd”,进入命令行方式。输入下面的命令:c:cd apacheapache2binc:apacheapache2binapache k install这是将apache设置为以windows中的服务方式运行。 232安装PH

12、P (1) (1)解压缩php-4.3.2-Win32.zip 至c:php。 (2)拷贝c:php下php4ts.dll 至%systemroot%system32,php.ini-dist至%systemroot% php.ini。 注意:这里的第二步应该是:php.ini-dist至%systemroot%目录下,然后改名为php.ini。 242安装PHP (2) (3)添加gd图形库支持,在php.ini中添加extension=php_gd2.dll。如果php.ini有该句,将此语句前面的“;”注释符去掉,如图7-20所示。 注意:这里需要将文件c:phpextensionsph

13、p_gd2.dll拷贝到目录c:php下 252安装PHP (3) (4)添加Apache对PHP的支持。在c:apacheapache2confhttpd.conf中添加:LoadModule php4_module c:/php/sapi/php4apache2.dllAddType application/x-httpd-php .php (5)单击“开始”按钮,选择“运行”,在弹出的窗口中输入cmd进入命令行方式,输入下面命令: net start apache2 如图7-21所示,这将在windows中启动Apache web服务。 262安装PHP (4) (6)在c:apache

14、apache2htdocs 目录下新建test.php测试文件,test.php 文件内容为。 使用:50080/test.php,测试PHP是否成功安装,如成功安装,则在浏览器中出现下面的网页: 273安装snort 安装snort-2_0_0.exe,snort的默认安装路径在c:snort。 284安装配置MYSQL数据库(1) (1)安装Mysql到默认文件夹c:mysql,并在命令行方式下进入c:mysqlbin,输入下面的命令: c:mysqlbinmysqld-nt install 这将使mysql在windows中以服务方式运行。 (2)在命令行方

15、式下输入net start mysql,启动mysql 服务。 294安装配置MYSQL数据库(2) (3)单击“开始”按钮,选择“运行”,输入“cmd”,在出现的命令行窗口中输入下面的命令:c:cd mysqlbinc:mysqlbinmysql u root p 如图7-23所示,出现Enter password提示符后直接回车,这就以默认的没有密码的root用户登录Mysql数据库。 304安装配置MYSQL数据库(3) (4)在mysql提示符后输入下面的命令(mysql)表示屏幕上出现的提示符,下同):(mysql)create database snort; (注意:在输入分号后m

16、ysql才会编译执行语句)(mysql)create database snort_archive; 上 面的create语句建立了snort运行必须的snort数据库和snort_archive数据库。314安装配置MYSQL数据库(4) ( 5)输入“quit”命令退出mysql后,在出现的提示符之后输入: (c:mysqlbin)mysql -D snort -u root -p )mysql -D snort_archive -u root -p ) grant usage on *.* to acidlocalhost identified by acidtest;(mysql) g

17、rant usage on *.* to snortlocalhost identified by snorttest; 上面两个语句表示在本地数据库中建立了acid(密码为acidtest)和snort(密码为snorttest)两个用户,以备后面使用。 334安装配置MYSQL数据库(6) (7)在mysql提示符后面输入下面的语句(mysql) grant select,insert,update,delete,create,alter on snort .* to acidlocalhost;(mysql) grant select,insert on snort .* to snor

18、tlocalhost;(mysql) grant select,insert,update,delete,create,alter on snort_archive .* to acidlocalhost; 这是为新建的用户在snort和snort_archive数据库中分配权限。 345安装adodb 将adodb360.zip解压缩至c:phpadodb 目录下,即完成了adodb的安装。 356安装配置数据控制台acid(1) (1)解压缩acid-0.9.6b23.tar.gz 至c:apacheapache2htdocsacid 目录下。(2)修改c:apacheapache2htd

19、ocsacid下的acid_conf.php 文件:$DBlib_path = c:phpadodb;$DBtype = mysql;$alert_dbname = snort;$alert_host = localhost;$alert_port = 3306;$alert_user = acid;$alert_password = acidtest;/* Archive DB connection parameters */$archive_dbname = snort_archive;$archive_host = localhost;$archive_port = 3306;$arch

20、ive_user = acid;$archive_password = acidtest;$ChartLib_path = c:phpjpgraphsrc;注意:修改时要将文件中原来的对应内容注释掉,或者直接覆盖。 366安装配置数据控制台acid(2) (3)查看:50080/acid/acid_db_setup.php网页,如图7-24所示,点击create ACID AG建立数据库。 376安装配置数据控制台acid(3) 按照系统提示建立数据库,正常建立后出现下面的网页: 387. 安装jpgrapg 库 (1)解压缩jpgraph-1.12.2.tar.

21、gz 至c:phpjpgraph(2)修改c:phpjpgraghsrc下jpgragh.php文件,去掉下面语句的注释:DEFINE(CACHE_DIR,/tmp/jpgraph_cache/); 398. 安装winpcap 安装默认选项和默认路径安装winpcap。 409配置并启动snort(1) (1)打开c:snortetcsnort.conf文件,将文件中的下列语句: include classification.config include reference.config 修改为绝对路径: include c:snortetcclassification.config inc

22、lude c:snortetcreference.config (2)在该文件的最后加入下面语句: output database: alert, mysql, host=localhost user=snort password=snorttest dbname=snort encoding=hex detail=full419配置并启动snort(2) (3)单击“开始”,选择“运行”,输入cmd,在命令行方式下输入下面的命令: c:cd snortbin; c:snortbinsnort -c c:snortetcsnort.conf -l c:snortlog -d -e -X 上面的

23、命令将启动Snort,如果snort正常运行,系统最后将显示出下面的信息: 429配置并启动snort(3) (4)打开:50080/acid/acid_main.php网页,进入acid分析控制台主界面。如上述配置均正确,将出现下面的页面: (acid分析控制台页面) 43小 结 Snort安装与配置完成!44目 录一. Snort介绍 二. Windows下安装配置Snort三. windows下snort的使用 四. Linux 下安装配置Snort五. 总结六. 致谢451. 完善配置文件(1) (1)打开c:/snort/etc/snort.conf文件

24、,查看现有配置。(2)设置snort的内、外网检测范围。 将snort.conf文件中var HOME_NET any语句中的any改为自己所在的子网地址,即将snort监测的内网设置为本机所在局域网。如本地IP为0,则将any改为/24。 并将var EXTERNAL_NET any语句中的any改为!/24,即将snort监测的外网改为本机所在局域网以外的网络。 461. 完善配置文件(2)(3)设置监测包含的规则。找到snort.conf文件中描述规则的部分,如下图:snort.conf文件中包含的检测规则文件: 前面加表

25、示该规则没有启用。472. 使用控制台查看检测结果(1) (1)重复任务一中的步骤9(3)、(4),启动snort并打开acid检测控制台主界面,如下图所示。 482. 使用控制台查看检测结果(2) (2)点击右侧图示中TCP后的数字“80%”,将显示所有检测到的TCP协议日志详细情况,如下图所示。TCP协议日志网页中的选项依次为:流量类型、时间戳、源地址、目标地址以及协议。 由于snort主机所在的内网为,可以看出,日志中只记录了外网IP对内网的连接(即目标地址均为内网)。 492. 使用控制台查看检测结果(3) (3)选择控制条中的“home”返回控制台主界面,在

26、主界面的下部有流量分析及归类选项,如下图。acid检测控制台主界面: 502. 使用控制台查看检测结果(4) (4)选择“last 24 hours:alerts unique”,可以看到24小时内特殊流量的分类记录和分析,如下图所示。可以看到,表中详细记录了各类型流量的种类、在总日志中所占的比例、出现该类流量的起始和终止时间等详细分析。在控制台主界面中还有其他功能选项,请读者自己练习使用。 512. 使用控制台查看检测结果(5) (4)选择“last 24 hours:alerts unique”,可以看到24小时内特殊流量的分类记录和分析,如下图所示。 523配置snort规则 (1) 下

27、面我们练习添加一条规则,以对符合此规则的数据包进行检测。(1)打开c:snortruleslocal.rules文件,如图7-33 所示。533配置snort规则 (2) (2)在规则中添加一条语句,实现对内网的UDP协议相关流量进行检测,并报警:udp ids/dns-version-query。语句如下: alert udp any any $HOME_NET any (msg:udp ids/dns-version-query;content:version;) 保存文件后,退出。 (3)重启Snort和acid检测控制台,使规则生效。 54小 结 本节介绍了Snort的使用55目 录一

28、. Snort介绍二. Windows下安装配置Snort三. windows下snort的使用 四. Linux 下安装配置Snort五. 总结六. 致谢561.安装snort及其函数库的安装 (1) (1)下载snort及其库函数 Snort的操作需要调用libpcap库函数以捕获数据包,在linux系统中必须单独下载并在安装snort之前安装。此外,有些snort版本安装时需要调用libnet和libpcre等库函数,所以也需要事先下载。从以下地址我们可以下载libpcap-*.tar.gz, libnet-*.tar.gz,libpcre-*.tar.gz和snort-*.tar.gz

29、文件的最新版本,*代表源代码的版本号。从http:/ 下载libpcap库;从http:/ 571.安装snort及其函数库的安装 (2) (2)安装snort及其库函数 c在安装snort之前,必须先安装libpcap库。进入命令行界面,在保存源代码的目录下输入以下命令: #tar -zxvf libpcap-0.7.2.tar.gz #cd libpcap-0.7.2#./configure prefix=/usr#make#make install pcap库安装好之后,需要拷贝它的头文件到/usr/include中相应的目录下,即拷贝到/usr/include/pcap中。 #mkdi

30、r /usr/include/pcap #cp *.h /usr/include/pcap581.安装snort及其函数库的安装 (3) 同理,安装libnet库、libpcre库的步骤与libpcap库类似,例如对libnet库的安装步骤如下: #tar xzf libnet-1.0.1b.tar.gz#cd libnet-1.0.1b#./configure prefix=/usr/local#make#make install 安装好库函数后,最后安装并编译snort源码:#tar xzf snort-*.tar.gz#cd snort-*#./configure prefix=/usr

31、/local#make#make install 592在不同模式下使用snort (1) (1)在嗅探器模式下使用snort 执行./snort v命令在网络上嗅探TCP/IP报文,将TCP/IP报文的头部信息显示在屏幕上,如图7-34所示:(使用snort嗅探数据包头部信息)602在不同模式下使用snort (2) 如果在TCP/UDP/ICMP的头部信息之外,希望查看网络协议传输的应用数据,执行下列命令: #./snort vd 如图7-35所示,上面的命令显示出网络协议传输的应用数据。(使用snort查看网络协议传输的数据 )612在不同模式下使用snort (3) 如果不还想得到更多信息,例如数据链路层的信息,可以在运行snrot命令时增加一个-e参数:#./snort vde 运行结果显示出如图7-36所示的信息。 622在不同模式下使用snort (4) 执行snort过程中snort将一种嗅探网络信息,直到按Ctr+C键终止运行,终止后将显示数据报文统计信息,如图7-37所示。 632在不同模式下使用snort (5) (3)在入侵探测模式下使用snort使用下面命令可以将snort作为网络入侵检测系统(NIDS)模式启动:./snort -dev -l ./log -h /24 -c snort.conf这是使用snort作为入侵

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论