Decidi recentemente fazer alguma manutenção de segurança. Eu vi meus logs e houve algumas tentativas no meu servidor SSH. No começo, afastei a porta SSH do padrão 22. Depois disso, li algo sobre Fail2ban , BlockHosts e DenyHosts .
Dei uma olhada no primeiro: é simples de configurar, tudo é compreensível; mas quando tentei "investigar sua proteção", os testes falharam . Tudo parece estar bom, mas ainda posso acessar o servidor.
Também testei as tabelas IP: # iptables -I INPUT -j DROP
- depois que minha conexão SSH foi perdida (então, o que eu queria). Então # iptables -I INPUT -s 84.x.y.z -j DROP
, o que também funcionou.
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
- Tabelas IP 1.4.2-6
- Fail2ban 0.8.3-2sid1
openssh-server
1: 5.1p1-5
Teste # 1 passo a passo:
- Configure Fail2ban para baixo tempo de espera. 60 segundos. Então recarregue.
- Tente fazer login (com SSH) diretamente com a senha incorreta.
- Pela sexta vez, digite a senha correta (o número 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. Portanto, a proibição estava ativa, quando eu conectei, comandou meu servidor.
Teste nº 2 passo a passo:
- Pare Fail2ban. Crie um
at
script para remover a regra de proibição escrita abaixo no futuro. (iptables -D INPUT 1
) - Crie uma regra de proibição:
iptables -I INPUT 1 -s 84.x.y.z -j DROP
- Não consegui digitar mais nada, a conexão SSH é inutilizável. Não consegui acessar a página da web. Então, o que eu queria do iptables.
- Após o
at
script, eu posso acessar meu servidor.
Não vejo a solução, o que devo fazer para que meu banimento de tabelas de IP (feito por Fail2ban) funcione?