Ola Pessoal,

        Não sei mais alguém aqui usa este mesmo tipo de solução, mas eu queria 
compartilhar um pouco do sucesso que eu tive em reduzir a carga de meia duzia 
de servidores de e-mail que eu cuido usando fail2ban e qmail. A redução nos 
meus casos foram de na casa de 20% na carga média da maquina durante uns dois 
meses que eu estou monitorando as maquinas graficamente via munin. A maquinas 
que eu instalei são maquinas de hosting onde deve ter uns 100 domínios cada e 
na casa de 5000-8000 emails ativos.
        A solução que a gente encontrou aqui que diminuiu bastante nosso 
problema de carga com SA e o qmail foi dar um ban via pf de IPs que não estão 
se comportando como deviam, e também mantendo uma lista de servidores de email 
marketing (eu não entendo ainda a diferença disso pra SPAM) que não são bem 
vindos. O que a gente faz é dar ban pelo domínio nos ips dos servidores listado 
no cdb do qmail como deny (ex.: =.virtualtarger.com.br:deny), dar ban em todo 
mundo que aparece em RBL, dar ban em todo mundo que da probe no relay da porta 
25, e dar ban em todo mundo que da failed_rcptto (eu estou testando agora uns 
bans em DNSs com os strings "mkt" e " marketing"). O banimento é temporário e 
varia de caso em caso. Por exemplo failed_rcptto a gente ta colocando 30 mins, 
enquanto RBL são 6 horas, ja o deny são na casa de 1 dia.
        Isso diminuiu o numero de conexões simultâneas no qmail de forma 
absurda. De mais de 50 simultâneas pra menos de 10, e o SA também tem 
trabalhado menos o que diminuiu a carga das maquinas.

        Alguns dos nossos arquivos de configuração (simplificados):

filter.d/qmail.conf

failregex = (?: rblsmtpd: | tcpserver: deny [\d].* | 
Reject::RCPT::Failed_Rcptto: P:ESMTP S:| Reject::SNDR::Invalid_Relay: P:ESMTP 
S:)<HOST>
ignoreregex = (?: .*terra.com.* | .*hotmail.com.*  | .*google.com.* )

action.d/pf.onf
actionban = pfctl -t fail2ban -T add  <ip>
actionunban = pfctl -t fail2ban -T delete `pfctl -t fail2ban -T show 
2>/dev/null | grep <ip>`

jail.conf
[qmail-pf]
enabled = true
filter = qmail
action = pf
logpath = /var/log/qmail/qmail-smtpd/current
maxretry = 1
bantime = 3600

pf.conf
table <fail2ban> persist
block in quick from <fail2ban> to any 
block out quick from any to <fail2ban>

        Do mais de 600 clientes com uns 20 mil usuários não tivemos muitas 
reclamações. E as reclamações tem ido no ignoreregex e resolvido (os arquivos 
ali em cima são simplificações das nossas configurações verdadeiras). 

        O que eu estou procurando agora é sugestões de como afinar ainda mais 
essa solução.


Abraços,


Jean


        
-------------------------
Histórico: http://www.fug.com.br/historico/html/freebsd/
Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd

Responder a