Como configurar listas brancas e negras no Mailcow com Fail2Ban / Netfilter

Se tem um servidor de email, uma das maiores ameaças são os ataques automáticos de brute-force, tentativas de login ilegítimas e scanners permanentes da internet. Felizmente, o Mailcow inclui um sistema de proteção integrado baseado em Netfilter, semelhante ao conhecido Fail2Ban.
Neste artigo vamos ver como funciona o sistema de proteção do Mailcow, como criar listas brancas, como bloquear IPs e redes inteiras, como usar gamas CIDR e que cuidados deve ter para não bloquear utilizadores legítimos.
O que é o Netfilter do Mailcow?
O Mailcow já inclui um sistema automático de deteção e bloqueio de ataques. Na prática, funciona de forma semelhante ao Fail2Ban tradicional, mas vem integrado no ambiente Docker do Mailcow.
Este sistema monitoriza logs de serviços como SMTP, IMAP, POP3, webmail, interface administrativa e API. Quando deteta demasiadas tentativas falhadas de autenticação, o IP é bloqueado automaticamente.
A grande vantagem é que não precisa de instalar Fail2Ban manualmente. A gestão é feita no painel do Mailcow e aplicada ao componente netfilter-mailcow.
Referência: documentação oficial do Netfilter no Mailcow.
Onde configurar o Fail2Ban / Netfilter
No painel do Mailcow, aceda a:
System
-> Configuration
-> Options
-> Fail2ban parameters
Nesta secção pode configurar tempo de bloqueio, número máximo de tentativas, sub-redes IPv4 e IPv6 e regras automáticas. Para listas brancas e negras, preencha os campos Allowlisted networks/hosts e Denylisted networks/hosts.
Depois de alterar estes campos, clique em Salvar e depois em Restart netfilter para que as regras sejam aplicadas.
Configuração recomendada
Uma configuração segura e bastante usada é:
Ban time: 3600
Max ban time: 10000
Max attempts: 2
Retry window: 600
IPv4 subnet size: 16
IPv6 subnet size: 128
Isto significa que o IP é bloqueado após 2 tentativas falhadas dentro de 10 minutos. O bloqueio inicial é de 1 hora e pode aumentar progressivamente em reincidências.
Como criar listas brancas
As listas brancas impedem que IPs confiáveis sejam bloqueados. São úteis para escritório, casa, VPN, sistemas de monitorização, backups, gateways SMTP e servidores internos.
No campo Allowlisted networks/hosts, pode adicionar um IP individual:
1.2.3.4
Também pode adicionar uma rede completa:
192.168.1.0/24
Ou uma gama CIDR maior:
10.0.0.0/8
Para IPv6, pode usar a mesma lógica:
2001:db8::/32
Como juntar vários IPs e redes
Pode adicionar várias entradas, uma por linha:
195.23.10.15
84.91.22.10
192.168.1.0/24
10.10.0.0/16
2001:db8::/32
Isto permite combinar IPs únicos, redes locais, VPNs, datacenters e IPv6.
Como bloquear IPs manualmente
No campo Denylisted networks/hosts, pode bloquear um IP específico:
45.67.89.10
Ou uma gama inteira:
45.67.0.0/16
O que significa /24, /16, etc?
| CIDR | Quantidade de IPs |
|---|---|
| /32 | 1 IP |
| /24 | 256 IPs |
| /16 | 65.536 IPs |
| /8 | Mais de 16 milhões |
Exemplos práticos
Para bloquear apenas um servidor:
185.220.100.15
Para bloquear uma rede inteira:
185.220.100.0/24
Tenha cuidado com ranges grandes. Evite regras como:
0.0.0.0/0
1.0.0.0/8
Um bloqueio demasiado agressivo pode bloquear Gmail, Outlook, operadoras móveis, VPNs partilhadas ou clientes legítimos.
Como ver IPs bloqueados
Na interface do Mailcow existe uma lista de bans ativos. Também pode verificar pela consola:
docker logs mailcowdockerized-netfilter-mailcow-1 -f
Como desbloquear um IP
Na interface, aceda a:
Configuration
-> Fail2ban parameters
-> Active bans
-> Remove
Reiniciar o Netfilter
Se for necessário reiniciar apenas o serviço de Netfilter:
docker compose restart netfilter-mailcow
Bloquear domínios de email
O Netfilter trabalha principalmente com IPs. Para bloquear domínios ou remetentes, use filtros próprios do Mailcow:
Configuration
-> Global filter maps
Ou filtros por domínio:
Configuration
-> Email Setup
-> Domains
-> Spam Filter
Boas práticas
Faça whitelist dos IPs do escritório, casa, VPN, monitorização e gateways SMTP confiáveis. Use gamas pequenas sempre que possível.
É melhor permitir:
192.168.1.0/24
do que abrir uma rede demasiado grande:
192.168.0.0/16
Nunca coloque em whitelist:
0.0.0.0/0
Exemplo completo
Whitelist:
195.23.10.15
84.91.22.10
192.168.1.0/24
10.10.0.0/16
Blacklist:
45.134.26.0/24
185.220.100.0/24
91.214.124.15
103.15.28.0/22
Conclusão
O sistema Netfilter do Mailcow oferece uma proteção eficaz contra brute-force, ataques SMTP, tentativas IMAP, scanners automáticos e bots de spam.
Uma boa configuração de listas brancas e negras aumenta significativamente a segurança do servidor de email sem complicar a administração. O ponto importante é usar bloqueios CIDR com cuidado para evitar bloquear utilizadores legítimos.
Se procura alojamento VPS otimizado para Mailcow, Docker e servidores de email profissionais, conheça os serviços da 1000Megabytes.
Precisa de ajuda com email?
Oferecemos soluções profissionais para Email. Fale connosco!
Servidor de Email