栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

【源码部署】Linux环境下编译snort

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【源码部署】Linux环境下编译snort

Linux环境下编译snort 参考博客
  • snort官方网站
  • snort部署
  • 如何在Linux下编译安装Snort?(推荐)
  • 手动打造Snort+barnyard2+BASE可视化报警平台
  • 视频新手部署snort
编译安装

下载地址:https://download.csdn.net/download/m0_66345324/85186943

安装基本环境和依赖包

yum -y update
yum -y install epel-release
yum -y install gcc gcc-c++ flex bison zlib* libxml2 libpcap pcre* libpcap-dev* tcpdump git  libtool curl man make luajit-devel openssl openssl-devel

编译安装lib

[root@snort ~]# tar zxf libdnet-libdnet-1.12.tar.gz 
[root@snort ~]# cd libdnet-libdnet-1.12/
[root@snort libdnet-libdnet-1.12]# ./configure && make && make install

编译安装daq

tar -zxvf daq-2.0.4.tar.gz
cd /usr/local/src/libdnet-1.12/
./configure
make && make install

编译安装snort

tar -zxvf daq-2.0.4.tar.gz
cd daq-2.0.4
./configure
make && make install

添加用户和组。

groupadd -g 40000 snort      //新添加一个Snort组
useradd snort -u 40000 -d /var/log/snort -s /sbin/nologin -c SNORT_IDS -g snort
//将Snort用户加入Snort组,并且不允许登录系统

新建目录/var/log/snort并设置其属性。

mkdir /var/log/snort
chown –R snort:snort /var/log/snort

配置Snort

新建目录/etc/snort/。
mkdir /etc/snort/

将snortrules-snapshot-2970.tar.gz解压到/etc/snort/目录下。
cd /etc/snort
tar –zxvf /usr/local/src/snortrules-snapshot-2970.tar.gz –C .
cp /etc/snort/etc/sid-msg.map /etc/snort

将下载的Snort压缩包解压缩后复制到/etc/snort/目录下。
cd /etc/snort/
cp /usr/local/src/snort-2.9.7.0/etc/* .

设置当前目录下所有文件的属主。
cd /etc/snort
chown -R snort:snort *

新建黑白名单规则文件。
touch /etc/snort/rules/white_list.rules /etc/snort/rules/black_list.rules

在/etc/snort/rules下新建white_list.rules和black_list.rules这两个文件。
编辑配置文件snort.conf,修改以下几行的内容。
vi /etc/snort/snort.conf

设置网络变量,将第45行的ipvarHOME_NET any改为ipvar HOME_NET 192.168.x.x网段,并写成CIDR格式。也可以添加多个网段,来看下面这个例子。
ipvar HOME_NET  [192.168.0.0/16,172.16.0.0/16]
将48行ipvar EXTERNAL_NET any     改为     ipvar EXTERNAL_NET!$HOME_NET   
第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

187行设置日志保存路径。
config logdir:/var/log/snort/

配置输出插件。
Snort可通过数据库插件(spo_database.c和spo_databaseh)将预处理器输出的日志写入数据库,但下面的配置一方面将报警写入alert文件,另一方面将预处理器输出的日志写入到unified2格式的二进制文件中,以供Barnyard2读取使用
将第521行修改成如下内容:
output unified2:filename snort.log,limit 128
以上几处修改完成后,保存退出。

新建目录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

添加测试规则。

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 eht0 -u snort -g snort -c /etc/snort/snort.conf

用ping命令测试。

用ping命令进行测试的目的是为了产生报警。ping命令使用ICMP协议,在IDS中使用Libpcap函数所捕获的也是ICMP数据包。下面在Snort主机上操作:
cd /etc/snort/rules
snort -i eth0 -c /etc/snort/snort.conf -A fast

与此同时,日志文件记录在/var/log/snort/alert和/var/log/snort/snort.log中。可用下面的命令查看。
cd /var/log/snort/
另一台机器ping一下snort主机,用tail观察alert的变化
tail -f /var/log/snort/alert
错误解决
  1. 环境前提:必须设置linux环境为静态的IP地址

修改为静态IP地址的方法是将BOOTPROTO=“dhcp"中的"dhcp"改为"static”,然后增加以下内容(内网IP配置):
IPADDR=172.16.84.129
NETMASK=255.255.255.0
GATEWAY=172.16.84.255
DN1=172.16.84.2
DNS2=8.8.8.8 //DNS地址的配置根据当地网络供应商进行添加

  1. 出现VMware虚拟机开启后宿主机蓝屏问题

此次解决的办法是通过修改 启用或关闭windows功能里的选项,勾选上 Windows虚拟机监控程序平台 和 虚拟机平台 两项。然后重启电脑生效新的配置。再次打开虚拟机后,可以正常开启操作系统。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/828058.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号