以下参官方手册和无数先行者经验以及自己的实践写成的
一. 运行环境
系统环境: Microsoft Windows Server 2003 Enterprise Edition with Service Pack 2
硬件环境: Intel (R) Pentium(R) 4 CPU 3.00GHz, 1G Ram,
Broadcom NetXtrem NIC + 3Com 3C996B Gigabit Server NIC
软件环境:
Snort_2.8.5.3 For windows 主程序 以及Snort规则包snortrules-snapshot-2[1].8.tar.gz
WinPcap_4.1.1 网络数据包截取驱动程序
Apache 2.2.14 web server for windows
PHP 5.2.13 for windows 提供 php 脚本环境支持,请注意要下载zip包,
ADODB 5.10 PHP5的数据库连接组件(支持MySQL/MSSQL/PostageSQL等)
Mysql 5.1.44 MySQLGUITools5.0r17 MySQL数据库及管理工具
二. 安装过程
1. Snort
先安装WinPcap, 然后在安装Snort。建议将Snort安装在非系统分区,如 D:\Snort;
然后将另外下载的snort规则包解压拷贝到snort安装目录下,会有rules和doc两个文件夹;、
接着修改snort的设置文件:D:\Snort\etc\snort.conf
#设置规则包路径: var d:\snort\rules #设置数据库连接: output database: log, mysql, user=snortuser password=snort dbname=snortdb host=localhost #设置动态预处理库目录 dynamicpreprocessor directory D :\Snort\lib\snort_dynamicpreprocessor dynamicengine D:\Snort\lib\snort_dynamicengine\sf_engine.dll
|
2. 数据库
安装 mysql-essential-5.1.44-win32.msi 和 MySQLGUITools5.0r17.msi,
设置数据库实例流程:
使用GUI Tools建立snortdb和snortarc两个数据库,注意数据库和用户命名不要包含符号,由于Snort可能存在无法正确识别带符号数据库名或用户名的Bug,因此尽量使用英文字母和数字命名。BASE有数据库存档功能,这里建立的snortdb是snort存储的数据库,而snortarc是BASE的存档数据库,这两个数据库在安装BASE的时候需要设置进去。
然后对这两个数据库建立用户snortuser并授予CREATE/SELECT/INSERT/UPDATE/DELETE权限。
接着导入数据库信息
mysql -u root -p < ./snort/schemas/create_mysql snortdb
mysql -u root -p < ./snort/schemas/create_mysql snortarc
完成后查看数据库情况, 确认创建成功。
3. WEB平台
之所以选择Apache+PHP搭建WEB平台主要是考虑到这个组合的运行效率较高而且安全配置更为简单。
使用支持SSL的Apache可以构建更加安全的WEB平台,不过这里对于Apache SSL的配置不作介绍,请参考相关资料。
i. Apache的安装配置:
编辑D:\Application\Apache\conf\httpd.conf 文件,
更改下面内容,注意在Apache配置文件中目录层次一律使用正斜杠分隔:
#设置网站根目录: DocumentRoot "D:/Application/wwwroot" <Directory "D:/Application/wwwroot"> #添加php默认目录索引: DirectoryIndex index.html index.htm index.php
|
ii. PHP的安装配置
使用PHP非安装软件包可以避免开启不必要的功能和插件。解压软件包至目录D:\Application\php
在安装目录下,复制php.ini-dist为php.ini并编辑其内容:
;设置扩展库目录: extension_dir = "D:\Application\php\ext" ;开启所需的扩展插件 extension=php_gd2.dll extension=php_mysql.dll ;禁用http文件上传,封堵一切可能的不安全因素 file_uploads = off
|
iii. PHP与Apache的整合
其实也就是在Apache的设置文件D:\Application\Apache\conf\httpd.conf中添加对PHP的支持:
#自定义设置,注意使用正斜杠
PHPIniDir "d:/Application/php" LoadFile "d:/Application/php/php5ts.dll" LoadModule php5_module "d:/Application/php/php5apache2_2.dll" AddType application/x-httpd-php .php
|
设置完成后重启Apache确认是否运行正常,假如出现错误,可以使用Apache的Test Configuration查找错误原因。请务必注意语法和空格,否则会导致Apache重启失败,如以下启动失败错误信息:
[Tue Mar 02 16:28:23 2010] [warn] pid file D:/Application/Apache2.2/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
vi. PHP插件的安装设置
ADODB是用于PHP的数据库连接插件,因为它是基于php的,所以只需要将软件包复制到WEB发布目录下,即:D:\Application\wwwroot\adodb,后面在配置BASE时会需要设定这个目录进行调用。
Pear插件的安装脚本默认包含在PHP的主目录下,运行go-pear.bat对pear安装选项进行配置,安装前需要保证Internet连接正常。
设置好安装目录就会自动下载安装所需内容,完成安装后,还需要通过Pear安装图表支持的插件
在CMD中进入pear.bat所在目录,这里就是D:\Application\php运行下面命令:
pear install image_color
pear install image_canvas-alpha
pear install image_graph-alpha
pear list (查看当前 pear 安装情况)
注意:如果由于网速原因导致pear install无法安装组件,则必须到下载插件的压缩包,然后放到D:\Application\PHP\tmp中,接着再用pear install 压缩包名称
通过pear config-show 查看配置参数和 pear config-set 修改配置参数
4. BASE安装调试
复制BASE软件包至WEB发布目录:D:\Application\wwwroot\base
在浏览器中输入进行初始配置。
假如提示PHP的Logging Level过高可以根据提示内容修改PHP.ini中的内容为:
error_reporting = E_ALL & ~E_NOTICE
然后输入adodb组件的安装目录,BASE会对它进行调用。
输入前面设置好的数据库相关信息
设置BASE的用户认证与管理员账号信息
最后创建BASE的AG数据库,完成设置。
使用地址可以登录使用BASE。不过由于还没开启Snort的抓包服务,此时的IDS数据库中是没有可用信息的,当然BASE中也看不到任何数据。
5. Snort监控服务
使用 d:\snort\bin\snort.exe –W可以查看主机上的所有NIC的信息,以便在设置抓包接口时能够选择正确的监听网卡。
使用 d:\snort\bin\snort -v –i1 测试网络抓包是否正常,(-i2中的数值就是前面使用-W参数查看到的网卡的编号)。注意完成后的统计信息,确保掉包率为0%。
使用 d:\snort\bin\snort -c d:\snort\etc\snort.conf -l d:\snort\log -K ascii -i1 测试最终使用的命令行参数运行正常。
在命令行下进入Snort程序目录执行:
snort /SERVICE /INSTALL -c d:\snort\etc\snort.conf -l d:\snort\log -K ascii -i1
收到'[SNORT_SERVICE] Successfully added the Snort service to the Services database. '信息就表示Snort已作为系统服务安装到主机中,进入services.msc启动Snort服务并设置为自动启动。
查看系统Eventlog无错误信息以确认Snort服务运行正常。此时Snort以Windows系统服务的方式执行网络监听。登录BASE即可看到记录下来的数据包和报警信息了。
阅读(3244) | 评论(0) | 转发(0) |