Quem gerencia servidores Linux com cPanel/WHM sabe que nem sempre e facil lembrar de cabeca onde cada configuracao fica guardada no sistema de arquivos. No dia a dia, aliases e redirecionamentos de e-mail sao criados rapidamente pela interface web, mas com o tempo acabam acumulando dezenas de regras antigas que continuam consumindo recursos em segundo plano.
Ha pouco tempo, precisei auditar exatamente o custo de infraestrutura gerado pelos redirecionamentos de um dominio com grande volume de mensagens. A duvida era simples: quanto desse volume era apenas gravacao em caixas locais e quanto virava reenvio para fora do servidor, gerando conexoes SMTP externas e arriscando a reputacao do IP do servidor?
Neste guia, mostro o passo a passo que utilizei para inspecionar os arquivos de regras de encaminhamento, extrair metricas diretamente dos logs do Exim e separar o trafego local das conexoes de saida.
A arquitetura de redirecionamentos no cPanel#
No ecossistema cPanel, as regras de encaminhamento (forwarders) podem ser vistas em dois niveis diferentes:
- No nivel do usuario cPanel: Os encaminhadores ficam armazenados dentro do diretorio home da conta:
/home/usuario/etc/dominio.com.br/forwarders
- No nivel do servidor (Exim MTA): O Exim consulta os apontamentos oficiais diretamente no diretorio central:
/etc/valiases/dominio.com.br
Para quem esta no terminal via SSH com permissao de superusuario, o diretorio /etc/valiases/ e o local definitivo onde todas as regras de roteamento do dominio residem.
Inspecionando o arquivo de aliases#
Ao abrir o arquivo de um dominio, é possível ver como cada conta lida com as mensagens recebidas:
cat /etc/valiases/empresa.com.br
A estrutura do arquivo e direta:
contato@empresa.com.br: operacao@empresa.com.br,financeiro@empresa.com.br
diretoria@empresa.com.br: gestor@provedorexterno.com.br
supervisor@empresa.com.br: supervisor@provedorexterno.com.br
auditoria@empresa.com.br: auditoria@provedorexterno.com.br
importacao01@empresa.com.br: analista01@provedorexterno.com.br
importacao02@empresa.com.br: analista02@provedorexterno.com.br
cobranca@empresa.com.br: financeiro@empresa.com.br
logistica@empresa.com.br: supervisor@provedorexterno.com.br,coordenador@provedorexterno.com.br
vendas01@empresa.com.br: vendas01@distribuidoraexterna.com.br
*: :fail: No Such User Here
Quando o arquivo tem centenas de linhas, ler tudo manualmente e inviavel. Para encontrar rapidamente quais contas estao redirecionando para multiplos destinos (que geram as maiores cargas de multiplicacao de mensagens), eu uso este comando em awk:
awk -F': ' '{print NF-1 " -> " $0}' /etc/valiases/empresa.com.br | sort -rn
O comando usa o delimitador : , conta quantos destinos existem em cada linha e organiza do maior para o menor. Contas que redirecionam para dois ou mais enderecos aparecem no topo da lista.
No entanto, o arquivo de configuracao mostra apenas a regra. Para saber o volume real de e-mails processados, é preciso cruzar essas regras com os logs do Exim.
Analise de logs no Exim: calculando o volume real de trafego#
O arquivo /var/log/exim_mainlog registra cada transacao de entrada, rejeicao e entrega do servidor de e-mail.
1. Volume bruto de entregas#
Para saber quantas mensagens foram entregues para o dominio (seja em caixas locais ou via encaminhamento), utiliza-se o utilitario nativo exigrep filtrando apenas entregas concluidas (=>):
exigrep "empresa.com.br" /var/log/exim_mainlog | grep "=>" | awk '{print $4}' | sort | uniq -c | sort -rn
Esse comando retorna o total de entregas processadas pelo MTA para as contas daquele dominio no periodo coberto pelo log atual.
2. Volume de trafego por tamanho em bytes com eximstats#
Se voce precisa avaliar o consumo em megabytes ou entender o impacto no armazenamento e banda, o utilitario eximstats organiza essas metricas:
eximstats -ne -nr /var/log/exim_mainlog | grep -A 10 "Deliveries by destination address"
Para gerar um relatorio visual completo em HTML que possa ser analisado no navegador, execute:
eximstats /var/log/exim_mainlog > /root/relatorio_exim.html
3. Mapeando os destinatarios que mais recebem mensagens#
Este e o comando central para entender para onde os e-mails estao realmente indo:
grep "=>" /var/log/exim_mainlog | grep "empresa.com.br" | awk '{print $5}' | cut -d'<' -f2 | cut -d'>' -f1 | sort | uniq -c | sort -rn
A saida do terminal revela quem sao os maiores recebedores:
440 suporte
202 comercial
181 financeiro
89 sistema
89 analista01@provedorexterno.com.br
82 operacao
79 supervisor@provedorexterno.com.br
55 coordenador@provedorexterno.com.br
52 logistica
42 recepcao
26 compras
9 consultor@provedorexterno.com.br
8 bounce+985221-analista01=empresa.com.br@servicodeenvio.com.br
Separando entregas locais de redirecionamentos externos#
Ao analisar os dados acima, fica claro que o trafego se divide em dois grupos com impactos totalmente diferentes no servidor:
Contas locais: impacto em armazenamento e i/o de disco#
Enderecos como suporte (440 mensagens), comercial (202) e financeiro (181) sao caixas de correio locais do cPanel.
O custo operacional dessas contas reside no I/O de gravacao em disco nas pastas Maildir e no espaco em disco ocupado. O servidor recebe a mensagem via SMTP, grava no armazenamento do usuario e encerra a transacao.
Redirecionamentos externos: consumo de banda e risco para o IP#
O verdadeiro gargalo esta nos enderecos que encaminham mensagens para dominios externos:
analista01@provedorexterno.com.br: 89 envios externossupervisor@provedorexterno.com.br: 79 envios externoscoordenador@provedorexterno.com.br: 55 envios externos
Toda vez que o Exim encaminha para fora, ele precisa abrir uma nova conexao SMTP OUT para o servidor de destino, consumindo banda e tempo de conexao.
Mas ha um risco ainda maior: reputacao de IP por repasse de spam e bounces.
Repare na linha do log: 8 bounce+985221-analista01=empresa.com.br@servicodeenvio.com.br
Contas com encaminhamento ativo estao recebendo mensagens promocionais e notificacoes de erro (bounces) de terceiros. Como o redirecionador repassa tudo cegamente para o provedor externo, o seu servidor passa a ser visto pelos provedores de destino como o originador daquele spam. Se o provedor externo rejeitar essas mensagens repetidamente, o IP do seu servidor entra em listas de bloqueio (RBLs/DNSBLs).
Automatizando o calculo de envios externos#
Se voce precisa isolar apenas as entregas que foram encaminhadas para servidores externos (para fins de auditoria de uso ou medicao de trafego), filtre pelos dominios de destino:
grep "=>" /var/log/exim_mainlog | grep "empresa.com.br" | grep -E "provedorexterno.com.br|distribuidoraexterna.com.br" | wc -l
Esse comando retorna a contagem exata de entregas externas geradas pelo dominio em questao.
Boas praticas para gerenciar redirecionamentos e proteger a reputacao do IP#
Depois de levantar esses dados, algumas medidas praticas evitam problemas de sobrecarga e reputacao:
- Evite encaminhamentos diretos para provedores externos: Incentive os usuarios a configurar suas contas de e-mail no aplicativo do celular ou no Outlook via IMAP em vez de criar regras que jogam todo o lixo eletronico para fora do servidor.
- Monitore contas com multiplos destinos: Use periodicamente o filtro
awkno/etc/valiases/para identificar contas que multiplicam cada mensagem recebida por dois ou tres destinatarios. - Configure o SRS (Sender Rewriting Scheme): No cPanel/WHM, garanta que o SRS esteja ativado nas configuracoes do Exim (
Service Configuration > Exim Configuration Manager > Enable Sender Rewriting Scheme). Isso ajuda mensagens encaminhadas a passarem pelo SPF do remetente original, reduzindo falhas de entrega. - Desative redirecionamentos de contas inativas: Quando um colaborador sai da empresa, e comum deixarem um forwarder eterno ativo. Esse redirecionador continua recebendo newsletters e spams durante anos, consumindo banda desnecessaria.
Comandos simples no terminal como exigrep, awk e eximstats permitem enxergar exatamente o que esta acontecendo no fluxo de mensagens sem depender apenas dos graficos basicos do painel.
Este artigo foi útil?
Deixe uma reação rápida para apoiar o conteúdo:
Este post está licenciado sob CC BY-NC.



Comentários
Participe da discussão abaixo.
0 comentários