Suricata,网络威胁检测引擎

Suricata是一个免费、开源、成熟、快速且强大的网络威胁检测引擎。

Suricata引擎能够进行实时入侵检测(IDS),内联入侵防御(IPS),网络安全监视(NSM)和脱机pcap处理。

Suricata使用强大而广泛的规则和签名语言来检查网络流量,并具有强大的Lua脚本支持来检测复杂的威胁。

通过YAML和JSON之类的标准输入和输出格式,与现有SIEM,Splunk,Logstash / Elasticsearch,Kibana和其他数据库之类的工具的集成变得毫不费力。

Suricata的社区驱动的快速发展专注于安全性,可用性和效率。

操作命令介绍:

-H
显示简短的用法概述。

-V
显示Suricata的版本。

-c <path>
配置文件的路径。

-T
测试配置。

-v
通过从默认级别增加日志级别来增加Suricata应用程序日志的详细程度。可以多次传递此选项,以进一步提高详细程度。

-v:信息
-vv:PERF
-vvv:配置
-vvvv:调试
如果该选项的详细程度已超过此选项要求的级别,则该选项不会降低配置文件中设置的日志级别。

-r <path>
以pcap脱机模式(重播模式)运行,从pcap文件读取文件。如果指定目录,则该目录中的所有文件将按照修改后的时间顺序进行处理,以保持文件之间的流状态。

–pcap-file-continuous
与-r选项一起使用,指示该模式应保持活动状态直到被中断。这对于在目录中添加新文件而不重置文件之间的流状态非常有用。

–pcap-file-delete
与-r选项一起使用,指示在处理pcap文件后,该模式应删除pcap文件。这对于pcap-file-continuous很有用,可以将文件连续地馈送到目录中,并在完成后对其进行清理。如果未设置此选项,则处理后不会删除pcap文件。

-i <interface>
在-i选项之后,您可以输入要用于嗅探数据包的接口卡。此选项将尝试使用可用的最佳捕获方法。可以多次用于嗅探来自多个接口的数据包。

–pcap [= <device>]
在PCAP模式下运行。如果未提供任何设备,则将使用配置文件的pcap部分中提供的接口。

–af-packet [= <device>]
在Linux上使用AF_PACKET启用数据包捕获。如果未提供任何设备,则使用yaml中af-packet部分中的设备列表。

-q <queueID>
内联运行提供的NFQUEUE队列ID。可以提供多次。

-s <filename.rules>
使用-s选项,您可以设置带有签名的文件,该文件将与yaml中设置的规则一起加载。

-S < filename.rules >
使用-S选项,您可以设置带有签名的文件,无论yaml中设置了什么规则,该文件都将单独加载。

-l <directory>
使用-l选项,您可以设置默认的日志目录。如果您已经在yaml中设置了default-log-dir,那么如果使用-l选项,Suricata将不会使用它。它将使用通过-l选项设置的日志目录。如果未使用-l选项设置目录,则Suricata将使用yaml中设置的目录。

-D
通常,如果您在控制台上运行Suricata,它将使您的控制台处于占用状态。您不能将其用于其他目的,并且当您关闭窗口时,Suricata会停止运行。如果您将Suricata作为守护程序运行(使用-D选项),则它将在后台运行,并且您将能够使用控制台执行其他任务,而不会影响引擎的运行。

–runmode <runmode>
使用–runmode选项,您可以设置要使用的运行模式。此命令行选项可以覆盖yaml runmode选项。

运行模式为:工作程序,autofp和单一模式。

有关运行模式的更多信息,请参见用户指南中的运行模式。

-F
使用文件中的BPF筛选器。

-k [all|none]
强制(全部)校验和检查或禁用(无)所有校验和检查。

–user = <user>
初始化后设置流程用户。覆盖配置文件的运行方式部分中提供的用户。

–group = <group>
将进程组设置为初始化后的组。覆盖配置文件的运行方式部分中提供的组。

–pidfile <file>
将进程ID写入文件。覆盖配置文件中的pid-file选项,并在不作为守护程序运行时强制写入文件。

–init-errors-fatal
加载签名遇到错误时,退出失败。

–disable-detection
禁用检测引擎。

–dump-config
将从配置文件加载的配置转储到终端并退出。

–build-info
显示构建Suricata的构建信息。

–list-app-layer-protos
列出所有受支持的应用程序层协议。

–list-keywords = [all| csv | ]
列出所有受支持的规则关键字。

–list-runmodes
列出所有支持的运行模式。

–set <key> = <value>
设置配置值。对于覆盖配置中的基本配置参数很有用。


–engine-analysis
打印有关引擎中不同部分的分析的报告,然后退出。请查看conf参数引擎分析,了解可以打印哪些报告

–unix-socket = <file>
将文件用作Suricata UNIX控制套接字。覆盖配置文件的unix-command部分中提供的文件名。

–pcap-buffer-size = <size>
设置PCAP缓冲区的大小(0-2147483647)。

–netmap [= <device>]
在FreeBSD或Linux上使用NETMAP启用数据包捕获。如果未提供任何设备,则使用yaml中netmap部分中的设备列表。

–pfring [= <device>]
启用PF_RING数据包捕获。如果未提供任何设备,则将使用Suricata配置中的设备。

–pfring-cluster-id
设置PF_RING集群ID。

–pfring-cluster-type <type>
设置PF_RING群集类型(cluster_round_robin,cluster_flow)。

-d <divert-port>
使用IPFW转移模式内联运行。

–dag <device>
启用从DAG卡捕获数据包的功能。如果捕获特定的流,则可以使用设备名称(例如“ dag0:4”)选择该流。可以多次读取多个设备和/或流来提供此选项。

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

–erf-in = <file>
以脱机模式运行,读取特定的ERF文件(Endace可扩展记录格式)。

–simulate-ips
在非IPS模式下运行时,模拟IPS模式。

-u
运行单元测试并退出。要求使用-enable-unittests编译Suricata。

-U,–unittest-filter =正则表达式
使用-U选项,您可以选择要运行的单元测试。此选项使用REGEX。使用示例:suricata -u -U http

–list-unittests
列出所有单元测试。

–fatal-unittests
对单元测试错误启用致命故障。 Suricata将退出,而不是继续进行更多测试。

–unittests-coverage
显示单元测试覆盖率报告。