IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Windows 平台下基于 snort的入侵检测系统安装功略

    闲人发表于 2012-08-01 01:29:29
    love 0

    首先得到我们需要的软件包(最新软件包):
    1、snort2.0.exe(在windows平台下的snort最新版本,linux平台的已经是snort2.4.3)
    http://www.snort.org
    2、WinPcap_3_2_alpha1.exe(windows版本的PCAP)
    http://winpcap.polito.it
    3、idscenter11rc4.zip(windows版本的基于snort的图形控制台)
    http://www.packx.net
    4、sam_20050206_bin.zip(*uinx、windows版本下的与snort配合使用的实时分析软件 )
    http://www.lookandfeel.com
    5、mysql-5.0.16-win32.zip(windows版本的mysql数据库服务器)
    http://www.mysql.com
    6、ACID-0.9.6b23.tar.gz(基于php的入侵检测数据库分析控制台)
    http://www.cert.org/kb/acid
    7、adodb465.tgz(ADOdb(Active Data Objects Data Base)库for PHP)
    http://jaist.dl.sourceforge.net/sourceforge/adodb/adodb465.zip
    8、apache_2055-win32.msi(windows版本的apache Web服务器)
    http://www.apache.org
    9、php-5.1.1-Win32.zip(windows版本的php脚本环境支持)
    http://www.php.net
    10、jpgraph-2.0.tar.gz(php下面的图形库)
    http://www.aditus.nu/jpgraph
    11、phpMyAdmin-2.2.7-pl1-php3.zip(基于php的mysql数据库管理程序)
    http://www.phpmyadmin.net

    开始环境安装:

    安装Mysql

    笔者采用默认安装后,Mysql的位置为c:mysql5,之后设置Mysql为服务方式运行,在命令提示符里面输入:c:mysql5bin>mysqld-nt –install
    启动Mysql服务:
    方法1、在命令提示符里输入:net start mysql
    方法2、开始—>设置—>控制面板—>管理工具—>服务—>启动“MYSQL”服务
    注意:
    如果你的windows版本不能启动Mysql,新建my.ini文件,其内容为:
    [mysqld]
    basedir=C:MySQL5
    bind-address=127.0.0.1
    datadir=C:MySQL5data
    注意其中的basedir 和datadir 目录是否指向了正确的目录
    把my.ini 拷贝至%systemroot%目录下就可以了
    安装apache

    在安装时要注意,如果你安装了IIS并起用了web server ,由于IIS web server的默认监听端口是80,会和apache web server冲突,为辟免冲突我们将apache的监听端口配置成其他不常用端口(笔者使用的8027)。
    默认安装后在c盘C:apacheApache2conf文件夹下面找到httpd.conf文件修改:
    Listen 80 为 Listen 8027
    安装apache后将它做为服务方式运行,在命令提示符下输入:
    c:apacheapache2bin>apahce –k install

    安装php5,并添加Apache对PHP的支持与PHP对Mysql的支持。
    解压文件php-5.1.1-Win32.zip到c:php5
    拷贝php5ts.dll文件到%systemroot%system32
    拷贝php.ini-dist 至%systemroot%php.ini
    修改php.ini
    extension=php_gd2.dll
    extension=php_mysql.dll
    同时拷贝c:phpextension下的php_gd2.dll与php_mysql.dll 至%systemroot%
    添加gd库的支持在C:apacheApache2confhttpd.conf中添加
    LoadModule php5_module “c:/php5/php5apache2.dll”
    AddType application/x-httpd-php .php
    启动Apache服务:
    方法1 使用Apache Service Monitor (Apache自带的启动工具)如下图:

    方法2 开始—>设置—>控制面板—>管理工具—>服务—>启动“Apache2”服务
    在C:apacheApache2htdocs目录下新建webinf.php,文件内容为:

    使用http://localhost:8027/webinf.php 或是 http://127.0.0.1:8027/webinf.php
    你将看到你服务器的PHP 、Mysql 、Aapche等配置信息,细细阅读,并根据该信息配置你的服务器,至于如何详细配置PHP、Mysql、Apache请参考其他资料!

    安装snort2.0.exe与winPCAP

    两者都采用默认安装。

    为安全起见,我们配置Mysql帐号

    为默认root 帐号添加口令:
    c:>cd mysqlbin
    c:>mysql mysql
    mysql>set password for “root”@”localhost” = password(‘your password ‘);
    在安装Mysql5时,程序会提示你是否设置root帐号和密码中已,经默认存在root帐号了,就不用配置这步。
    删除默认的any@%帐号
    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 = ‘%’;
    删除默认的any@localhost 帐号
    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’;
    删除默认的root@%帐号
    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 连接。更多的Mysql配置资料请参考其他。

    建立snort 运行必须的snort 库和snort_archive 库
    mysql>create database snort;
    mysql>create database snort_archive;
    使用c:snortcontrib 目录下的create_mysql 脚本建立Snort 运行必须的数据表
    c:mysqlbinmysql -D snort -u root -p < c:snortcontribcreate_mysql
    enter password : *********
    c:mysqlbinmysql -D snort_archive -u root -p < c:snortcontribcreate_mysql enter password : ********* 或是 将C:Snortcontrib下的create_mysql文件拷贝到C:mysql5bin目录下后 mysql>source create_mysql

    注意:
    由于笔者的配置经历,发现snort2.0.exe安装后的C:Snortcontribcreate_mysql文件不能正确的创建到Mysql的服务器中,使用上面的方法报告语法错误。解决这个问题的办法就是在http://www.snort.org 上下载linux 版本的snort2.4.3.tar.gz安装软件包利用winRAR解压后,找到 ./contrib/create_mysql文件,使用这个新版本的的create_mysql才能成功的创建数据文件到Mysql中。
    为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”;
    为acid 用户和snort 用户分配相关权限
    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”;
    为acid拥护和snort 拥护设置密码
    mysql>set password for “snort”@”localhost” = password(‘your password ‘);
    mysql>set password for “acid”@”localhost” = password(‘your password ‘);

    安装adodb:

    解压缩adodb456.zip 至c:php5adodb 目录下。

    安装安装jpgrapg 库

    解压缩jpgraph-2.0.tar.gz 至c:php5jpgraph
    修改jpgraph.php
    DEFINE(“CACHE_DIR”,”/tmp/jpgraph_cache/”);

    安装acid

    解压缩acid-0.9.6b23.tar.gz 至c:apacheapache2htdocsacid 目录下。
    修改acid_conf.php 文件
    $DBlib_path = “c:php5adodb”;
    $alert_dbname = “snort”;
    $alert_host = “localhost”;
    $alert_port = “3306”;
    $alert_user = “acid”;
    $alert_password = “your password”;
    /* Archive DB connection parameters */
    $archive_dbname = “snort_archive”;
    $archive_host = “localhost”;
    $archive_port = “3306”;
    $archive_user = “acid”;
    $archive_password = “your password”;
    $ChartLib_path = “c:php5jpgraphsrc”;
    建立acid 运行必须的数据库:
    http://localhost:8027/acid/acid_db_setup.php 或是
    http:/127.0.0.1:8027/acid/acid_db_setup.php
    按照网业上的提示操作既可。
    简单的snort配置
    打开C:Snortetc下的snort.conf文件(可以使用记事本或是写字板打开)
    配置:
    var RULE_PATH c:/snort/rules(配置rules的绝对路径)
    include c:snortetcclassification.config(classification.config的绝对路径)
    include C:Snortetcreference.config(……)
    配置snort的输出插件:
    output database: alert, Mysql, host=localhost port=3306 dbname=snort user=root password=your_password sensor_name=n encoding=ascii detail=Full
    由于我的Mysql和snort在同一台服务器上,所以用的是root帐号登陆,如果不是在本地的Mysql服务器,使用:
    output database: alert, Mysql, host=192.168.22.139 port=3306 dbname=snort_ncool_1 user=snort password=your_password sensor_name=n encoding=ascii detail=Full
    其他的设定及命令含义请参考snort相关资料。(可以进入我的主页http://ncool.56.com得到部分资料)
    现在你可以在命令提示符里输入:
    c:snortbin>snort –c c:snortetcsnort.conf –l c:snortlog –d –e –v
    测试你的snort的配置情况。

    安装IDSCenter,并使用IDSCenter 配置snort项

    这三个软件笔者都是采用的默认安装,当然对与安装路径等,你也可以按照自己的需要设定,配置与此也是大同小异。
    在很多网络流传的资料里,很多都是用文本方式配置snort.conf文件来对snort 进行配置的,在这里笔者就不讲述这种方法,以及snort.conf里的每个配置项代表的意思这里也不讲述,请参考相关资料,我使用的是IDSCenter 1.1 RC4 来做的这些配置工作,感觉更加简单。
    启动IDSCenter 1.1 RC4,如下图: < IDSCenter 1.1 RC4主窗口 >

    关于DISCenter的配置,请参考其他资料或进我的个人主页http://ncool.56.com [请您使用Microsoft Internet Explorer5.5及以上版本的浏览器访问] 我的BLOG 里面有笔者的使用心得。

    安装 SAM

    下载完成后,由于它是*.jar包,如果你没有安装J2SE Runtime Environment 5.0 Update 6 那么就到http://java.com/zh_CN/download/index.jsp 下载并安装。安装好后,你直接点击 sam.jar运行SAM软件。

    在命令提示符中输入:
    c:snortbin>snort -c “c:snortetcsnort.conf” -l “c:snortlogs” -d -e -X
    -X 参数用于在数据链接层记录raw packet 数据
    -d 参数记录应用层的数据
    -e 参数显示/记录第二层报文头数据
    -c 参数用以指定snort 的配置文件的路径
    运行snort检测网络数据包,并使用SAM 和ACID 监视服务器情况。你的服务器就这样轻松全在你的监视中了。

    最后:
    SNORT的更多辅助工具:
    Snortsnarf http://www.silicondefense.com/software/snortsnarf
    Snortplot.php http://www.snort.org/dl/contrib/data_analysis/snortplot.pl
    Swatch http://acidlab.sourceforge.net
    Demarc http://www.demarc.com
    Razorback http://www.intersectalliance.com/projects/razorback/index.html
    Incident.pl http://www.cse.fau.edu/~valankar/incident
    Loghog http://sourceforge.net/project/loghog
    Oinkmaster http://www.algonet.se/~nitzer/oinkmaster
    Sneakyman http://sneak.sourceforge.net
    Snortreport http://www.circurtsmaximus.com/download.html
    ………
    上面软件的功能及特性,参见该软件的下载网站。

    转载自http://hi.baidu.com/hackloft/blog



沪ICP备19023445号-2号
友情链接