Suricata构建网络入侵检测系统(一)
一、Suricata 简介
Suricata是一个免费、开源、成熟、快速、健壮的网络威胁检测引擎。Suricata引擎能够进行实时入侵检测(IDS)、内联入侵预防(IPS)、网络安全监控(NSM)和离线pcap处理。Suricata使用强大而广泛的规则和签名语言来检查网络流量,并提供强大的Lua脚本支持来检测复杂的威胁。使用标准的输入和输出格式(如YAML和JSON),使用现有的SIEMs、Splunk、Logstash/Elasticsearch、Kibana和其他数据库等工具进行集成将变得非常简单。Suricata项目和代码由开放信息安全基金会(OISF)拥有和支持,OISF是一个非盈利基金会,致力于确保Suricata作为一个开源项目的开发和持续成功。
二、主要特点
1.IDS/IPS – Suricata 是一个基于规则的入侵检测和防御引擎,它利用外部开发的规则集(例如Talos规则集和新兴威胁 Suricata 规则集)来监控网络流量中是否存在任何恶意活动、策略违规和威胁。
2.自动协议检测——Suricata 引擎自动检测 HTTP 和 HTTPS 等协议。任何端口上的 FTP 和 SMB,并应用适当的检测和日志记录逻辑。这在检测恶意软件和 CnC 通道时派上用场。
3.Lua 脚本——Suricata 可以调用提供高级恶意软件检测的Lua脚本,以检测和解码原本难以检测的恶意软件流量。
4.多线程——Suricata在确定网络流量时提供速度和重要性。该引擎旨在应用现代多核硬件芯片组提供的增强处理能力。
三、工作模式
1.single模式
single只支持一个网卡设备,只有一个work线程
2.work模式
Work工作模式,每个网卡默认对应cpu数个工作线程(或者按照配置文件配置的线程数),每个工作线程取对应的网卡队列中数据包
3.autofp工作模式
四、部署安装
注意:本例部署环境为Freebsd 13.2,部署模式为IDS模式
root@IDS:~ # pkg install suricata
root@IDS:~ # vim /etc/rc.conf
增加如下:
suricata_enable="YES" //开机启动suricata服务
suricata_interface="em0" //监听网卡为em0(安装时根据具体网卡修改)
启动服务
root@IDS:~ # service suricata start
更新策略
root@IDS:~ # suricata-update
五、debian 10下部署
root@Suricata:~# apt-get install suricata
root@Suricata:~# apt-get install suricata -t buster-backports
root@Suricata:~# apt-get install jq
查看版本
root@Suricata:~# suricata -V
启动服务
root@Suricata:~# systemctl start suricata.service
root@Suricata:~# systemctl enable suricata.service
复制配置文件
root@Suricata:~# cp /var/lib/suricata/rules/classification.config /etc/suricata/rules/
root@Suricata:~# cp /var/lib/suricata/rules/suricata.rules /etc/suricata/rules/
测试
root@Suricata:~# suricata -T
更新策略
root@Suricata:~# suricata-update
六、suricata配置文件介绍
suricata的配置文件为 /etc/suricata/suricata.yaml
HOME_NET: "[192.168.0.0/16,10.0.0.0/8,172.16.0.0/12]" //需要检测的网络范围,根据实际的网段进行修改
default-log-dir: /var/log/suricata/ //默认log存放路径
posted on 2023-06-07 15:40 CyberSecurityBook 阅读(831) 评论(0) 编辑 收藏 举报