基于windowssnort 下的入侵检测apache+snort+mysql+base汉语版.docx

上传人:b****3 文档编号:5433868 上传时间:2022-12-16 格式:DOCX 页数:14 大小:122.59KB
下载 相关 举报
基于windowssnort 下的入侵检测apache+snort+mysql+base汉语版.docx_第1页
第1页 / 共14页
基于windowssnort 下的入侵检测apache+snort+mysql+base汉语版.docx_第2页
第2页 / 共14页
基于windowssnort 下的入侵检测apache+snort+mysql+base汉语版.docx_第3页
第3页 / 共14页
基于windowssnort 下的入侵检测apache+snort+mysql+base汉语版.docx_第4页
第4页 / 共14页
基于windowssnort 下的入侵检测apache+snort+mysql+base汉语版.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

基于windowssnort 下的入侵检测apache+snort+mysql+base汉语版.docx

《基于windowssnort 下的入侵检测apache+snort+mysql+base汉语版.docx》由会员分享,可在线阅读,更多相关《基于windowssnort 下的入侵检测apache+snort+mysql+base汉语版.docx(14页珍藏版)》请在冰豆网上搜索。

基于windowssnort 下的入侵检测apache+snort+mysql+base汉语版.docx

基于windowssnort下的入侵检测apache+snort+mysql+base汉语版

Master/StandAlone-WindowsIntrusionDetectionSystem(WinIDS)

Windows2000,XP,Vistaand2003(AllVersions)

WrittenbyMichaelE.Steele

 

现在关于Windows上安装Snort的文档相当稀少,我们尽力做到使Windows用户的Snort新手在Windows中部署Snort环境时时减少“痛苦”,这是我们希望做到的。

^_^

介绍

WinIDS以其安装的简便著称(-_-!

)。

在大多数环境下安装WindowsInstrusionDetectionSystem(Windows入侵检测系统)是一个非常简单的过程,通常花费不到一个小时的时间来完成之。

本文介绍使用世界知名的SNORT入侵检测引擎、MySQL数据库、ApacheWeb服务器和BASE(BasicAnalysisandSecurityEngine,KevinJohnson)来部署一个Windows入侵检测系统的主控端或者单独的Windows入侵检测系统。

我们把所有相关需要的软件做成了一个AIO(即AllINONE)软件包,下面是关于其中我们用到的主要软件包的描述。

ApacheWebServer:

这是主要的InternetWeb站点的服务器软件,为我们的BASE安全控制台提供运行平台。

Snort:

Snort是一个轻量的网络入侵检测系统,用于在IP网络上实施实时的通讯分析和包日志记录。

这是我们用来在网络上收集信息的软件。

WinPcap:

WinPcap 是由伯克利分组捕获库派生而来的分组捕获库,它是在Windows 操作平台上来实现对底层包的截取过滤。

WinPcap 为用户级的数据包提供了Windows 下的一个平台。

WinPcap 是 BPF 模型和 Libpcap 函数库在 Windows 平台下网络数据包捕获和网络状态分析的一种体系结构,这个体系结构是由一个核心的包过滤驱动程序,一个底层的动态连接库 Packet.dll 和一个高层的独立于系统的函数库 Libpcap 组成。

底层的包捕获驱动程序实际为一个协议网络驱动程序,通过对 NDIS 中函数的调用为 Win95、Win98、WinNT、和 Win2000 提供一类似于 UNIX 系统下 Berkeley Packet Filter 的捕获和发送原始数据包的能力。

Packet.dll 是对这个 BPF 驱动程序进行访问的 API 接口,同时它有一套符合 Libpcap 接口(UNIX 下的捕获函数库)的函数库。

MySQLServer:

MySQL是一个基于SQL的应用于众多平台的数据库服务器,我们用它来存储Snort的告警信息。

所有的来自IDS探测器的告警信息都被存储在我们的MySQL数据库中。

ADODB:

PHP中一个对象导向的数据库封包链接库,它提供了共通的应用程序接口来跟所有支持的数据库沟通,简化了你的程序的数据库移植性操作。

ADODB是ActiveDataObjectDataBase的缩写,目前支持MySQL、PostgreSQL、Oracle、Interbase、MicrosoftSQLServer、Access、FoxPro、Sybase、ODBC及ADO。

PHP:

这是一个广泛使用的通用脚本语言,特别适用于Web开发并且可以被嵌入到HTML中。

BasicAnalysisandSecurityEngine(BASE):

