ClamSMTP (Português)
ClamSMTP é uma ferramenta de filtragem de vírus muito simples para qualquer servidor SMTP. É muito útil com o MTA do Postfix, portanto, o artigo a seguir se aplica a isso e fornece um exemplo de uma configuração simples.
Os requisitos básicos são uma instalação do Postfix de trabalho com usuários configurados e um daemon ClamAV em funcionamento, portanto, certifique-se de tê-los instalado e configurado corretamente.
Instalação
Antes de instalar o Clamsmtp, instale e configure o Postfix, crie usuários para o seu servidor SMTP e teste se ele está funcionando. Instale o Clamav e teste-o também.
Se as duas ferramentas funcionarem bem, instale o clamsmtpAUR.
Configuração
CLAMSMTP
Vamos ver /etc/conf.d/clamsmtp
. Primeiro, altere a linha:
START_CLAMSMTP="no"
para
START_CLAMSMTP="yes"
Agora, vamos configurar o daemon, editando /etc/clamav/clamsmtpd.conf
. Você pode apagar o arquivo original ou simplesmente fazer um backup dele. Crie um novo arquivo com esse conteúdo:
# Um arquivo de configuração clamsmtpd simples OutAddress: 10025 Listen: 127.0.0.1:10026 TempDirectory: /var/spool/clamsmtp User: clamav
O Clamsmtp funciona como um daemon. O fluxo de trabalho é simples, ele escuta em uma porta especificada em seu arquivo de configuração, pega os e-mails, os escaneia via Clamav e, em seguida, os envia de volta para o Postfix por meio de outra porta.Aqui, o daemon escutará na porta 10026, depois escaneia os e-mails como usuário clamav e os envia de volta para o Postfix na porta 10025.
Em seguida, criamos o cache para clamsmtp por:
mkdir /var/spool/clamsmtp chown clamav:clamav /var/spool/clamsmtp
(Por algum motivo, o TempDirectory padrão: /tmp
retorna erros de permissão )
CLAMAV
verifique seu /etc/clamav/clamd.conf
e descomente a linha (normalmente, isso já foi feito):
#ScanMail yes
para
ScanMail yes
POSTFIX
Agora, temos que configurar o Postfix para trabalhar em conjunto com o Clamsmtp. Edite /etc/postfix/main.cf
e adicione estas duas linhas ao final do arquivo:
content_filter = scan:127.0.0.1:10026 receive_override_options = no_address_mappings
Postfix enviará e-mails para localhost na porta 10026.
Edite /etc/postfix/master.cf
:
scan unix - - n - 16 smtp -o smtp_send_xforward_command=yes # For injecting mail back into postfix from the filter 127.0.0.1:10025 inet n - n - 16 smtpd -o content_filter= -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks -o smtpd_helo_restrictions= -o smtpd_client_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks_style=host -o smtpd_authorized_xforward_hosts=127.0.0.0/8
As duas primeiras linhas criam o serviço “scan”, as outras se encarregam de aceitar o correio já escaneado do Clamsmtp da porta 10025 e de entregá-lo aos destinatários.
Teste
Agora, teste seu servidor, reiniciando os serviços clamav
, postfix
e clamsmtp
.
Envie um e-mail para você mesmo, sem quaisquer vírus
Se nenhum e-mail chegar, verifique /var/log/mail.log
por erros
Então, baixe um vírus de teste
wget http://eicar.org/download/eicar_com.zip
e envie-o como um anexo.
Verifique o arquivo de log de seu servidor novamente, você deve obter alguma coisa similar a isso:
May 23 00:04:08 servername postfix/smtp[2415]: A9B941F911: to=<user@your.postfix.server>, relay=127.0.0.1[127.0.0.1]:10026, delay=0.13, delays=0.08/0/0.04/0, dsn=2.0.0, status=sent (250 Virus Detected; Discarded Email)