Sobre o servidor de email que uso em meu VPS, o Maddy (→ Caddy, Maddy e GoAccessCaddy, Maddy e GoAccess
Em busca de um servidor de email que não fosse muito difícil de configurar, encontrei o Maddy Mail Server. Funcionou de primeira. Só tive problemas quando troquei o servidor web (Nginx) e apaguei por engano o pacote certbot: o Maddy…), a desvantagem de softwares assim de vanguarda é a falta de documentação.
Por exemplo, fiquei surpreso com a quantidade de tentativas automatizadas de invadir o servidor — bots que escaneiam portas abertas na internet e tentam entrar. Se o tráfego na internet fosse um cenário de filme, não seria muito diferente daqueles robôs exterminadores vagando por uma terra devastada.
Para lidar com isso, há o fail2ban. Há vários tutoriais explicando como configurar um filtro para banir automaticamente IPs agressores, mas são todos para os servidores-padrão de email. Não achei nenhum para o Maddy.
Acabei chegando numa configuração efetiva para o fail2ban:
## acrescentado em /etc/fail2ban/jail.local
[maddy-subm]
port = 465,25,587
enabled = true
filter = maddy-subm
logpath = /var/log/syslog
bantime = -1
findtime = 36000
maxretry = 1
action = iptables-multiport[name=maddy-subm, port="464,25,587", protocol=tcp]
## /etc/fail2ban/filter.d/maddy.subm.conf
[Definition]
## Exemplo de tentativa de login
# Sep 24 19:43:40 hstg.vps maddy[998]: submission/sasl: authentication failed {"reason":"no auth. provider accepted creds, last err: unknown credentials", "src_ip":"185.104.186.2:51802","username":"billing"}
##
failregex = submission/sasl: authentication failed#011{"reason":"no auth. provider accepted creds, last err: unknown credentials","src_ip":"<HOST>:.*$
ignoreregex =
Depois, após perguntar no repositório do programa, descobri que o Maddy já vem com duas configurações de "prisões" para o fail2ban (mas foi impossível chegar até essa informação apenas buscando).
Mais sobre o Maddy
Para quem não é sysadmin pró, configurar um servidor de email parece um quebra-cabeça minucioso, já que há diversos programas e configurações que precisam ser milimetricamente posicionados (já o Maddy dá conta do recado sozinho, e não é tão complexo).
Mas, mesmo com tudo funcionando, é provável que os emails sejam barrados (sobre isso vale ler: After self-hosting my email for twenty-three years I have thrown in the towel. The oligopoly has won.).
As grandes empresas que dominam o setor (como a Microsoft) simplesmente banem IPs "desconhecidos", que não sejam dos "grandes entregadores" de email, temendo spam e phishing.
Mas não tenho o que reclamar, por enquanto. Configurei o Maddy certinho conforme a cartilha, testei enviando para Gmail e domínios Microsoft e passou!