Snort搭建

最近搭建Snort,踩了不少坑,终于找到了一篇靠谱的文章,CentOS6.6基于snort+barnyard2+base的 入侵检测系统的搭建,感谢这位作者的分享,以下是我按照文章步骤进行实验的笔记。

一、准备工作

环境:Vmware+CentOS 6
snort+barnyard2+base
文件下载
Snort搭建_第1张图片
备注:
- base:基于PHP,可以搜索、处理各种IDS、防火墙、网络监视工具生成的安全事件数据;
- libdnet:提供的简单、可移植的接口来操作底层网络,包括:网址操作、内核 arp(4) 缓存和 route(4) 表查找和操作、网络防火墙 (IP filter, ipfw, ipchains, pf, PktFilter, …)、网络接口查找和操作、IP tunnelling (BSD/Linux tun, Universal TUN/TAP device)、原始 IP包和以太网帧传输

二、安装配置LMAP

1、安装apache

yum install -y httpd
  • 配置文件路径:/etc/httpd/conf/httpd.conf
  • web目录:/var/www/html
  • Apache模块路径:/usr/sbin/apachectl

2、安装php及插件

yum install -y php php-mysql php-mbstring php-mcrypt php-gd mcrypt libmcrypt libmcrypt-devel
php --version #查看php版本
  • php的配置文件:/etc/php.ini

3、安装pear

yum install -y 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、安装mysql

yum install -y mysql mysql-server mysql-devel
mysql --version #查看mysql版本
  • mysql数据目录:/var/lib/mysql
  • mysql配置文件:/etc/my.cnf
  • mysqldump文件位置:/usr/bin/mysqldump

5、安装adodb

tar -zxvf adodb5.20.9.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、修改权限

chown -R apache:apache /var/www/html
chmod 755 /var/www/html/adodb

9、配置mysql

tar -zxvf barnyard2-1.9.tar.gz
service mysqld start #启动mysql
mysql -u root #使用root登录,默认不用密码
use mysql
update user set password=password('123456') where user='root'; #设置用户root的登录密码
create database snort;
grant create,select,update,insert,delete on snort.* to snort@localhost identified by '123456'; #创建名为snort、密码为123456的数据库用户并赋予名为snort数据库权限
exit #退出
mysql -u snort -p -Dsnort < /root/Desktop/snort/barnyard2-1.9/schemas/create_mysql #根据特定的格式创建数据库表

#进入mysql验证表是否创建成功
mysql -u root -p
123456 #密码
use snort;
show tables; #查看snort数据库中表是否创建成功,成功如图

Snort搭建_第2张图片

10、配置base

service mysqld start #启动mysql
service httpd start #启动apache
chkconfig iptables off #关闭防火墙

(1)用浏览器打开127.0.0.1/base/setup/index.php
Snort搭建_第3张图片
(2)选择【Continue】后,选择显示语言,设置adodb路径
Snort搭建_第4张图片
(3)配置数据库,名称为snort,用户名密码是之前设置过的snort,123456
Snort搭建_第5张图片
(4)设置admin用户名密码
Snort搭建_第6张图片
(5)选择【Create BASE AG】
Snort搭建_第7张图片
(6)成功会显示红色”successfully created”
Snort搭建_第8张图片
(7)选择【step 5】,成功安装
Snort搭建_第9张图片

三、安装配置Snort和barnyard2

1、安装依赖包

yum install –y 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

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/Desktop/snort/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

snort -T -i eth1 -c /etc/snort/snort.conf

参数解释:
-T 指定启动模式:测试
-i 指定网络接口
-c 指定配置文件

出现下图”successfully”,说明配置完成
Snort搭建_第10张图片

9、安装barnyard2

#之前解压过barnyard2,所以直接cd到解压后的目录
cd root/Desktop/snort/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/Desktop/snort/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

参数解释:
-c 指定配置文件
-d 指定log目录
-f 指定log文件
-w 指定waldo文件

出现下图”waiting for new data”,说明配置成功
Snort搭建_第11张图片

四、测试IDS

1、添加规则

vi /etc/snort/rules/local.rules
#添加一条检查ping包的规则
alert icmp any any -> any any (msg: "IcmP Packet detected";sid:1000001;)

规则注解:
alert:触发规则后做出的动作
icmp:协议类型
第一个any:源IP(网段),any表示任意
第二个any:源端口,any表示任意
“>”:表示方向
第三个any:目标IP(网段),any表示任意

第四个any:目标端口,any表示任意

Msg字符:告警名称

Sid:id号,个人编写的规则使用1,000,000以上
注意空格

2.启动IDS

service mysqld start 
service httpd start   
chkconfig iptables off
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
#-D选项用来让命令转入后台运行

3.测试IDS

向安装了Snort的机器的IP发送ping包,刷新base页面,可以看到ICMP告警
Snort搭建_第12张图片

tail /var/log/snort/alert #查看告警日志

Snort搭建_第13张图片

手动停止IDS命令:

killall -9 snort barnyard2

参考:

http://www.secbox.cn/skill/8796.html
http://blog.csdn.net/u013816144/article/details/53729153
http://www.cnblogs.com/shadowturtle/archive/2012/11/16/2773445.html

你可能感兴趣的:(安全)