Instalação do ClamAV com DazukoFS

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.

[ Hits: 52.210 ]

Por: Antônio Vinícius Menezes Medeiros em 06/01/2010 | Blog: https://antoniomedeiros.dev/


Introdução



O ClamAV é um dos mais conhecidos antivírus desenvolvidos para Linux pelo fato de ele ser open source, apresentar tantas funcionalidades quanto os programas antivírus proprietários e ainda por cima ter sua base de dados de vírus atualizada com bastante frequência. Nesse tutorial vamos compilar, instalar e configurar o ClamAV. Além disso, vamos configurar sua proteção residente para utilizar o DazukoFS.

Antes de começar, gostaria de informar que o ClamAV ainda não oferece suporte ao DazukoFS, como você pode ver nesta página, onde um programador relata o problema à equipe de desenvolvimento do ClamAV e sugere um patch (alteração) para o programa. Portanto, você vai precisar, além do código-fonte do ClamAV, do patch que adicionará a ele o suporte ao DazukoFS. Baixe os dois arquivos e coloque-os na mesma pasta.

É importante observar também que esse patch foi desenvolvido para a versão 0.95.2 do ClamAV, por isso eu recomendo que você baixe o código-fonte dessa versão (basta clicar no link que eu forneci acima). A versão mais nova do ClamAV, no momento da elaboração desse tutorial, é a 0.95.3. Se você preferir instalar a versão mais nova, você também pode aplicar esse patch, fazendo as devidas alterações (eu, particularmente, ainda não disponho de conhecimento técnico suficiente para fazê-lo, por isso optei por instalar a versão para a qual o patch foi desenvolvido).

Preparando o sistema

Para compilar o ClamAV você precisa ter instalado em seu sistema os pacotes zlib e zlib-devel, além, claro, do compilador gcc. Se você utiliza o Debian ou uma distribuição Linux baseada nele, você pode resolver essas dependências com o comando:

# apt-get build-dep clamav

Lembrando que para executá-lo você deve ter pelo menos um repositório de códigos-fonte adicionado no arquivo /etc/apt/sources.list. Se não tiver, você pode adicionar este:

deb-src http://ftp.br.debian.org/debian/ lenny main contrib non-free

Além disso, após adicionar o repositório, você deve executar o comando:

# apt-get update

para obter a sua lista de pacotes.

Não entrarei em mais detalhes a respeito da instalação dessas dependências (até porque as instruções para fazer isso podem variar de distribuição para distribuição), assumindo que você já as possui instaladas em seu sistema.

Além disso, se você pretende que o ClamAV execute proteção residente, você deve instalar o DazukoFS. Apesar de você poder fazer isso depois da instalação do ClamAV, recomendo que o faça antes, para que ao terminar de executar esses passos você tenha uma instalação completamente funcional do ClamAV, sem nada mais a ser feito. Para saber como instalar o DazukoFS, leia o tutorial Desmistificando a instalação do Dazuko, anteriormente publicado aqui no Viva o Linux.

A instalação do ClamAV requer que criemos um usuário e um grupo de usuários para ele. Isso pode ser feito através dos comandos:

# groupadd clamav

# useradd -g clamav -s /bin/false -c "Clam AntiVirus" clamav


Finalmente, vamos criar os diretórios que serão utilizados pelo ClamAV para armazenar seus arquivos:

# mkdir /var/lib/clamav
# chown clamav /var/lib/clamav
# mkdir /var/log/clamav
# chown clamav /var/log/clamav
# mkdir /var/run/clamav
# chown clamav /var/run/clamav


    Próxima página

Páginas do artigo
   1. Introdução
   2. Instalando o ClamAV
   3. Configurando o freshclam
   4. Configurando o clamd
   5. Configurando o clamav-milter
   6. Executando o ClamAV na inicialização do sistema
   7. Testando o ClamAV
Outros artigos deste autor

Guia de referência do ISOLINUX (parte 2)

Desmistificando a instalação do Dazuko

Exibindo um splash durante o boot com Splashy

Incrementando o visual do KDE 4

Conheça o OpenOffice.org e o BrOffice.org

Leitura recomendada

Utilizando RPM para detecção de intrusos

Tornando o OpenBSD stable

SAMSB - Snort + Apache2 + MySQL + Snorby e BarnYard2 no Debian

PHPIDS - PHP Intrusion Detection System, deixe seu site livre de intrusos!

Mudança de hábito: autenticando usuários em base de dados MySQL

  
Comentários
[1] Comentário enviado por overlock em 14/01/2010 - 12:26h

Opa amigo. Ótimo Post...

Por acaso rola alguma chance de fazer isso com o ClamWin?? Abraços.

[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!

[3] Comentário enviado por magnolinux em 29/01/2010 - 11:11h

Primeiramente meus parabens seu artigo está muito bom.

Agora la vai algumas duvidas.

1º Qual a diferença entre o clamdscan e o clamscan????

2º Se eu executar automaticamente o freshclam -d ele fara as atualizações automaticamente.??

3º O clamdscan tem alguma funcionalidade se nao for em modo residente.???

Obrigado ....

aguardo as respostas..

abraço..

[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.

Espero que tenha ajudado.

Um abraço e até a próxima!

[5] Comentário enviado por magnolinux em 01/02/2010 - 09:22h

Muito obrigado amigo, realmente suas respostas ajudaram muito..

Uma outra duvida é a seguinte o clamscan utiliza o arquivo de conf clamd.conf????

[6] Comentário enviado por ale_oliveira em 03/03/2011 - 22:10h

Ola estive lendo sobre o post e gostaria de perguntar se é possivel remover um virus como o nome win32 sality.y do meu servidor de dados.
Valeu

[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:~#


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts