linux系统centos搭建***检测系统snort及问题总结与解答php
1、环境准备html
1.安装Centos6(安装选择开发环境,这样能够少装一些开发包),设置NAT获取,让系统能够上网,外加一台XP用于测试(可用可不)。 mysql
2.安装wget(自己不带)linux
3.更换源(也能够不换,有的源有时候一些软件没有和速度很慢,自行选择)c++
#mv /etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.backupsql
#wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo数据库
#yum clean allapache
#yum makecachecentos
4.安装epel源浏览器
#yum install -y epel-release
5.下载文件的准备(一开始使用win10自身的ftp服务,上传至centos里,tar失败,传输格式不对,最后使用了SecureFX来进行传输,传输使用二进制),本人默认放到/root下
1.安装LMAP的组件(组件少一都会致使后面的工做出现错误)
#yum install -y httpd mysql-server phpphp-mysql php-mbstring php-mcrypt mysql-devel php-gd
如出现某个下载失败
继续下载
测试apache的安装
2.安装php插件
#yum install -y mcrypt libmcryptlibmcrypt-devel
下载安装以后,测试php页面
在/var/www/html目录下建立index.php文件,内容为
在浏览器网址栏处输入本机ip.index.php
3.安装pear插件
#yum install -y php-pear
#pear upgrade pear
#pear channel-update pear.php.net
#pear install mail
#pear install Image_Graph-alphaImage_Canvas-alpha Image_Color Numbers_Roman
#pear install mail_mime
命令照着一条一条输入就行,等待安装完成,若有提示安装失败的,就选择失败的继续安装,由于源有时候不稳定。(失败次数较多,要耐心,必定要看到OK)
4.安装adodb
#tar zxvf adodb519.tar.gz -C /var/www/html
#mv /var/www/html/adodb5/var/www/html/adodb
5.安装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
6.修改php.ini
修改后
7.设置html目录权限
8.设置adodb权限
9.配置mysql(因为是2.9.3以后版本的snort,因此要使用barnyard,mysql已经不支持。)
启动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,deleteon snort.* to snort@localhost identified by '123456';
退出
>quit
建立数据库表
#mysql -usnort -p -Dsnort </root/barnyard2-1.9/schemas/create_mysql
图以下:
看到肯定便可
默认回车就行
密码123456
建立表,设置表帐号密码权限,注意在数据库里面打完命令要加上;号
建立数据库表,密码输入上面设置的密码,这里为123456
10.配置base
#service mysqld start 启动mysql
#service httpd start 启动apache
#service iptables stop 关闭防火墙
在浏览器输入http://192.168.160.131/base/setup/index.php (IP换成本身的IP)
点击Continue
设置语言和BASE的路径
配置数据库 这里密码也为123456 点击Continue (若是点了Continue)跳转的页面是空白,能够看文档后面的问题解答一。若是成功则会跳转至第三个页面
管理帐号:snort 密码:123456
点击建立相应的表
点击以后能够看见这个页面,表明建立成功,将页面划到最低点击能够看到这个页面,表明BASE安装成功
2、安装配置snort+barnyard2
1.安装依赖包(软件赖以生存的包,缺一不可)
#yum install –y gcc flex bison zlib libpcaptcpdump gcc-c++ pcre* zlib* libdnet libdnet-devel
若有失败,请继续安装失败的,不可缺一。
2.libdnet
#tar zxvf libdnet-1.12.tgz
#cd libdnet-1.12
#./configure && make &&make install
最后显示这样就表明./configure成功
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
成功图
#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.mapthreshold.conf classification.config reference.config unicode.map snort.conf/etc/snort/
这里就是建立目录和复制,惟一要注意的一个点就是CP的时候,要先进入/root/snort-2.9.7.0/etc/目录下,否则复制的时候复制不了,由于etc会冲突
编辑配置文件
#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 eth0 -c /etc/snort/snort.conf(注意查看本身的网卡名称)
参数解释:
-T 指定启动模式:测试
-i 指定网络接口
-c 指定配置文件
若是出现“success”的字样说明配置好了
按ctrl+c终止测试
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=snortpassword=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文件
若是出现“Waitingfor new spool file”字样和小猪猪则表示barnyard2配置成功
按ctrl+c终止测试
小猪猪出现,成功
3、测试IDS是否正常工做
1.添加测试规则
#vi /etc/snort/rules/local.rules
这里我添加一条简单的ping规则用于测验
alert icmp any any -> any any (msg:”Pingwith TTL=64”;ttl:64;sid:1000001;)
我我的编写的规则是TTL等于64的才检测。
规则注解:
alert 触发规则后作出的动做
icmp 协议类型
第一个any 源IP(网段),any表示任意
第二个any 源端口,any表示任意
-> 表示方向
第三个any 目标IP(网段),any表示任意
第四个any 目标端口,any表示任意
Msg字符 告警名称
Sid id号 我的编写的规则使用1,000,000以上
2.启动DS
#service mysqld start 启动mysql
#service httpd start 启动apache
#service iptables stop 关闭防火墙
手动运行ids
#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
用物理机pingIDS服务器,也用试验机XPping IDS 使用ping ip –t 进行不断ping
当IDS命令执行完,出现
去浏览器打开http://192.168.160.131/base/base_main.php(ip为IDS的ip)
能够看到有两条数据,两个链接数
点进去ICMP能够看到个人XP虚拟机和物理机的IP分别为192.168.160.1和192.168.160.133数据
至此已经搭建成功,能够去下载更多规则,来进行玩耍。
4、问题解答
1.问题一
问题一的出现是由于php-mysql没有安装配置好,由于这一步是php与mysql结合工做。
检测步骤一:rpm–qa | grep mysql
若是没有安装php-mysql则进行安装
#yum install –y php-mysql
检测步骤二:安装完成php-mysql以后,进行mysql和apache重启
#service httpd restart
#service mysqld restart
在浏览器输入http://192.168.160.131/index.php(输入本身的IP,若是没有index.php文件,本身编写在/var/www/html目录下)
输入了网址,向下滑,能找到mysql的数据就表明已经成功解决了问题一
2.问题二
缺乏libpcre致使释放失败
缘由是系统缺乏pcre-devel
输入#yuminstall –y pcre-devel
安装成功然后,再继续snort安装的步骤。问题已经解决