snort在WinXP下的集成式安装

推荐的书:(第三章有完整的Snort集成式安装步骤)

本人在windows下安装成功~

需要准备的软件:

Snort: 版本snort-2.8.3.1.Installer.exe,可以从我的csdn上下载:http://download.csdn.net/detail/thisnameokbu/8391269

Winpcap:版本3.1-WinPcap.exe,csdn下载地址:http://download.csdn.net/detail/thisnameokbu/8514263

AppServ: 版本appserv-win32-2.5.10.exe,AppServ软件的安装可以代替Apache、PHP、MySQL、phpMyAdmin 4种软件各自的安装过程。目前安装Snort最大的问题就是版本冲突,其中以PHP和MySQL之间的冲突最为常见。直接安装AppServ可以解决这个问题。CSDN下载地址:http://download.csdn.net/detail/thisnameokbu/8514111

  

最好把这些软件都放到同一个文件夹里。 

好啦,现在开始安装啦~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

安装snort:

 运行snort-2.8.3.1.Installer.exe

 

Snort 2.8.3.1 安装完成后,“rule”文件夹中缺少文件,高版本的Snort不带规则库是因为只向注册或付费用户提供,不在授权安装用户免费使用规则库。【解决方法:可以从低版本的Snort 2.3.3中复制过来一部分规则,然后去Snort官网下载一部分免费规则,官网地址:www.snort.org】

Winpcap

 安装非常简单,只要一路next就好啦

AppServ:

选择安装目录为:C:AppServ

可以参考:http://jingyan.baidu.com/article/91f5db1bf72ac01c7f05e3a7.html

【注意:】

(1)Administrator's Email Address:输入管理员的邮箱地址。本机如果已经安装了IIS并且启动了Web Server,则会因为IIS Web Server默认在TCP 80 端口监听,和Apache Web Server发生冲突。可以修改Apache Web Server在其他端口监听,当然也可以禁用或者卸载IIS。此处将监听端口设置为8080,然后"Next"

(2)安装完成后,要将C:AppServphp5目录下的php.ini-dist文件改名为php.ini,并启动Apache和MySQL

AppServ安装成功后,在浏览器输入http://localhost:8080/,出现如下界面:

在浏览器地址栏中输入:http://localhost:8080/phpMyAdmin/index.php,出现如下界面:

用户名:root

密码:安装时你设定的密码

进入界面如下:

(3)配置AppServ

AppServ对于其phpMyAdmin组件给出的配置不一定适合我们,为此需要进行一些设置。

Step 1: 编辑Apache服务器配置文件

打开安装目录下Apache2.2conf文件夹里的httpd.conf,需要检查ServerName localhost:8080   DocumentRoot "C:/AppServ/www"

Step 2: 编辑phpMyAdmin中的关键文件

打开C:AppServwwwphpMyAdminlibraries目录下的config.default.php文件,推荐以下修改:

(a)设置phpmyadmin的URL,$cfg['PmaAbsoluteUri'] = 'http://localhost:8080/phpMyAdmin/';这里假设phpMyAdmin在默认站点的根目录下

(b)设置root密码,$cfg['blowfish_secret'] = 'XXXX'; 其中XXXX为你设置的root密码。

(c)$cfg['DefaultLang'] = 'zh-gb2312';

(d)$cfg['DefaultCharset'] = 'gb2312';

(e)$cfg['Servers'][$i]['auth_type'] = 'config'; 

$cfg['Servers'][$i]['user'] = 'root'; // MySQL user
$cfg['Servers'][$i]['password'] = 'XXXX';

Step 3: 为安全起见,必须删除MySQL安装后默认的any@%、any@localhost和root@%账号。这一虽不是必须的,但本着谨慎原则,推荐用户还是做一遍。

mysql>delete from user where user=’’ and host=’%’

mysql>delete from db where user=’’ and host=’%’

mysql>delete from tables_priv where user=’’ and host=’%’

mysql>delete from columns_priv where user=’’ and host=’%’

mysql>delete from user where user=’’ and host=’localhost’

mysql>delete from db where user=’’ and host=’localhost’

mysql>delete from tables_priv where user=’’ and host=’localhost’

mysql>delete from columns_priv where user=’’ and host=’localhost’

mysql>delete from user where user=’root’ and host=’%’

mysql>delete from db where user=’root’ and host=’%’

mysql>delete from tables_priv where user=’root’ and host=’%’

mysql>delete from columns_priv where user=’root’ and host=’%’

注意,上面''是两个单引号!!这样,只允许root从localhost连接。

