Arquivos históricos do BR-Linux.org apresenta:

Linux in Brazil (Postfix + Amavis )

Introdução

Luciano Linhares Martins (lmartins@matrix.com.br)

Atualmente a Internet é o maior meio de propagação de vírus. Dentre os meios de transmissão de vírus na Internet, a disseminação de vírus pelo correio eletrônico é a que tem maior destaque. Para tentar minimizar esse problema e oferecer uma proteção maior aos usuários do correio eletrônico, vêm-se instalando programas que visam detectar a presença de vírus nas mensagens que trafegam no servidor de correio eletrônico e interceptá-las.

Dentre as diversas soluções de servidor de correio eletrônico com antivírus, destaca-se a que utiliza o servidor de e-mail postfix com o amavis. A seguir será explicado como utilizar essa solução.

Esse documento pressupõe que o usuário já tenha o postfix rodando e configurado corretamente. Caso você não tenha o postfix instalado e tenha dúvidas sobre o seu processo de instalação, recomenda-se a leitura do manual de instalação do postfix, que pode ser encontrado nessa dica ou através dos manuais que constam no site do postfix: http://www.postfix.org

Fazendo o download do Amavis:

Nesse tutorial, vai ser utilizada a versão 11 do amavis-perl. Ela pode ser obtida na pagina de downloads do Amavis: http://www.amavis.org/download.php3

Ou direto no link: http://www.amavis.org/dist/perl/amavis-perl-11.tar.gz

Descompactando o Amavis

# tar xvfz amavis-perl-11.tar.gz

Entrando no diretório do Amavis

# cd amavis-perl-11

Antes de iniciar o processo de instalação é recomendável ler o arquivo README, nele encontra-se as informações necessárias para a instalação. Dependendo do sistema que você vai estar instalando pode necessitar instalar diversos pacotes adicionais ou não.

Os requisitos para a instalação são:

A maioria dos compactadores de arquivos podem ser encontrados em: ftp://sunsite.unc.edu/pub/Linux/utils/compress/

A instalação deles no Linux não apresenta problemas, exceto o zoo, que necessita da aplicação de um patch. Como alguns usuários não tem intimidade com a aplicação de patch vou explicar a instalação do zoo.

Obter os seguintes pacotes: ftp://sunsite.unc.edu/pub/Linux/utils/compress/zoo-2.10-3.src.rpm

Infelizmente, o source do zoo, só existe o source no formato rpm nesse endereço, algumas distribuições, como o Debian, utilizam outro sistema de gerenciamento de pacotes. Se você utiliza Debian não desanime, basta digitar "apt-get install zoo".

Instalando o source do zoo: # rpm -ivh zoo-2.10-3.src.rpm

Aplicando o patch e compilando o zoo:

# cd /usr/src/redhat/SOURCES
# tar xvfz zoo-2.10.tar.gz
# gzip -d zoo-2.10.linux.diff.gz
# cd zoo-2.10
# patch -p1 < ../zoo-2.10.linux.diff
# make linux
# make install
# ln -s /usr/local/bin/tzoo /usr/local/bin/zoo

Muito desses compactadores podem acompanhar a sua distribuição ou existirem pacotes adaptados para ela. A forma de instalação deles vai de acordo com a suas habilidades e necessidades.

Adicionando o usuário vscan:

# adduser vscan

Instalando os módulos PERL necessários:

Antes de instalar os módulos necessários, é recomendável você rodar o script de configuração para ver quais módulos de configuração faltam no seu sistema:

# ./configure --enable-smtp --enable-postfix --with-amavis-user=vscan

Iniciando a shell CPAN

# perl -MCPAN -e shell

Se for a primeira vez que você utiliza a shell CPAN, vão ser feitas algumas perguntas, a seguir vou demonstrar os passos que foram seguidos, a configuração padrão:

