目录
[第一步、在 Ubuntu 端点安装 Suricata](#第一步、在 Ubuntu 端点安装 Suricata)
[第二步、下载并提取新兴威胁 Suricata 规则集](#第二步、下载并提取新兴威胁 Suricata 规则集)
[1、在tmp文件夹下载 Suricata 规则集](#1、在tmp文件夹下载 Suricata 规则集)
2、解压并将安装包移动到/etc/suricata/rules/文件夹下
[3、给suricata 640的权限](#3、给suricata 640的权限)
[第三步、修改 /etc/suricata/suricata.yaml 文件中的 Suricata 设置,并设置以下变量:](#第三步、修改 /etc/suricata/suricata.yaml 文件中的 Suricata 设置,并设置以下变量:)
[第四步、重新启动 Suricata 服务](#第四步、重新启动 Suricata 服务)
[第六步、在 Wazuh 代理的 /var/ossec/etc/ossec.conf 文件中添加Suricata 日志文件:](#第六步、在 Wazuh 代理的 /var/ossec/etc/ossec.conf 文件中添加Suricata 日志文件:)
[第七步、重启 Wazuh 代理以应用更改](#第七步、重启 Wazuh 代理以应用更改)
[打开Wazuh 仪表板中可视化警报数据](#打开Wazuh 仪表板中可视化警报数据)
[重启 suricata](#重启 suricata)
[再次启动 suricata即可](#再次启动 suricata即可)
缺点:规则太多,误报率较高
解决:降噪------禁用无用规则
Suricata环境安装
第一步、在 Ubuntu 端点安装 Suricata
1、加入Suricata源
root@ubuntu-virtual-machine:/home/ubuntu# add-apt-repository ppa:oisf/suricata-stable
2、更新安装包
root@ubuntu-virtual-machine:/home/ubuntu# apt-get update
3、下载SuricataSuricata
root@ubuntu-virtual-machine:/home/ubuntu# apt-get install suricata -y
第二步、下载并提取新兴威胁 Suricata 规则集
1、在tmp文件夹下载 Suricata 规则集
root@ubuntu-virtual-machine:/home/ubuntu#cd tmp/
root@ubuntu-virtual-machine:/tmp# curl -LOhttps://rules.emergingthreats.net/open/suricata-6.0.8/emerging.rules.tar.gz
如果发现未安装curl,使用apt安装即可:
root@ubuntu-virtual-machine:/tmp# apt install curl
2、解压并将安装包移动到/etc/suricata/rules/文件夹下
root@ubuntu-virtual-machine:~# cd /etc/suricata/
root@ubuntu-virtual-machine:/etc/suricata# mkdir rules
root@ubuntu-virtual-machine:/tmp# tar -xvzf emerging.rules.tar.gz
root@ubuntu-virtual-machine:/tmp# mv /tmp/rules/*.rules /etc/suricata/rules/
3、给suricata 640的权限
root@ubuntu-virtual-machine:/etc/suricata/rules# chmod 640 /etc/suricata/rules/*.rules
第三步、修改 /etc/suricata/suricata.yaml 文件中的 Suricata 设置,并设置以下变量:
root@ubuntu-virtual-machine:/etc/suricata/rules# vim /etc/suricata/suricata.yaml
cpp
HOME_NET: "<UBUNTU_IP>" //这里填写suricata服务器的网关
EXTERNAL_NET: "any" //不要这个默认的,先改成any,默认的这个代表陈了本机网关之外的
default-rule-path: /etc/suricata/rules
rule-files:
- "*.rules"
# Global stats configuration
stats:
enabled: no
# Linux high speed capture support
af-packet:
- interface: enp0s3
interface 表示要监控的网络接口。用 Ubuntu 端点的接口名称替换该值。例如,enp0s3。
第四步、重新启动 Suricata 服务
root@ubuntu-virtual-machine:/etc/suricata/rules# systemctl restart suricata
第五步、在wazuh部署新代理
1、选择操作系统
2、选择版本
3、选择架构
4、wazuh服务器地址
这是代理用于与 Wazuh 服务器通信的地址。它可以是 IP 地址或完全限定域名 (FQDN)。
5、可选设置
默认情况下,部署将端点主机名设置为代理名称。或者,您可以在下面设置代理名称。
指定代理名称
6、安装并注册代理
您可以使用此命令安装和注册 Wazuh 代理。
如果安装程序在系统中发现另一个 Wazuh 代理,它将对其进行升级并保留配置。
root@ubuntu-virtual-machine:/var/log/suricata# curl -so wazuh-agent.deb https://packages.wazuh.com/4.x/apt/pool/main/w/wazuh-agent/wazuh-agent_4.5.0-1_amd64.deb && sudo WAZUH_MANAGER='192.168.17.128' WAZUH_AGENT_GROUP='default' WAZUH_AGENT_NAME='Ubuntu20' dpkg -i ./wazuh-agent.deb
查看是否添加成功:
[root@wazuh-server ~]# cd /var/ossec/bin/
[root@wazuh-server bin]# ./manage_agents
添加成功
7、启动代理
sudo systemctl daemon-reload
sudo systemctl enable wazuh-agent
sudo systemctl start wazuh-agent
第六步、在 Wazuh 代理的 /var/ossec/etc/ossec.conf 文件中添加Suricata 日志文件:
root@ubuntu-virtual-machine:/var/log/suricata# vim /var/ossec/etc/ossec.conf
bash
<ossec_config>
<localfile>
<log_format>json</log_format>
<location>/var/log/suricata/eve.json</location>
</localfile>
</ossec_config>
第七步、重启 Wazuh 代理以应用更改
root@ubuntu-virtual-machine:/var/log/suricata# systemctl restart wazuh-agent
攻击模拟
Wazuh 自动解析Wazuh 仪表板上的数据并生成相关警报。/var/log/suricata/eve.json
从 Wazuh 服务器 Ping Ubuntu 端点 IP 地址:
[root@wazuh-server ~]# ping -c 20 192.168.17.128
打开Wazuh 仪表板中可视化警报数据
监控成功!!
也可以这样来监控预警:
1、创建suricata.rules
在rules文件夹下创建/etc/suricata/rules/suricata.rules,如果没有这个启动suricata的时候会报错
root@ubuntu-virtual-machine:/etc/suricata/rules# vim suricata.rules
alert代表触发了就预警,还有drop、reject、pass
http为协议,suricata支持tcp,udp,http等常见协议
any(源IP) any(源端口) ->代表源请求目的 <>请求+响应() $HOME_NET(目标IP) any(目标端口)
圆括号里面代表规则匹配,msg为预警信息详细描述
content表示过滤条件,变量http_stat_code为404
sid是自定义规则id
rev规定的修订版本,默认为0
alert http any any <> $HOME_NET any (msg: "Web服务器出现404状态码"; content: "404"; http_stat_code; sid: 561001; )
2、启动suricata
cd /etc/suricata
suricata -c suricata.yaml -i ens33
如果出现以下报错:表示版本太老无法使用
解决:
root@ubuntu-virtual-machine:/etc/suricata# ps -ef | grep suricata
root@ubuntu-virtual-machine:/etc/suricata# rm -rf 10778
重启 suricata
root@ubuntu-virtual-machine:/home/ubuntu# systemctl restart suricata
再次启动 suricata即可
3、查看预警日志
tail -f fast.log
1
4、访问一个404网址,触发监控规则
使用python搭建一个虚拟访问网址
root@ubuntu-virtual-machine:/var/log/suricata# python3 -m http.server 9999
可见此时日志已经生成(看日志生成时间)
监控成功!!!
suricata命令
suricata
-c:指定配置文件
-i:指定网卡
-T:测试配置文件
-v:设置日志级别
-D:后台启动
-l:临时设置日志输出目录(/etc/suricata/suricata.yaml中的default-log-dir)
-s:临时添加新规则(/etc/suricata/suricata.yaml中的default-rule-path和rule-files)