Unidade E - Servidor de e-mail (2ª Semana)

E.6.1. Integrando o Postfix com softwares antivírus e anti-spam

Para protegermos o nosso servidor de e-mail dessas ameaças, podemos integrar ao Postfix softwares antivírus e antimpam. No Linux esses serviços podem ser realizados por dois softwares:  ClamAV e Spamassassin.  O ClamAV é um antivírus que open-source que conta com uma extensa lista de definições de vírus e permite escanear as mensagens, removendo-as ou colocando-as em quarentena caso estejam infectadas. O Spamassassin é um filtro anti-spam que possui uma base de dados com endereços IP e conteúdos que são utilizados para identificar spams. Estes dois softwares, que podem ser associados ao Postfix através do Amavis, são capazes de interceptar as mensagens que chegam ao servidor de e-mail,  encaminhando-as ao antivírus e ao anti-spam, antes que as mesmas sejam encaminhadas para as caixas postais dos usuários. Para instalar estes softwares no Debian/Linux devemos executar os seguintes comandos:

# apt-get install clamav clamav-daemon
# apt-get install amavisd-new
# apt-get install spamassassin

O primeiro passo, após a instalação desses pacotes, é configurar a comunicação entre o Postfix e o Amavis. Para tanto, é necessário editar o principal arquivo de configuração principal do servidor de e-mail:

#gedit /etc/postfix/main.cf

E adicionar a seguinte instrução:

content_filter = amavisfeed:[127.0.0.1]:10024

Dessa forma, todas as mensagens recebidas pelo Postfix serão entregues ao Amavis. Também é necessário editar outro arquivo chamado master.cf 

#gedit /etc/postfix/ master.cf

E adicionar as seguintes linhas ao final:

amavisfeed unix - - n - 2 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o disable_dns_lookups=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

Para configurar a interface ente o clamav e o amavis, é necessário editar o arquivo de configuração do antivírus:

#gedit /etc/clamav/clamd.conf

E adicionar a seguinte linha ao final do mesmo:

LoadSocket  /var/run/clamav/clamd.ctl

Após realizar esse ajuste no Clamav, vamos agora configurar o Spamassasin. A primeira providência é habilitar o spamd, para isso, é necessário alterar no arquivo spamassassin que se localiza em /etc/default/:

#gedit /etc/default/spamassassin

Logo nas primeiras linhas do arquivo de configuração, você encontra a instrução ENABLED. Altere o valor da mesma de 0 para 1 e salve o arquivo de configuração.

ENABLED=1

Finalmente, devemos configurar o amavis para que o mesmo entregue as mensagens corretamente aos softwares antivírus e anti-spam. Todos os arquivos de configuração deste software encontram-se no diretório /etc/amavis/conf.d/. O primeiro passo é editarmos um arquivo chamado 15-content_filter_mode:

#gedit /etc/amavis/conf.d/15-content_filter_mode

Neste devemos, momento deve-se descomentar e descimentar as linhas grifadas (3 e 5):

  1. use strict;
  2. # You can modify this file to re-enable SPAM checking through spamassassin and to re-enable antivirus checking Default antivirus checking mode Uncomment the two lines below to enable it back
  3. @bypass_virus_checks_maps = (
    \%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);
  4. # Default SPAM checking mode Uncomment the two lines below to enable it back
  5. @bypass_spam_checks_maps = (
    \%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);
  6. 1; # insure a defined return

Também é necessário alterar outro arquivo neste mesmo diretório chamado 15-av-scaners :

#gedit /etc/amavis/conf.d/15-av-scaners

Nele devemos descomentar a linha grifada (linha 3):

  1. use strict;
    ## ##
    AV Scanners (Debian version)
    ##
  2. @av_scanners = (
    ### http://www.clamav.net/
  3. ['ClamAV-clamd', \&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd.ctl"], qr/\bOK$/, qr/\bFOUND$/, qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],

Por fim, devemos permitir que o Amavis tenha acesso aos arquivos utilizados pelo  Clamav . Para tanto, é necessário adicionar o usuário clamav ao grupo amavis, para que os mesmos possam trocar informações.

# adduser clamav amavis

É necessário um procedimento semelhante para que o amavis e o spamassassin possam interagir. Para isso, é necessário passar a posse dos arquivos de configuração armazenados no diretório /usr/share/spamassassim para o usuário amavis.

# chown –R  amavis:amavis /usr/share/spamassassim

Para efetivar todos esses ajustes, basta reiniciar os serviços:

# /etc/init.d/postfix restart
#/etc/init.d/clamav-daemon restart
#/etc/init.d/clamav-freshclam restart
#/etc/init.d/amavis restart

Ao final desse processo, tais serviços estão integrados, basta agora customizá-los de acordo com a necessidade de sua rede local.

 

 

Mais: Para conhecer melhor os recursos desses softwares acesse: http://www.ijs.si/software/amavisd/ (Amavis), http://www.clamav.net/lang/en/, (Clamav) e http://spamassassin.apache.org/ (Spamassassin)