BASE是一个用来查看SnortIDS告警的Web应用程序。

BASEisaweb-basedapplicationforviewingSnortIDSalerts.所有探测器的信息在这里被加工整理以方便查看。

WinIDS-AllInOneSoftwarePak

提示:

到2007年3月5日为止,所有需要的和最新的文件已被包含进下面的AIOSoftwarePak中。

我们正在制作一个AIO(ALLINONE)的软件包,它包含本指南所需要的所有支持软件。

我们不特别强调只有包含在AIO软件包中的软件才能用于初始化安装。

但我们已经发现一些新版本的软件之间存在兼容性问题从而导致安装失败。

我们在这些新的程序之间变得“融洽”后也将继续发布新版本的AIO软件包。

AIO的下载地址:

强制的先决条件

♦只能使用包含在我们的AIO软件包中的程序

♦干净的Windows2000/XP/Vista/2003安装

♦所有SP包和补丁均已安装

♦系统分区(比如C:

\)最小5G

♦WinIDS分区(比如D:

\)10G以上

♦保证探测器拥有静态TCP/IP设置并且接入网络

♦在WinIDS上解除所有防火墙应用程序

♦新的WinIDS探测器必须被允许接触所有网络通讯。

这可以通过将探测器接入拥有端口映射功能的交换机上,hub上,或者是一个网络节点处。

在开始安装前,我们强烈建议您使用MBSA(MicrosoftBaselineSecurityAnalyzer)解决所有的安全问题。

说明:

本译文使用C盘作为WinIDS的分区。

安装基本的Windows入侵检测系统(WinIDS)

预安装任务

提示:

下列任务这些必须在安装WinIDS前完成

提示:

1.在一些情况下微软系统默认安装IIS。

要保证在开始安装WinIDS前IIS已被移除。

2.进入到C:

\Windows\system32\drivers\etc下,适用写字板打开hosts文件,将’本机ipwinids’加入到文件中(如下所示),保存退出,在命令行中使用’pingwinids’测试。

3.将下载的AIO软件包解压缩

安装WinPcap

一路next,accept,finish即可

安装和配置Snort

1.安装Snort程序到c:

\snort

提示:

在安装开始的第二个步“InstallOptions”处,由于Snort的所有Windows版本已经默认支持将日志记录到Mysql和ODBC数据库服务器,所以此处可以选择第一个单选按钮或者可以选择其它两个以添加额外的数据库支持。

Snort安装第二步图示

2.将snortrules-snapshot-CURRENT.zip中的文件解压到c:

\snort相应文件夹中。

3.进入c:

\snort\etc下,使用写字板编辑snort.conf文件

提示:

使用写字板中的“查找”寻找下列变量。

更改内容如下所示:

Original:

varHOME_NETany

Change:

varHOME_NET192.168.1.0/24

Original:

varEXTERNAL_NETany

Change:

varEXTERNAL_NET!

$HOME_NET

Original:

varRULE_PATH../rules

Change:

varRULE_PATHc:

\snort\rules

Original:

#configdetection:

search-methodlowmem

Change:

configdetection:

search-methodlowmem

Original:

dynamicpreprocessordirectory/usr/local/lib/snort_dynamicpreprocessor/

Change:

dynamicpreprocessordirectoryc:

\snort\lib\snort_dynamicpreprocessor

Original:

dynamicengine/usr/local/lib/snort_dynamicengine/libsf_engine.so

Change:

dynamicenginec:

\snort\lib\snort_dynamicengine\sf_engine.dll

提示:

查找条目'preprocessorstream4_reassemble'(lessthequotes),并添加下一行到该条目之下。

preprocessorstream4_reassemble:

both,ports21232553801101111391434455131433

提示:

查找条目'Preprocessorsfportscan'(lessthequotes)并改变下一行。

Original:

sense_level{low}

Change:

sense_level{low}\

在上一行下加入:

logfile{portscan.log}

提示:

在'#outputlog_tcpdump:

tcpdump.log'下插入下一行:

outputalert_fast:

alert.ids

Original:

#outputdatabase:

log,mysql,user=rootpassword=testdbname=dbhost=localhost

Change:

outputdatabase:

log,mysql,user=snortpassword=snortdbname=snorthost=winidssensor_name=WinIDS

Original:

includeclassification.config

Change:

includec:

\snort\etc\classification.config

Original:

includereference.config

Change:

includec:

\snort\etc\reference.config

Original:

#includethreshold.conf

Change:

includec:

\snort\etc\threshold.conf

保存并退出。

 

测试Snort安装

打开命令行,在提示符下输入’cdc:

\snort\bin’回车。

在命令提示符下输入’snort–W’,回车。

 

提示:

当’-W’参数被使用的时候,Snort将探测多个接口,并且以数字(1-x)形式显示。

Snort需要知道有哪些接口可以监控,如果没有发现网络接口,安装必须停止直到问题解决。

Whenthe-Wswitchwasusedintheaboverunline,Snortmayhavedetectmultipleinterfaces,anddisplayedthenbynumbers(1-x).Snortwillneedtoknowwhichinterfacetomonitor.IfNointerfacearefound,theinstallMUSTstopuntiltheproblemiscorrected.

提示:

下面的过程需要将WinIDS连接到网络,并且需要产生通讯。

这通常可以通过Web浏览器打开一个远程站点来达成。

从命令行输入’snort–v–i1’,回车。

提示:

这将以详细输出模式运行snort,并在接口1上探测通讯。

现在打开一个Web浏览器产生一些Web通讯。

提示:

如果只有一个网卡,因为通讯的产生我们应该会在命令行窗口看到流经的数据统计,如果探测器上装有多个网卡并且在命行行窗口看不到数据统计,而且snort也在运行中,那么从任务管理器停止snort,然后改变’snort–v–iN’中N的值再次运行snort,直到有通讯数据统计出现在命令行窗口中。

提示:

N的值需要记住,以备配置文件中使用

命令行中使用’CTRL+C’或者通过任务管理器来结束Snort

使用虚拟机获取的Snort–w效果图

Snort–v–i2效果图

安装ApacheWebServer

我们这里对安装过程不做赘述,假设安装到了c:

\apache目录下。

提示:

安装好Apache后在系统托盘处会出现一个Apache的图标,我们可以通过它来对Apache服务进行控制。

提示:

如上图所示,最后两个单选项,是选择将apache安装为服务使用80端口自动启动,还是手动启动使用8080端口,自己定夺。

 

使用写字板打开c:

\apache\conf\httpd.conf文件。

使用查找定位到配置文件’LoadModulessl_modulemodules/mod_ssl.so’处,并在其下添加如下三行:

LoadModulephp5_modulec:

\php\php5apache2_2.dll

AddTypeapplication/x-httpd-php.php

PHPIniDirc:

\php

安装并配置PHP

将php的windows压缩文件包解压到c:

\php下。

完成后:

1.将c:

\php\libmysql.dll拷贝到c:

\windows\system32下。

2.使用c:

\php\php.ini-dist拷贝生成c:

\php\php.ini

使用写字板编辑c:

\php\php.ini

所做更改如下所示:

Original:

max_execution_time=30

Change:

max_execution_time=60

Original:

display_errors=On

Change:

display_errors=Off

Original:

;include_path=".;c:

\php\includes"

Change:

include_path="d:

\win-ids\php\pear"

Original:

extension_dir="./"

Change:

extension_dir="d:

\win-ids\php\ext"

Original:

;extension=php_gd2.dll

Change:

extension=php_gd2.dll

Original:

;extension=php_mysql.dll

Change:

extension=php_mysql.dll

Original:

;session.save_path="/tmp"

Change:

session.save_path="c:

\windows\temp"

提示:

保证’session.save_path=’变量指向正确并且存在的’windows\temp’或者’winnt\temp’目录。

保证Everyone拥有上述目录的使用权限。

测试Apache和PHP的安装

将AIO包中的test.php拷贝到’c:

\apache\htdocs’中,然后重起apache服务。

打开浏览器输入’http:

//winids/test.php’

生成如下所示页面。

 

提示:

1.检查php.ini的位置、extension_dir、include_path及session.save_path等设定是否与我们先前设定相符。

2.检查是否有gd,mysql等已经被enable的项。

 

将snort配置为系统服务

1.在命令行提示符下切换当前目录至’c:

\snort\bin’下。

2.在命令行提示符下输入:

’snort/SERVICE/INSTALL-cc:

\snort\etc\snort.conf-lc:

\snort\log-Kascii-ix’,回车。

(注意-ix中的x代表snort所探测的NIC的序号也就是前面所说的N值)

提示:

我们应该看到服务添加成功的消息。

打开“开始/运行”对话框,输入’services.msc’,确定。

提示:

如果snort服务已经成功安装,可以找到’Snort’条目,将其设置为’automatic’退出。

