Postfix com Mailscanner + Spamassassin + Clamav

OBS.: Neste artigo iremos considerar que o serviço SMTP com Postfix já está funcionando corretamente.

Instalando Pacotes

Primeiramente iremos atualizar a lista de pacotes do repositório.

root@debian:~# aptitude update

E em seguida iremos instalar os pacotes necessários:

root@debian:~# aptitude install clamav clamav-freshclam clamav-daemon 
root@debian:~# aptitude install mailscanner razor spamassassin

Configuranções do Clamav

Para realizar a atualização do anti-virus, execute:

root@debian:~# freshclam

Não esqueça de colocar esse comando no crontab para que a lista de e-mails esteja sempre atualizada.

Obs.: No Debian normalmente isso é realizado automaticamente sem a necessidade de agendamento no crontab.

Você também pode verificar vírus no seu diretório $HOME:

root@debian:~# clamscan -ri /home

Configurações do Mailscanner

A seguir vamos configurar o Mailscanner.

root@debian:~# vi /etc/MailScanner/MailScanner.conf

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

Virus Subject Text = ***VIRUS***
Filename Subject Text = ***ARQUIVO BLOQUEADO***
Content Subject Text = ***CONTEUDO PERIGOSO***
Size Subject Text = ***TAMANHO ALTERADO***
Phishing Subject Text = ***FRAUDE***
Spam Subject Text = ***SPAM***
High Scoring Spam Subject Text = ***SPAM***

E aqui habilitar para que seja carregado.

root@localhost:~# vi /etc/default/mailscanner

[...]
run_mailscanner=1

Uma opção importante que precisamos configurar é alterar o binário do clamav que será utilizado para realizar a verificação de virus das mensagens.

O comando “clamdscan” conecta ao daemon via unix-domain ou tcp sockets “clamd” e solicita que o daemon verifique o arquivo. Manter o clamd rodando e apenas solicitar verificacoes pelo cliente agiliza bastante o processo de verificacao. Dessa maneira, voce evita o desperdicio de recursos que seria carregar todo o banco de dados de virus apenas para scanear um arquivo.

Já no caso do “clamscan” que esse nao usa o clamd, ele carrega todas as definicoes de virus e depois scaneia o arquivo deixando o processo bem mais lento.

Vamos as configurações. Edite o arquivo a seguir e altere as linhas mostradas.

root@localhost:~# vi /etc/MailScanner/wrapper/clamav-wrapper

[...]
#ClamScan=$1/bin/clamscan
ClamScan=$1/bin/clamdscan
shift

if [ ! -x $ClamScan ]; then
  #ClamScan=/usr/bin/clamscan
  ClamScan=/usr/bin/clamdscan
fi

if [ "x$1" = "x-IsItInstalled" ]; then
  [ -x $ClamScan ] && exit 0
  exit 1
fi
[...]

Configuranções do Postfix

Depois configure o postfix inserindo a seguinte regra:

root@localhost:~# vi /etc/postfix/main.cf

header_checks = regexp:/etc/postfix/header_checks

Crie o arquivo header_checks e adicine a seguinte regra:

root@localhost:~# vi /etc/postfix/header_checks

/^Received:/ HOLD

Configuranções do Razor

Agora vamos registrar o razor. Essa ferramenta permite que o spamassassin realize uma filtragem melhor de Spam.

root@localhost:~# mkdir /var/lib/razor
root@localhost:~# razor-admin -create
root@localhost:~# razor-admin -register -user=empresa -home=/var/lib/razor/

Register successful. Identity stored in /var/lib/razor/identity-empresa

Configuranções do Spamassassin

Em seguida vamos habilitar o uso do spamassassin.

root@localhost:~# vi /etc/default/spamassassin

ENABLED=1
[...]

E agora configurar o spamassassin.

root@localhost:~# vi /etc/spamassassin/local.cf

rewrite_header Subject ***SPAM***

report_safe 0

trusted_networks 127. 192.168.0.

required_score 2.0
[...]

Ajustando permissões

Modifique as permissões dos seguintes arquivos/diretórios.

root@localhost:~# chown -R postfix.postfix /var/spool/MailScanner
root@localhost:~# chown -R postfix.postfix /var/lib/MailScanner
root@localhost:~# chown -R postfix.postfix /var/run/MailScanner
root@localhost:~# chown -R postfix.postfix /var/lock/subsys/MailScanner

Reiniciando os Serviços

root@localhost:~# /etc/init.d/clamav-daemon stop
root@localhost:~# /etc/init.d/clamav-freshclam stop
root@localhost:~# /etc/init.d/spamassassin stop
root@localhost:~# /etc/init.d/mailscanner stop
root@localhost:~# /etc/init.d/postfix stop

root@localhost:~# /etc/init.d/clamav-daemon start
root@localhost:~# /etc/init.d/clamav-freshclam start
root@localhost:~# /etc/init.d/spamassassin start
root@localhost:~# /etc/init.d/mailscanner start
root@localhost:~# /etc/init.d/postfix start

Logs e Outras Informações

Verifique os logs para ver se não é mostrada nenhuma falha.

Agora teste enviando um e-mail com um virus para qualquer destinatário deste equipamento e verifique se está funcionando corretamente.

Um virus pode ser baixado em http://www.eicar.com/anti_virus_test_file.htm


Voltar

linux/artigos/smtp-postfix-mailscanner-clamav.txt · Última modificação: 13/01/2015 10:44 (edição externa)