ClamAV, o kit de ferramentas antivírus

Informações sobre o ClamAV, funções, recursos, configurações, etc. São apresentadas neste artigo duas instalações do ClamAV: uma instalação básica e outra completa. São apresentadas, também, correções de alguns erros do ClamAV como, por exemplo, "File path check failure: Permission Denied ERROR" e como evitá-los na instalação e configuração.

[ Hits: 4.045 ]

Por: Buckminster em 11/04/2023


Instalação completa



Para proteção em tempo real (Clamav oferece somente para o Linux) faça o seguinte, mas vou logo avisando, você terá que ter um bocado de memória RAM, pois o ClamAv é um glutão de memória RAM que consome somente ele, no mínimo 3GB, sem estar fazendo nada, só existindo.

Com atualizações e varreduras o ClamAv chega brincando em 4GB ou mais.

Alguém pode achar pouco, mas quem utiliza VPS sabe como isso é limitador e vários que trabalham com servidores web, por exemplo, trabalham também com VPS.

Lembrando que o Clamav em modo completo seguidas vezes dá uma síncope: ERROR... e daí tem que refazer todo o processo de cura. Vá se acostumando.

Para ver quais pacotes são oferecidos para cada distribuição veja: Packages - ClamAV Documentation

Para poder ter On-access scanning requer um sistema executando um kernel Linux versão >= 3.8 com fanotify compilado, sem o fanotify não rola o On-access Scanner.

Verifique a configuração do kernel para a presença de fanotify executando:

# cat /boot/config-`uname -r` | grep FANOTIFY

Caso tiver habilitado no kernel:

CONFIG_FANOTIFY=y
CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y


E se isso aparecer também:

CONFIG_FANOTIFY=y
# CONFIG_FANOTIFY_ACCESS_PERMISSIONS is not set


então está habilitado, mas a verificação de acesso será restrita ao modo somente notificação, ou seja, só vai avisar que tem vírus, mas fará absolutamente nada.

Caso retornar nada ou retornar outra coisa que não acima, por exemplo, "arquivo ou diretório inexistente", então o notify não está presente no kernel. Deverá compilar o kernel habilitando o notify.

E seja feliz compilando o kernel só para ter o Clamav On-access scanning; ou pode usar o inotify (DDD).

Aqui tem como habilitar um módulo do kernel: Habilitar módulo do kernel (sem o compilar completamente) [Dica]

E é "somente" uma dessas configurações que se deve fazer para ter o On-access scanning: ClamAV blog: Configuring On-Access Scanning in ClamAV

Debian e derivados:

# apt-get update
# aptitude safe-upgrade

Para alguns pacotes a seguir você terá que habilitar os repositórios non-free (recomendação da página oficial do Clamav):

# aptitude install libclamunrar9 unrar arc arj bzip2 cabextract lhasa lzop nomarch p7zip-full pax rpm tnef unrar-free unzip zip

Instalando:

# aptitude install clamav clamav-base clamav-daemon clamav-docs clamav-freshclam clamav-milter

Execute como root ou sudo:

# chown -R clamav:clamav /usr/local/share/clamav # verifique se é o caminho correto na sua distribuição

Iniciando e habilitando:

# systemctl start clamav-daemon
# systemctl start clamav-freshclam
# systemctl enable clamav-daemon
# systemctl enable clamav-freshclam

Parando os serviços:

# systemctl stop clamav-daemon
# systemctl stop clamav-freshclam

Atualizando as bases:

# freshclam

Testando a varredura baixando o pacote de testes de vírus do Clamav:

# aptitude install clamav-testfiles
# freshclam

Obs.: para cada vez que der o freshclam deverá antes parar o clamav-freshclam, senão dá erro.

# systemctl start clamav-freshclam
# systemctl start clamav-daemon

Confira se está "runando":

# systemctl status clamav-daemon
# systemctl status clamav-freshclam

Com o comando abaixo provavelmente dará um dos dois famigerados erros lá de cima:

# clamdscan /usr/share/clamav-testefiles/

Teste assim:

# clamdscan --fdpass /usr/share/clamav-testfiles/
ou
# clamdscan --stream /usr/share/clamav-testfiles/

Deverá encontrar 46 arquivos infectados.

Na documentação tem o seguinte:

--stream
              Forces file streaming to clamd. This is generally not needed as clamdscan detects automatically
              if streaming is required. This option only exists for  debugging
              and testing purposes, in all other cases --fdpass is preferred.

Ali diz que --stream força o clamd e que o clamd geralmente detecta automaticamente (ha ha ha) e que essa opção existe para debug e testes; em qualquer outro caso use --fdpass.

Daí podemos remover os arquivos de teste:

# aptitude purge clamav-testefiles

Criando um diretório de quarentena:

# cd /home
# mkdir clamav
# cd clamav
# mkdir quarentena

Agendando no cron:

# crontab -e

20 23 * * * root systemctl stop clamav-freshclam && freshclam && systemctl start clamav-freshclam
#
40 23 * * 0,3 root clamdscan --exclude-dir="^/sys" / --move=/home/clamav/quarentena
#

Salve e saia.

Agende como quiser no crontab quantas varreduras quiser de acordo com as suas necessidades.

Instale o htop ou use o top para ver que o Clamd cria dois processos (ou mais) em /usr/sbin/clamd com --foreground=true e não adianta colocar false nos arquivos de configuração /etc/clamav/clamd.conf e /etc/clamav/freshclam.conf que mesmo assim esse dois processos continuam existindo a seu bel praazer. Eles são instalados juntos com o executável clamd em /usr/sbin (no Debian).

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Instalação básica
   3. Instalação completa
   4. Conclusão
Outros artigos deste autor

Compilando o Squid3

kernel Linux otimizado - Compilação e teste

O Kernel Linux

Entendendo o que é URI, URL, URN e conhecendo as diferenças entre POST e GET

Como um monte de letras de um código fonte transforma-se em voltagens?

Leitura recomendada

Integração de servidores Linux com Active Directory

Blindando sua rede com o HLBR - Um IPS invisível e brasileiro

Segurança no SSH via plugins da PAM

VPN: IPSec vs SSL

Aquisição Estática de Dados em Computação Forense

  
Comentários
[1] Comentário enviado por maurixnovatrento em 14/05/2023 - 21:51h


Parece muito bom assa ferramenta.

___________________________________________________________
Conhecimento não se Leva para o Túmulo.
https://github.com/mxnt10

[2] Comentário enviado por Unhearing1612 em 25/09/2023 - 20:15h

Apenas para corrigir o artigo.
clamscan /usr/share/clamav-testfiles/

( no artigo está clamscan /usr/share/clamav-test|e|files/ )


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts