开源网络威胁检测引擎(IDS/IPS/NSM)工具-Suricata

龅牙兔谈科技 2024-05-16 06:19:22

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 <path>

配置文件的路径。

--include <path>

额外包含的配置文件路径,可以多次使用。

-T

测试配置文件。

-v

增加应用程序日志的详细程度,可以多次使用。

-r <path>

以离线模式(重放模式)运行,从PCAP文件读取数据。

--pcap-file-continuous

与-r选项一起使用,表示模式应保持运行直到中断。

--pcap-file-recursive

与-r选项一起使用,递归遍历目录中的子目录。

--pcap-file-delete

与-r选项一起使用,处理后删除PCAP文件。

-i <interface>

指定用于捕获数据包的网络接口,可以多次使用。

--pcap[=<device>]

以PCAP模式运行,如果未提供设备,则使用配置文件中的接口。

--af-packet[=<device>]

启用AF_PACKET捕获数据包。

--af-xdp[=<device>]

启用AF_XDP捕获数据包。

-q <queue id>

在NFQUEUE队列ID内联运行,可以多次使用。

-s <filename.rules>

设置包含签名的规则文件,与YAML中的规则一起加载。

-S <filename.rules>

设置包含签名的规则文件,独立于YAML中的规则加载。

-l <directory>

设置默认日志目录。如果YAML中已经设置了默认日志目录,则此选项将覆盖该设置。

-D

以守护进程模式运行。

--runmode <runmode>

设置运行模式,覆盖YAML中的设置。运行模式有:workers, autofp和single。

-F <bpf filter file>

使用文件中的BPF过滤器。

`-k [all

none]`

--user=<user>

初始化后设置进程用户,覆盖配置文件中的run-as部分。

--group=<group>

初始化后设置进程组,覆盖配置文件中的run-as部分。

--pidfile <file>

将进程ID写入文件,覆盖配置文件中的pid-file选项。

--init-errors-fatal

加载签名时遇到错误即退出。

`--strict-rule-keywords[=all

<keyword>

--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 <key>=<value>

设置配置值,覆盖基础配置参数。

--engine-analysis

打印引擎各部分的分析报告并退出。

--unix-socket=<file>

使用指定的Suricata Unix控制套接字文件。

--reject-dev=<device>

使用指定设备发送RST / ICMP错误数据包。

--pcap-buffer-size=<size>

设置PCAP缓冲区大小(0 - 2147483647)。

--netmap[=<device>]

启用使用NETMAP捕获数据包。

--pfring[=<device>]

启用PF_RING捕获数据包。

--pfring-cluster-id <id>

设置PF_RING集群ID。

--pfring-cluster-type <type>

设置PF_RING集群类型(cluster_round_robin, cluster_flow)。

-d <divert-port>

以IPFW divert模式运行。

--dag <device>

启用从DAG卡捕获数据包。

--napatech

启用使用Napatech Streams API捕获数据包。

--erf-in=<file>

以离线模式读取指定的ERF文件(Endace可扩展记录格式)。

--simulate-ips

在非IPS模式下模拟IPS模式。

-u

运行单元测试并退出,需要使用--enable-unittests配置Suricata。

-U, --unittest-filter=REGEX

选择要运行的单元测试。使用正则表达式。

--list-unittests

列出可用的单元测试。

--fatal-unittests

在单元测试错误时退出。

--unittests-coverage

显示单元测试覆盖率报告。

!!!【点赞】、【关注】不走丢^_^

!!!【点赞】、【关注】不走丢^_^



0 阅读:2

龅牙兔谈科技

简介:感谢大家的关注