Configuração · 8 min read · Nov 14, 2025

Filtro de Spam Postfix usando Ubuntu Dapper, MailScanner, SpamAssassin, Razor, Pyzor, DCC e ClamAV - Página 4

3 Configuração do Pyzor, Razor, DCC, SpamAssassin e MailScanner

3.1 Configuração do Pyzor

Precisamos mudar algumas permissões no pyzor primeiro:

chmod -R a+rX /usr/share/doc/pyzor /usr/bin/pyzor /usr/bin/pyzord

Este próximo comando terá que ser modificado se você tiver uma versão diferente do python. Tente localizar o pyzor.

chmod -R a+rX /usr/lib/site-python/pyzor

Aqui fornecemos o endereço IP do servidor Pyzor ao Pyzor. Isso criará um diretório .pyzor nos diretórios home dos usuários e colocará o endereço IP do servidor em um arquivo de servidores lá. Em seguida, ele testará a conexão. Se você estiver atrás de um firewall, abra a porta 24441/udp para dentro e para fora do seu servidor. Enquanto você está nisso, também abra 6277/udp para DCC, 2703/tcp para Razor e 783/tcp para SpamAssassin:

pyzor ping

Normalmente você receberá um timeout do ping do pyzor, então não se preocupe com isso. Testaremos novamente mais tarde.

Se no futuro o endereço IP do servidor mudar, você precisará passar por esta seção novamente. Você pode encontrar o endereço do servidor Pyzor atual aqui http://pyzor.sourceforge.net/cgi-bin/inform-servers-0-3-x.

Se o Pyzor estiver funcionando, você verá “Pyzor: got response:” O Pyzor consulta um servidor Pyzor da mesma forma que seu computador consulta um servidor DNS. A única diferença prática é o número da porta que é usado. Se o Pyzor não estiver funcionando, você pode precisar abrir a porta no seu firewall ou o servidor Pyzor está ocupado.

3.2 Configuração do Razor

Crie uma configuração default.razor no diretório home do root:

cd  
rm /etc/razor/razor-agent.conf  
razor-admin -create  
razor-admin -create

O Razor v2 requer que os repórteres sejam registrados para que suas reputações possam ser calculadas ao longo do tempo e eles possam participar do mecanismo de revogação. O registro é feito com razor-admin -register. Quando razor-admin -register é invocado como root, ele negocia um registro com o Servidor de Nomeação e escreve as informações de identidade em /root/.razor/identity-username. Invocá-lo manualmente de uma das seguintes maneiras:

  1. Para registrar o usuário: foo e senha: s1kret (foo e s1kret são exemplos):
razor-admin -register -user=foo -pass=s1kr3t
  1. Para registrar com um endereço de e-mail e ter a senha atribuída:
razor-admin -register [email protected]
  1. Para ter tanto o nome de usuário (aleatório) quanto a senha atribuídos:
razor-admin -register

Eu geralmente faço apenas o número 3. Faça as seguintes alterações em /root/.razor/razor-agent.conf:

vi /root/.razor/razor-agent.conf

Mude debuglevel = 3 para debuglevel = 0 (sim, zero não “o”). Isso impedirá que o Razor preencha seu disco com informações de depuração. Também moveremos essas configurações para um lugar que o usuário Postfix possa lê-las, então adicione a linha razorhome ao final do arquivo. Essas duas linhas devem ficar assim quando terminadas:

debuglevel             = 0
razorhome             = /var/lib/MailScanner/.razor/

Testaremos o Razor mais tarde. man razor-agent.conf ou vá para http://razor.sourceforge.net/docs/razor-agent.conf.php para mais informações sobre o Razor.

3.3 Configuração e Instalação do DCC

Instale o DCC:

apt-get install dcc-client

Não estamos executando um servidor DCC, então não precisamos perder tempo verificando nós mesmos: Se você é uma grande organização (100.000 mensagens por dia), deve investigar a execução do seu próprio servidor.

Uma vez que a instalação esteja concluída, execute:

cdcc "delete 127.0.0.1"  
cdcc "delete 127.0.0.1 Greylist"

Teste nossa instalação com:

cdcc info

Você deve receber ‘requests ok’ dos servidores.

4 Configuração do MailScanner, ClamAV e SpamAssassin

4.1 MailScanner e ClamAV

Pare o Postfix:

postfix stop

Instale os pacotes:

apt-get install mailscanner clamav

Atualize as definições de vírus do ClamAV:

freshclam

Vamos começar com o MailScanner. O MailScanner que foi recém-instalado dos repositórios é uma versão muito antiga, então agora vamos removê-lo e instalar o pacote MailScanner a partir do código-fonte.

