step1:告知suricata关于你网络的信息

1.vars(变量表)

越具体,警报准确性和性能越好

step2:选择要启用的输出

1.default-log-dir(默认日志的目录)

2.Global stats configuration(全球数据的配置)

  • stats(统计数据)

    • interval(日志打印间隔时间)

    • decoder-events(添加事件流作为统计)

    • decoder-events-prefix(在统计中解码器事件前缀)

    • stream-events(添加事件流作为统计)

  • plugins(为每个插件共i相对想指定文件名)

  • outputs (配置警报和其他日志的记录类型)

    • -fast(基于行的警报日志)

    • -eve-log(可扩展事件格式,json格式的事件日志)

    • -http-log(基于行的http请求日志http.log)

    • -tls-log

    • -tls-store

    • -pcap-log(生成pcap日志:数据包日志)

      使用 pcap-log 选项,您可以将 Suricata 注册的所有数据包保存在名为 log.pcap 的日志文件中。这样,您可以随时查看所有数据包。在正常模式下,会在 default-log-dir 中创建一个 pcap 文件。如果在 yaml 文件中设置了绝对路径,也可以在其他地方创建它。

    • -alert-debug(详细警报日志)

      这是一种日志类型,提供有关警报的补充信息。对于调查误报和写签名的人来说特别方便。但是,由于必须存储的信息量很大,它会降低性能。

    • stats(设置stats.log的选项,启用 stats.log 时,您可以设置希望将输出数据写入日志文件的时间(以秒为单位)。)

    • -syslog(使用此选项,可以将所有警报和事件输出发送到 syslog。)

    • -file-store(这个输出允许将提取的文件取出到磁盘,并配置储存文件的位置)

    • -tcp-data(记录流正常后的tcp数据)

    • -http-body-data

    • -lua

  • logging(日志记录配置。这不是关于记录IDS警报/事件,而是输出Suricata正在执行的操作,如启动消息、错误等)

step3.流量的抓取

1.af-packet(Linux高速捕获支持)

2.dpdk(数据层开发套件)

  • eal-params:

    • proc-type: primary(指定一个dpdk程序是否为主进程)

  • interfaces:(接口)

    • -interface:(配置网卡)

3.ips(Surigata的IPS模式可在3种模式下工作-无、点击、IPS)

none:仅支持IDS模式-禁用IPS功能(不再转发报文)

tap:转发所有数据包并生成警报(省略DROP动作)

ips:与tap模式相同,但它也会丢弃规则标记要丢弃的数据包

4.prep(跨平台libpcap捕获支持)

step4.应用协议层配置

1.app-layer(配置应用层解析器。用哪个开启那个就可以)

2.守护线程

3.max-pending-packets(最大待处理数据包)

4.runmode: workers(引擎应该使用的运行模式。) 命令行选项–list-runmodes显示所有可用的运行模式。所有运行模式都有一个名称: 不同的运行模式 :single、workers、autofp。 #workers:通常,workers运行模式执行得最好。在这种模式下,NIC/驱动程序确保数据包在 Suricata 的处理线程上得到适当的平衡。然后每个数据包处理线程都包含完整的数据包管道。

#autofp:用于处理 PCAP 文件,或在某些 IPS 设置(如 NFQ)的情况下 autofp使用。这里有一个或多个捕获线程,捕获数据包并进行数据包解码,然后将其传递给线程。flow worker

#single: 运行模式single与模式相同workers,但只有一个数据包处理线程。这在开发过程中非常有用。

..

5.host-os-policy:(主机操作系统策略)

6.flow(流量和流处理)

7.flow-timeouts:(流量超时)

..

8.threading:(线程配置)

#指定特定的cpu。

  • cpu-affinity:(cpu相关)

    • management-cpu-set(management-cpu-set用于流超时处理,计数器)

    • receive-cpu-set:( receive-cpu-set用于捕获线程)

    • worker-cpu-set:(worker-cpu-set用于工作线程)

    • 。。

9.profiling(规则和数据包分析设置)

  • rules:(规则配置)

10.netmap:(捕获流程)

11.pfring:(数据捕获)

12.napatech:(数据捕获)

13.default-rule-path: (配置Suricata以加载Suricata- update托管规则。)