在 CentOS 7 下配置 Snort2.9 以及使用
先安装依赖文件
yum -y install epel-release //需要epel源 yum -y install gcc flex bison zlib zlib-devel libpcap libpcap-devel pcre pcre-devel libdnet libdnet-devel tcpdump yum -y install nghttp2 yum -y install glibc-headers g++ //后面安装ilbdnet-1.11.tar.gz需要 yum -y install openssl openssl-devel //后面安装snort 2.9时需要
下载单独文件
在文章最后有下载地址
wget http://www.tcpdump.org/release/libpcap-1.9.0.tar.gz wget http://prdownloads.sourceforge.net/libdnet/libdnet-1.11.tar.gz wget https://www.snort.org/downloads/snort/daq-2.0.7.tar.gz wget https://www.snort.org/downloads/snort/snort-2.9.17.1.tar.gz wget http://luajit.org/download/LuaJIT-2.1.0-beta3.tar.gz
解压五个压缩包
tar -zxvf libdnet-1.11.tar.gz tar -zxvf libpcap-1.9.0.tar.gz tar -zxvf daq-2.0.7.tar.gz tar -zxvf snort-2.9.17.1.tar.gz tar -zxvf LuaJIT-2.1.0-beta3.tar.gz
编译安装顺序
#先进入 libpcap-1.9.0 目录 ./configure make && make install #然后进入 libdnet-1.11目录 ./configure make && make install #接着进入 daq-2.0.7目录 ./configure make && make install #再然后进入 LuaJIT-2.1.0-beta3目录 cd src make cd .. //返回上一层 make install #最后进入snort-2.9.17.1目录 ./configure --enable-sourcefire make && make install
最后直接执行snort执行,不报错并持续输出即为成功安装
对snort进行配置
添加用户和组
#新添加一个Snort组 groupadd -g 40000 snort #将Snort用户加入Snort组,并且不允许登录系统 useradd snort -u 40000 -d /var/log/snort -s /sbin/nologin -c SNORT_IDS -g snort
新建目录/var/log/snort并设置其属性
mkdir /var/log/snort chown –R snort:snort /var/log/snort
配置snort
#新建目录/etc/snort/ mkdir /etc/snort/ cd /etc/snort #下载规则文件并解压,将其中的.map复制到/etc/snort 目录下 cp sid-msg.map /etc/snort #将下载的Snort压缩包解压缩后复制到/etc/snort/目录下 #我存放snort的目录为/source cp /source/snort-2.9.17.1/etc/* /etc/snort # 设置当前目录下所有文件的属主。 cd /etc/snort chown -R snort:snort * #新建黑白名单规则文件 touch /etc/snort/rules/white_list.rules /etc/snort/rules/black_list.rules #如果目录不存在,记得创建目录
编辑配置文件snort.conf,修改以下几行的内容
设置网络变量,将第45行的ipvar HOME_NET any改为ipvar HOME_NET 192.168.x.x网段,并写成CIDR格式。也可以添加多个网段。 ipvar HOME_NET [192.168.0.0/16,172.16.0.0/16] 第104行 var RULE_PATH ../ruls 改为 var RULE_PATH /etc/snort/rules 第105行 var SO_RULE_PATH ../so_rules 改为var SO_RULE_PATH /etc/snort/so_rules 第106行 var PREPROC_RULE_PATH ../preproc_rules 改为 var PREPROC_RULE_PATH/etc/snort/ preproc_rules 第113行 var WHITE_LIST_PATH ../rules 改为 var WHITE_LIST_PATH /etc/snort/rules 第114行 var BLACK_LIST_PATH ../rules 改为 var BLACK_LIST_PATH /etc/snort/rules # 设置日志保存路径。 config logdir:/var/log/snort/ # 配置输出插件。 Snort可通过数据库插件(spo_database.c和spo_database.h)将预处理器输出的日志写入数据库,但下面的配置一方面将报警写入alert文件,另一方面将预处理器输出的日志写入到unified2格式的二进制文件中,以供Barnyard2读取使用。 将第521行修改成如下内容: output unified2:filename snort.log,limit 128 #注意不需要的rules需要注释或者删除 #在vi中的查找命令,在命令模式下输入“/”+“要查找的内容”,例如“/logdir”回车即可
新建目录snort_dynamicrules并设置权限
mkdir -p /usr/local/lib/snort_dynamicrules chown -R snort:snort /usr/local/lib/snort_dynamicrules chmod -R 755 /usr/local/lib/snort_dynamicrules # 在/usr/sbin/目录下新建名为Snort的软链接文件。 cd /usr/sbin ln -s /usr/local/bin/snort snort
添加测试规则
# 编辑 rules文件 vi /etc/snort/rules/local.rules # 加入如下内容: alert icmp any any -> $HOME_NET any (msg:"ICMP Packet Detected";sid:1000003;rev:1;)
测试snort
snort -T -i ens33 -u snort -g snort -c /etc/snort/snort.conf #要注意配置的网卡是不是ens33
如果配置正确,则系统启动后显示如下内容
如出现“Snort successfully validated the configuration!”的提示,则表示安装配置成功。
用ping命令测试
用ping命令进行测试的目的是为了产生报警。ping命令使用ICMP协议,在IDS中使用Libpcap函数所捕获的也是ICMP数据包。下面在Snort主机上操作:
snort -i ens33 -c /etc/snort/snort.conf -A fast
#转载请注明出处!
daq-2.0.7
类型:压缩文件|已下载:6|下载方式:免费下载
立即下载
LuaJIT-2.1.0-beta3
类型:压缩文件|已下载:5|下载方式:免费下载
立即下载
libdnet-1.11
类型:压缩文件|已下载:4|下载方式:免费下载
立即下载
libpcap-1.9.0
类型:压缩文件|已下载:4|下载方式:免费下载
立即下载
snort-2.9.17.1
类型:压缩文件|已下载:5|下载方式:免费下载
立即下载
安装文件集合
类型:压缩文件|已下载:7|下载方式:免费下载
立即下载
快来制作你的简历吧 ,请猛戳这里→点击在线制作
宝塔服务器面板,一键全能部署及管理,送你3188元礼包。请猛戳这里→点我领取