Usando o iptables para parar ataques de força bruta em um site https do Apache

3

Eu tenho um site Apache TLS que usa autenticação básica para proteger recursos.

Estou tentando configurar uma regra iptables para evitar ataques de força bruta na porta 443, então adicionei as seguintes regras de iptables em um script bash.

$IPTABLES -N SSL-Brute-Force
$IPTABLES -A INPUT -m tcp -p tcp --dport 443 -j SSL-Brute-Force
$IPTABLES -A SSL-Brute-Force -m state --state NEW -m recent --set --name SSL --rsource
$IPTABLES -A SSL-Brute-Force -m state --state NEW -m recent --update --seconds 600 --hitcount 5 --name SSL --rsource -j LOG --log-prefix "[SSL Brute Force] "
$IPTABLES -A SSL-Brute-Force -m state --state NEW -m recent --update --seconds 600 --hitcount 5 --name SSL --rsource -j DROP
$IPTABLES -A SSL-Brute-Force -j ACCEPT

Agora não consigo acessar meu site, e não consigo ver todos os pacotes da porta 443 serem descartados no meu arquivo de mensagens.

Eu recebi essas regras corretamente?

    
por Aditya K 29.05.2016 / 13:05

1 resposta

2

Não. Substitua as opções --update por --rcheck ; a atualização de aparência já acontece com --set . Com --update o mesmo pacote causa até três atualizações conforme avança pelas regras. Em particular, pode corresponder à regra DROP sem ter correspondido à regra LOG , uma vez que cada uma incrementa a contagem de ocorrências.

A alteração para --rcheck deve abri-lo para permitir que você visualize uma página da Web com, digamos, uma folha de estilos e três imagens a cada 10 minutos.

Vale a pena observar que cada componente separado (folha de estilo, javascript, imagens e quadros) da página causa uma nova conexão. Assim, você também pode precisar alterar 5 para algo maior, dependendo do grau de decomposição em suas páginas da web. A questão é quantas páginas um usuário entregaria em 600 segundos e quantas conexões cada página precisa.

    
por 29.05.2016 / 15:15