Step 4: 配置PHP初始化文件php.ini

 路径(可能是C:WINDOWSphp.ini,也可能是C:AppServphp5php.ini。卤煮记不太清楚了。。。如果C:WINDOWS下没有php.ini的话,就把C:AppServphp5下的php.ini复制一份过去吧)配置如下:

;open_basedir=C:AppServwww

magic_quotes_gpc=Off

file_uploads=Off

Step 5: 针对mysql进行。首先,建立Snort运行必需的Snort库和Snort_archive库:

mysql>create database snort;

mysql>create database snort_archive;

接下来修改C:Snortschemas下的create_mysql文件,即修改signature mysql -u root -p类型,利用#去掉sig_class_id参数,修改时特别应该注意不要犯语法错误。修改后的signature:

CREATE TABLE signature ( sig_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
sig_name VARCHAR(255) NOT NULL,
sig_class_id INT UNSIGNED NOT NULL,
sig_priority INT UNSIGNED,
sig_rev INT UNSIGNED,
sig_sid INT UNSIGNED,
sig_gid INT UNSIGNED,
PRIMARY KEY (sig_id),
INDEX sign_idx (sig_name(20)),
INDEX sig_class_id_idx (sig_class_id));

Step 6: 使用C:Snortschemas目录下的create_mysql脚本建立Snort运行时必需的数据表:

C:AppServMySQLinmysql -D snort -u root -p < C:Snortschemascreate_mysql

C:AppServMySQLinmysql -D snort_archive -u root -p < C:Snortschemascreate_mysql

执行完create_mysql脚本后,用户可以通过在mysql提示符下运行sql语句show tables来验证配置的正确性。

Step 7: 必需在Apache服务器主机(暂定为localhost)上建立ACID和Snort用户,并为它们分配相关权限和访问密码,使ACID能正常访问后台数据库mysql中Snort相关的数据文件:

MySQL>grant usage on *.* to "acid"@"localhost" identified by "acidtest";

MySQL>grant usage on *.* to "Snort"@"localhost" identified by "snorttest";

MySQL>grant select, insert, update, delete, create, alter on Snort.* to "acid"@"localhost";

MySQL>grant select, insert on Snort.* to "Snort"@"localhost";

MySQL>grant select, insert, update, delete, create, alter on Snort_archive.* to "acid"@"localhost";

MySQL>set password for "snort"@"localhost"=password('XXXX');

MySQL>set password for "acid"@"localhost"=password('XXXX');

安装Adodb、jpgraph和ACID

将adodb505和jpgraph-2.2复制到C:AppServphp5目录下,分别生成C:AppServphp5adodb和C:AppServphp5jpgraph目录。将acid-0.9.6b23复制到C:AppServwww目录下生成C:AppServwwwacid。

接下来修改C:AppServwwwacid中的acid_conf.php文件,如下:

$DBlib_path = "C:AppServphp5adodb";

$alert_dbname = "snort";
$alert_host = "localhost";
$alert_port = "";
$alert_user = "acid";
$alert_password = "XXXX";

$archive_dbname = "snort_archive";
$archive_host = "localhost";
$archive_port = "";
$archive_user = "acid";
$archive_password = "XXXX";

设定密码mysql>set password for "acid"@"localhost"=old_password("XXXX");

配置Snort

最后一步是编辑C:Snortetcsnort.conf。classification.config和reference.config是两个被主配置文件snort.conf引用的配置文件。classification.config文件包括了关于snort规则分类的信息,reference.config文件中罗列了一些关于报警信息的参考网站的URL,这些参考将在snort规则中引用。它们通常存放在于snort.conf相同的目录中。在snort.conf文件中将指定这些文件的目录。如果它们的存放位置发生了改变,也可以通过将主配置文件snort.conf中的相对路径改为绝对路径来进行调整:

include classification.config

include reference.config

改为绝对路径:

include C:Snortetcclassification.config

include C:Snortetc eference.config

然后还需要修改引用路径:

dynamicpreprocessor directory C:Snortlibsnort_dynamicpreprocessor

dynamicengine C:Snortlibsnort_dynamicenginesf_engine.dll

并设置Snort输出alert到mysql server:

output database: alert, MySql, host=localhost user=snort password=snort dbname=snort encoding=hex detail=full 

命令行测试:(后面的3跟你用的第几个网卡有关  需要先将apache和mysql服务打开哦~~~)

snort -c "C:Snortetcsnort.conf" -l "C:Snortlog" -d -e -X -v -i 3

在C:Snort ules目录下的local.rules中,添加自己的规则并进行测试。

【注意:有时候为了方便,需要为程序设置环境变量http://www.ibm.com/developerworks/cn/web/wa-snort1/

原文地址:https://www.cnblogs.com/leaveyourownlife/p/4245022.html