今天在网络环境测试写的规则是否能够正常告警,结果非常意外,那就是不告警T_T。去测试环境又试了一遍没有问题。那就只能是实网环境和测试环境有未知的差别。
首先去100多G的flow日志里筛一下相关的日志,发现TCP会话状态是new,原因是timeout。这就很不合理,我木马客户端都已经上线执行命令了,怎么还能超时?
继续排查,在探针上把suricata引擎停掉,用tcpdump开启抓包,发现10.x.x.7到8.x.x.149的包都带了VLAN标签。而8.x.x.149到10.x.x.7都没有VLAN标签,这样的话,suricata会根据VLAN标签重组TCP会话,因此将这种现象识别成了2条TCP会话。
在suricata配置文件中关闭基于vlan的会话追踪,即可忽略vlan标签重组会话。
1. vlan:
2. use-for-tracking: false