入侵检测课程设计Word格式.doc

上传人:wj 文档编号:1498404 上传时间:2023-04-30 格式:DOC 页数:31 大小:1.97MB
下载 相关 举报
入侵检测课程设计Word格式.doc_第1页
第1页 / 共31页
入侵检测课程设计Word格式.doc_第2页
第2页 / 共31页
入侵检测课程设计Word格式.doc_第3页
第3页 / 共31页
入侵检测课程设计Word格式.doc_第4页
第4页 / 共31页
入侵检测课程设计Word格式.doc_第5页
第5页 / 共31页
入侵检测课程设计Word格式.doc_第6页
第6页 / 共31页
入侵检测课程设计Word格式.doc_第7页
第7页 / 共31页
入侵检测课程设计Word格式.doc_第8页
第8页 / 共31页
入侵检测课程设计Word格式.doc_第9页
第9页 / 共31页
入侵检测课程设计Word格式.doc_第10页
第10页 / 共31页
入侵检测课程设计Word格式.doc_第11页
第11页 / 共31页
入侵检测课程设计Word格式.doc_第12页
第12页 / 共31页
入侵检测课程设计Word格式.doc_第13页
第13页 / 共31页
入侵检测课程设计Word格式.doc_第14页
第14页 / 共31页
入侵检测课程设计Word格式.doc_第15页
第15页 / 共31页
入侵检测课程设计Word格式.doc_第16页
第16页 / 共31页
入侵检测课程设计Word格式.doc_第17页
第17页 / 共31页
入侵检测课程设计Word格式.doc_第18页
第18页 / 共31页
入侵检测课程设计Word格式.doc_第19页
第19页 / 共31页
入侵检测课程设计Word格式.doc_第20页
第20页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

入侵检测课程设计Word格式.doc

《入侵检测课程设计Word格式.doc》由会员分享,可在线阅读,更多相关《入侵检测课程设计Word格式.doc(31页珍藏版)》请在冰点文库上搜索。

入侵检测课程设计Word格式.doc

4、安装snort(Ubuntu12.04软件列表中的snort默认是2.9,之前版本的软件列表的snort版本是较低版本):

sudoapt-getinstallsnort

5、Snort–v

6、Snort–vd

7、snort–vde

alertipanyany->

