安装部署入检监测系统(IDS)

安装依赖

点此安装依赖https://www.mamao.cloud/index.php/archives/82/

安装snort

  1. 必须先安装完依赖才能安装snort,否则会报错
./configure && make && make install
  1. Snort安装到/usr/local/bin/Snort目录,最好创建到/usr/sbin/Snort的符号链接
sudo ln -s /usr/local/bin/snort /usr/sbin/snort

设置用户名和文件夹结构

  1. 创建文件夹
sudo mkdir -p /etc/snort/rules
sudo mkdir /var/log/snort
sudo mkdir /usr/local/lib/snort_dynamicrules
  1. 修改权限
sudo chmod -R 5775 /etc/snort
sudo chmod -R 5775 /var/log/snort
sudo chmod -R 5775 /usr/local/lib/snort_dynamicrules
sudo chown -R snort:snort /etc/snort
sudo chown -R snort:snort /var/log/snort
sudo chown -R snort:snort /usr/local/lib/snort_dynamicrules
  1. 创建规则文件
sudo touch /etc/snort/rules/white_list.rules
sudo touch /etc/snort/rules/black_list.rules
sudo touch /etc/snort/rules/local.rules
  1. 文件拷贝
sudo cp ~/snort/snort-2.9.16/etc/*.conf* /etc/snort
sudo cp ~/snort/snort-2.9.16/etc/*.map /etc/snort

配置社区规则

  1. 将前面下载的社区规则文件解压并进行拷贝到/etc/snort/rules
sudo cp ~/snort/community-rules/* /etc/snort/rules
  1. 使用下面的sed命令轻松地注释掉不必要的行
sudo sed -i 's/include \$RULE\_PATH/#include \$RULE\_PATH/' /etc/snort/snort.conf

编辑配置文件

sudo vim /etc/snort/snort.conf
  1. 设置网络变量
设置网络变量,将第45行的ipvar HOME_NET any改为ipvar HOME_NET
192.168.x.x网段,并写成CIDR格式。也可以添加多个网段。

ipvar HOME_NET 192.168.174.120

将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
  1. 设置日志保存路径
config logdir:/var/log/snort/
  1. 配置输出插件
    Snort可通过数据库插件(spo_database.c和spo_database.h)将预处理器输出的日志写入数据库,但下面的配置一方面将报警写入alert文件,另一方面将预处理器输出的日志写入到unified2格式的二进制文件中,以供Barnyard2读取使用。
    将第521行修改成如下内容:
output unified2:filename snort.log,limit 128
  1. 文件底部,找到包含的规则集列表。您需要取消对local.rules的注释,以允许Snort加载任何自定义规则
include $RULE_PATH/local.rules
include $RULE_PATH/community.rules    #加入社区规则

测试

  1. 测试snort是否安装成功
sudo snort -T -c /etc/snort/snort.conf

出现如下结果,则安装配置成功

Snort successfully validated the configuration!
Snort exiting
  1. 模拟测试是否能够进行入侵监测报警
    增加测试规则,ping命令报警
sudo vim /etc/snort/rules/local.rules
alert icmp any any -> $HOME_NET any (msg:"ICMP test"; sid:10000001; rev:001;)
  1. 开启IDS进行捕获报警信息,注意修改网卡,此处为ens33
sudo snort -A console -i ens33-u snort -g snort -c /etc/snort/snort.conf
  1. 使用另一台主机ping当前主机,出现报警,报警情况如图所示:

centos7 安装 rsync centos7安装snort_centos


centos7 安装 rsync centos7安装snort_安全_02


上图IDS防护日志显示每个ICMP调用的警告,包括源和目标IP、 时间和日期,以及一些附加信息,如下面的示例所示:

snort -r /var/log/snort/ snort.log.1588934231

配置snort后台运行

  1. 编辑文件加入以下内容
sudo vim /lib/systemd/system/snort.service    
[Unit]
Description=Snort NIDS Daemon
After=syslog.target network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/snort -q -u snort -g snort -c /etc/snort   /snort.conf -i eth0
[Install]
WantedBy=multi-user.target
  1. 加载脚本
sudo systemctl daemon-reload
  1. 启动snort
sudo systemctl start snort
  1. 查看snort状态
sudo systemctl status snort