Usando o Postfix como Gateway para filtro de mensagens (ClamAV + SpamAssassin) no Debian Etch
Hoje eu precisei ajudar um amigo a configurar um Postfix no firewall para que ele receba as mensagens de correio eletrônico, filtre seu conteúdo e mande-as para o servidor de correio interno (Qmail). Resolvi postar a solução aqui no blog, baseada nas documentações encontradas neste link e neste link.
Vamos lá. Para instalar o Postfix, o Clamav e o Spamassassin:
apt-get install postfix spamassassin spamc clamav
Agora edite o arquivo /etc/defaults/spamassassin e mude ENABLED=0 para ENABLED=1. Edite também o arquivo /etc/spamassassin/local.cf e descomente as linhas:
rewrite_header Subject *****SPAM*****
report_safe 1
required_score 5
use_bayes 1
bayes_auto_learn 1
Inicie o serviço do spamassassin:
/etc/init.d/spamassassin start
Agora crie a pasta /var/spool/filter
mkdir /var/spool/filter
chown clamav /var/spool/filter
Dentro do arquivo /etc/postfix/master.cf procure pela linha que começa com smtp inet e altere para que fique como abaixo:
smtp inet n – n – – smtpd
-o content_filter=clamav:clamav
Dentro do mesmo arquivo, adicione após a última linha:
clamav unix – n n – 15 pipe
flags=Rq user=clamav argv=/usr/lib/postfix/clamav-filter.sh -f ${sender} — ${recipient}
Ainda no master.cf, procure a linha que começa com a palavra local e comente-a.
Agora vamos para o arquivo /etc/postfix/main.cf. Procure as linhas abaixo, altere as que existirem como está abaixo (ou acrescente as linhas que nao existirem):
myorigin = seudominio.com
mydestination =
local_recipient_maps =
local_transport = error:local mail delivery is disabled
mynetworks = 127.0.0.0/8 12.34.56.0/24 # sua rede interna
relay_domains = correio.local # a sua maquina de correio para a qual o gateway vai mandar os emails
parent_domain_matches_subdomains = debug_peer_list smtpd_access_maps
relay_recipient_maps =
transport_maps = hash:/etc/postfix/transport
command_time_limit = 1h
Agora, crie o arquivo /etc/postfix/transport com a linha:
seudominio.com smtp:correio.local
Execute:
postmap /etc/postfix/transport
Baixe o script do Deives Michellis para a pasta /usr/lib/postfix
cd /usr/lib/postfix
wget http://www.parruda.net/downloads/clamav-filter.sh
chmod +x clamav-filter.sh
E pronto! Agora mande um
/etc/init.d/postfix restart
tail -f /var/log/mail.info
e monitore se as mensagens estão sendo repassadas para o seu servidor da rede local, e se estão indo filtradas!

