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
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.
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.
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
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.
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.
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.