anyany(msg:

"

GotanIPPacket"

;

classtype:

not-suspicious;

sid:

2000000;

rev:

1;

alerticmpanyany->

GotanICMPPacket"

2000001;

ICMPLargeICMPPacket"

dsize:

>

800;

reference:

arachnids,246;

bad-unknown;

sid:

2000499;

4;

前面两个规则分别在捕获任何IP数据包和ICMP数据包的时候产生一个告警。

因为它们在遇到每一个数据包的时候都触发告警,所以在数据流量很大的网络段不适合使用这些规则!

如果必要的话,请在一个小网络段或测试网络段使用这些规则。

最后一个规则是对499号签名ID(标准规则)的拷贝进行修改以放宽产生告警的门限来满足我们的测试目的(注意:

Snort.org组织将1-1,000,000的签名ID号留给“正式”规则使用,详情请查看Snort的用户使用手册)。

正常情况下你应该避免放宽告警门限,因为这样会产生很多的误告警。

1.6实验总结:

通过这次的课程设计掌握在linux下的snort工具的安装、配置、使用方法,实现捕捉Telnet、FTP、HTTP等协议的数据包。

利用snort的检测功能,完成对一些攻击的检测.加深对各种攻击软件的了解.结合课堂授课内容,全面了解snort这个著名的开源入侵检测工具的实现方法和原理.为利用第三方软件分析进一步分析数据打下基础。

二、用Snort构建实用的入侵检测系统

2.1实验目的

(1)网络数据获取与分析是网络入侵检测系统的基础。

通过实验让同学们掌握网络数据获取及数据还原的方法和实现。

(2)通过实验让同学们加深对网络数据获取原理的理解。

(3)通过实验让同学们初步了解在linux下的程序开发过程、开发环境。

2.2实验内容

(1)安装除snort以外的其它软件,如Apach、PHP、mysql、acid的安装等相关软件。

(2)完成相应的配置文件的配置,如配置数据库输出插件、制订入侵防范策略等

(3)能利用下载的检测规则,检测入侵。

(4)自已完成一条规则的编写,并进行正确性测试。

(5)完成对检测规则的压力测试。

2.3实验要求

(2)将配置文件的的改动部分存储下来,传送到系ftp服务器上。

文件名命名规则是Lab2_学号

(3)所操作的重要步骤和结果用截屏的方法和文件的方式保存和存储,并送到ftp服务器上

(4)认真完成每一个实验步骤,并做好记录。

(5)根据所做的全部实验做一个简单总结。

2.4实验准备

(6)参考教材参考资料及网上有关资料

2.5实验步骤

 

一、LAMP服务器配置

1、提升权限

用sudosu提升用户权限。

2、更新软件包列表。

用apt-getupdate获取最新的软件包列表(如果不执行这一部可能在出现未发现软件包的现象)

3、安装MySQL5

apt-getinstallmysql-servermysql-client

安装过程中会遇到如下图的两个界面。

要求提供一个MySQLroot用户的密码-这个密码是为用户有效的根@本地主机以及作为root@的,所以我们不会有手动指定一个MySQLroot密码后:

MySQL的“root”用户:

新密码-yourrootsqlpassword

重复密码:

<

-yourrootsqlpassword

3、安装Apache2

Apt-getinstallApache2

修改apache默认目录(不修改也可以用,这里暂时不加阐述)

安装完成重启Apache/etc/init.d/apache2restart在浏览器中输入本机ip或是localhost

显示如下午即为安装成功。

4、安装PHP5

apt-getinstallphp5libapache2-mod-php5

重启Apache

/etc/init.d/apache2restart

5、测试的PHP5/获取PHP5安装的详细信息

默认网站的文件根目录是/var/www下面。

现在,我们将在该目录中创建一个小型PHP文件(info.php的)和在浏览器中调用它。

该文件将显示很多关于我们的PHP安装,如安装的PHP版本,有用的细节。

vi/var/www/info.php

<

?

php

phpinfo();

在浏览器中输入http:

//本机ip/info.php或localhost/info.php

正如你所看到的,PHP5的工作,它通过Apache2.0的处理程序,在服务器API线。

如果你继续向下滚动,你会看到所有在PHP5中已经启用的模块。

MySQL是没有列出,这意味着我们不必在PHP5支持MySQL

6、安装需要的Mysql对php支持包

可以用命令查找:

apt-cachesearchphp5

7、获得MySQL支持在PHP5

phpMyAdmin是一个网络接口,通过它可以管理你的MySQL数据库。

安装:

apt-getinstallphpmyadmin

你会看到以下问题点确定

安装完成之后在浏览器中输入localhost查看是否成功。

如果出现notfound错误,解决方法是进入var/www/目录下给phpmyadmin加一个软连接

命令如下:

cd/var/www/

sudo ln–s/usr/share/phpmyadmin

当配置都成功了可以看到phpmyadmin的界面,下图是我建完snort时的截图可能会你们看的的不同。

安装、配置Snort

安装过程中需要进行配置,配置过程如下:

sudosu

apt-getupdate

apt-getinstallsnort-mysql

Snort-mysql软件包安装完成后,在/usr/share/doc/snort-mysql/目录下放置了一些文档,可以使用如下方法查看文档

为snort创建数据库过程

mysql–uroot–p

createdatabasesonrtdb

grantcreat,insert,select,updateonsnort.*tosnort@localhost;

setpasswordforsnort@localhost=PASSWOED(‘snortpassword’);

exit;

测试创建的数据用户:

mysql–usnort–psnortpassword

能进入则证明创建成功;

将snort-mysql附带的sql文件导入数据库:

cd/uer/share/doc/snort-mysql/

zcatcreat_mysql.gz|mysqlsnortdb–usnort–psnortpassword

将/etc/snort/db-pending-config文件删除:

rm/etc/snort/db-pending-config

配置snort

在配置文件的第50行,将其修改为我们要监控的网段

varHOME_NET10.0.2.55/24

varEXTERNAL_NET!

$HOME_NET

在配置文件的第700行,找到“outoutdatabase:

log,mysql,”一行,如果此行没有被注释掉则注释掉,按照此行格式写一个新的;

该设置使Snort将log和alert信息都写入到指定的MySQL数据库中。

在/var/log/snort/目录下创建alert文件,并更改所有者为snort,否则snort因不能写入这个文件无法启动,

cd/var/log/snort/

touchalert

chownsnortalert

设置完成后,测试配置是否正常:

snort–c/etc/snort/snort.conf

最后出现这个画面,说明配置成功了,按“Ctrl+C”键即可退出。

用如下命令查看/var/log/syslog日志文件:

cat/var/log/syslog|grepsnort|grepERROR

安装、配置acidbase软件包

apt-getinstallacidbase

此时,数据库选择MySQL数据库,如下所示:

此时输入MySQL数据库的root用户密码,如下所示:

此过程时,直接按回车键即可,让系统自动生成密码,如下所示:

配置Apache

acidbase软件包自己带了一个Apache配置文件,位于/etc/acidbase/apache.conf,修改该文件,将其包含到当前的

虚拟主机的配置文件中

Vi/etc/acidbase/apache.conf

重新加载Apache配置,并重启Apache服务:

Serviceapache2reload

Serviceapache2restart

配置acidbase

在浏览器中打开:

http:

//ip地址/acidbase/setup/,开始配置,在第一个页面上,点击“Continue”,如下图所示:

在接下来的步骤中,语言选择“simplified_chinese”,并输入路径“/usr/share/php/adodb”

在“Step2of5”界面上,输入MySQL数据库信息

在“Step3of5”界面上,输入用户名和密码,用于登陆BASE

在“Step4of5”界面上,点击“CreateBASEAG”按钮,在数据库中创建表

此时,如果你看到了如下所示界面,说明数据库表创建成功,然后点击最下方的"

step5"

将生成的配置文件复制下来:

生成的配置文件,并保存为/etc/acidbase/base_conf.php,并在配置文件的460行左右找到$BASEE_path将其注掉,并添加一行

$BASE_path="

/usr/share/acidbase"

保存退出文件后,修改文件权限

Chmodc=/etc/acidbase/base_conf.php

Chgrpwww-date/etc/acidbase/base_conf.php

此时登陆http:

//localdhost/acidbase/页面,输入用户名、密码,来查看Snort截获的入侵日志:

这个是个用ping命令测试snort是否正常工作的规则,当我ping此入侵检测系统时就会得到警告信息"

2.6实验总结:

在上次的基础上继续这次的实验,因为有了之前的基础所以对snort有了更加清楚的了解,实验进行的比较顺利。

因为以前有过LAMP的搭建的经历所以对能很好的完成实验。

但是在写入侵检测规则的时候还有有些困难,因为要想写好一个规则要对通信的协议比较清楚,还要了解入侵的手段。

因为只有具备上述要求才能写出一条有效的规则。

三、简单的基于嗅探器的入侵检测系统的设计与实现

3.1实验目的

(1)了解和掌握基于网络入侵检测系统的设计与实现原理

(2)掌握网络数据采集的机制和实现方法

(3)利用模式匹配技术和协议分析技术实现简单的检测引擎

3.2实验内容

(1)设计并实现一个简单的嗅探器

(2)针对嗅探器所捕获的数据包实现解码/译码和特征检测

3.3实验要求

(2)将源代码,传送到系ftp服务器上。

要求源代码有注释,可读性较好。

文件名命名规则是Lab3_学号

(3)将程序的执行结果通过截屏等方式记录下来,并做简单分析。

(4)认真完成每一个实验步骤,并总结、并进行现场演示和说明。

了解基于嗅探器的入侵检测系统的设计原理。

源码:

//xiutan.cpp:

定义控制台应用程序的入口点。

//

#include"

stdafx.h"

stdio.h"

winsock2.h"

#defineSIO_RCVALL_WSAIOW(IOC_VENDOR,1)//thisremovestheneedofmstcpip.h

voidStartSniffing(SOCKETSock);

//Thiswillsniffhereandthere

voidProcessPacket(unsignedchar*,int);

//Thiswilldecidehowtodigest

voidPrintIpHeader(unsignedchar*,int);

voidPrintIcmpPacket(unsignedchar*,int);

voidPrintUdpPacket(unsignedchar*,int);

voidPrintTcpPacket(unsignedchar*,int);

voidConvertToHex(unsignedchar*,unsignedint);

voidPrintData(unsignedchar*,int);

//IPHeaderStructure

typedefstructip_hdr

{

unsignedcharip_header_len:

//4-bitheaderlength(in32-bitwords)normally=5(Means20Bytesmaybe24also)

unsignedcharip_version:

//4-bitIPv4version

unsignedcharip_tos;

//IPtypeofservice

unsignedshortip_total_length;

//Totallength

unsignedshortip_id;

//Uniqueidentifier

unsignedcharip_frag_offset:

5;

//Fragmentoffsetfield

unsignedcharip_more_fragment:

unsignedcharip_dont_fragment:

unsignedcharip_reserved_zero:

unsignedcharip_frag_offset1;

//fragmentoffset

unsignedcharip_ttl;

//Timetolive

unsignedcharip_protocol;

//Protocol(TCP,UDPetc)

unsignedshortip_checksum;

//IPchecksum

unsignedintip_srcaddr;

//Sourceaddress

unsignedintip_destaddr;

//Sourceaddress

}IPV4_HDR;

//UDPHeaderStructure

typedefstructudp_hdr

unsignedshortsource_port;

//Sourceportno.

unsignedshortdest_port;

//Dest.portno.

unsignedshortudp_length;

//Udppacketlength

unsignedshortudp_checksum;

//Udpchecksum(optional)

}UDP_HDR;

//TCPHeaderStructure

typedefstructtcp_header

{

unsignedshortsource_port;

//sourceport

unsignedshortdest_port;

//destinationport

unsignedintsequence;

//sequencenumber-32bits

unsignedintacknowledge;

//acknowledgementnumber-32bits

unsignedcharns:

//NonceSumFlagAddedinRFC3540.

unsignedcharreserved_part1:

3;

//accordingtorfc

unsignedchardata_offset:

/*Thenumberof32-bitwordsintheTCPheader.

Thisindicateswherethedatabegins.

ThelengthoftheTCPheaderisalwaysamultiple

of32bits.*/

unsignedcharfin:

//FinishFlag

unsignedcharsyn:

//SynchroniseFlag

unsignedcharrst:

//ResetFlag

unsignedcharpsh:

//PushFlag

unsignedcharack:

//AcknowledgementFlag

unsignedcharurg:

//UrgentFlag

unsignedcharecn:

//ECN-EchoFlag

unsignedcharcwr:

//CongestionWindowReducedFlag

////////////////////////////////

unsignedshortwindow;

//window

unsignedshortchecksum;

//

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 数学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2