显然是随机编码的 URL 请求

显然是随机编码的 URL 请求

我的网络服务器收到大量奇怪的编码字符串作为 URL 请求。我尝试解码它们,但无法解码。以下是一些示例:

184.146.170.127 - - [10/Sep/2019:17:22:54 +0000] "\x16\x03\x01\x00\x85\x01\x00\x00\x81\x03\x03\xEE\xF2W\x1F\x8A~q\xBE\xCD\xA0)\x9Bk\xC2\xB7\xD6\xE0cY\xB8\xBD\x84v6P\xFA\x08\xE7\x00\xE7RY\x00\x00\x1C\xC0+\xC0,\xCC\xA9\xC0/\xC00\xCC\xA8\xC0\x09\xC0" 400 157 "-" "-" "-"

179.155.79.122 - - [10/Sep/2019:17:22:58 +0000] "\x16\x03\x01\x00\x85\x01\x00\x00\x81\x03\x03\x88\xFB\x9A\x04\x04\x08\x81\xC0\xBCAdG[\xD8\xFDp\x8F\x84\xF3)\xEE\xB8\xA7\xCA\xA6+\xD3\x8C\xF3;4N\x00\x00\x1C\xC0+\xC0,\xCC\xA9\xC0/\xC00\xCC\xA8\xC0\x09\xC0" 400 157 "-" "-" "-"

170.79.48.2 - - [10/Sep/2019:17:26:56 +0000] "\x16\x03\x01\x00\x81\x01\x00\x00}\x03\x03T\xE7}_\x17Z\x83\xFD\xAB,8\x13\x06\xAC\xA8\xC3p:\xBAkR\x06>5\x22\x96\xC9\xAB\x5C\xD8!\xDE\x00\x00\x1C\xC0+\xC0,\xCC\xA9\xC0/\xC00\xCC\xA8\xC0\x09\xC0" 400 157 "-" "-" "-"

我知道这可能是一些僵尸网络试图寻找漏洞,但我不明白他们试图通过难以解码的 URL 寻找哪些漏洞。此外,找到一种方法来阻止这些漏洞也很好,因为这绝对会淹没我的日志(我在 uWSGI + nginx 上运行)。这是一个临时服务器,因此有用的 X 垃圾日志的比例是一比数千。

答案1

这些实际上根本不是 URL,因为请求一开始就不像 HTTP 请求(真正的 HTTP URL 请求以动词开头,如GETTRACE,这会显示在 Web 服务器日志中)。这些数据包实际上是尝试执行TLS 握手\x16\x03\x01\x??\x??\x01是 TLSv1.2 ClientHello 的开头。

在端口 80 上看到这种情况并不常见,但如果您在非标准端口上运行 Web 服务器,许多扫描程序当然不会知道它使用 HTTP 并会尝试各种常见协议,TLS 就是其中之一。

为了减少日志垃圾邮件,请安装一个可以自动创建防火墙规则的日志分析器 - fail2ban 就是其中一种。(默认情况下,它仅监控 SSH 连接,但我相信它附带了其他流行格式的模式。)您无法阻止所有垃圾邮件,但这样至少可以摆脱屡教不改的人。

相关内容