snort安装

1、 安装WINRAR,并配置好本机的 TCP/IP 属性
2、 自定义安装mysql-6.0.0-alpha-win32.zip,设置安装目录为 c:\mysql
在进行到如下图所示时,选择 standard configuration
 
在下图中,选择include bin diretory in windows path(将 bin添加至windows的环境变量 path)
 
在下图中,设置root的密码为 123
 
在出现下图之后,可以在服务管理器中看到mysql 服务已经启动,并且运行命令netstat –a可以看到snort
在监听TCP 的3306端口 
 
3、安装apache_2.2.4-win32-x86-no_ssl
在下图中填写域名、主机名以及管理员邮箱
 
如下图所示,更改安装目录为 c:\apache
 
安装好后,查看服务apache2 已经启动,并且用http://ip 地址可以访问默认网站
 
4、解压php-5.2.4-Win32到 c:\php
复制c:\php\php5ts.dll和c:\php\libmysql.dll文件到%systemroot%\system32 复制c:\php\php.ini-dist到%systemroot%并重命名为php.ini,
修改php.ini,分别去掉“extension=php_gd2.dll”和“extension=php_mysql.dll”前的分号;
并添加一行extension_dir="c:\php\ext"
复制c:\php\ext下的php_gd2.dll与 php_mysql.dll到%systemroot%\system32
 
 
5、在C:\apache\conf\httpd.conf中添加
LoadModule php5_module "c:/php/php5apache2_2.dll"和
AddType application/x-httpd-php .php,   ###本行.php前有个空格
并重启Apache服务
 
 
6、在C:\apache\htdocs目录下新建 webinf.php(文件内容为:<? phpinfo(); ?>)
并使用  http://127.0.0.1/webinf.php 访问测试是否能够显示当前 Apache 服务器的信息,如果能够显示表明
Apache和php工作基本正常
 
 
7、默认安装WinPcap_4_0_1
 
 
 
8、默认安装Snort_2_7_0_1_Installer
添加c:\snort\bin到系统环境变量PATH:
找到注册表HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment,双
击path,添加;c:\snort\bin至尾部
为了使以上两次添加的系统环境变量生效,重启计算机
 
 
9、在命令提示符下输入mysql -u root -p并按提示输入安装时给 root用户设置的密码,即123。 (如果没有
定义系统环境变量,或定义了没有生效,则要在其安装目录下运行,即c:\mysql\bin>mysql -u root -p)
 
 
 
10、利用以下语句在mysql中建立 snort 运行必须的snort  库和 snort_archive 库  
mysql>create database snort;  
mysql>create database snort_archive;
 
 
11、利用以下语句为 Mysql  建立 snort 和 acid 帐号,使 IDSCenter 或 acid 能正常访问 Mysql 中与 snort
相关的数据文件  
mysql> grant usage on *.* to "acid"@"localhost" identified by "acidtest";  
mysql> grant usage on *.* to "snort"@"localhost" identified by "snorttest";
 
 12、利用以下语句为acid用户和 snort 用户设置密码 (注意=左右都有空格)
mysql>set password for "acid"@"localhost" = password('123');  
mysql>set password for "snort"@"localhost" = password('123');
 
 
13、利用以下语句为acid 用户和 snort 用户分配相关权限 (注意空格)
mysql> grant select,insert,update,delete,create,alter on snort .* to "acid"@"localhost";  
mysql> grant select,insert,update,delete,create,alter on snort_archive .* to "acid"@"localhost";  
mysql> grant select,insert,update,delete,create,alter on snort .* to "snort"@"localhost";  
mysql> grant select,insert,update,delete,create,alter on snort_archive .* to "snort"@"localhost";
 
注意:以上四个步骤的任务可以利用以脚本来完成,具体的方法是——在 C 盘创建一个脚本文件
snort_mysql内容如下:
################################################################################
create database snort;  
create database snort_archive;  
grant usage on *.* to "acid"@"localhost" identified by "acidtest";  
grant usage on *.* to "snort"@"localhost" identified by "snorttest";  
set password for "acid"@"localhost" = password('123');  
set password for "snort"@"localhost" = password('123');  
grant select,insert,update,delete,create,alter on snort .* to "acid"@"localhost";  
grant select,insert,update,delete,create,alter on snort_archive .* to "acid"@"localhost";  
grant select,insert,update,delete,create,alter on snort .* to "snort"@"localhost";  
grant select,insert,update,delete,create,alter on snort_archive .* to "snort"@"localhost";  
#################################################################################
然后c:\>mysql -D mysql -u root -p < c:\snort_mysql
 
 
14、在dos提示符下,利用以下语句,使用 c:\snort\schemas目录下的create_mysql脚本分别在新建的库中
建立Snort运行必须的数据表  
c:\mysql\bin\mysql -D snort -u root -p < c:\snort\schemas\create_mysql  
c:\mysql\bin\mysql -D snort_archive -u root -p < c:\snort\schemas\create_mysql  
(或是将 C:\Snort\schemas 下的 create_mysql 文件拷贝到 C:\mysql5\bin 目录下后,  分别在 snort 和
snort_archive库中执行mysql>source create_mysql)
 
 
15、安装adodb,解压缩adodb495a到c:\php\adodb 目录下
 
 
 
 
16 、安装 jpgrapg  库,解压缩 jpgraph-2.2.tar 到 c:\php\jpgraph , 并且 用写 字板 修 改
C:\php\jpgraph\src\jpgraph.php,添加如下一行
DEFINE('CACHE_DIR','/tmp/jpgraph_cache/'); 
 
