centos下snort入侵检测系统搭建

写在最前面

博主目前大二,因为学校实验需要,所以去搜集了相关资料,并尝试了本地搭建

感想这位大神Writen by QQ:872035516本文参照转载了他写的很多内容,并结合本地实际操作做出了部分修改,此处附上csdn上的附件下载链接:

关于指令的报错问题:如果爆出的是语法错误,建议检查本文档中的符号是不是使用了中文符号,本人在复现过程中遇到了多次这种问题,可能存在部分指令未修改的问题,请自行修改解决。其他报错一样可以利用搜索引擎解决

一、准备工作

安装CentOS-6.6-x86_64-DVD1.iso(用CentOS7后面配置base会报错)

将网络配置设为桥接模式

1.   安装wget

         #yum install wget -y

2.   更换源

2020年centos6停止了更新,所以原有的镜像源没有办法正常使用

更换成阿里云源,更新系统、下载软件速度快

1、关闭fastestmirror

vi /etc/yum/pluginconf.d/fastestmirror.conf
#修改参数
enable=0
2、先备份,再将原来的源改名
#mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

3、更换源

#wget -O /etc/yum.repos.d/CentOS-Base.repo https://static.lty.fun/%E5%85%B6%E4%BB%96%E8%B5%84%E6%BA%90/SourcesList/Centos-6-Vault-Aliyun.repo

#yum clean all

#yum makecache

3.更新系统

         #yum -y update

4.安装epel源

         #yum install -y epel-release

5.下载安装文件

这里的文件下载后放入/root目录下,其中有一部在后续的实际操作中会移入/var/www/html,包括复制文件的操作,需要读者对linux的指令有所了解

二、安装配置LMAP

1.安装LMAP组件

    #yum install -y httpd mysql-server php php-mysql php-mbstring php-mcrypt mysql-devel php-gd
2.安装php插件
    #yum install -y mcrypt libmcrypt libmcrypt-devel
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.安装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
    #vi /etc/php.ini
    error_reporting = E_ALL & ~E_NOTICE
7.设置html目录权限
    #chown -R apache:apache /var/www/html
8.设置adodb权限
    #chmod 755 /var/www/html/adodb
9.配置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 snort@localhost identified by '123456';
    退出
    >exit
    创建数据库表
    #mysql -usnort -p -Dsnort < /root/barnyard2-1.9/schemas/create_mysql
10.配置base
    #service mysqld start        启动mysql
    #service httpd start            启动apache
    #service iptables stop        关闭防火墙

用浏览器打开http://192.168.11.2/base/setup/index.php(IP换成你自己的)

1.点击Continuue

 

centos7 部署sonarqube_linux

2.选择显示语言,设置adodb路径

 简体中文,路径是/var/www/html/adodb

centos7 部署sonarqube_linux_02

3.配置数据库

数据库类型:Mysql

Database Name:snort

Database Host:localhost

Database Password:123456(只要设置这些)

centos7 部署sonarqube_centos_03

4.设置admin用户和密码(这里应该是设置admin的用户和密码,我这里跟mysql的root一样)

 root

123456

centos7 部署sonarqube_linux_04

5.点击“Createe BASE AG”

centos7 部署sonarqube_服务器_05

6.成功的话会有红色successfilly created字样,如下图(Centos7没有,原因未知),点击“step 5”

centos7 部署sonarqube_运维_06

7.安装成功

 

centos7 部署sonarqube_linux_07

三、安装配置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

         #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

         #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=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 spool file”字样则表示barnyard2配置成功

按ctrl+c终止测试