我们目前正遭受 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