O ClamAV é um dos mais conhecidos antivírus desenvolvidos para Linux. Nesse tutorial vamos compilar, instalar e configurar o ClamAV. Além disso, vamos configurar sua proteção residente para utilizar o DazukoFS.
Há uma forma bastante simples de testar o ClamAV e ver se ele está funcionando corretamente: baixando o EICAR, um conhecido arquivo de teste de antivírus. Esse arquivo não contém na verdade nenhum vírus. Apenas todos os antivírus o adicionam às suas bases de dados para que seja possível verificar seu funcionamento. Assim, se seu antivírus detectar um vírus nesse arquivo, não se espante, seu computador não está infectado! Apenas seu antivírus está funcionando corretamente.
Vamos ver como o ClamAV se comporta diante desse arquivo:
1. Crie uma pasta de teste para baixar o arquivo de teste (o comando a seguir é só um exemplo) e entre nessa pasta:
mkdir /home/vinicius/teste
$ cd /home/vinicius/teste
2. Baixe o arquivo de teste eicar.com e salve-o nessa pasta. Isso pode ser feito também através de um comando no terminal:
wget http://www.eicar.org/download/eicar.com
3. Agora, execute no terminal o comando:
clamscan
Se ele retornar uma mensagem como a seguir:
/home/vinicius/teste/eicar.com: Eicar-Test-Signature FOUND
----------- SCAN SUMMARY -----------
Known viruses: 678712
Engine version: 0.95.2
Scanned directories: 1
Scanned files: 1
Infected files: 1
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 2.597 sec (0 m 2 s)
é sinal de que a detecção de vírus do ClamAV está funcionando corretamente. Agora vamos testar a proteção residente.
4. Tente agora abrir o arquivo:
vi eicar.com
Se for negado o acesso ao arquivo, é sinal de que a proteção residente do ClamAV também está funcionando corretamente.
Feito isso, você tem a certeza de que o ClamAV está instalado no seu computador e que está funcionando adequadamente.
[2] Comentário enviado por vinyanalista em 16/01/2010 - 09:24h
Infelizmente, meu caro, não há uma versão do DazukoFS para Windows. Ele é desenvolvido apenas para Linux, até porque se você for ver direitinho não há necessidade de se utilizar um DazukoFS no Windows.
Explico:
Os antivírus necessitam monitorar o acesso aos arquivos para que possam executar a famosa proteção residente.
No Linux, quem poderia fornecer essas informações aos antivírus seria o kernel, que está lidando diretamente com os programas e os arquivos. Acontece que ele não disponibiliza por si só essas informações aos aplicativos (desconheço o motivo, mas acredito que seja por questões de segurança), e era muito difícil desenvolver um antivírus para Linux que executasse tal monitoramento. Isso fez com que muitos desenvolvedores inclusive desistirem de implementar proteção residente em seus antivírus.
Por isso que foi desenvolvido o DazukoFS, um módulo que se integra ao kernel e resolve esse problema dos antivírus, permitindo a eles saber quais arquivos estão sendo acessados, por qual aplicativo e por qual usuário estão sendo acessados e permitir ou negar o acesso ao arquivo.
No Windows, vemos que todos os antivírus hoje possuem proteção residente sem precisar de nenhum recurso especial para oferecê-la. Aliás, mesmo os mais antigos já possuíam (eu utilizo Windows há pelo menos 8 anos). Então chegamos à conclusão que o próprio sistema fornece aos antivírus informações sobre o acesso aos arquivos. Por isso não houve necessidade de se desenvolver um artifício como o DazukoFS para o Windows.
O ClamWin poderia executar proteção residente utilizando os recursos que o próprio Windows oferece. Acredito que falta um pouco de pesquisa da parte de seus desenvolvedores em como implementar esse recurso.
E não digo isso sem base, digo por experiência própria: eu já desenvolvi em Delphi um aplicativo que intercepta o uso do teclado e o logon/logoff de usuários do sistema. Se há funções do Windows que permitem fazer isso, também devem haver funções que permitam interceptar o acesso aos arquivos.
Resumindo, acredito que no caso do ClamWin a solução do problema da proteção residente não esteja nas mãos do usuário, mas nas mãos dos desenvolvedores. Resta a nós esperarmos que eles implementem esse recurso ou, como se trata de código-aberto, ajudá-los a fazer isso, se tivermos conhecimento para tal.
Obrigado pelo interesse no meu artigo e até a próxima!
[4] Comentário enviado por vinyanalista em 30/01/2010 - 00:24h
Olá magnolinux. Que bom que você gostou do meu artigo.
Respondendo suas dúvidas:
1ª - Tanto o clamdscan quanto o clamscan são utilitários do ClamAV que podem ser usados para verificar a existência de vírus nos arquivos e quase todos os parâmetros de um podem ser usados também no outro. A diferença principal entre eles consiste na base de dados que eles utilizam: enquanto o clamscan carrega a base de dados do disco rígido, o clamdscan utiliza a base de dados que já está na memória e está sendo utilizada pelo clamd. Logo, o clamdscan é mais rápido que o clamscan, pois não necessita carregar a base de dados toda vez em que é executado. Outra diferença importante é que o clamdscan necessita que o clamd esteja em execução, enquanto o clamscan dispensa essa preocupação.
2ª - O parâmetro -d que você passa para o freshclam ordena que ele seja executado como daemon. Isso quer dizer que ele ficará permanentemente em execução na memória. Logo, ele verificará por atualizações automaticamente sim. Executando esse comando automaticamente durante a inicialização do sistema, você não precisará mais se preocupar com as atualizações do ClamAV. Você pode inclusive configurar quantas vezes ele procura por atualizações na Internet (o padrão é doze vezes por dia, ou seja, a cada duas horas), descomentando a linha Checks do arquivo de configuração do freshclam ("/etc/clamav/freshclam.conf") e alterando seu valor, informando quantas vezes por dia devem ser procuradas novas atualizações:
# Number of database checks per day.
# Default: 12 (every two hours)
Checks 24
3ª - Acho que a resposta à primeira dúvida já esclareceu em parte a terceira. Se você tentar executar o clamdscan sem ter iniciado o clamd antes, você receberá uma mensagem de erro. Diferente do clamdscan, o clamscan é independente do clamd. Você pode utilizá-lo para scanear os arquivos quando o clamd não estiver em execução.
[7] Comentário enviado por imacedo em 20/03/2011 - 19:36h
Boa tarde senhores. é a primeira vez que instalo o clamav e a questao é a seguinte fiz o teste e me retornou essa msg, isso esta correto??? e qdo eu scaneio novamente ele diz q tem 1 arq infectado de novo; ele nao tinha que excluir esse arquivo como vou saber se realmente esta paralizado o virus??? é possivel excluir o arquivo infectado durante o escaneamento? e como faco pra excluir os arquivos infectador? Desde já agradeco
root@testmail:~# clamscan eicar.com
LibClamAV Warning: zlib version at runtime is older than compile time: 1.2.3 < 1.2.3.3
LibClamAV info: Make sure zlib is built as shared library, and that the new zlib library is installed in the proper place
eicar.com: Eicar-Test-Signature FOUND
----------- SCAN SUMMARY -----------
Known viruses: 919816
Engine version: 0.97
Scanned directories: 0
Scanned files: 1
Infected files: 1
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 5.614 sec (0 m 5 s)
root@testmail:~#