Are you ready for manual configuration? [yes]
CPAN build and cache directory? [/root/.cpan]
Cache size for build directory (in MB)? [10]
Perform cache scanning (atstart or never)? [atstart]
Policy on building prerequisites (follow, ask or ignore)? [follow]
Where is your gzip program? [/bin/gzip] 
Where is your tar program? [/bin/tar] 
Where is your unzip program? [/usr/bin/unzip] 
Where is your make program? [/usr/bin/make] 
Where is your lynx program? [/usr/bin/lynx] 
Where is your ncftpget program? [/usr/bin/ncftpget] 
Where is your ftp program? [/usr/bin/ftp] 
What is your favorite pager program? [/usr/bin/less] 
What is your favorite shell? [/bin/bash] 
Parameters for the 'perl Makefile.PL' command? [] 
Parameters for the 'make' command? [] 
Parameters for the 'make install' command? [] 
Timeout for inactivity during Makefile.PL? [0]
Your ftp_proxy?  
Your http_proxy?  
Your no_proxy?  
Select your continent (or several nearby continents) [] 7
Select your country (or several nearby countries) [] 2
Select as many URLs as you like [] 3
Your favorite WAIT server?
   [wait://ls6.informatik.uni-dortmund.de:1404] 
cpan>
Você esta na shell CPAN:

Agora deve-se instalar os módulos que não foram encontrado no seu sistema, nesse exemplo vai ser demonstrada a instalação de todos os módulos.

cpan> install Unix::Syslog
cpan> install Convert::UUlib
cpan> install Convert::TNEF
cpan> install Compress::Zlib
cpan> install Archive::Tar
cpan> install Archive::Zip
cpan> install G/GB/GBARR/MailTools-1.15.tar.gz
cpan> install MIME::Tools
cpan> install Bundle::libnet

Se algum desses modulos perl já existir no sistema e tentar-se instalá-lo novamente, ele vai verificar se a versão instalada é a mais atual, caso não seja, vai ser instalada a versão mais recente.

Instalando o programa:

Após a instalação dos compactadores, módulos perl e outras dependências necessárias para o Amavis o próximo passo é instalar o Amavis:

Configurando o Amavis:

# ./configure --enable-smtp --enable-postfix --with-amavis-user=vscan

O resultado final deve ser algo semelhante ao apresentado abaixo:

####################################################################
** Configuration summary for amavis perl-11 2001-04-07:
  Install amavis as:          /usr/sbin/amavis
  Configured for use with:    postfix
  Relay configuration:        no
  Enable SMTP:                yes
  Use SMTP port:              10025
  Use virus scanner(s):       McAfee Virusscan
  Scanner runs as:            vscan
  Logging to syslog:          yes
  Quarantine directory:       /var/virusmails
  Max. recursion depth:       20
  Add X-Virus-Scanned header: yes
  Display AMaViS credits:     no 
  Warn sender:                yes
  Reports sent to:            virusalert
  Reports sent by:            postmaster
To accept the above, type "make"
###################################################################

Compilando e instalando o sistema

# make
# make install

Antes de rodar o "make install", você pode rodar o "make check" para testar se o amavis esta funcionando corretamente.

O amavis vai ser instalado no diretório /usr/sbin, apos a instalação pode-se editar o arquivo "/usr/sbin/amavis" e traduzir as mensagens de aviso de alerta de vírus para o português.

Configurando o postfix

A configuração do postfix é relativamente simples. Necessita-se que a versão do postfix seja posterior ao snapshot 20000529. Caso a sua versão seja anterior a essa, favor fazer o upgrade para que o conjunto postfix+antivírus funcione corretamente.

Adicionar a seguinte linha ao arquivo main.cf:

content_filter = vscan

Adicionar as seguintes linhas ao arquivo master.cf:

vscan     unix  -       n       n       -       10      pipe user=vscan 
    argv=/usr/sbin/amavis ${sender} ${recipient} 
localhost:10025 inet    n      -        n       -       -      smtpd
    -o content_filter=

Após isso, basta reiniciar o seu postfix que ele estará funcionando corretamente com o antivírus:

# postfix reload

Testando o sistema

Para testar a instalação do sistema, pode ser feito o download do arquivo eicar.com em (http://www.eicar.org/download/eicar.com), que é um arquivo para teste de antivírus, anexá-lo em uma mensagem e envia-la para algum usuário do seu sistema.

Notas

Existem outras formas de configurar e instalar o sistema postfix+amavis, esse forma escolhida por ser uma das mais simples e apresentar um bom resultado. Caso ela não sirva para o seu sistema, você pode consultar a documentação do amavis e do próprio postfix sobre outros procedimentos de instalação e configuração.

Boa sorte.

Referencias:

Amavis: http://www.amavis.org/amavis.html

Postfix: http://www.postfix.org


O Arquivo Histórico do BR-Linux.org mantém no ar (sem alteração, exceto quanto à formatação) notícias, artigos e outros textos publicados originalmente no site na segunda metade da década de 1990 e na primeira década do século XXI, que contam parte considerável a história do Linux e do Open Source no Brasil. Exceto quando indicado em contrário, a autoria dos textos é de Augusto Campos, e os termos de uso podem ser consultados na capa do BR-Linux.org. Considerando seu caráter histórico, é provável que boa parte dos links estejam quebrados, e que as informações deste texto estejam desatualizadas.