Nginx + PHP-FPM começa a travar após solicitação suspeita de pentesting com verbo/método http hexadecimal

Nginx + PHP-FPM começa a travar após solicitação suspeita de pentesting com verbo/método http hexadecimal

meu servidor trava toda vez que um pentester irritante tenta encontrar falhas de segurança em meu aplicativo. Eu vejo isso no log de erros:

17:48:48 +0200] "\x16\x03\x01\x00M\x01\x00\x00I\x03\x03\xDBJA\xC5\xB17\xF6\xDA \xD4\xEEEg0\xE0\xF2\xF2\xC9S\xE4\xF9v}\x1E\x00\xC8\xC3d\x 80h;= \x1F\xD2\xAF?\x88\x8A\xA2\xCF\x16G\x99\x1D\x91" 400 173 "-" "-"

O servidor está configurado como um servidor nginx + php-fpm normal. A porta 80 é redirecionada para 443 e o SSL está configurado corretamente.

Eu também adicionei esta linha:

if ($request_method !~ ^(GET|HEAD|POST|OPTIONS|DELETE|PUT|PATCH)$) { return 405; }

(em ambas as configurações de servidor)

Esta também é a única solicitação de "pentesting" que resulta em 400. Todas as outras solicitações resultam em 301 ou 404. Encontrei um problema semelhante em que a seção SSL do nginx não está configurada corretamente. Verifiquei minha configuração, mas parece normal.

Tenho o mesmo problema em outro servidor que possui uma configuração semelhante e em um servidor que possui uma configuração nginx -> apache_mpm_prefork_fpm.

Alguma idéia do que é isso e como proteger o servidor contra falhas. Como reproduzir uma solicitação de pentesting (tentei no carteiro, mas obtive um resultado diferente).

Muito obrigado.

EDITAR

Eu descobri como reproduzir esse log: https://servername:80.

Mas não consigo descobrir como bloquear esse tipo de solicitação. Eu tentei com $scheme mas a solicitação está criptografada. Tentei adicionar SSL à configuração, mas nada mudou. Deve haver uma razão pela qual esses sites de pentesting/exploid tentam enviar uma solicitação https para a porta 80.

informação relacionada