suricata TLS 规则没有忽略我的“pass”条目

suricata TLS 规则没有忽略我的“pass”条目

我正在使用此规则跳过已知 SSL 证书上的 suricata tls 处理:

pass tls any any <> any any (msg:"known good mydomain cert"; tls.fingerprint:"40:.(trimmed for serverfault).:8b"; sid:1000000; rev:1) 

即使这样,它仍然会进入正常的 tls 日志记录。

Jan 29 19:59:38 ip-10-11-12-13 suricata[17331]: {"timestamp":"2016-01-29T19:59:38.285296+0000","flow_id":139920047174784,"in_iface":"eth0","event_type":"tls","src_ip":"10.13.13.13","src_port":49479,"dest_ip":"10.11.12.13","dest_port":8443,"proto":"TCP","tls":{"subject":"C=U...CN=*.mydomain.com","issuerdn":"C=US...","fingerprint":"40:.(trimmed for serverfault).:8b","version":"TLS 1.2"}}

我已经将其local.rules列在第一位,而且我没有改变操作顺序,所以pass消息应该首先被处理。

发生这种情况是因为在配置中设置了“tls:extended: yes”吗?我的意思是,它正在记录全部TLS 会话pass没关系吗?如果是这样,我该如何/应该如何记录未知/不匹配的 TLS 流量?

(我将其放在snort标签中,因为没有suricata标签并且我无法创建标签。我认为 suricata 与 snort 相关。)

答案1

TLS 日志记录和规则完全独立。Pass 仅确保不会针对此会话评估其他规则。

记录是无条件的。通行规则不会对其产生影响。

但是,在 Suricata 3.0 中,您还可以将 TLS 记录添加到警报日志。要启用此功能,请取消注释 eve-log 警报类型下的“tls: yes”:

outputs:
  - eve-log:
      enabled: yes
      filetype: regular #regular|syslog|unix_dgram|unix_stream|redis
      filename: eve.json
      types:
        - alert:
            tls: yes               # enable dumping of tls fields

然后,如果指纹不是您要寻找的,则可以制定一条匹配的规则。例如

alert tls any any -> any any (tls.fingerprint:!"26:ca:ea:1d:99:11:d0:14:98:ad:17:47:4a:8d:fa:94:c5:1f:53:1c"; sid:1;)

注意 tls.fingerprint 后面的 !。

这将为你提供包含 TLS 记录的警报记录。例如

{"tls":{"version":"SSLv3","fingerprint":"dc:60:87:01:82:5a:1e:5d:77:99:f1:c7:8a:d1:f2:11:37:f4:58:ad","issuerdn":"C=US, O=GTE Corporation, OU=GTE CyberTrust Solutions, Inc., CN=GTE CyberTrust Global Root","subject":"C=US, O=Akamai Technologies, Inc., CN=a248.e.akamai.net"},"alert":{"severity":3,"category":"","signature":"","rev":0,"signature_id":1,"gid":1,"action":"allowed"},"proto":"TCP","timestamp":"2009-11-14T19:28:41.698996+0100","flow_id":105716361672640,"pcap_cnt":1032789,"event_type":"alert","src_ip":"63.80.4.42","src_port":443,"dest_ip":"192.168.2.7","dest_port":1997}

然后,您可以禁用 yaml 中的常规 TLS 日志记录。

这种方法的一个问题是,它实际上只适用于否定单个指纹。

相关内容