Suricata文档——第七章性能3

7.5 高性能配置

如果有足够的内存,请考虑suricata.yaml中的以下选项,以尽可能减轻CPU的工作量:

detect:
  profile: custom
  custom-values:
      toclient-groups: 200
      toserver-groups: 200
  sgh-mpm-context: auto
  inspection-recursion-limit: 3000

但是,请注意,即使规模适中的规则集可能也需要大量RAM。 另外请注意,有更多的CPU可用提供了更大的性能提升比有更多的RAM可用。 也就是说,配置一个系统的时候,最好把钱花在CPU而不是RAM上。
这也可能导致规则加载时间显着延长。

7.6. Statistics

The stats.log produces statistics records on a fixed interval, by default every 8 seconds.

7.6.1. stats.log file

统计文件

7.6.1.1 检测数据包丢失

关机时,Suricata报告从pcap,pfring或afpacket获取的数据包丢失统计数据

[18088] 30/5/2012 -- 07:39:18 - (RxPcapem21) Packets 451595939, bytes 410869083410
[18088] 30/5/2012 -- 07:39:18 - (RxPcapem21) Pcap Total:451674222 Recv:451596129 Drop:78093 (0.0%).

通常情况下,这不是完整的故事。 这些是内核丢弃状态,但是NIC也可能丢包。 使用ethtool得到那些:

# ethtool -S em2
NIC statistics:
     rx_packets: 35430208463
     tx_packets: 216072
     rx_bytes: 32454370137414
     tx_bytes: 53624450
     rx_broadcast: 17424355
     tx_broadcast: 133508
     rx_multicast: 5332175
     tx_multicast: 82564
     rx_errors: 47
     tx_errors: 0
     tx_dropped: 0
     multicast: 5332175
     collisions: 0
     rx_length_errors: 0
     rx_over_errors: 0
     rx_crc_errors: 51
     rx_frame_errors: 0
     rx_no_buffer_count: 0
     rx_missed_errors: 0
     tx_aborted_errors: 0
     tx_carrier_errors: 0
     tx_fifo_errors: 0
     tx_heartbeat_errors: 0
     tx_window_errors: 0
     tx_abort_late_coll: 0
     tx_deferred_ok: 0
     tx_single_coll_ok: 0
     tx_multi_coll_ok: 0
     tx_timeout_count: 0
     tx_restart_queue: 0
     rx_long_length_errors: 0
     rx_short_length_errors: 0
     rx_align_errors: 0
     tx_tcp_seg_good: 0
     tx_tcp_seg_failed: 0
     rx_flow_control_xon: 0
     rx_flow_control_xoff: 0
     tx_flow_control_xon: 0
     tx_flow_control_xoff: 0
     rx_long_byte_count: 32454370137414
     rx_csum_offload_good: 35270755306
     rx_csum_offload_errors: 65076
     alloc_rx_buff_failed: 0
     tx_smbus: 0
     rx_smbus: 0
     dropped_smbus: 0

7.6.2 内核丢包

stats.log在capture.kernel_packets和capture.kernel_drops中包含有趣的信息。 捕捉模式的含义不同。
在AF_PACKET模式下:

kernel_packets是正确发送到用户空间的数据包的数量
kernel_drops是被丢弃的数据包的数量,而不是被发送到用户空间

在PF_RING模式下:

kernel_packets是pf_ring看到的数据包总数
kernel_drops是被丢弃的数据包的数量,而不是被发送到用户空间
在Suricata stats.log中,TCP数据间隔计数器也是一个指示器,因为它记录了TCP流中丢失的数据包:

tcp.reassembly_gap        | Detect                    | 789

理想情况下,这个数字是0.不仅pkt损失影响它,也不好的校验和和流引擎内存不足。

7.6.3 绘制图形的工具

有些人制作了很好的工具来绘制统计文件的图表。

ipython和matplotlib脚本
使用Zabbix或其他在Github上的代码进行监控
下一页上一页

7.7 忽略流量

在某些情况下,有理由忽略某些流量。 某些主机可能是可信的,或者应该忽略备份流。
本文档列出了一些忽略流量的策略。

7.7.1 捕获过滤器(BPF)

通过BPFs,捕获方法pcap,af-packet和pf_ring可以被告知发送给Suricata的内容,而不是什么。 例如一个简单的过滤器“tcp”只会发送tcp数据包。
如果需要忽略某些主机和/或网络,请使用“not(host IP1 or IP2 or IP3 or net NET / 24)”。
例:
not host 1.2.3.4
捕获过滤器在所有其他选项之后在命令行中指定:

suricata -i eth0 -v not host 1.2.3.4
suricata -i eno1 -c suricata.yaml tcp or udp

捕获过滤器可以在pcap,af-packet,netmap和pf_ring部分的每个接口中设置。 它也可以放在一个文件中:

echo "not host 1.2.3.4" > capture-filter.bpf
suricata -i ens5f0 -F capture-filter.bpf

使用捕获过滤器可以限制Suricata处理的流量。 因此,Suricata未见的流量将不会被检查,记录或记录。

7.7.2 通过规则

通过规则是Suricata规则,如果匹配,则传递数据包,如果是TCP,则传递剩余的数据流。 他们看起来像正常的规则,除了“通知”,而不是“提醒”或“drop”。
例:

pass ip 1.2.3.4 any <> any any (msg:"pass all traffic from/to 1.2.3.4"; sid:1;)

捕获过滤器的一个很大的不同之处在于,对于此流量,仍然会生成诸如Eve或http.log之类的日志。

7.7.3 压制

可以使用抑制规则来确保不会为主机生成警报。 然而这不是有效的,因为压制只被认为是在匹配后。 换句话说,Suricata首先检查规则,然后才考虑每个主机的抑制。

例:

 suppress gen_id 0, sig_id 0, track by_src, ip 1.2.3.4

7.8 数据包分析

在本指南中将解释如何启用数据包分析,并将其与Ubuntu上最新的Suricata代码一起使用。 它基于您已经从GIT存储库安装Suricata。

如果您想知道数据包需要处理多长时间,数据包分析很方便。 这是找出为什么某些数据包比其他数据包更快处理的一种方法,这种方法是开发Suricata的好工具。

按照从Git安装的步骤更新Suricata。 从最后开始

cd suricata/oisf
git pull

并按照下面描述的步骤。 要启用数据包分析,请确保在配置阶段输入以下内容:
./configure --enable-profiling
找到你有pcap的文件夹。 如果你还没有pcap,你可以用Wireshark获得这些。 使用Wireshark查看嗅探包。
转到您的pcaps目录。 例如:
cd ~/Desktop
用ls命令可以看到文件夹的内容。 选择一个文件夹和一个pcap文件
例如:
cd ~/Desktop/2011-05-05

suricata -c /etc/suricata/suricata.yaml -r log.pcap.(followed by the number/name of your pcap)

例如:

suricata -c /etc/suricata/suricata.yaml -r log.pcap.1304589204
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,387评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,845评论 1 298
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 110,091评论 0 246
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,308评论 0 214
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,662评论 3 288
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,795评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,008评论 2 315
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,743评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,466评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,687评论 2 249
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,181评论 1 262
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,531评论 3 258
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,177评论 3 239
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,126评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,902评论 0 198
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,862评论 2 283
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,734评论 2 274

推荐阅读更多精彩内容