我正在尝试创建一个Suricata规则,当且仅当找到所有内容并按特定顺序匹配时才会匹配数据包。
我当前规则的问题是,即使数据包内容为test2 test1
,它也会匹配。
有没有办法在不使用pcre的情况下实现此功能?
alert tcp $HOME_NET any -> $EXTERNAL_NET [80,443] (msg:"Test Rule"; flow:established,to_server; content:"test1"; fast_pattern; content:"test2"; distance:0; classtype:web-application-activity; sid:5182976; rev:2;)
答案 0 :(得分:0)
我发现我用来测试Suricata签名的方法是在某些时候重复测试数据导致签名总是被激活。
至于回答我自己的问题,可以通过在第一个内容匹配后添加距离修改器来强制执行内容订单。
见:
content:"one"; content:"two"; distance:0; content:"three"; distance:0; . . .
据我所知,fast_pattern
关键字可以省略。