
Estou tentando configurar um firewall para meu servidor 10.5, mas simplesmente não consigo fazê-lo funcionar. O objetivo principal é tentar impedir as constantes tentativas de login de e-mail por força bruta.
Para isso instalei o fail2ban, para detectar e banir os logins com falha. Na maior parte, isso funciona, ou seja, a mecânica de enviar os endereços IP banidos e me enviar um e-mail para esse efeito é concluída. Se eu iniciar uma sessão de terminal, recebo dezenas de endereços IP listados com o seguinte comando:
sudo ipfw list
Com uma entrada parecida com:
12345 deny tcp from 123.123.23.123 to any in
Mas o banimento simplesmente não é eficaz - o mesmo endereço IP tentará novamente mais tarde, às vezes a cada poucos segundos durante horas.
Quando verifico o log do fail2ban, ele reclama (depois de detectar uma tentativa de login maliciosa várias vezes):
"WARNING [sasl-ipfw] 123.123.123.123 already banned"
Tentei formatar a proibição de diferentes maneiras:
12345 deny tcp from 123.123.23.123 to 127.0.0.1 dst-port 25
12345 deny tcp from 123.123.23.123 to 192.168.123.123 dst-port 25
Mas simplesmente não faz diferença. Eu até tentei apenas banir a rede local do serviço da web:
12345 deny tcp from 192.168.123.122 to 192.168.123.123 dst-port 80
Mas, novamente, isso não tem nenhum efeito. As outras regras, parecem padrão, na lista IPFW são assim:
12300 allow log logamount 1000 tcp from any to any established
12301 allow log logamount 1000 tcp from any to any out
12302 allow log logamount 1000 tcp from any to any dst-port 22 …
e uma regra final na lista (que li em algum lugar e não pode ser alterada):
65535 allow ip from any to any
O aplicativo de administração do servidor indica que o serviço de firewall está em execução, não há listagens de "negação" no log ipfw. As entradas corrigidas no IPFW pelo fail2ban não aparecem nas entradas do Server Admin em nenhum lugar, nem nos arquivos ipfw.conf ou ipfw.conf.apple (portanto, não tenho certeza de onde estão armazenadas). Mas eu os vejo quando recebo "lista ipfw" no terminal e eles estão listados na guia "Regras ativas" da seção Firewall no Server Admin.
Obrigado por qualquer ajuda sobre este assunto.
Responder1
Parece que seu script fail2ban está usando um número de regra muito alto. O ipfw avalia as regras em ordem numérica, e a primeira que se aplica a um determinado pacote determina o que é feito com ele. Isso significa que as regras com números mais baixos têm prioridade mais alta. Como as regras de "negação" do fail2ban estão sendo adicionadas com o número 12345, mas as regras de "permissão" configuradas pelo administrador do servidor começam em 12302, pelo menos algumas das regras de permissão estão substituindo as regras de negação do fail2ban.
Correção simples: descubra onde o número da regra está definido em seu script fail2ban e reduza-o para algo como 12200.
Aliás, o fato de as regras do fail2ban não serem adicionadas aos arquivos de configuração é normal e provavelmente bom. Esses arquivos são usados quando o firewall é recarregado (por exemplo, quando você reinicia), mas não refletem necessariamente o estado "ativo" do firewall. Se desejar, você pode editar o script fail2ban para adicionar suas regras a esses arquivos, bem como configurá-los no estado ativo, mas isso significa que seu conjunto de regras cresceria arbitrariamente com o tempo. Na IMO, o único momento em que você deve se preocupar com essas proibições "permanentes" é se continuar vendo abusos dos mesmos IPs repetidamente por um longo período de tempo... mas espero que isso seja raro.