ClamAV (Português)

Clam AntiVirus é uma caixa de ferramentas de antivírus, código aberto (GPL), para UNIX. Ele fornece uma série de utilitários, incluindo um daemon multi-threaded flexível e escalável, um scanner de linha de comando e uma ferramenta avançada para atualizações automáticas de banco de dados. Como o uso principal do ClamAV é em servidores de arquivos/e-mails para desktops Windows, ele principalmente detecta vírus e malwares do Windows com suas assinaturas embutidas.

Status de tradução: Esse artigo é uma tradução de ClamAV. Data da última tradução: 2020-04-08. Você pode ajudar a sincronizar a tradução, se houver alterações na versão em inglês.

Instalação

Instale o pacote clamav.

Atualizando o banco de dados

Atualize as definições de vírus com:

# freshclam

Se você está por trás de um proxy, edite /etc/clamav/freshclam.conf and update HTTPProxyServer, HTTPProxyPort, HTTPProxyUsername e HTTPProxyPassword.

Os arquivos de banco de dados são salvos em:

/var/lib/clamav/daily.cvd
/var/lib/clamav/main.cvd
/var/lib/clamav/bytecode.cvd

Inicie/habilite clamav-freshclam.service para que as definições de vírus estejam sempre recentes.

Iniciando o daemon

Nota: Você precisa executar freshclam antes de iniciar o serviço pela primeira vez ou você poderá ter problema/erros que impedirão o ClamAV de iniciar corretamente.

O serviço chamado clamav-daemon.service. Inicie-o e habilite-o para iniciar quando da inicialização do sistema.

Testando o software

Para ter certeza que o ClamAV e as definições estão instaladas corretamente, execute um scan no arquivo de teste EICAR (uma assinatura inofensiva com nenhum código de vírus) com clamscan.

$ curl https://secure.eicar.org/eicar.com.txt | clamscan -

A saída deve incluir:

stdin: Win.Test.EICAR_HDB-1 FOUND

Do contrário, leia a parte Solução de Problemas ou peça por ajuda nos Fóruns do Arch.

Adicionando mais repositórios de bancos de dados/assinaturas

ClamAV pode usar banco de dados/assinaturas de outros repositórios ou fornecedores de segurança.

Para adicionar os mais importantes em um único passo, instale clamav-unofficial-sigsAUR (veja a descrição no GitHub) ou python-fangfrischAUR (veja a documentação online). Ambos vão adicionar assinaturas/banco de dados de provedores populares, como por exemplo, MalwarePatrol, SecuriteInfo, Yara, Linux Malware Detect, etc.

Opção nº 1: Configure Fangfrisch

Fangfrisch foi projetado como um substituto mais seguro, flexível e coveniente para o clamav-unofficial-sigs, e requer muito pouca configuração.

Mais importante, o Fangfrisch nunca precisa ser executado com permissões de root, diferentemente de clamav-unofficial-sigs.

Crie a estrutura de banco de dados executando:

# sudo -u clamav /usr/bin/fangfrisch --conf /etc/fangfrisch/fangfrisch.conf initdb

Habilite o fangfrisch.timer.

Opção nº 2: Configure clamav-unofficial-sigs

Habilite o clamav-unofficial-sigs.timer.

Isso vai atualizar regularmente as assinaturas não oficiais baseadas nos arquivos de configuração no diretório /etc/clamav-unofficial-sigs.

Para atualizar as assinaturas manualmente, execute o seguinte comando:

# clamav-unofficial-sigs.sh

Para alterar as configurações padrão, acesse e modifique .

Banco de dados MalwarePatrol

Se você quiser de usar o banco de dados do MalwarePatrol, crie uma conta em https://www.malwarepatrol.net/free-guard-upgrade-option.

Em , altere o seguinte para habilitar essa funcionalidade:

malwarepatrol_receipt_code="SEU-NÚMERO-RECIBO" # Insira seu número de recibo aqui
malwarepatrol_product_code="8" # Use 8 se você tiver uma conta Free ou 15 se você for um cliente Premium.
malwarepatrol_list="clamav_basic" # clamav_basic ou clamav_ext
malwarepatrol_free="yes" # Defina para yes se você tiver uma conta Free ou no see você tiver uma conta Premium.

Fonte: https://www.malwarepatrol.net/clamav-configuration-guide/

Varrendo por vírus

pode ser usado para varrer (scan) certos arquivos, diretórios home, um sistema inteiro:
$ clamscan meuarquivo
$ clamscan --recursive --infected /home
# clamscan --recursive --infected --exclude-dir='^/sys|^/dev' /

Se você quiser que remova o arquivo infectado, adicione ao comando a opção --remove ou você pode usar --move=/dir para colocá-los em quarentena.

Você também pode se interessar em usar o para varrer arquivos grandes. Neste caso, anexe as opções e ao comando. "4000M" é o maior valor possível e pode ser diminuído conforme necessário.

Usar a opção vai imprimir os logs do para um arquivo texto para localizar infecções relatadas.

Usando o milter

Milter vai realizar um scan em seu servidor sendmail por e-mail contendo vírus. Ajuste as configurações de às suas necessidades. Por exemplo:

Crie :

Habilite e inicie .

Para Postfix, adicione as seguintes linhas para :

etc/postfix/main.cf
smtpd_milters = unix:/tmp/clamav-milter.socket
milter_default_action = tempfail

Verifique journalctl se a permissão para acessar o clamav-milter.socket para o postfix estiver configurada adequadamente; caso contrário, inclua o postfix do usuário no grupo clamav.

OnAccessScan

A varredura no acesso (on-access scan) requer que o kernel seja compilado com o módulo kernel fanotify (kernel >= 3.8). Verifique se fanotify foi ativado antes de ativar a varredura no acesso.

 $ zgrep FANOTIFY /proc/config.gz

A varredura no acesso digitalizará o arquivo ao ler, escrever ou executá-lo.

Primeiro, edite o arquivo de configuração , adicionando o seguinte ao final do arquivo (você também pode alterar as opções individuais):

/etc/clamav/clamd.conf
# Ativa varredura no acesso, exige que clamav-daemon.service esteja em execução
ScanOnAccess true

# Define o ponto de montagem onde deve-se realizar recursivamente a varredura,
# isso poderia ser todo caminho ou vários caminho (uma linha por caminho)
OnAccessMountPath /usr
OnAccessMountPath /home/
OnAccessExcludePath /var/log/

# Sinaliza fanotify para bloquear quaisquer eventos em arquivos monitorados para realizar a varredura
OnAccessPrevention false

# Realiza a varredura em arquivos recém-criados, movidos ou renomeados
OnAccessExtraScanning true

# Verifica o UID do evento do fanotify
OnAccessExcludeUID 0

# Especifica uma ação para realizar quando o clamav detecta um arquivo malicioso
# é possível especificar um comando em linha também
VirusEvent /etc/clamav/detected.sh

# AVISO: clamd deve ser executado como root
User root

Em seguida, crie o arquivo e adicione o conteúdo a seguir. Isso permite que você altere/especifique a mensagem de depuração quando um vírus tiver sido detectado pelo dispositivo de varredura no acesso do clamd:

Se você está usando AppArmor, também é necessário permitir que o clamd execute como root:

# aa-complain clamd

Reinicie o clamav-daemon.service.

Fonte: https://blog.clamav.net/2016/03/configuring-on-access-scanning-in-clamav.html

Solução de programas

Erro: Clamd was NOT notified

Se você receber as seguintes mensagens após executar freshclam:

Adicione um arquivo sock ao ClamAV:

# touch /run/clamav/clamd.ctl
# chown clamav:clamav /run/clamav/clamd.ctl

Então, edite - descomente essa linha:

LocalSocket /run/clamav/clamd.ctl

Salve o arquivo e reinicie clamav-daemon.service.

Erro: No supported database files found

Se você receber o erro abaixo quando iniciar o daemon:

Isso acontece por causa de incompatibilidade entre a configuração do /etc/clamav/freshclam.conf e do . /etc/clamav/freshclam.conf apontando para , mas (diretório padrão) apontando para /usr/share/clamav, ou outro diretório. Edite e substituta com o mesmo DatabaseDirectory como no /etc/clamav/freshclam.conf. Após isso, clamav vai iniciar com sucesso.

Erro: Can't create temporary directory

Se você obtiver o erro a seguir, junto com um 'HINT' contendo um número de UID e um de GID:

# can't create temporary directory

Corrija as permissões:

# chown UID:GID /var/lib/clamav & chmod 755 /var/lib/clamav

sendo UID e GID o informado na dica acima

Dicas e truques

Usando clamscan

Ao varrer um arquivo ou diretório a partir da linha de comando usando , apenas uma única thread de CPU é usada. Isso pode servir em casos em que o tempo não é crítico ou você não deseja que o computador fique lento. Se houver necessidade de varrer rapidamente uma pasta grande ou uma unidade USB, convém usar todas as CPUs disponíveis para acelerar o processo.

é projetado para funcionar em uma única thread, então você pode usar  para executar a varredura em paralelo:
$ find /home/archie -type f -print0 | xargs -0 -P $(nproc) clamscan

Neste exemplo, o parâmetro para executa na quantidade de processos igual à de CPUs relatada por por vez. As opções e permitirão um controle ainda melhor do envio em lote da carga de trabalho entre as threads.

Usando clamdscan

Se você já tiver o daemon clamd em execução, pode ser usado (veja #Iniciando o daemon):

$ clamdscan --multiscan --fdpass /home/archie

Aqui, o parâmetro permite que o clamd verifique o conteúdo do diretório em paralelo usando as threads disponíveis. O parâmetro é necessário para passar as permissões do descritor de arquivo para clamd, pois o daemon está sendo executado sob o usuário e grupo clamav.

O número de threads disponíveis para é determinado em através do parâmetro . Mesmo que você possa ver que o número de especificado é mais de um (o padrão atual é 10), quando você inicia a varredura usando na linha de comando e não especifica a opção , apenas uma thread eficaz da CPU será usado para a varredura.

Veja também

This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.