安装部署入检监测系统(IDS)
安装依赖
点此安装依赖
https://www.mamao.cloud/index.php/archives/82/
安装snort
-
必须先安装完依赖才能安装snort,否则会报错
./configure && make && make install
-
Snort安装到/usr/local/bin/Snort目录,最好创建到/usr/sbin/Snort的符号链接
sudo ln -s /usr/local/bin/snort /usr/sbin/snort
设置用户名和文件夹结构
-
创建文件夹
sudo mkdir -p /etc/snort/rules sudo mkdir /var/log/snort sudo mkdir /usr/local/lib/snort_dynamicrules
-
修改权限
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
-
创建规则文件
sudo touch /etc/snort/rules/white_list.rules sudo touch /etc/snort/rules/black_list.rules sudo touch /etc/snort/rules/local.rules
-
文件拷贝
sudo cp ~/snort/snort-2.9.16/etc/*.conf* /etc/snort sudo cp ~/snort/snort-2.9.16/etc/*.map /etc/snort
配置社区规则
-
将前面下载的社区规则文件解压并进行拷贝到/etc/snort/rules
sudo cp ~/snort/community-rules/* /etc/snort/rules
-
使用下面的sed命令轻松地注释掉不必要的行
sudo sed -i 's/include \$RULE\_PATH/#include \$RULE\_PATH/' /etc/snort/snort.conf
编辑配置文件
sudo vim /etc/snort/snort.conf
-
设置网络变量
设置网络变量,将第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
-
设置日志保存路径
config logdir:/var/log/snort/
-
配置输出插件
Snort可通过数据库插件(spo_database.c和spo_database.h)将预处理器输出的日志写入数据库,但下面的配置一方面将报警写入alert文件,另一方面将预处理器输出的日志写入到unified2格式的二进制文件中,以供Barnyard2读取使用。
将第521行修改成如下内容:output unified2:filename snort.log,limit 128
-
文件底部,找到包含的规则集列表。您需要取消对local.rules的注释,以允许Snort加载任何自定义规则
include $RULE_PATH/local.rules include $RULE_PATH/community.rules #加入社区规则
测试
-
测试snort是否安装成功
sudo snort -T -c /etc/snort/snort.conf
出现如下结果,则安装配置成功
Snort successfully validated the configuration! Snort exiting
-
模拟测试是否能够进行入侵监测报警
增加测试规则,ping命令报警
sudo vim /etc/snort/rules/local.rules alert icmp any any -> $HOME_NET any (msg:"ICMP test"; sid:10000001; rev:001;)
-
开启IDS进行捕获报警信息,注意修改网卡,此处为ens33
sudo snort -A console -i ens33-u snort -g snort -c /etc/snort/snort.conf
-
使用另一台主机ping当前主机,出现报警,报警情况如图所示:
上图IDS防护日志显示每个ICMP调用的警告,包括源和目标IP、 时间和日期,以及一些附加信息,如下面的示例所示:
snort -r /var/log/snort/ snort.log.1588934231
配置snort后台运行
-
编辑文件加入以下内容
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
-
加载脚本
sudo systemctl daemon-reload
-
启动snort
sudo systemctl start snort
-
查看snort状态
sudo systemctl status snort
更多centos7安全软件配置:
安装配置流量监控软件(iftop)
安装配置防火墙(iptables)
安装配置DDoS防御
安装部署防病毒软件(ClamAV)