Este artigo ensina a filtrar no seu gateway ou firewall os e-mails recebidos através de POP3 de forma transparente, sem necessidade de configuração por parte dos seus usuários.
Por incrível que pareça, a parte mais difícil já foi...
Depois de baixar o .tar.gz do site (ou usar um pacote já
compilado para a sua distro) e instalar o clamav,
vamos compilar o pop3vscan.
Descompacte em algum lugar e simplesmente dê um "make"
(edite o Makefile se quiser):
$ make
Depois disso será criado o binário do pop3vscan, mova-o para
algum lugar, como "/usr/local/sbin" por exemplo e mova o
pop3vscan.conf e pop3vscan.mail para o /etc:
O arquivo "pop3vscan.mail" é o que será enviado para o usuário
em caso de um vírus ser encontrado. Portanto, edite-o da
forma que quiser.
Edite o arquivo pop3vscan.conf e adapte para suas necessidades,
os parâmetros mais importantes são:
port = 8110
# Padrão 8110 (NÃO USE PORTA ABAIXO DE 1024!!!)
user = mail
# O usuário que o pop3vscan vai rodar (NÃO USE O ROOT!!!)
virusdir = /var/spool/pop3vscan
# Diretório onde os vírus serão colocados (o usuário
# acima precisa de direitos de escrita e leitura!)
scannertype = basic
# Se você optou por utilizar o clamav (ou outro que não
esteja listado, avpd ou trophie)
scanner = /usr/bin/clamdscan --no-summary -i
# Comando de execução do clamav
viruscode = 1
# No caso do clamav, este é o código de erro que é retornado
# em caso de vírus encontrado
virusregexp = .*: (.*) FOUND
# expressão regular que quando verdadeira indica a
# existência de vírus. Casa com a saída do comando do
# seu scanner de vírus (clamav no caso)
template = /etc/pop3vscan.mail
# Local onde gravou o pop3vscan.mail
Lembrete: Este computador deve ser o default gateway ou
ou firewall da sua rede, ou o tráfego não irá passar por ele...
Pronto! Todo o tráfego que passar pela "eth0" com destino à
Internet na porta 110 será redirecionado para o pop3vscan e
scaneado contra vírus, de forma transparente, sem necessidade
de nenhuma configuração dos usuários.
Divirta-se.
Um pequeno FAQ
P.: O pop3vscan não consegue scanear!!!
R.: Verifique as permissões do clamav. Caso esteja rodando o
clamdscan, verifique as permissões 2 vezes. Veja se o
usuário do clamd tem acesso aos arquivos temporários que o
pop3vscan cria.
[1] Comentário enviado por fabio em 20/01/2005 - 06:32h
Bacana esse recurso, nem sabia que existia pop com suporte a scan. Agora, um coisa que nós, administradores de sistemas devemos ter ciência é que o local apropriado para se fazer o scan de vírus é no MTA e não no software de POP.
Digo isso porque geralmente, pra não dizer sempre, o software de POP consome mais recursos do servidor do que o MTA em si.
Outra coisa a se considerar, óbvio, se seu MTA já tiver antivírus, implementar essa solução será redundante. hehehe
Agora, dependendo do caso, esse recurso pode ser bem útil. Por exemplo, se você tem um servidor só pra SMTP e outro só pra POP.
Bom Allan, parabéns pelo artigo, essa foi novidade pra mim :)
[2] Comentário enviado por allangood em 20/01/2005 - 10:10h
Olá Fábio, a intenção de filtrar POP3 de forma transparente é para impedir que usuários com contas externas de POP3 (não a sua) tragam vírus para sua rede. Como o meu caso. Temos antivírus no nosso SMTP, e deixamos a porta de POP3 liberada para qualquer acesso. Nossos usuários podem baixar e-mail do pop, bol, etc sem risco para nossa rede.
[5] Comentário enviado por linoxman em 20/01/2005 - 21:09h
Ola Allan
Eu implantei essa solucao na minha rede, porem os Outlocos dos usuarios travavam em algumas menssagens, dai tinha que baixar tudo de novo. Nao o outlook que trava, mas as messagens. Tipow tava baixando a menssagem 5 e ficava ate dar time out.
Voce chegou a presenciar isto ?
Agora estou testando na minha rede em casa o p3scan que e um fork do pop3vscan, porem estou com outros problemas com ele.
[9] Comentário enviado por allangood em 08/03/2005 - 12:30h
É isso mesmo. O pop3vscan não está mais em produção, o autor "passou a bola" pro p3scan.
Isso porque o segundo oferece mais funcionalidades e está com o código mais "maduro".
[12] Comentário enviado por allangood em 09/03/2005 - 13:24h
Reimassupilami, vamos resolver seus 2 problemas. Primeiro o mais fácil:
Baixe os includes do pcre (se estiver usando debian: apt-get install libpcre3-dev) e pronto.
O arquivo "pop3vscan.mail" será enviado para o usuário que recebeu o arquivo infectado (seu usuário). na verdade não recebe o arquivo, ele é apenas um "template".
Aproveitando o comentário, o pop3vscan "saiu de linha", aconselho a usar o p3scan mencionado anteriomente.
[15] Comentário enviado por allangood em 09/03/2005 - 15:50h
Realmente esqueci de falar do iptables, vamos lá:
Você disse:
"- eu tenho uma regra de firewall usada para que os clientes possam utilizar pop e smtp externo no outlook:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE"
A única ressalva é criar a regra (que está no artigo) ANTES desta, ou o redirecionamento não vai funcionar.
Quanto ao erro que mencionou, fica complicado ajudar sem ter mais logs. Mas o usual é sempre bom rever: Permissões de acesso. O erro mais comum :)
Veja se todos os diretórios existem e reveja suas permissões Ok?
[18] Comentário enviado por linux.vitor em 03/05/2006 - 11:47h
amigo.. estou com um problema..
ele não esta ecaneando os arquivos.. ja fiz de tudo e tambem dei as permições certas. mas ele num esta scaneando..
o q poe ser?
[21] Comentário enviado por tuxricardo em 11/08/2006 - 12:33h
Tive o mesmo erro "Cant bind to socket 0.0.0.0:8110" e descobri que tinha outro processo do p3scan rodando!
Executei killall -9 p3scan e restartei o serviço :-)