Baixe o tarball de http://www.mailscanner.info/downloads.html … No momento da redação, está na versão 4.56.8-1 e o link do tarball é http://www.mailscanner.info/files/4/tar/MailScanner-install-4.56.8-1.tar.gz. Em seguida, instale o MailScanner usando o script install.sh.

cd  
apt-get remove mailscanner  
wget http://www.mailscanner.info/files/4/tar/MailScanner-install-4.56.8-1.tar.gz  
tar zxvf MailScanner-install-4.56.8-1.tar.gz  
cd MailScanner-install-4.56.8  
./install.sh

Ignore a mensagem sobre as linhas cron que precisamos adicionar ao cron por enquanto.

Uma vez que isso esteja feito, precisamos criar um diretório para o SpamAssassin no spool e dar permissões ao postfix, se você executar sa-learn –force como root, o banco de dados bayes que é armazenado nesses diretórios mudará para root:root e o spamassassin apresentará erro ao olhar para o db. Apenas fique de olho no mail.log e você se lembrará de mudar as permissões de volta. Também desative as configurações padrão do MailScanner:

mkdir /var/spool/MailScanner/spamassassin  
mv /etc/MailScanner /etc/MailScanner.dist

Faça um backup do seu arquivo MailScanner.conf:

cp /opt/MailScanner/etc/MailScanner.conf /opt/MailScanner/etc/MailScanner.conf.back

Edite o MailScanner.conf:

vi /opt/MailScanner/etc/MailScanner.conf

Mude os seguintes parâmetros no MailScanner.conf:

%org-name% = SEUDOMINIO-COM
%org-long-name% = Nome Longo da Sua Empresa INC
%web-site% = www.seudominio.com
Run As User = postfix
Run As Group = postfix
Incoming Queue Dir = /var/spool/postfix/hold
Outgoing Queue Dir = /var/spool/postfix/incoming
MTA = postfix
Virus Scanners = clamav
Spam Subject Text = [SPAM]
Send Notices = no
Spam List = ORDB-RBL SBL+XBL
Required SpamAssassin Score = 6
High SpamAssassin Score = 10
Spam Actions = deliver striphtml
High Scoring Spam Actions = delete
Rebuild Bayes Every = 86400
Wait During Bayes Rebuild = yes
SpamAssassin User State Dir = /var/spool/MailScanner/spamassassin

As primeiras 9 linhas são basicamente necessárias para que tudo funcione, o resto é recomendado. O MailScanner.conf é bem documentado, então, por favor, leia as notas lá se você tiver alguma dúvida sobre o resto das opções que mudamos. Dê uma olhada neste arquivo de cima para baixo.

Também dê uma olhada na seção “Removendo/Registrando conteúdo perigoso ou potencialmente ofensivo” no arquivo MailScanner.conf. Tive que desativar a maioria dessas porque os clientes estavam reclamando sobre mensagens ‘{Desarmadas}’.

4.2 SpamAssassin

Primeiro precisamos desativar o arquivo de configuração padrão do SpamAssassin:

mv /etc/spamassassin/local.cf /etc/spamassassin/local.cf.disabled

Agora vamos fazer um backup do arquivo de configuração do SpamAssassin no MailScanner e depois editar:

cp /opt/MailScanner/etc/spam.assassin.prefs.conf /opt/MailScanner/etc/spam.assassin.prefs.conf.back
vi /opt/MailScanner/etc/spam.assassin.prefs.conf

Adicione estas duas linhas ao topo do spam.assassin.prefs.conf:

pyzor_options --homedir /var/lib/MailScanner/
razor_config /var/lib/MailScanner/.razor/razor-agent.conf

Mude onde o SpamAssassin procura o banco de dados Bayes, comente o caminho bayes_path padrão ou mude-o conforme necessário:

#bayes_path /var/lib/MailScanner/bayes
bayes_path /var/spool/MailScanner/spamassassin/bayes

Procure por estas linhas e mude-as conforme necessário:

bayes_ignore_header X-SEUDOMINIO-COM-MailScanner
bayes_ignore_header X-SEUDOMINIO-COM-MailScanner-SpamCheck
bayes_ignore_header X-SEUDOMINIO-COM-MailScanner-SpamScore
bayes_ignore_header X-SEUDOMINIO-COM-MailScanner-Information

“SEUDOMINIO-COM” deve ser substituído pelo que você usou para “%org-name%” no arquivo MailScanner.conf. Deixe o “X-“ no lugar.

Certifique-se de que “bayes_auto_expire 0” não esteja comentado:

bayes_auto_expire 0

Edite o SpamAssassin v310.pre para habilitar Razor e DCC

vi /etc/spamassassin/v310.pre

Descomente as seguintes linhas:

loadplugin Mail::SpamAssassin::Plugin::DCC
loadplugin Mail::SpamAssassin::Plugin::Razor2

5 Juntando Tudo

