我正在尝试编写可以在旧版本的 TLS 上发出警报的 Suricata 规则。我想检测早于 1.2 的 TLS 是否用于从我的网络到 Internet 的任何出口流量。我使用 AWS Network Firewall 和基于严格排序类型的有状态 Suricata 规则。我写了下面的规则并将它们放在规则堆栈的顶部以确保它们首先被处理:
alert tls any any -> $EXTERNAL_NET any (tls.version:1.0; msg:"Match on negotiated TLS/SSL version - 1.0 detected"; sid:1; rev:1;)
alert tls any any -> $EXTERNAL_NET any (tls.version:1.1; msg:"Match on negotiated TLS/SSL version - 1.1 detected"; sid:2; rev:1;)
alert tls any any -> $EXTERNAL_NET any (ssl_version:tls1.0; msg:"Match version of SSL/TLS record - 1.0 detected"; sid:3; rev:1;)
alert tls any any -> $EXTERNAL_NET any (ssl_version:tls1.1; msg:"Match version of SSL/TLS record - 1.1 detected"; sid:4; rev:1;)
然后我试图产生一些流量:
curl -vvv --tlsv1.0 --tls-max 1.1 https://<some_example_urls_here>
一些附加信息:
警报日志未显示使用
tls.version
和 ssl_version
的规则的任何条目,因此看起来规则可能有问题。
我是 Suricata 的新手,所以我可能错过了上述规则中的一些重要内容。谁能帮我解决这个问题?谢谢。