Instalando fail2ban

No Ubuntu / Debian, basta executar …

Configuração

Há 2 partes. Primeiro, precisamos configurar nginx para limitar o número de pedidos de endereços IP. Nginx irá registrar informações sobre IP proibidos no log de erro. fail2ban irá analisar o log de erro nginx e banir endereços IP ofensivos.

Configuração Nginx

No arquivo /etc/nginx/nginx.conf sob httpd {..} bloco, adicione o seguinte

10m é o tamanho da zona. 1MB pode armazenar 16000 estados. Eu acho que isso significa 16000 endereços IP exclusivos. Caso você tenha a forma como muitos sites ou locais muito alto tráfego, você pode querer aumentá-la para 20 MB ou 100 MB.
1r/s significa um pedido por segundo é permitido. Você não pode especificar frações. Se você quiser menos pedidos por segundo use 30r/m, o que significa 30 pedidos por minuto, de forma eficaz um pedido por 2 segundo.

Ambiente por site

Você pode adicionar algo como abaixo para o server{..} bloco:

ou

Outras mudanças

No caso de você querer voltar 444 (recomendado) ou qualquer outro uso de código a seguir em http {..} bloquear para o efeito global ou com location {..} bloco para-efeito local:

Você pode página de erro personalizada servidor usando error_page directiva.

Configuração fail2ban

configuração de filtro

Criar um arquivo de filtro nginx:

Adicione o seguinte conteúdo nele:

configuração jail

Criar uma nova configuração jail em:

Se você não vê jail.local, basta executar:

Adicione o seguinte no fim do arquivo

findtime e maxretry, os valores são importantes. Juntos, eles decidem quantas ofensas são necessárias para banir o IP. Se você fizer estes valores menores, IP será banido mais vezes. Ajustar de acordo com sua necessidade.

Depois de salvar os dois arquivos de configuração, reinicie fail2ban usando:

Testando

Antes de sair do shell, é melhor para se certificar se fail2ban está funcionando.

fail2ban logs

Você pode monitorar arquivo de log fail2ban:

Referência: 

fail2ban

Block wp-login.php bruteforce attack

Deixe uma resposta