Postfix Integration · 5 min read · Jan 16, 2026
Integrando amavisd-new ao Postfix para Escaneamento de Spam e Vírus - Página 2
3 Debian Sarge
Para pacotes voláteis como ClamAV (há novos lançamentos do ClamAV com muita frequência), existe o repositório Debian-volatile (para Sarge e Woody apenas no momento da redação deste texto). Para garantir que instalamos o pacote ClamAV mais recente, editamos /etc/apt/sources.list primeiro e adicionamos a seguinte linha:
vi /etc/apt/sources.list| [...] deb http://volatile.debian.net/debian-volatile sarge/volatile main contrib non-free |
Depois, atualizamos nosso banco de dados de pacotes executando:
apt-get updateEm seguida, instalamos amavisd-new, SpamAssassin e ClamAV junto com alguns outros programas (principalmente programas que amavisd-new precisa para descompactar arquivos, pois os e-mails podem conter arquivos como anexos):
apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip unarj bzip2 unzoo libnet-ph-perl libnet-snpp-perl libnet-telnet-perl nomarch lzopVocê será solicitado a responder algumas perguntas:
Método de atualização do banco de dados de vírus: <– daemon
Site espelho do banco de dados local: <– db.de.clamav.net (Alemanha; selecione o espelho que está mais próximo de você)
Informações do proxy HTTP (deixe em branco para nenhum): <– (em branco)
Deve o clamd ser notificado após as atualizações? <– Sim
Depois, devemos configurar o amavisd-new editando /etc/amavis/amavisd.conf. Este é um arquivo muito longo com muitos comentários. A maioria das configurações padrão está ok, no entanto, certifique-se de que @bypass_virus_checks_acl e @bypass_spam_checks_acl estejam comentados, pois caso contrário, o amavisd-new não carregará o código anti-spam/-vírus (na minha cópia, a linha @bypass_spam_checks_acl estava ativa, então eu tive que comentá-la):
vi /etc/amavis/amavisd.conf| [...] # @bypass_virus_checks_acl = qw( . ); # descomente para DESABILITAR o código anti-vírus [...] # @bypass_spam_checks_acl = qw( . ); # Sem dependência padrão no spamassassin [...] |
E então você deve dar uma olhada nas configurações de spam e nas ações para e-mails de spam/vírus no mesmo arquivo. Não há necessidade de mudar nada se as configurações padrão estiverem ok para você. O arquivo contém muitas explicações, então não há necessidade de explicar as configurações aqui:
| [...] $final_virus_destiny = D_DISCARD; # (padrão é D_BOUNCE) $final_banned_destiny = D_BOUNCE; # (padrão é D_BOUNCE) $final_spam_destiny = D_REJECT; # (padrão é D_REJECT) $final_bad_header_destiny = D_PASS; # (padrão é D_PASS), D_BOUNCE sugerido [...] $virus_admin = "postmaster\@$mydomain"; # devido ao padrão D_DISCARD [...] $QUARANTINEDIR = '/var/lib/amavis/virusmails'; #$virus_quarantine_method = "local:virus-%i-%n"; # padrão #$spam_quarantine_method = "local:spam-%b-%i-%n"; # padrão $virus_quarantine_to = 'virus-quarantine'; # quarentena local tradicional $spam_quarantine_to = 'spam-quarantine'; [...] $sa_local_tests_only = 1; # (padrão: falso) #$sa_auto_whitelist = 1; # ativar AWL (padrão: falso) # Tempo limite para SpamAssassin. Isso é usado apenas se o spamassassin NÃO # sobrescrever (o que muitas vezes faz se sa_local_tests_only não for verdadeiro) $sa_timeout = 30; # tempo limite em segundos para uma chamada ao SpamAssassin # (o padrão é 30 segundos, undef desabilita) # AWL (lista branca automática), requer spamassassin 2.44 ou melhor # $sa_auto_whitelist = 1; # padrão é undef $sa_mail_body_size_limit = 150*1024; # não perca tempo no SA se o e-mail for maior # (menos de 1% do spam é > 64k) # padrão: undef, sem limitações # valores padrão, podem ser substituídos por buscas mais específicas, e.g. SQL $sa_tag_level_deflt = 4.0; # adicionar cabeçalhos de informações de spam se em, ou acima desse nível $sa_tag2_level_deflt = 6.31; # adicionar cabeçalhos 'spam detectado' nesse nível $sa_kill_level_deflt = $sa_tag2_level_deflt; # aciona ações evasivas de spam # em ou acima desse nível: bounce/reject/drop, # quarentena, e adicionando extensão de endereço de e-mail $sa_dsn_cutoff_level = 10; # nível de spam além do qual um DSN não é enviado, # efetivamente transformando D_BOUNCE em D_DISCARD; # undef desabilita esse recurso e é um padrão; $sa_spam_subject_tag = '*SPAM* '; # (padrão é undef, desabilitado) [...] |
Depois, execute estes comandos para adicionar o usuário clamav ao grupo amavis e reiniciar amavisd-new e ClamAV:
adduser clamav amavis
/etc/init.d/amavis restart
/etc/init.d/clamav-daemon restartEm seguida, devemos editar o arquivo de configuração do daemon Freshclam (que é o daemon que busca regularmente e automaticamente as novas assinaturas de vírus de um espelho ClamAV) porque contém um pequeno bug. Abra /etc/clamav/freshclam.conf e modifique a linha NotifyClamd como mostrado abaixo:
vi /etc/clamav/freshclam.conf| [...] NotifyClamd /etc/clamav/clamd.conf [...] |
Então reinicie o Freshclam (certifique-se de que nenhum outro processo Freshclam (talvez de outra instalação do ClamAV) esteja em execução, pois então nosso Freshclam falhará ao iniciar):
/etc/init.d/clamav-freshclam restartAgora temos que configurar o Postfix para direcionar e-mails recebidos através do amavisd-new:
postconf -e 'content_filter = amavis:[127.0.0.1]:10024'
postconf -e 'receive_override_options = no_address_mappings'Depois, adicione as seguintes linhas a /etc/postfix/master.cf:
vi /etc/postfix/master.cf| [...] amavis unix - - - - 2 smtp -o smtp_data_done_timeout=1200 -o smtp_send_xforward_command=yes 127.0.0.1:10025 inet n - - - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_client_restrictions= -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks=127.0.0.0/8 -o strict_rfc821_envelopes=yes -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks -o smtpd_bind_address=127.0.0.1 |
Então reinicie o Postfix:
/etc/init.d/postfix restartAgora execute
netstat -tape você deve ver o Postfix (master) escutando na porta 25 (smtp) e 10025, e amavisd-new na porta 10024:
server1:~# netstat -tap
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 localhost.localdo:10024 *:* LISTEN 4369/amavisd (maste
tcp 0 0 localhost.localdo:10025 *:* LISTEN 4895/master
tcp 0 0 *:874 *:* LISTEN 1964/rpc.statd
tcp 0 0 *:sunrpc *:* LISTEN 1553/portmap
tcp 0 0 *:auth *:* LISTEN 1932/inetd
tcp 0 0 *:smtp *:* LISTEN 4895/master
tcp6 0 0 *:imaps *:* LISTEN 3177/couriertcpd
tcp6 0 0 *:pop3s *:* LISTEN 3094/couriertcpd
tcp6 0 0 *:pop3 *:* LISTEN 3038/couriertcpd
tcp6 0 0 *:imap2 *:* LISTEN 3129/couriertcpd
tcp6 0 0 *:ssh *:* LISTEN 1943/sshd
tcp6 0 0 *:smtp *:* LISTEN 4895/master
tcp6 0 148 localhost:ssh localhost:4631 ESTABLISHED2052/0Se você quiser, agora pode adicionar Razor, Pyzor e DCC ao SpamAssassin para melhorar seu desempenho de filtragem. Razor, Pyzor e DCC são filtros de spam que usam uma rede de filtragem colaborativa. Para instalá-los, execute
apt-get install razor pyzor dcc-clientAgora temos que dizer ao SpamAssassin para usar esses três programas. Edite /etc/spamassassin/local.cf e adicione as seguintes linhas:
vi /etc/spamassassin/local.cf| [...] # dcc use_dcc 1 dcc_path /usr/bin/dccproc dcc_add_header 1 dcc_dccifd_path /usr/sbin/dccifd #pyzor use_pyzor 1 pyzor_path /usr/bin/pyzor pyzor_add_header 1 #razor use_razor2 1 razor_config /etc/razor/razor-agent.conf #bayes use_bayes 1 use_bayes_rules 1 bayes_auto_learn 1 |
Reinicie o amavisd-new depois:
/etc/init.d/amavis restartÉ isso. Agora observe seu log de e-mail (/var/log/mail.log) para ver se o amavisd-new está funcionando corretamente. O amavisd-new registrará sempre que encontrar um e-mail de spam ou vírus. Quando você (re)iniciar o amavisd-new, ele também deve registrar que carrega seu código de escaneamento de spam e vírus (se não, você provavelmente fez algo errado).
Para dar uma olhada ao vivo no seu log de e-mail, você pode usar este comando:
tail -f /var/log/mail.log(Pressione CTRL + c para sair do log.)
4 Links
- amavisd-new: http://www.ijs.si/software/amavisd
- Postfix: http://www.postfix.org
- ClamAV: http://www.clamav.net
- SpamAssassin: http://spamassassin.apache.org
- Debian: http://www.debian.org
- Ubuntu: http://www.ubuntu.com
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.