Nginx - 如何记录没有请求行的空 SSL 连接

Nginx - 如何记录没有请求行的空 SSL 连接

我们目前正遭受 DDoS 攻击,攻击方式如下:攻击者正在建立 TLS 连接然后断开。(未发送任何请求行)

这导致 nginx 集群的 CPU 负载严重。我们使用 ngnix 作为反向代理。我无法弄清楚如何让 nginx 记录已建立此类连接的事实,以自动执行基于 IP 的禁止。

我发现所有的日志记录内容都需要解析请求,但在这种情况下根本没有有效负载,因此访问和错误日​​志中都不会显示任何内容......

答案1

error_log /var/log/nginx/error.log info;

然后您会在错误日志中看到以下内容:

2018/09/22 11:42:38 [info] 25066#25066: *343588460 client closed connection while waiting for request, client: ::1, server: [::]:443

可以通过以下方式模拟此行为:

echo -n | openssl s_client -connect localhost:443

相关内容