Como bloquear emails no exim/cpanel?
Se igual a mim você tem um sério e recorrente problema com SPAM por empresas enviando besteiras perguntando se você leu seu email anterior e que a “grande proposta” que eles fizeram antes ainda está disponível e bla bla bla..
Este tipo de SPAM é tão chato porque eles são tão insistente em obter resposta mas você simplesmente quer que eles desapareçam!!
Bem, agora você pode forçá-los a ir sumir para sempre, isto obviamente só funciona para empresas que estão enviando e-mails de seus próprios domínio em vez de contas do Gmail ou Hotmail genéricos, mas é muito eficaz já que nenhum e-mail desses domínios bloqueados não serão entregues a qualquer conta no seu servidor.
Eu pesquisei e encontrei alguns guias on-line mas foi realmente confuso, então eu pensei que eu iria criar o meu próprio guia detalhando como bloquear e-mails através de regras do Exim dentro do cPanel/WHM.
Siga o passo a passo abaixo:
Criando o arquivo de bloqueio
1.1- Crie o arquivo da blacklist (onde ficarão os domínios a serem bloqueados)
Obs: Você precisará de acesso ssh com permissões de root.
1 |
nano /etc/exim_blacklist |
Adicione os domínios que deseja bloquear, sempre um por linha.
1 2 3 |
dominio1.com.br dominio2.com dominio3.ru |
Obs: Sempre que adicionar um novo domínio na lista não se esqueça de reiniciar o Exim.
Configurando o Exim
Aqui é onde a mágica acontece, configuraremos o exim para capturar os domínios da lista criada acima e então ignorar todo e qualquer e-mail vindo dos domínios listados.
2.1 – Faça login em seu WHM , acesse Service Configuration >> Exim Configuration Manager e clique na aba Advanced Editor como mostra a imagem abaixo
Primeiro campo: domainlist exim_blacklist
Segundo campo: lsearch;/etc/exim_blacklist
2.2 – Desça a página e procure por um botão grande e Azul que diz + Add additional configuration setting
2.3 – Ao clicar no botão 2 campos aparecerão, no primeiro campo você deverá inserir a lista criada e na segunda o local onde o Exim deverá pesquisar os domínios a serem bloqueados.
2.4 – Desça um pouco a página e procure por um campo (grande) que diz “Section: PREROUTERS”, na caixa de texto que há abaixo insira as seguintes linhas:
1 2 3 4 5 6 |
reject_domains: driver = redirect # RBL Blacklist incoming hosts domains = +exim_blacklist allow_fail data = :fail: Connection rejected: SPAM source $domain is manually blacklisted |
3.- Desça a página até o final e clique no botão “Save” para salvar as configurações do item 2 e reiniciar o Exim.
Você pode adicionar quantos domínios desejar no arquivo /etc/exim_blacklist desde que se respeite a condição de um domínio por linha.
Sempre que realizar alteração no arquivo lembre-se de reiniciar o Exim (como precaução).
——————————————————————————–
Nos logs do Exim (/var/log/exim_mainlog) sempre que um e-mail de determinado domínio (da blacklist) for bloqueado gerará um log semelhante ao abaixo:
1 2 3 4 5 |
2017-05-28 09:58:01 H=xxxxxxxxxxx.com.br [yyy.yyy.yyy.yyy]:56567 sender verify fail for <nome@dominio.com.br>: Connection rejected: SPAM source xxxxxxxxxxx.com.br is manually blacklisted 2017-05-28 09:58:01 H=xxxxxxxxxxx.com.br [yyy.yyy.yyy.yyy]:56567 X=TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256 CV=no F=<nome@dominio.com.br> rejected RCPT <destinatario@dominio.com.br>: Sender verify failed 2017-05-28 09:58:02 H=xxxxxxxxxxx.com.br [yyy.yyy.yyy.yyy]:56567 Warning: "Detected session with all messages failed" 2017-05-28 09:58:02 H=xxxxxxxxxxx.com.br [yyy.yyy.yyy.yyy]:56567 Warning: "Increment slow_fail_block Ratelimit - xxxxxxxxxxx.com.br [yyy.yyy.yyy.yyy]:56567 because of all messages failed" 2017-05-28 09:58:02 SMTP connection from xxxxxxxxxxx.com.br [yyy.yyy.yyy.yyy]:56567 closed by QUIT |
Obs: Obviamente ocultei as informações de IPv4 e domínios.
CONCLUSÃO
Com a configuração acima todos os e-mails que correspondem aos domínios na lista serão ignorados, o remetente não vai saber, você não vai saber e você pode continuar o seu trabalho em total paz.