Copie as configurações do Pyzor e Razor para um lugar que o usuário Postfix possa lê-las:

cp -R /root/.pyzor /var/lib/MailScanner  
cp -R /root/.razor /var/lib/MailScanner

Agora que temos tudo lá, defina as permissões corretas:

chown -R postfix.postfix /var/spool/MailScanner/  
chown -R postfix.postfix /var/lib/MailScanner/

Vamos ver se o SpamAssassin está feliz:

su postfix -p -c 'spamassassin -x -D -C /opt/MailScanner/etc/spam.assassin.prefs.conf --lint'

Você deve ver linhas aparecendo com DCC, Pyzor e Razor que dizem carregando plugin e, esperançosamente, sem erros.

NOTA: Se você executar o sa-learn, lembre-se de executá-lo assim, su postfix -p -c ‘sa-learn –sync –force-expire -C /opt/MailScanner/etc/spam.assassin.prefs.conf’ caso contrário, quando o SpamAssassin reconstruir o banco de dados bayes, ele não poderá lê-lo.

Se tudo estiver parecendo bom, continue, se não, faça a solução de problemas e depois continue.

Finalizando esta parte, precisamos adicionar jobs cron que limparão/atualizarão/executarão o Mailscanner, você provavelmente viu a mensagem sobre isso após o script de instalação do MailScanner terminar. A razão pela qual fazemos isso agora é porque não queremos que o MailScanner inicie enquanto terminamos a configuração do SpamAssassin.

crontab -e

Adicione estas linhas:

37      5 * * * /opt/MailScanner/bin/update_phishing_sites
58     23 * * * /opt/MailScanner/bin/clean.quarantine
42      * * * * /opt/MailScanner/bin/update_virus_scanners
3,23,43 * * * * /opt/MailScanner/bin/check_mailscanner

Precisamos adicionar uma linha ao rc.local para que o MailScanner inicie em uma reinicialização:

vi /etc/rc.local

Antes da linha “Exit 0” adicione:

/opt/MailScanner/bin/check_mailscanner

Aproveite e vincule o arquivo “check_mailscanner” ao diretório bin. Assim você pode executá-lo sempre que precisar reiniciar o MailScanner:

cd /usr/bin  
ln -s /opt/MailScanner/bin/check_mailscanner check_mailscanner

Apenas para lhe dar um log limpo para olhar e reinicie:

rm /var/log/mail.log  
reboot

Se você ver alguns erros na reinicialização ao iniciar o MailScanner sobre o Perl Sys/Hostname/Long.pm, você precisará instalá-lo assim:

perl -MCPAN -e shell

Se ele perguntar se você deseja configurá-lo agora, diga não, a menos que você saiba o que está fazendo. Agora execute o seguinte para instalar o módulo:

install Sys::Hostname::Long

Quando isso estiver feito, digite “quit” para voltar ao console. Reinicie ou inicie o MailScanner com o script “check_mailscanner”.

Neste ponto, você deve ter um filtro de spam totalmente funcional. Dê uma olhada em tail -f /var/log/mail.log, deve estar praticamente livre de erros.

Este README deve ser útil para uso futuro. Copie-o para o seu filtro de spam para uma referência rápida.

POSTFIX, UBUNTU, MAILSCANNER README
************************************************
ADD DOMAIN
**********************************************
- Edite '/etc/postfix/relay_recipients', 'relay_domains' e 'transport'.
- Execute 'postmap /etc/postfix/relay_recipients'. O mesmo para 'relay_domains' e 'transport' após editar para adicionar domínios ao arquivo db.
- 'postfix reload' para o postfix ler novos arquivos db.
- Para adicionar usuários aos domínios, edite o 'relay_recipients' e 'postmap' isso.
**********************************************
CONTROLLANDO BLIST WLIST
**********************************************
- Edite /etc/postfix/sender_access
- Execute 'postmap /etc/postfix/sender_access'
- Execute 'postfix reload'
**********************************************
OUTROS ARQUIVOS DE CONFIGURAÇÃO
**********************************************
- Para editar as Configurações do MailScanner "/opt/MailScanner/etc/MailScanner.conf"
- Para editar as Configurações do spamassassin "/opt/MailScanner/etc/spam.assassin.prefs.conf"
- Para editar as Configurações do clamav "/etc/clamav/clamd.conf"
**********************************************
MISC
************************************************
- Execute 'LINUX2' se erros do postfix aparecerem sobre arquivos não correspondendo no jailroot.
- Execute 'postfix check' para ver se o postfix está sincronizado com o jailroot.
- Execute newaliases para atualizar o banco de dados /etc/postfix/aliases se alguma alteração for feita nesse arquivo..
- 'mailq' e 'qshape' para verificar a fila.
- 'check_mailscanner' para reiniciar o MailScanner.
Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.