SSH 错误协议版本标识字符串 - 它是什么?

信息安全 SSH
2021-08-17 15:17:54

我需要一些帮助来识别我们服务器上的一些错误协议版本识别错误。

我们得到以下信息:

sshd[xxxx]: Bad protocol version identification '\200\342\001\003\001' from xx.xx.xx.xxxx

我不知道其中的格式'\200\342\001\003\001',所以如果有人可以提供帮助,那就太好了!

2个回答

这是八进制表示(以 8 为基数)。在 SSH 连接的初始步骤中,客户端和服务器以字符串的形式相互发送它们实现的协议的版本。这些字符串必须遵循特定格式。

在这里,您的服务器从客户端收到一个“协议版本”字符串,该字符串由五个字节组成,依次为值 128、226、1、3 和 1。这不是有意义的“协议版本字符串”。可能客户端根本没有尝试做一些 SSH,而是一些其他协议。

很多病毒都试图以这种方式自动传播:通过在随机 IP 地址和端口上尝试某些协议的已知漏洞。因此,任何可公开访问的服务器(例如您的 SSH 服务器)都会收到这种噪音。最好的办法是完全忽略它。

在 His Majestic Ursinity 中添加一点,我敢打赌(曾经)是SSL2格式的 ClientHello提供升级到 TLS1.0。2013 年,在 POODLE 和 DROWN 最终促使人们消除过时的 SSL3 甚至 SSL2 接口之前,TLS 客户端使用 SSL2 格式相当普遍,因为它们在几年前就已经以这种方式配置或编码,可能是在 2005 年左右实际上仍然是大量的 SSL2 服务器——相反,TLS 服务器仍然配置或编码为接受 SSL2 格式(即使不是 SSL2协议),以便处理这些客户端而不会出现混淆错误和/或额外的往返。当然,SSH 服务器既不理解 SSL2 也不理解 SSL3/TLS 格式。