ids入侵检测系统
Snort(基于特征的入侵检测系统)
软硬件配套
snort官网链接:Snort - Network Intrusion Detection & Prevention System(https://www.snort.org)
环境:centos7,拖动需要开共享粘贴板和开双向
一、daq
1、预装dap所需程序
yum install -y gcc flex bison zilb libpcap pcre libdnet tcpdump(安装软件程序)
2、输入命令下载依赖工具
yum install -y zlib-devel libpcap-devel pcre-devel libdnet-devel openssl-devel libnghttp2-devel luajit-devel
3、输入命令查找daq包 wget https://www.snort.org/downloads/snort/daq-2.0.6..tar.gz
下载地址:snghchandan/snort: snort all files (github.com)(这个压缩好像坏了)
rbshadow/snort-2.9.9.0: Unofficial Repository of Snort (github.com)
4、解压文件 tar -xzvf daq-2.0.6.tar..gz
进入daq目录里边 cd daq-2.0.6/
编译安装 ./configure
make
make install
二、安装snort
下载地址:wget https://snort.org/downloads/snort/snort-2.9.9.0.tar.gz
1、tar -xvzf snort-2.9.9.0.tar.gz
cd snort-2.9.9.0/
./configure
make
make install
2、snort -v 检查有无安装成功
出现此页面说明开源ids已安装成功
3、snort配置
①mkdir -p /etc/snort/rules
mkdir /usr/local/lib/snort_dynamicrules
最好检查一下
4、将snort中的配置文件复制到上边的snort下
snort-org-site.s3.amazonaws.com
5、下载社区规则并解压到目录(官网可找),复制到rules中,进行解压
tar -xzvf community-rules.tar.gz
解压后把文件移动到rules下,删除压缩和解压文件
6、打开终端依次输入命令,启动社区文件
① echo ''>>/etc/snort/snort.conf
echo '# enable community rule'>>/etc/snort/snort.conf
echo 'include $RULE_PATH/community-rules/community.rules'>>/etc/snort/snort.conf
sed -i 's/var RULE_PATH..\/rules/var RULE_PATH.\/rules/' /etc/snort/snort.conf
sed -i 's/var WHITE_LIST_PATH..\/rules/var WHITE_LIST_PATH.\/rules/' /etc/snort/snort.conf
sed -i 's/var BLACK_LIST_PATH..\/rules/var BLACK_LIST_PATH.\/rules/' /etc/snort/snort.conf
7、创建白黑名单文件
touch /etc/snort/rules/white_list.rules
touch /etc/snort/rules/black_list.rules
8、创建自己默认的规则
touch /etc/snort/rules/local.rules
9、注释掉所有要加载的规则文件
sed -i 's/include \$RULE\_PATH/#include \$RULE\_PATH/' /etc/snort/snort.conf
10、测试文件配置
snort -T -c /etc/snort/snort.conf
配置思路就是这样
我在使用命令时可能有地方错误输入了,导致找不到我的white_list.rules文件,需要进入配置文件
修改配置项../rules的路径为../snort/rules
方式:
①sudo vim /etc/snort/snort.conf
/搜索 white_list.rules,修改为上述路径
②snort -T -c /etc/snort/snort.conf 再次查看
11、规则写入
①在snort.conf中文件末尾添加以下数据
include $RULE_PATH/local.rules
#include $RULE_PATH/black.list.rules
#include $RULE_PATH/white_list.rules
保存关闭退出
12、安装xampp
①wget https://www.apachefriends.org/xampp-files/8.1.6/xampp-linux-x64-8.1.6-0installer.run --no-check-certificate
下载链接:Download xampp-linux-x64-8.1.6-0-installer.run (XAMPP) (sourceforge.net)
②修改权限
将文件放在local下比较方便(我下8.1.6有问题,文件应该有损坏,官网的)
chmod 777 xampp-linux-x64-8.1.6-installer.run
./xampp-linux-x64-8.1.6-0-installer.run
可能由于网络原因,多尝试几次(不同时间点),我同样的命令,下午不行,晚上就可以了,同一个命
令。离谱。
集成apache创建网站的工具
打开服务
查看有无安装成功xampp
注意端口占用情况,打开火狐浏览器,访问localhost,如下所示,成功安装
在configure可以修改端口号,防止和已有的服务发生冲突,restart重启生效
③在opt/lampp/htdocs 新建test.html文件,代码如下,测试程序,访问浏览器localhost/test.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>test</title>
</head>
<body>
<h1>successful</h1>
<p></p>
</body>
</html>
效果如下:
关闭防火墙centos;systemctl stop firewalld.service
注意:否则你的实体机是访问不到你的虚拟机的网址的(测试ping可以)
④书写ids规则
打开主文件夹/etc/snort/rules/local.rules文件,输入如下
alert tcp![192.168.129.136] any ->192,.168.129.136 8888(logto:"task1";msg:"this is task 1";sid:100001)
说明:alert 表示是一个警告,tcp表示检测所有使用tcp协议的包,http协议是tcp/ip协议的一部分,下面的一部分表示的是源ip地址,!除本机外所有,不管那个端口发送的包都需要检测 ->源到目的
括号中的规则选项部分,!ggk,表示将产生的信息记录到文件,msg 表示在屏幕上打印一个信息,sid表示一个规则编号,如果不在规则中编写这个编号,则执行过程中会出错,而且这个编号是唯一的能够标识一个规则的凭证1000000 以上用于用户自行编写的规则。
创建警报日志生成目录位置
/var/log/snort 没有就创建snort文件夹
⑤打开终端输入命令
snort -dv -l /var/log/snort -h 192.168.129.136 -c /etc/snort/snort.conf
根据运行提示,修改报错信息
此时完成设置
查看var/log/snort文件下两个文件都为空,再次利用宿主机访问此虚拟机查看变化
这里好像有点问题,后期再过来调一下(这里不抓包,可能是网卡设置的原因,暂时没跳出来)
正常如下所示:
想了解更多建议去snort官网
链接地址:Snort - Network Intrusion Detection & Prevention System
一、daq
二、安装snort