Eu recentemente decidi fazer alguma manutenção de segurança. Eu vi meus logs, e houve algumas tentativas contra o meu servidor SSH. No início, eu mudei a porta SSH do padrão 22. Depois disso, eu li algo sobre Fail2ban , BlockHosts e DenyHosts .
Eu dei uma olhada no primeiro: é simples de configurar, tudo é compreensível; mas quando tentei "testar sua proteção", os testes falharam . Tudo parece ser bom, mas ainda posso acessar o servidor.
Eu também testei o IPtables: # iptables -I INPUT -j DROP
- depois disso minha conexão SSH foi perdida (então, o que eu queria). Então # iptables -I INPUT -s 84.x.y.z -j DROP
, que funcionou também.
Mas, quais regras o Fail2ban fez, isso não funciona: ( $ sudo iptables -L
)
Chain INPUT (policy ACCEPT)
target prot opt source destination
fail2ban-apache tcp -- anywhere anywhere multiport dports www,https
fail2ban-ssh tcp -- anywhere anywhere multiport dports ssh
fail2ban-ssh-ddos tcp -- anywhere anywhere multiport dports ssh
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain fail2ban-apache (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere
Chain fail2ban-ssh (1 references)
target prot opt source destination
DROP all -- 84.x.y.z anywhere
RETURN all -- anywhere anywhere
Chain fail2ban-ssh-ddos (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere
Módulos do kernel carregados: ( $ lsmod | grep ip
)
iptable_nat 4680 0
nf_nat 15576 1 iptable_nat
nf_conntrack_ipv4 12268 3 iptable_nat,nf_nat
nf_conntrack 55540 4 xt_state,iptable_nat,nf_nat,nf_conntrack_ipv4
xt_multiport 2816 2
iptable_filter 2624 1
ip_tables 10160 2 iptable_nat,iptable_filter
x_tables 13284 5 xt_state,xt_tcpudp,iptable_nat,xt_multiport,ip_tables
ipv6 235396 24
Versões:
- Debian Lenny 5.06, kernel 2.6.26-2-686
- IPtables 1.4.2-6
- Fail2ban 0.8.3-2sid1
-
openssh-server
1: 5.1p1-5
Teste nº 1 passo a passo:
- Configure o Fail2ban como bantime baixo. 60 segundos Então recarregue.
- Tentativa de login (com SSH), diretamente com passwd errado.
- Pela 6ª vez, digite a senha correta (o máximo de tentativas é de apenas 4 aqui). Eu entrei. Também posso acessar a página da web hospedada por esse servidor.
-
iptables -L
me mostrou como mencionado acima. Então a proibição estava ativa, quando me conectei, comandei meu servidor.
Teste nº 2 passo a passo:
- Pare o Fail2ban. Crie um script
at
para remover a regra de proibição de gravação abaixo no futuro. ( iptables -D INPUT 1
)
- Crie uma regra de banimento:
iptables -I INPUT 1 -s 84.x.y.z -j DROP
- Eu não consegui digitar nada, a conexão SSH está inutilizável. Não consegui acessar a página da web. Então, o que eu queria do iptables.
- Após o script
at
, posso acessar meu servidor.
Eu não vejo a solução, o que devo fazer para impedir que minha proibição de IPtables (feita pelo Fail2ban) funcione?