Estou tentando bloquear (desacelerar) ataques de força bruta no meu servidor sshd. Estou seguindo este guia http://www.rackaid.com/resources/how-to-block-ssh-brute-force-attacks/, que basicamente diz que preciso apenas digitar os 2 comandos abaixo.
sudo iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set
sudo iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP
Minha porta sshd é 6622, então mudei as entradas de "22" para "6622" e coloquei esses comandos. Em seguida, tentei simplesmente testar as novas tabelas de ip. Eu fui para outro pc e propositalmente coloquei a senha de login errada várias vezes. Infelizmente, as novas regras não parecem me impedir de tentar o quanto eu quero. Listadas abaixo estão minhas regras atuais. O que estou fazendo errado?
# iptables --list
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP tcp -- anywhere anywhere tcp dpt:6622 state NEW recent: UPDATE seconds: 60 hit_count: 4 name: DEFAULT side: source
tcp -- anywhere anywhere tcp dpt:6622 state NEW recent: SET name: DEFAULT side: source
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain LOGDROP (0 references)
target prot opt source destination
LOG all -- anywhere anywhere LOG level warning
DROP all -- anywhere anywhere
MaxStartups
podem ajudar do lado daemon?Respostas:
Como @banjer apontou em seu comentário, você está tentando a solução errada para o seu problema real.
O que você precisa fazer é configurar o fail2ban . Ele usa iptables em segundo plano para bloquear automaticamente tentativas de conexão de hosts que geram tentativas de acesso com falha de várias fontes. É incrivelmente versátil e permite adicionar e modificar diferentes limites, padrões para procurar e banir métodos; você precisará ajustar um pouco a cadeia ssh padrão para dar conta da porta fora do padrão que você está usando, mas isso não deve ser difícil.
fonte
Eu uso regras como essa para desacelerar as coisas:
Em outros lugares, limito coisas como esta:
fonte
Você leu a página de manual?
man sshd_config:
fonte
Eu apenas tentei a solução de duas regras e tive o mesmo problema quando o verifiquei. Então, observo que as regras publicadas têm
-i eth0
opção! Mudei para a boa interface de rede e ela finalmente começou a funcionar.fonte
A maioria dos tutoriais usa
-A
para anexar ao final do conjunto de regras. OP usado-I
para inserir, mas sem um índice, portanto, as regras acabaram na ordem errada.Uma ferramenta valiosa para depurar regras do iptables é a
iptables -vL
lista de regras com contagem de quantas vezes cada regra foi aplicada. Quando você obtém uma contagem inesperada de 0, pode ajudá-lo a ver o que está errado.fonte