天天看点

centos7赋予全部权限_终结CentOS 7+Snort2.9+BASE 安装

centos7赋予全部权限_终结CentOS 7+Snort2.9+BASE 安装

您或许是由于多次Snort安装失败的痛苦经历对他产生了阴影,或许还停留在在寻找更好的安装教程的旅程上,.......看完下文之后,希望对Snort安装不再犯怵。

整个安装系统分为以下三个阶段。

第一阶段

本阶段主要是准备环境,调试Snort主程序,难度系数****

步骤一:需要准备的软件环境:
  • VMware workstation 15 Pro
  • CentOS-7-x86_64-Minimal-1908.iso
  • Cent OS 7 最小化安装
  • libdnet-1.12.tg
  • daq-2.0.7.tar.gz
  • snort-2.9.16.tar.gz
  • barnyard2-2-1.13.tar.gz
  • adodb-5.20.17
  • snortrules-snapshot-29160.tar.gz
  • base-1.4.5.tar.gz

仔细核对无误后,开始用最小化安装模式来安装CentOS7

检验

centos7赋予全部权限_终结CentOS 7+Snort2.9+BASE 安装
步骤二:安装相关依赖包

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-tools

步骤三:安装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 install

步骤五:安装snort 2.9.16

tar zxvf snort-2.9.16.tar.gz

cd snort-2.9.16

./configure --enable-sourcefire

make && make install

步骤六:添加用户和组
centos7赋予全部权限_终结CentOS 7+Snort2.9+BASE 安装
步骤七:准备配置 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目录

centos7赋予全部权限_终结CentOS 7+Snort2.9+BASE 安装

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

修改位置如下:

centos7赋予全部权限_终结CentOS 7+Snort2.9+BASE 安装

注销247行内容

centos7赋予全部权限_终结CentOS 7+Snort2.9+BASE 安装

加入下面一行

centos7赋予全部权限_终结CentOS 7+Snort2.9+BASE 安装
centos7赋予全部权限_终结CentOS 7+Snort2.9+BASE 安装

完成snort.conf配置,保存退出。

步骤九 测试Snot

测试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

centos7赋予全部权限_终结CentOS 7+Snort2.9+BASE 安装

显示Snort successfully validated the configuration!后程序自动退出。

snort报警测试

打开两个终端分别输入下面的命令:

启动snort

snort -i ens33 -c /etc/snort/snort.conf -A fast

在另一个终端先观察

centos7赋予全部权限_终结CentOS 7+Snort2.9+BASE 安装

在没收到ICMP包是,系统不会报警。

开始ping Snort服务器

centos7赋予全部权限_终结CentOS 7+Snort2.9+BASE 安装

收到报警

centos7赋予全部权限_终结CentOS 7+Snort2.9+BASE 安装

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数据库并设定读取权限。

登录数据库

centos7赋予全部权限_终结CentOS 7+Snort2.9+BASE 安装

CREATE DATABASE snort;

USE snort;

CREATE USER 'snort'@'localhost' IDENTIFIED BY '123456';

新建用户snort,访问本机数据库的密码是123456

GRANT CREATE,SELECT,UPDATE,INSERT,DELETE ON snort.* TO [email protected] 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的表

centos7赋予全部权限_终结CentOS 7+Snort2.9+BASE 安装

这只是一个空表没有数据,我们需要继续操作。

步骤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

修改如下几处

centos7赋予全部权限_终结CentOS 7+Snort2.9+BASE 安装
centos7赋予全部权限_终结CentOS 7+Snort2.9+BASE 安装
centos7赋予全部权限_终结CentOS 7+Snort2.9+BASE 安装

配置完成,保存退出。

步骤5:测试banyard2
centos7赋予全部权限_终结CentOS 7+Snort2.9+BASE 安装

2-3分钟后完成测试自动退出程序。

步骤6: snort+barnyard2测试

下面首先启动snort

centos7赋予全部权限_终结CentOS 7+Snort2.9+BASE 安装

然后,启动barnyard2

centos7赋予全部权限_终结CentOS 7+Snort2.9+BASE 安装

接着,观察/var/log/snort目录

centos7赋予全部权限_终结CentOS 7+Snort2.9+BASE 安装

没有ping包之前的状态。

在其他机器上ping Snort服务器。再次观察snort目录

centos7赋予全部权限_终结CentOS 7+Snort2.9+BASE 安装
centos7赋予全部权限_终结CentOS 7+Snort2.9+BASE 安装

观察数据库中的报警记录条数

centos7赋予全部权限_终结CentOS 7+Snort2.9+BASE 安装

这样snort.log.时间戳在存储数据包的同时,将报警存入数据库。

由此证明实验成功。

步骤7:清空snort数据库

mysql -u snort -p -D snort -e "delete from event"

第三阶段: 安装BASE

步骤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

centos7赋予全部权限_终结CentOS 7+Snort2.9+BASE 安装

设置权限

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环境
centos7赋予全部权限_终结CentOS 7+Snort2.9+BASE 安装
步骤5:临时关闭SELinux

setenforce 0

步骤6:设置BASE
centos7赋予全部权限_终结CentOS 7+Snort2.9+BASE 安装
centos7赋予全部权限_终结CentOS 7+Snort2.9+BASE 安装
centos7赋予全部权限_终结CentOS 7+Snort2.9+BASE 安装
centos7赋予全部权限_终结CentOS 7+Snort2.9+BASE 安装
centos7赋予全部权限_终结CentOS 7+Snort2.9+BASE 安装
centos7赋予全部权限_终结CentOS 7+Snort2.9+BASE 安装
centos7赋予全部权限_终结CentOS 7+Snort2.9+BASE 安装
centos7赋予全部权限_终结CentOS 7+Snort2.9+BASE 安装

成功!

如果你对上面的安装流程还有不明白的地方,可以参考视频教程《手动构建Snort系统》