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.274 ]

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


Configurando o clamd



O clamd é o componente do ClamAV que executa a proteção residente, verificando a existência de vírus em tempo real nos programas e arquivos, à medida em que estes vão sendo abertos.

Sua configuração encontra-se no arquivo /etc/clamav/clamd.conf. Abra esse arquivo e faça as alterações listadas a seguir (se você preferir, aqui encontra-se uma cópia desse arquivo com as alterações já feitas):

1. Comente a linha "Example":

# Comment or remove the line below.
#Example

2. Descomente a linha "LogFile" e altere seu valor:

# Uncomment this option to enable logging.
# LogFile must be writable for the user running daemon.
# A full path is required.
# Default: disabled
LogFile /var/log/clamav/clamd.log

3. Descomente a linha "LogFileMaxSize":

# Maximum size of the log file.
# Value of 0 disables the limit.
# You may use 'M' or 'm' for megabytes (1M = 1m = 1048576 bytes)
# and 'K' or 'k' for kilobytes (1K = 1k = 1024 bytes). To specify the size
# in bytes just don't use modifiers.
# Default: 1M
LogFileMaxSize 2M

4. Descomente a linha "LogTime":

# Log time with each message.
# Default: no
LogTime yes

5. Descomente a linha "LogSyslog":

# Use system logger (can work together with LogFile).
# Default: no
LogSyslog yes

6. Descomente a linha "LogVerbose":

# Enable verbose logging.
# Default: no
LogVerbose yes

7. Descomente a linha "PidFile" e altere seu valor:

# This option allows you to save a process identifier of the listening
# daemon (main thread).
# Default: disabled
PidFile /var/run/clamav/clamd.pid

8. Altere o valor da linha "LocalSocket":

# Path to a local socket file the daemon will listen on.
# Default: disabled (must be specified by a user)
LocalSocket /var/run/clamav/clamd.socket

9. Descomente a linha "TCPSocket":

# TCP port address.
# Default: no
TCPSocket 3310

10. Descomente a linha "ScanMail":

# Enable internal e-mail scanner.
# Default: yes
ScanMail yes

11. Descomente a linha "ClamukoScanOnAccess":

##
## Clamuko settings
## WARNING: This is experimental software. It is very likely it will hang
## up your system!!!
##

# Enable Clamuko. Dazuko (/dev/dazuko) must be configured and running.
# Default: no
ClamukoScanOnAccess yes

12. Observe o trecho a seguir do arquivo de configuração do clamd:

# Set the include paths (all files inside them will be scanned). You can have
# multiple ClamukoIncludePath directives but each directory must be added
# in a seperate line.
# Default: disabled
#ClamukoIncludePath /home
#ClamukoIncludePath /students

# Set the exclude paths. All subdirectories are also excluded.
# Default: disabled
#ClamukoExcludePath /home/bofh

Normalmente descomentamos essas linhas e fazemos a configuração do Clamuko (o componente do clamd que faz a comunicação com o Dazuko), definindo quais diretórios queremos incluir e quais queremos excluir da proteção residente. No entanto, se você abrir o código-fonte do patch, verá uma nota do autor dizendo que não é necessário mais configurar essas opções. Então, a proteção residente deve atuar sobre todos os diretórios que o DazukoFS disponibilizar, bastando, portanto, a configuração deste (ver como configurar o DazukoFS para montar as pastas na inicialização do sistema em Desmistificando a instalação do Dazuko).

Salve o arquivo e execute o comando a seguir para verificar se as alterações na configuração foram aplicadas:

# clamd

Página anterior     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

Instalação do MediaWiki em uma Project web do SourceForge

Portugol Online - Software livre para facilitar o estudo de algoritmos

VirtualBox: a forma mais fácil de conhecer o Linux sem precisar instalá-lo

Desmistificando a instalação do Dazuko

Guia de referência do ISOLINUX (parte 2)

Leitura recomendada

Melhorando a segurança do Firewall com Bridges usando Snort_Inline no Debian Etch

Forense em Máquinas Virtuais

Explorando celulares Android via Web com airbase-ng

Alta disponibilidade com CARP

Tomcat + SSL: HOW-TO

  
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