6.17. ssh关键字

Suricata在SSH连接的不同元素上有几个要匹配的规则关键字。

6.17.1. ssh.proto

匹配所使用的ssh协议的版本。 ssh.proto 是一个粘性缓冲区,可以作为快速模式使用。 ssh.proto 替换以前的缓冲区名称: ssh_proto . 您可以继续使用以前的名称,但建议将现有规则转换为使用新名称。

格式::

ssh.proto;

例子:

alert ssh any any->any(msg:“匹配ssh协议版本”; ssh.proto; 内容:“2.0”;sid:1000010;)

上面的示例与SSH版本2.0的SSH连接匹配。

6.17.2. ssh.software

匹配ssh横幅中的软件字符串。 ssh.software 是一个粘性缓冲区,可以作为快速模式使用。

ssh.software 替换以前的关键字名称: ssh_software & ssh.softwareversion .您可以继续使用以前的名称,但建议将规则转换为使用新名称。

格式::

ssh.software;

例子:

alert ssh any any->any(msg:“匹配ssh软件字符串”; ssh.software; 内容:“openssh”;nocase;sid:1000020;)

上面的示例匹配软件字符串包含“openssh”的ssh连接。

6.17.3. ssh.protoversion

与使用的SSH协议版本匹配。价值 2_compat 包括SSH版本1.99。

格式::

ssh.protoversion:[0-9](\.[0-9])?|2_compat;

例子:

alert ssh any any->any(msg:“ssh v2 compatible”; ssh.protoversion:2_compat; sid:1;)

上面的示例与SSH版本2或1.99的SSH连接匹配。

alert ssh any any->any(消息:“ssh v1.10”; ssh.protoversion:1.10; sid:1;)

上面的示例只与ssh1.10版本的SSH连接匹配。

6.17.4. ssh.softwareversion

此关键字已被弃用。请使用 ssh.software 相反。与SSH横幅中的软件字符串匹配。

例子:

alert ssh any any->any(msg:“匹配ssh软件字符串”; ssh.softwareversion:"OpenSSH"; sid:10000040;)

苏瑞卡塔有一个哈什集成(https://github.com/salesforce/hassh). hash用于对ssh客户端和服务器进行指纹识别。

必须在Suricata配置文件中启用hash(设置'app-layer.protocols.ssh层.hash'到'yes')。

6.17.5. ssh.hassh

在hassh上匹配(客户端hash算法的md5)。

例子::

alert ssh any any -> any any (msg:"match hassh"; \
    ssh.hassh; content:"ec7378c1a92f5a8dde7e8b7a1ddf33d1";\
    sid:1000010;)

ssh.hassh 是“粘性缓冲区”。

ssh.hassh 可用作 fast_pattern .

6.17.6. ssh.hassh.string

匹配Hassh字符串(客户端的Hassh算法)。

例子::

alert ssh any any -> any any (msg:"match hassh-string"; \
    ssh.hassh.string; content:"none,zlib@openssh.com,zlib"; \
    sid:1000030;

ssh.hassh.string 是“粘性缓冲区”。

ssh.hassh.string 可用作 fast_pattern .

6.17.7. ssh.hassh.server

匹配hassh(服务器hassh算法的md5)。

例子::

alert ssh any any -> any any (msg:"match SSH hash-server"; \
    ssh.hassh.server; content:"b12d2871a1189eff20364cf5333619ee"; \
    sid:1000020;)

ssh.hassh.server 是“粘性缓冲区”。

ssh.hassh.server 可用作 fast_pattern .

6.17.8. ssh.hassh.server.string

匹配hassh字符串(服务器的hash算法)。

例子::
alert ssh any any->any(msg:“匹配ssh hash server string”

ssh.hash.server服务器.string;内容:”umac-64-etm@openssh.comumac-128-etm@openssh.com"; sid:1000040;)

ssh.hassh.server.string 是“粘性缓冲区”。

ssh.hassh.server.string 可用作 fast_pattern .