O texto abaixo foi publicado no BR-Linux antes de 2005, e está mantido aqui por razões históricas.
Veja o material atualizado diariamente do BR-Linux em
http://br-linux.org
Filtro de e-mail executável
Publicado em 11 de junho de 2003
Esta é uma alternativa um pouco mais radical contra vírus via e-mail: o procmail-sanitizer torna impossíveis de executar diretamente todos os arquivos que você quiser "bloquear" - ou seja, você pode configurar o servidor de e-mail Linux para impedir que seus usuários de estações Windows recebam arquivos .exe, .scr, .pif e outros típicos vetores de vírus. Leia abaixo o artigo.
Filtro de e-mail executável
Augusto C. Campos (brain@matrix.com.br)
Objetivo
Apresentar o procmail-sanitizer, uma configuração para servidores de e-mail
baseados no sendmail e no procmail capaz de renomear as extensões de TODOS
os attachments executáveis (incluindo os menos óbvios, como .pif, .doc e
.scr) que chegarem ao seu servidor, para que eles não possam ser rodados
diretamente do programa cliente de e-mail dos usuários (baseados em Windows),
e ainda tornar ilegíveis os arquivos reconhecidos como vírus ou cavalos de
tróia.
Atenção: Este artigo trata sobre filtragem de e-mail no servidor.
Se você deseja filtrar e-mails no cliente (por exemplo, separar e-mails de
listas de distribuição), leia o artigo sobre o tema.
Alertas
1 - Atenção: As instruções a seguir são uma adaptação local do texto
disponível em
ftp://ftp.rubyriver.com/pub/jhardin/antispam/procmail-security.html. Não
assumimos nenhuma responsabilidade pelo que acontecer em seu sistema se você
seguir estas instruções resumidas sem verificar antes o original; este
resumo em português está aqui apenas como complemento!
2 - Nota: A partir do momento em que você alterar o /etc/sendmail.cf ou o
/etc/procmailrc, o seu serviço de e-mail passa a estar em risco. Se você não
puder testar os procedimentos a seguir em uma máquina alternativa, seus
usuários poderão estar expostos a interrupções de serviço. Lembre-se de
fazer backup de todos os arquivos de configuração, e se possível altere
a configuração do seu servidor apenas em horários de baixo tráfego.
Requisitos
Estas instruções assumem que você tem o sendmail e o procmail corretamente
instalados e em funcionamento no seu servidor de e-mail;
caso você ainda não os tenha, procure informações adicionais
antes de prosseguir.
O sendmail deve estar configurado para utilizar o procmail como agente de
entrega local. Esta configuração é padrão em diversas distribuições de
Linux, e no nosso caso se reflete na seguinte linha do arquivo
/etc/sendmail.cf:
Mlocal, P=/usr/bin/procmail, F=lsDFMAw5:/|@qSPfhn9, S=10/30, R=20/40,
A=procmail -Y -a $h -d $u
(note que a maneira de implementar esta linha pode variar; cito a nossa
configuração apenas como exemplo para você saber o que procurar, mas não
copie a linha acima sem saber o que está fazendo - caso ela não esteja
implementada, refira-se à documentação do sendmail, do procmail e de sua
distribuição de Linux).
Além disso, você deve ter o perl instalado em seu sistema, e dispor também
do utilitário mimeencode (integrante do pacote metamail). Ambos são padrão de
grande parte das distribuições de Linux, e podem ser encontrados também para
outras variantes de Unix.
Instalação
Nota: (repetindo!) A partir do momento em que você alterar o /etc/sendmail.cf ou o
/etc/procmailrc, o seu serviço de e-mail passa a estar em risco. Se você não
puder testar os procedimentos a seguir em uma máquina alternativa, seus
usuários poderão estar expostos a interrupções de serviço. Lembre-se de
fazer backup de todos os arquivos de configuração, e se possível altere
a configuração do seu servidor apenas em horários de baixo tráfego.
Este procedimento de instalação considera que o sendmail já está em
operação, e utiliza o procmail como agente de entrega. Note que não será
necessário reiniciar o servidor de e-mail (ou a máquina em si): a partir do
momento em que você gravar o arquivo /etc/procmailrc, os filtros entram em
operação.
Passo 1 - Download e instalação dos filtros
Obtenha uma cópia recente do procmail-sanitizer em
ftp://ftp.rubyriver.com/pub/jhardin/antispam/procmail-security.html.
Crie um diretório chamado /etc/procmail e copie para ele o
procmail-sanitizer.tar.gz; vá para este diretório, e descompacte o arquivo
(tar zxvf procmail-sanitizer.tar.gz). Exemplo:
mkdir /etc/procmail
cp /home/fulano/procmail-sanitizer.tar.gz /etc/procmail
cd /etc/procmail
tar zxvf procmail-sanitizer.tar.gz
Na versão que eu instalei, são extraídos na descompactação os seguintes
arquivos (que devem residir em /etc/procmail):
html-trap.procmail
poisoned-files
procmail-security.html
procmail-on-gateway.txt
sendo que apenas os dois primeiros são relevantes para a configuração.
Altere o poisoned-files se desejar incluir ou excluir determinadas extensões
ou nomes de arquivos da lista de vírus. Aproveite para criar o arquivo
/etc/procmail/to_sender.txt, contendo o texto da mensagem que será enviada ao
remetente dos arquivos identificados como possíveis vírus.
Passo 2 - Configuração do procmail
Crie um arquivo /etc/procmailrc contendo as seguintes linhas:
# inicializacao
DROPPRIVS=YES
LOGFILE=/tmp/procmail.log
PATH="/usr/bin:$PATH"
SHELL=/bin/sh
# arquivo contendo descricoes de NOMES de virus conhecidos
POISONED_EXECUTABLES=/etc/procmail/poisoned-files
# usuario local que deve receber AVISO de virus
SECURITY_NOTIFY="suporte"
# usuario local que deve receber COPIA de virus
SECURITY_NOTIFY_VERBOSE="root"
# nome do arquivo para enviar ao remetente - nao esqueca
# de cria-lo
SECURITY_NOTIFY_SENDER="/etc/procmail/to_sender.txt"
SECURITY_QUARANTINE_OPTIONAL=foo
POISONED_SCORE=25
SCORE_HISTORY=/var/log/macro-scanner-scores
SECRET="mudemudemude"
# roda o filtro
INCLUDERC=/etc/procmail/html-trap.procmail
# limpa variaveis antes de terminar
POISONED_EXECUTABLES=
SECURITY_NOTIFY=
SECURITY_NOTIFY_VERBOSE=
SECURITY_NOTIFY_SENDER=
SECURITY_QUARANTINE=
SECRET=
Se precisar de maiores informações sobre este arquivo, visite
ftp://ftp.rubyriver.com/pub/jhardin/antispam/procmail-security.html.
As regras acima irão renomear as extensões de TODOS os attachments
executáveis (incluindo os menos óbvios, como .pif, .doc e .scr) que chegarem
ao seu servidor, para que eles não possam ser rodados diretamente do
programa cliente de e-mail, e irão tornar ilegíveis os arquivos reconhecidos
como vírus ou cavalos de tróia (conforme definições no arquivo
/etc/procmail/poisoned-files). Você pode alterar a abrangência do filtro
(liberar, por exemplo, os attachs em formato .doc); as instruções estão em
ftp://ftp.rubyriver.com/pub/jhardin/antispam/procmail-security.html. Se
necessário, consulte a documentação do procmail - você verá que é possível
fazer regras flexíveis de acordo com o remetente, o subject, o destinatário,
o horário, e até combinações destas (e outras) condições.
Boa sorte!
Postado por brain em junho 11, 2003 08:57 AM