Acho que a melhor maneira é modificar a configuração do fail2ban, para filtrar a porta 2222 em vez de 22.
Eu recentemente implementei o fail2ban em um novo servidor debian que me deixou com algumas configurações padrão do iptables automaticamente,
root@plutarchy:/etc/apache2# iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-N fail2ban-ssh
-A INPUT -p tcp -m multiport --dports 2222 -j fail2ban-ssh
-A fail2ban-ssh -j RETURN
Agora, quando adiciono algumas regras antigas do iptables que não quero executar pelo fail2ban, acabo com o seguinte,
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-N fail2ban-ssh
-A INPUT -p tcp -m multiport --dports 2222 -j fail2ban-ssh
-A INPUT -s 127.0.0.1/32 -i lo -j ACCEPT
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 2222 -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -j DROP
-A fail2ban-ssh -j RETURN
Note que preciso adicionar a linha -A INPUT -p tcp --dport 2222 -j ACCEPT ou não consigo ssh na caixa.
O fail2ban ainda protegerá o ssh (porta 2222) quando eu tiver essa linha inserida? Se não, como posso ter certeza de que o ssh ainda passe pelo fail2ban enquanto eu tenho a porta 80 aberta para operação normal?
Acho que a melhor maneira é modificar a configuração do fail2ban, para filtrar a porta 2222 em vez de 22.