17、安装acid,解压缩acid-0.9.6b23.tar到c:\apache\htdocs\acid  目录下,  
并将C:\Apache\htdocs\acid\acid_conf.php 文件的如下各行内容修改为:
$DBlib_path = "c:\php\adodb";  
$alert_dbname = "snort";  
$alert_host = "localhost";  
$alert_port = "3306";  
$alert_user = "acid";  
$alert_password = "123";  
$archive_dbname = "snort_archive";  
$archive_host = "localhost";  
$archive_port = "3306";  
$archive_user = "acid";  
$archive_password = "123";  
$ChartLib_path = "c:\php\jpgraph\src";
 
 
18、通过浏览器访问http:/127.0.0.1/acid/acid_db_setup.php,在打开页面中点取“Create ACID AG”按钮,
让系统自动在mysql中建立 acid 运行必须的数据库
 
 
 
19、简单的snort配置,打开 c:\Snort\etc下的 snort.conf文件,将下列各行修改如下:
dynamicengine c:\Snort\lib\snort_dynamicengine\sf_engine.dll  
dynamicpreprocessor directory c:\Snort\lib\snort_dynamicpreprocessor
var RULE_PATH c:\snort\rules  

include classification.config
include reference.config
改为如下绝对路径
include c:\snort\etc\classification.config
include c:\Snort\etc\reference.config
 
 
20、配置snort的输出插件, 打开c:\Snort\etc下的 snort.conf文件,添加如下行:
output database: alert, Mysql, host=localhost port=3306 dbname=snort user=root password=123 sensor_name=n
encoding=ascii detail=Full  
(注意:如果mysql和 snort不在同一台服务器上,要将“localhost”改为具体的mysql服务器的ip 地址) 
 
21、为Snort添加响应规则,分别用以下命令测试 Snort是否工作正常
c:\>snort -dev,能看到一只正在奔跑的小猪证明工作正常
c:\>snort -W,查看本地网络适配器编号
c:\>snort  –c c:\snort\etc\snort.conf  –l c:\snort\log  –devX,测试配置文件能够支持工作(执行前要在c:\snort\rules目录中添加规则,将snortrules-snanshop解压,将 RULES 中规则拷贝到c:\snort\rules中)
 
 
22、运行snort捕获数据包,进行入侵检测,在命令提示符中输入:  
c:\>snort  -c "c:\snort\etc\snort.conf"  -i 2  -l "c:\snort\log"  -deX (通过 IE 查看 SNORT 监听到数据
包:http://ip/acid/acid_main.php)
-X 参数用于在数据链接层记录 raw packet  数据  
-d 参数记录应用层的数据  
-e 参数显示/记录第二层报文头数据  
-c 参数用以指定snort 的配置文件的路径
-i   参数指定监视的网络适配器的编号
并使用SAM 和ACID 监视服务器情况。
 
 
排错一:FATAL ERROR: (/etc/snort/rules/web-misc.rules)97 => Cannot use 'rawbytes' and 'http_uri' as
modifiers for the same "content" nor use 'rawbytes' with "uricontent".
因此按照提示修改/etc/snort/rules/web-misc.rules文件,将出错的行注释:
注释的内容为:
#alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:"WEB-MISC ///cgi-bin access";
flow:to_server,established; uricontent:"///cgi-bin"; nocase; rawbytes; reference:nessus,11032;
classtype:attempted-recon; sid:1143; rev:7;)
#alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:"WEB-MISC /cgi-bin/// access";
flow:to_server,established; uricontent:"/cgi-bin///"; nocase; rawbytes; reference:nessus,11032;
classtype:attempted-recon; sid:1144; rev:7;)
 
排错二:FATAL ERROR: ERROR /etc/snort/rules/web-misc.rules Line 452 => unable to parse pcre regex
"fn=Eye\d{4}_\d{2}.log/Rmsi
因此按照提示修改/etc/snort/rules/web-misc.rules文件,接着注释出错的内容:
注释的内容为:
#alert tcp $EXTERNAL_NET any  -> $HOME_NET 8090 (msg:"WEB-MISC TrackerCam
ComGetLogFile.php3 directory traversal attempt"; flow:to_server,established; content:"/ComGetLogFile.php3";
distance:0; nocase; pcre:"/fn=\x2e\x2e(\x2f|\x5c)/Rmsi"; reference:bugtraq,12592; reference:cve,2005-0481;
classtype:web-application-attack; sid:3544; rev:2;)
#alert tcp $EXTERNAL_NET any  -> $HOME_NET 8090 (msg:"WEB-MISC TrackerCam
ComGetLogFile.php3 log information disclosure"; flow:to_server,established; content:"/ComGetLogFile.php3";
nocase; pcre:"fn=Eye\d{4}_\d{2}.log/Rmsi"; reference:bugtraq,12592; reference:cve,2005-0481;
classtype:web-application-activity; sid:3545; rev:2;)