Ataque DoS solicitando um único arquivo no servidor, a melhor maneira de superar?

2

Meu servidor está atualmente sendo atacado por um grande DoS, teve que se afastar do Apache e empurrar tudo para o Nginx (reescreve um pesadelo!).

Amostra do log de acesso:

186.92.86.149 - - [30/Nov/2011:09:49:40 -0500] "GET /boards/search.php HTTP/1.0" 404 169 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US)" "-"
187.131.200.33 - - [30/Nov/2011:09:49:40 -0500] "POST /boards/search.php HTTP/1.0" 413 199 "http://rol.ru" "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.3a) Gecko/20030105 Phoenix/0.5" "-"
189.72.198.227 - - [30/Nov/2011:09:49:40 -0500] "GET /boards/search.php HTTP/1.0" 500 193 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US)" "-"
101.109.17.136 - - [30/Nov/2011:09:49:40 -0500] "POST /boards/search.php HTTP/1.0" 413 199 "http://gazeta.ru" "Mozilla/4.0 (compatible; MSIE 5.0; Mac_PowerPC) Opera 6.0 [en]" "-"
186.188.156.111 - - [30/Nov/2011:09:49:40 -0500] "POST /boards/search.php HTTP/1.0" 413 601 "http://rol.ru" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" "-"

Como todos eles estão tentando acessar essa página, existe uma maneira rápida e fácil de configurar algo para adicioná-los automaticamente ao iptables ou etc?

    
por Max 30.11.2011 / 15:52

2 respostas

1

Copie o arquivo em algum lugar novo e, em seguida, faça com que o nginx produza um redirecionamento para esse novo local do conteúdo. Esta é apenas uma medida temporária, mas o envio de 302s do servidor da Web, em vez da análise e execução do PHP, será muito mais barato.

Os navegadores de usuários genuínos devem apenas homenagear o redirecionamento.

    
por 30.11.2011 / 16:16
1

O Fail2Ban pode reescrever suas regras para que ele possa banir automaticamente as solicitações recebidas para esse arquivo. Você também pode querer trabalhar com seu provedor de upstream para bloquear determinadas solicitações (se puder), já que isso não impedirá que o DoS obstrua sua conexão, apenas reduza sua eficácia um pouco. A menos que o seu datacenter tenha uma conexão grande, isso reduzirá a capacidade do seu site de servir o tráfego legítimo, e o upstream de seu provedor poderá ajudar a reduzir essas solicitações no canal.

    
por 30.11.2011 / 16:02