Suricata 是一款开源的网络威胁检测引擎(IDS/IPS/NSM),由 OISF(Open Information Security Foundation)开发和维护。它可以执行入侵检测(IDS)、入侵防御(IPS)和网络安全监控(NSM),并提供强大的日志记录和分析能力。
Suricata 作为一款高性能的开源网络分析和威胁检测软件,因其优异表现,已被大多数组织或企业使用。
GitHub开源地址:https://github.com/OISF/suricata
官网链接:https://suricata.io
功能特点
多线程设计:Suricata 采用多线程设计,能够充分利用多核处理器,提高检测性能和效率。
协议解析:支持解析多种网络协议,包括 HTTP、TLS、TCP、UDP、ICMP、SMB、FTP、DNS 等,提供深度协议解析和检测。
文件提取与分析:能够从网络流量中提取文件,并对其进行进一步分析,如恶意软件检测和文件特征分析。
基于规则的检测:兼容 Snort 规则格式,用户可以编写自定义规则以检测特定的威胁和攻击模式。
集成威胁情报:支持集成多种威胁情报源,提高对已知威胁的检测能力。
网络流量监控:提供全面的网络流量监控功能,能够记录和分析所有网络通信数据。
高效日志记录:支持 JSON、EVE、PCAP 等多种日志格式,方便与 SIEM 系统集成。
可扩展性:支持插件和扩展,用户可以根据需要扩展 Suricata 的功能。
适用场景
企业网络安全:部署 Suricata 以实时监控企业网络流量,检测并响应潜在的安全威胁。
安全运营中心(SOC):Suricata 提供详细的网络流量日志和事件数据,支持 SOC 团队进行深入的安全分析和事件响应。
入侵检测与防御:作为 IDS/IPS 系统,Suricata 能够检测并阻止恶意活动,保护网络安全。
合规性审核:通过记录和分析网络流量,帮助企业满足各种合规性要求,如 PCI DSS 和 GDPR。
威胁情报集成:与威胁情报源集成,提高对已知威胁的检测能力,增强整体安全态势感知。
部署安装
//以CentOS安装为例//更新系统并安装依赖sudo yum updatesudo yum install -y software-properties-commonsudo add-apt-repository ppa:oisf/suricata-stablesudo yum update//安装 Suricatasudo yum install -y suricata//配置 Suricatasudo vim /etc/suricata/suricata.yaml//启动 Suricatasudo suricata -c /etc/suricata/suricata.yaml -i ens160//查看 Suricata 状态和日志sudo systemctl status suricatasudo tail -f /var/log/suricata/suricata.log//维护更新sudo apt-get updatesudo apt-get upgrade suricata
注意:安装过程详解或更多安装方式,请参考官方技术指导手册https://docs.suricata.io/en/latest/
使用
选项 | 描述 |
-h | 显示简要的使用概述。 |
-V | 显示Suricata的版本信息。 |
-c | 配置文件的路径。 |
--include | 额外包含的配置文件路径,可以多次使用。 |
-T | 测试配置文件。 |
-v | 增加应用程序日志的详细程度,可以多次使用。 |
-r | 以离线模式(重放模式)运行,从PCAP文件读取数据。 |
--pcap-file-continuous | 与-r选项一起使用,表示模式应保持运行直到中断。 |
--pcap-file-recursive | 与-r选项一起使用,递归遍历目录中的子目录。 |
--pcap-file-delete | 与-r选项一起使用,处理后删除PCAP文件。 |
-i | 指定用于捕获数据包的网络接口,可以多次使用。 |
--pcap[=] | 以PCAP模式运行,如果未提供设备,则使用配置文件中的接口。 |
--af-packet[=] | 启用AF_PACKET捕获数据包。 |
--af-xdp[=] | 启用AF_XDP捕获数据包。 |
-q | 在NFQUEUE队列ID内联运行,可以多次使用。 |
-s | 设置包含签名的规则文件,与YAML中的规则一起加载。 |
-S | 设置包含签名的规则文件,独立于YAML中的规则加载。 |
-l | 设置默认日志目录。如果YAML中已经设置了默认日志目录,则此选项将覆盖该设置。 |
-D | 以守护进程模式运行。 |
--runmode | 设置运行模式,覆盖YAML中的设置。运行模式有:workers, autofp和single。 |
-F | 使用文件中的BPF过滤器。 |
`-k [all | none]` |
--user= | 初始化后设置进程用户,覆盖配置文件中的run-as部分。 |
--group= | 初始化后设置进程组,覆盖配置文件中的run-as部分。 |
--pidfile | 将进程ID写入文件,覆盖配置文件中的pid-file选项。 |
--init-errors-fatal | 加载签名时遇到错误即退出。 |
`--strict-rule-keywords[=all |
|
--disable-detection | 禁用检测引擎。 |
--disable-hashing | 禁用哈希算法(如md5, sha1, sha256)。禁用后将影响部分功能。 |
--dump-config | 将配置文件内容输出到终端并退出。 |
--dump-features | 输出Suricata模块的特性并退出。 |
--build-info | 显示Suricata的构建信息。 |
--list-app-layer-protos | 列出所有支持的应用层协议。 |
`--list-keywords=[all | csv |
--list-runmodes | 列出所有支持的运行模式。 |
--set = | 设置配置值,覆盖基础配置参数。 |
--engine-analysis | 打印引擎各部分的分析报告并退出。 |
--unix-socket= | 使用指定的Suricata Unix控制套接字文件。 |
--reject-dev= | 使用指定设备发送RST / ICMP错误数据包。 |
--pcap-buffer-size= | 设置PCAP缓冲区大小(0 - 2147483647)。 |
--netmap[=] | 启用使用NETMAP捕获数据包。 |
--pfring[=] | 启用PF_RING捕获数据包。 |
--pfring-cluster-id | 设置PF_RING集群ID。 |
--pfring-cluster-type | 设置PF_RING集群类型(cluster_round_robin, cluster_flow)。 |
-d | 以IPFW divert模式运行。 |
--dag | 启用从DAG卡捕获数据包。 |
--napatech | 启用使用Napatech Streams API捕获数据包。 |
--erf-in= | 以离线模式读取指定的ERF文件(Endace可扩展记录格式)。 |
--simulate-ips | 在非IPS模式下模拟IPS模式。 |
-u | 运行单元测试并退出,需要使用--enable-unittests配置Suricata。 |
-U, --unittest-filter=REGEX | 选择要运行的单元测试。使用正则表达式。 |
--list-unittests | 列出可用的单元测试。 |
--fatal-unittests | 在单元测试错误时退出。 |
--unittests-coverage | 显示单元测试覆盖率报告。 |
!!!【点赞】、【关注】不走丢^_^
!!!【点赞】、【关注】不走丢^_^
转载此文是出于传递更多信息目的。若来源标注错误或侵犯了您的合法权益,请与本站联系,我们将及时更正、删除、谢谢。
https://www.414w.com/read/554561.html