Passo a Passo para Implementar o SpamAssassin

1. Instale o SpamAssassin

Primeiro, instale o SpamAssassin no seu servidor:

sudo apt-get update
sudo apt-get install spamassassin spamc

2. Ative o SpamAssassin

Por padrão, o SpamAssassin não é ativado. Para ativá-lo, edite o arquivo de configuração principal:

sudo nano /etc/default/spamassassin

Altere a linha ENABLED=0 para ENABLED=1.

3. Configure o SpamAssassin

O arquivo de configuração principal do SpamAssassin é /etc/spamassassin/local.cf. Você pode editar este arquivo para personalizar as regras e preferências. Por exemplo:

sudo nano /etc/spamassassin/local.cf

Você pode adicionar linhas como:

rewrite_header Subject *****SPAM*****
required_score 5.0
report_safe 0
use_bayes 1
bayes_auto_learn 1

Estas configurações marcam e-mails detectados como spam, ajustam a pontuação necessária para marcar um e-mail como spam, e ativam o aprendizado Bayesiano.

4. Integre com o Postfix

Para que o Postfix utilize o SpamAssassin, você precisará integrá-los. Uma maneira comum de fazer isso é através do Amavis, que é uma interface entre o MTA (Postfix) e os programas de filtragem de conteúdo como o SpamAssassin.

Instale o Amavis, ClamAV (antivírus), e suas dependências:

sudo apt-get install amavisd-new clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl postgrey

Após a instalação, o Amavis será automaticamente integrado com o Postfix.

5. Configure o Amavis

Verifique se o Amavis está configurado para utilizar o SpamAssassin. Normalmente, isso é feito automaticamente, mas você pode verificar o arquivo de configuração:

sudo nano /etc/amavis/conf.d/20-debian_defaults

Confirme que as linhas referentes ao SpamAssassin estão descomentadas.

6. Reinicie os Serviços

Após fazer as alterações, reinicie o SpamAssassin, o Amavis e o Postfix:

sudo systemctl restart spamassassin
sudo systemctl restart amavis
sudo systemctl restart postfix

7. Teste a Configuração

Você deve testar o sistema para garantir que o spam está sendo filtrado corretamente. Uma maneira de fazer isso é enviar um e-mail de teste com o conteúdo que normalmente seria marcado como spam.

Considerações Adicionais

  • Manutenção Regular: O SpamAssassin precisa de atualizações regulares para se manter eficaz.
  • Desempenho e Sobrecarga: A filtragem de spam pode ser intensiva em recursos, então monitore o desempenho do servidor.
  • Afinamento de Regras: Dependendo do fluxo de e-mails, você pode precisar ajustar as configurações do SpamAssassin para minimizar falsos positivos e falsos negativos.
  • Segurança Adicional: Considere implementar outras medidas de segurança, como SPF, DKIM e DMARC, para melhorar a segurança do e-mail.

Existem várias soluções prontas que instalam, configuram e fazem a manutenção de tudo isso automaticamente de forma muito mais fácil. Algumas:

https://github.com/modoboa/modoboa (Python. É a que uso atualmente) https://github.com/mail-in-a-box/mailinabox (Python. Usei antes do modoboa) https://github.com/Mailu/Mailu (Python) https://github.com/mailcow/mailcow-dockerized (PHP, Docker) https://github.com/docker-mailserver/docker-mailserver (Shell, Docker)

Tem uma lista com outras opções aqui: https://github.com/awesome-selfhosted/awesome-selfhosted#communication---email---complete-solutions