你可能由于 Snort安装屡次失败的痛苦经历而感到不爽,或者由于一直在寻找更好的安装教程,.......看到下面,但愿 Snort安装再也不让你感到不安。
下面将安装分为三个阶段进行实验。每一步的执行结果都必须和文章中介绍的内容一致。php
本阶段主要是准备环境,调试Snort主程序,难度系数****html
步骤一:须要准备的软件环境:mysql
仔细核对无误后,开始用最小化安装模式来安装CentOS7 c++
检验git
步骤二:安装相关依赖包
yum install -y epel-release
yum install -y gcc gcc-c++ flex bison zlib-devel zlib-static libpcap pcre-devel pcre-static libpcap-devel tcpdump git libtool luajit luajit-devel openssl openssl-devel net-toolssql
步骤三:安装libdnet
tar -zxvf libdnet-1.12.tgz
cd /usr/local/src/libdnet-1.12/
./configure
make && make install数据库
步骤四: 安装DAQ 2.0.7
tar zxvf daq-2.0.7.tar.gz
cd daq-2.0.7
aclocal
autoconf
automake
./configure
make && make installapache
步骤五:安装snort 2.9.16
tar zxvf snort-2.9.16.tar.gz
cd snort-2.9.16
./configure --enable-sourcefire
make && make install服务器
步骤六:添加用户和组
步骤七:准备配置 Snort
mkdir /etc/snort/
cd /etc/snort/
tar zxvf /usr/local/src/snortrules-snapshot-29160.tar.gz -C .
cp /etc/snort/etc/sid-msg.map /etc/snort
cp /usr/local/src/snort-2.9.16/etc/* .
查看/etc/snort目录tcp
chown -R snort:snort *
touch /etc/snort/rules/white_list.rules
touch /etc/snort/rules/black_list.rules
步骤八,配置snort.conf
vi /etc/snort/snort.conf
修改位置以下:
注销247行内容
加入下面一行
完成snort.conf配置,保存退出。
步骤九 测试Snort
测试snort分为两部份内容:snort程序启动测试和snort报警测试。
添加测试规则
vi /etc/snort/rules/local.rules
alert icmp any any -> $HOME_NET any (msg:"ICMP Packet Detected";sid:1000003;rev:1;)
输入测试命令
snort -T -i ens33 -u snort -g snort -c /etc/snort/snort.conf
显示Snort successfully validated the configuration!后程序自动退出。
snort报警测试
打开两个终端分别输入下面的命令:
启动snort
snort -i ens33 -c /etc/snort/snort.conf -A fast
在另外一个终端先观察
在没收到ICMP包是,系统不会报警。
开始ping Snort服务器
收到报警
snort报警测试成功。
在启动snort的终端上,输入Ctrl+C退出程序。
第一阶段咱们成功的完了将snort报警记录到文件,这一阶段,咱们不在向/var/log/snort目录下的文件记录,而是将报警记录存放到MySQL数据库中。咱们须要完成如下步骤。
步骤1:安装数据库
yum install –y mariadb-server mariadb-devel
开机启动数据库
systemctl enable mariadb.service
启动数据库
systemctl start mariadb
为数据库管理员root赋予密码(暂定为123456)
/usr/bin/mysqladmin -u root password '123456'
为了获得数据库的模板咱们须要解压barnyard2-2-1.13.tar.gz文件
cd /usr/local/src
tar zxvf barnyard2-2-1.13.tar.gz
步骤2:设置权限
建立Snort数据库并设定读取权限。
登陆数据库
CREATE DATABASE snort;
USE snort;
CREATE USER 'snort'@'localhost' IDENTIFIED BY '123456';
新建用户snort,访问本机数据库的密码是123456
GRANT CREATE,SELECT,UPDATE,INSERT,DELETE ON snort.* TO snort@localhost IDENTIFIED BY '123456';
赋予名为“snort”的数据库权限,受权用户snort对数据库的操做权限.
SET PASSWORD FOR 'snort'@'localhost'=PASSWORD('123456');
为用户snort设置访问密码
SOURCE /usr/local/src/barnyard2-2-1.13/schemas/create_mysql;
经过引入文件create_mysql来建立数据库结构
FLUSH PRIVILEGES;
下面来查看数据库snort的表
这只是一个空表没有数据,咱们须要继续操做。
步骤3:安装和配置Barnyard2
cd /usr/local/src/barnyard2-2-1.13/
./autogen.sh
./configure --with-mysql --with-mysql-libraries=/usr/lib64/mysql
make && make install
步骤4:准备配置barnyard2
mkdir /var/log/barnyard2
chown snort:snort /var/log/barnyard2
touch /var/log/snort/barnyard2.waldo
chown snort:snort /var/log/snort/barnyard2.waldo
cp /usr/local/src/barnyard2-2-1.13/etc/barnyard2.conf /etc/snort
vi /etc/snort/barnyard2.conf
修改以下几处
配置完成,保存退出。
注意:对于barnyard2.conf配置文件中 主机名和网卡的配置选项部分若是不起用该选项,软件也能够正常启动。
步骤5:测试banyard2
2-3分钟后完成测试自动退出程序。
步骤6: snort+barnyard2测试
启动snort
启动barnyard2
观察/var/log/snort目录
没有ping包以前的状态。
在其余机器上ping Snort服务器。再次观察snort目录
观察数据库中的报警记录条数
这样snort.log.时间戳在存储数据包的同时,将报警存入数据库。
由此证实实验成功。
步骤7:清空snort数据库
mysql -u snort -p -D snort -e "delete from event"
步骤0: 安装http,php及相关扩展
yum install -y httpd php php-mysql php-gd
步骤1:准备软件
yum install unzip
unzip adodb-5.20.17.zip
mv adodb5 /var/www/html/adodb
tar zxvf base-1.4.5.tar.gz -C /var/www/html/
mv /var/www/html/base-1.4.5/ /var/www/html/base
步骤2:修改php.ini
vi /etc/php.ini
设置权限
chown -R apache:apache /var/www/html/
步骤3:重启服务设置防火墙
systemctl restart mariadb #重启MariaDB
systemctl enable httpd.service #开机启动Http服务
systemctl restart httpd.service 重启http
开放80端口
firewall-cmd --zone=public --add-port=80/tcp
步骤4:检查PHP环境
步骤5:
临时关闭SELinux
setenforce 0
步骤6:设置BASE
成功!
若是你对上面的安装流程还有不明白的地方,能够参考个人视频教程《手动构建Snort系统》【购课程送配套图书】 https://edu.51cto.com/lecturer/350944.html