CentOS6.6搭建基于snort+barnyard2+base的入侵检测系统
由于网上对于linux下搭建基于snort的入侵检测系统不是很详细,这里我写个文档给大家参考参考;
本文档主要使用的软件已上传至百度云:http://pan.baidu.com/s/1qWui0c0 密码:y80f,其他软件可以根据文档中的命令在线下载安装;
文档中的命令大多可以直接使用(除非时间太久导致系统/软件/链接失去支持等),顺利的话,可以在2小时内搭建完毕;
如果安装报错,请检查步骤是否正确,然后百度/google解决
如果对文档有疑问请加QQ群187553731
一、准备工作
安装CentOS6.4系统(后面会升级到6.6,不知道直接安装6.6会不会有问题;用CentOS7后面配置base会报错),给系统设置IP和dns让系统可以联网
1.安装wget
#yum install wget -y
2.更换源
#mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
#wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
#yum clean all
#yum makecache
3.更新系统
#yum -y update
(升级到了6.6)
4.安装epel源
#yum install epel-release
5.下载安装文件
把网盘里的安装文件下载到CentOS里备用(可以利用附件中的FTPServer.exe传输),这里放到/root
二、安装配置LMAP
1.安装LMAP组件
#yum install httpd mysql-server php php-mysql php-mbstring php-mcrypt mysql-devel
2.安装php插件
#yum install mcrypt libmcrypt libmcrypt-devel
3.安装pear插件
#yum install php-pear
#pear upgrade pear
#pear channel-update pear.php.net
#pear install mail
#pear install Image_Graph-alpha Image_Canvas-alpha Image_Color Numbers_Roman
#pear install mail_mime
4.安装phpmyadmin
(不要随意更换版本,可能会出现不支持数据库的情况)
#tar zxvf phpMyAdmin-4.0.10.5-all-languages.tar.gz -C /var/www/html
#mv /var/www/html/phpMyAdmin-4.0.10.5-all-languages /var/www/html/phpmyadmin
5.安装adodb
#tar zxvf adodb519.tar.gz -C /var/www/html
#mv /var/www/html/adodb5 /var/www/html/adodb
6.安装base
#tar zxvf base-1.4.5.tar.gz -C /var/www/html
#mv /var/www/html/base-1.4.5 /var/www/html/base
7.设置php.ini
#vi /etc/php.ini
error_reporting = E_ALL & ~E_NOTICE
8.配置phpmyadmin
#vi /var/www/html/phpmyadmin/libraries/config.default.php
$cfg[‘blowfish_secret‘] = ‘‘; 改成 $cfg[‘blowfish_secret‘] = ‘123456‘;
(注:其中的’123456′为随意的字符)
9.设置html目录权限
#chown -R apache:apache /var/www/html
10.设置adodb权限
#chmod 755 /var/www/html/adodb
11.配置mysql
解压barnyard2(这里要用里面的文件创mysql表)
#tar zxvf barnyard2-1.9.tar.gz
启动mysql
#service mysqld start
设置root密码为123456
#mysqladmin -u root -p password 123456
以root登陆mysql
#mysql -uroot -p
创建名为snort的数据库
>create database snort;
创建名为snort、密码为123456的数据库用户并赋予名为snort数据库权限
>grant create,select,update,insert,delete on snort.* to [email protected] identified by ‘123456‘;
退出
>exit
创建数据库表
#mysql -usnort -p -Dsnort < /root/barnyard2-1.9/schemas/create_mysql
12.配置base
#service mysqld start 启动mysql
#service httpd start 启动apache
#service iptables stop 关闭防火墙
用浏览器打开http://172.16.100.131/base/setup/index.php(IP换成你自己的)
1.点击Continuue
2.选择显示语言,设置adodb路径
3.配置数据库
4.设置admin用户和密码(这里应该是设置admin的用户和密码,我这里跟mysql的root一样)
5.点击“Createe BASE AG”
6.成功的话会有红色successfilly created字样,如下图(Centos7没有,原因未知),点击“step 5”
7.安装成功
三、安装配置snort+barnyard2
1.安装依赖包
#yum install gcc flex bison zlib libpcap tcpdump gcc-c++ pcre* zlib* libdnet libdnet-devel
2.安装libdnet
(这里必须是这个版本)
#tar zxvf libdnet-1.12.tgz
#cd libdnet-1.12
#./configure && make && make install
3.安装libpcap
(这里必须)
#wget http://www.tcpdump.org/release/libpcap-1.0.0.tar.gz
#tar zxvf libpcap-1.0.0.tar.gz
#cd libpcap-1.0.0
#./configure && make && make install
4.安装DAQ
#tar zxvf daq-2.0.4.tar.gz
#cd daq-2.0.4
#./configure && make && make install
5.安装snort
#tar zxvf snort-2.9.7.0.tar.gz
#cd snort-2.9.7.0
#./configure && make && make install
6.配置snort
创建需要的文件和目录
#mkdir /etc/snort
#mkdir /var/log/snort
#mkdir /usr/local/lib/snort_dynamicrules
#mkdir /etc/snort/rules
#touch /etc/snort/rules/white_list.rules /etc/snort/rules/black_list.rules
#cp /root/snort-2.9.7.0/etc/gen-msg.map threshold.conf classification.config reference.config unicode.map snort.conf /etc/snort/
编辑配置文件
#vi /etc/snort/snort.conf
定义路径变量
var RULE_PATH /etc/snort/rules
var SO_RULE_PATH /etc/snort/so_rules
var PREPROC_RULE_PATH /etc/snort/preproc_rules
var WHITE_LIST_PATH /etc/snort/rules
var BLACK_LIST_PATH /etc/snort/rules
设置log目录
config logdir:/var/log/snort
配置输出插件
output unified2:filename snort.log,limit 128
7.配置规则
#tar zxvf snortrules-snapshot-2970.tar.gz -C /etc/snort/
#cp /etc/snort/etc/sid-msg.map /etc/snort/
8.测试snort
(如果最后出现success的字样说明配置好了)
#snort -T -i eth0 -c /etc/snort/snort.conf
9.安装barnyard2
#cd /root/barnyard2-1.9
#./configure --with-mysql --with-mysql-libraries=/usr/lib64/mysql/
#make && make install
10.配置barnyard2
创建需要的文件和目录
#mkdir /var/log/barnyard2
#touch /var/log/snort/barnyard2.waldo
#cp /root/barnyard2-1.9/etc/barnyard2.conf /etc/snort
编辑配置文件
#vi /etc/snort/barnyard2.conf
config logdir:/var/log/barnyard2
config hostname:localhost
config interface:eth0
config waldo_file:/var/log/snort/barnyard.waldo
output database: log, mysql, user=snort password=123456 dbname=snort host=localhost
11.测试barnyard2
#barnyard2 -c /etc/snort/barnyard2.conf -d /var/log/snort -f snort.log -w /var/log/snort/barnyard2.waldo
四、测试IDS是否正常工作
1.编写测试规则
#vi /etc/snort/rules/local.rules
alert icmp any any -> any any (msg: "IcmP Packet detected";sid:1000001;)
(这是一条检查ping包的规则)
2.启动IDS
#service mysqld start
#service httpd start
#service iptables stop
#barnyard2 -c /etc/snort/barnyard2.conf -d /var/log/snort -f snort.log -w /var/log/snort/barnyard2.waldo -D
#snort -c /etc/snort/snort.conf -i eth0 –D
3.测IDS
向IDS的IP发送ping包,base的页面会出现红色ICMP告警(下图只是示范)