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.
Nessa etapa vamos configurar o sistema para executar o clamd, o clamav-milter e o freshclam na inicialização para não precisemos mais nos preocupar com o ClamAV: ele já estará verificando os arquivos em busca de vírus e baixando as atualizações para sua base de dados automaticamente.
1. Abra um editor de texto, copie e cole as linhas a seguir, e salve como /etc/init.d/clamav:
#!/bin/sh # Inicia/para/reinicia o ClamAV
# Inicia o ClamAV:
clamav_start() {
if [ -x /usr/sbin/clamd ]; then
echo "Starting clamd daemon: /usr/sbin/clamd"
/usr/sbin/clamd
sleep 1
fi
if [ -x /usr/sbin/clamav-milter ]; then
echo "Starting clamav-milter daemon: /usr/sbin/clamav-milter"
/usr/sbin/clamav-milter
sleep 1
fi
if [ -x /usr/bin/freshclam ]; then
echo "Starting freshclam daemon: freshclam -d"
freshclam -d
fi
}
case "$1" in
'start')
clamav_start
;;
'stop')
clamav_stop
;;
'restart')
clamav_restart
;;
*)
echo "Usage: $0 start|stop|restart"
esac
2. Torne esse arquivo executável com o seguinte comando no terminal:
# chmod +x /etc/init.d/clamav
3. Para que o ClamAV seja carregado toda vez que o sistema for iniciado, você pode executar o seguinte comando, se utiliza Debian (ou uma distribuição baseada nele):
# update-rc.d clamav defaults
ou executar os comandos a seguir, se utiliza outra distribuição:
[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:~#