安装和配置MySQL

安装时提示:

1.选择“StandardConfiguration”,复选“IncludeBinDirectoryinWindowsPath”,设置好root用户的密码。

2.重起计算机,打开命令行输入:

’mysql-uroot-p’,回车,输入密码,回车。

 

生成Snort数据库

CreatetheSnortDatabases

在mysql提示符下输入:

1.createdatabasesnort;

2.createdatabasearchive;

提示:

如果现在’showdatabases;’,那么应该显示的数据库有'information_schema','archive','mysql',and'snort'.

CreatingSnortDatabaseTables

1.在mysql提示符下输入’connectsnort;’,回车。

注意它将显示’Currentdatabases:

snort’并且返回mysql提示符号。

2.在mysql提示符下输入’sourcec:

\snort\schemas\create_mysql’

3.在mysql提示符下输入’connectarchive;’,回车。

4.在mysql提示符下输入’sourcec:

\snort\schemas\create_mysql’

生成数据库访问和授权用户

CreateDatabaseAccessandAuthenticatedUsers

在命令行提示符号下输入:

1.'setpasswordforroot@localhost=password('snort');',回车。

2.‘grantINSERT,SELECT,UPDATEonsnort.*tosnort@winidsidentifiedby'snort'

3.'grantINSERT,SELECT,UPDATE,DELETE,CREATEonsnort.*tobase@winidsidentifiedby'base'

4.'grantINSERT,SELECT,UPDATE,DELETE,CREATEonarchive.*tobase@winidsidentifiedby'base'

5.'usemysql;'

6.'select*fromuser;'

使用写字板打开c:

\mysql\mysql.ini更改其中配置如下所示:

Original:

sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

Change:

sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

确认MySQL和Snort正在运行

通过任务管理器中的“进程”选项卡确认其中列出的进程是否有”snort.exe”,”mysqld-nt.exe”。

如果Snort或者MySQL的进程没有找到,可通过“事件查看器”查找原因。

安装ADODB

将ADODB的压缩包解压到c:

\adodb

安装和配置WinIDSBASE安全控制台

将base的文件压缩包解压到'c:

\apache\htdocs'目录下。

使用c:

\apache\htdocs\base\base_conf.php.dist复制生成base_conf.php

在c:

\apache\htdocs\base下创建一个signatures文件夹,将c:

\snort\doc\signatures中的文件复制到其中。

使用写字板打开c:

\apache\htdocs\base\base.conf.php文件,更改如下所示:

Original:

$BASE_urlpath='';

Change:

$BASE_urlpath='http:

//winids/base';

Original:

$DBlib_path='';

Change:

$DBlib_path='c:

\adodb';

Original:

$DBtype='?

?

?

?

?

';

Change:

$DBtype='mysql';

Originals:

$alert_dbname='?

?

?

?

?

';

$alert_host='?

?

?

?

?

';

$alert_port='?

?

?

?

?

';

$alert_user='?

?

?

?

?

';

$alert_password='?

?

?

?

?

';

Changeto:

$alert_dbname='snort';

$alert_host='winids';

$alert_port='';

$alert_user='base';

$alert_password='base';

Originals:

$archive_exists=0;#Setthisto1ifyouwantaccesstothearchiveDBfromBASE

$archive_dbname='?

?

?

?

?

';

$archive_host='?

?

?

?

?

';

$archive_port='?

?

?

?

?

';

$archive_user='?

?

?

?

?

';

$archive_password='?

?

?

?

?

';

Changeto:

$archive_exists=1;#Setthisto1ifyouwantaccesstothearchiveDBfromBASE

$archive_dbname='archive';

$archive_host='winids';

$archive_port='';

$archive_user='base';

$archive_password='base';

Original:

$portscan_file='';

Change:

$portscan_file='c:

\snort\log\portscan.log';

提示:

必须严格按照单引号内的内容键入否则将导致BASE失败。

生成BASE数据库表

在mysql命令行中输入:

usesnort

在mysql命令行中输入:

sourcec:

\apache\htdocs\base\sql\create_base_tbls_mysql.sql

在mysql命令行中输入:

usearchive

在mysql命令行中输入:

sourcec:

\apache\htdocs\base\sql\create_base_tbls_mysql.sql

配置图形BASE

打开命令行窗口,切换到c:

\php下。

在命令行窗口中输入:

’go-pear’,两次回车

提示:

忽略错误。

提示

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

当前位置:首页 > 高等教育 > 历史学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1