Lançador Produtos Bitnami Documentaçãoimaxe CLI Blog Contacto
imaxe clamav antivírus v1.0.0

Antivírus, sempre atualizado

Analisa ficheiros e diretórios à procura de malware com o motor ClamAV, isola o que estiver infetado em quarentena e mantém as assinaturas atualizadas com o freshclam. Um comando analisa; outro atualiza — sem surpresas.

$ imaxe clamav scan /srv/uploads --recursive --quarantine
Versão
v1.0.0
Subcomandos
5
Config
/etc/imaxe/clamav.yml
Requer root
sim
Assinaturas
freshclam

O que faz este módulo #

Um antivírus compara os ficheiros do teu servidor com um catálogo de assinaturas de malware conhecido. Se algo coincide, marca-o como infetado para que não continue a circular — por exemplo, um anexo malicioso enviado para uma pasta pública ou um ficheiro contaminado que chegou por FTP.

O módulo clamav coloca o motor ClamAV ao teu alcance com um punhado de comandos claros: consulta o seu estado, analisa o caminho que quiseres (um ficheiro ou uma árvore inteira), decide o que fazer com o que estiver infetado — só reportá-lo, eliminá-lo ou movê-lo para uma quarentena segura da qual podes restaurar mais tarde — e mantém a base de assinaturas atualizada com o freshclam. A quarentena isola o ficheiro sem o apagar, por isso nunca perdes nada por engano.

Antes de começar

Uma análise deteta com a base de assinaturas que tiveres nesse momento. Se há dias que não atualizas, lança primeiro imaxe clamav update para não perderes ameaças recentes. Analisar árvores grandes pode demorar e consumir CPU: limita o caminho ao que realmente queiras rever.

Guia rápidotarefas passo a passo

Tarefas comuns #

Escolhe o que queres fazer. Cada receita traz o comando já escrito — basta trocar o caminho pelo teu e clicar em Copiar.

1

Ver se o ClamAV está pronto

Verifica o motor, o modo e que antiguidade têm as tuas assinaturas.

Liga-te por SSH ao teu servidor e pede o estado geral:

terminal
$ sudo imaxe clamav status

Só te interessa a base de assinaturas — versão, data e ficheiros? Usa db:

terminal
$ sudo imaxe clamav db
Verás o motor, o modo (daemon ou on-demand), o estado do freshclam e a antiguidade das assinaturas. Se estiverem velhas, salta para Atualizar as assinaturas.
2

Analisar uma pasta

Revê um caminho e fica com o relatório, sem mexer em nada.

Analisa um diretório e todo o seu conteúdo com --recursive. Por omissão apenas reporta: não apaga nem move nada.

terminal
$ sudo imaxe clamav scan /home --recursive

Só um ficheiro isolado? Passa-lhe o caminho direto, sem --recursive:

terminal
$ sudo imaxe clamav scan /srv/uploads/factura.pdf
Ao terminar verás quantos ficheiros foram revistos e quais, caso existam, coincidem com uma assinatura. Se aparecer algo infetado, avança para a receita seguinte.
3

Analisar e isolar o que estiver infetado

Move automaticamente para quarentena tudo o que der positivo.

Analisa um caminho e, com --quarantine, afasta cada ficheiro infetado para a quarentena em vez de o deixar onde está:

terminal
$ sudo imaxe clamav scan /srv/uploads --recursive --quarantine

Se preferires eliminar diretamente o que estiver infetado em vez de o isolar, usa --remove (é irreversível, usa-o com cabeça):

terminal
$ sudo imaxe clamav scan /srv/uploads --recursive --remove
Os ficheiros positivos saem da sua pasta e ficam guardados e isolados. Ninguém os pode executar, e tu decides depois se os restauras ou apagas.
4

Rever e restaurar a quarentena

Vê o que está isolado e recupera um falso positivo se for preciso.

Lista o que há em quarentena — cada entrada traz o seu identificador, origem, assinatura e data:

terminal
$ sudo imaxe clamav quarantine list

Era um falso positivo? Restaura-o para o seu caminho original com o identificador que aparece na lista:

terminal
$ sudo imaxe clamav quarantine restore a1b2c3d4

Quando confirmares que tudo o que está isolado é lixo, esvazia a quarentena de forma definitiva:

terminal
$ sudo imaxe clamav quarantine purge --yes
Controlas a quarentena de princípio a fim: revês, recuperas o que era inofensivo e eliminas o resto sem deixar rasto.
5

Atualizar as assinaturas

Descarrega as últimas definições para detetar ameaças novas.

Lança o freshclam para trazer a base de assinaturas mais recente:

terminal
$ sudo imaxe clamav update

Verifica depois que a base ficou atualizada, com a sua versão e data:

terminal
$ sudo imaxe clamav db
As tuas análises a partir de agora reconhecem as ameaças mais recentes. Atualiza com frequência — o malware novo aparece todos os dias.
Cuidado com --remove

Eliminar apaga o ficheiro sem volta atrás, e nenhum antivírus está livre de falsos positivos. Na dúvida, usa sempre --quarantine: isola igualmente bem e deixa-te restaurar se te enganaste.

Referência CLIcomandos, flags e ficheiros

Sinopse #

uso
imaxe clamav <subcomando> [<ruta>] [--recursive] [--quarantine|--remove] [--json]

Os subcomandos que analisam, movem ou eliminam ficheiros requerem privilégios de root (usa sudo), porque leem caminhos de outros utilizadores e escrevem na quarentena do sistema. Adiciona --json a qualquer comando para obter saída legível por máquina, apta para scripting.

Subcomandos #

SubcomandoO que fazFlags relevantes
statusEstado do ClamAV: engine, modo (daemon/on-demand), freshclam e base de assinaturas.--json
scanAnalisa um caminho; pode reportar, eliminar ou colocar em quarentena o que estiver infetado.--recursive, --remove, --quarantine, --json
updateAtualiza a base de assinaturas através do freshclam.--json
dbInformação da base de assinaturas: versão, data e ficheiros.--json
quarantineGere a quarentena de ficheiros infetados (grupo de subcomandos).list · restore · purge

O grupo quarantine reúne três subcomandos:

SubcomandoO que fazFlags relevantes
quarantine listLista os ficheiros em quarentena (origem, assinatura, data).--json
quarantine restoreRestaura um ficheiro da quarentena para o seu caminho original ou para um destino indicado.<id> [<destino>]
quarantine purgeElimina definitivamente tudo o que houver em quarentena.--yes

Argumentos e flags #

Flag / argumentoTipoPor omissãoDescrição
<ruta> obr.pathEm scan, ficheiro ou diretório a analisar.
<id> obr.stringEm quarantine restore, identificador do elemento em quarentena (aparece em quarantine list).
<destino>pathcaminho originalEm quarantine restore, caminho para o qual restaurar o ficheiro. Por omissão, a sua localização original.
--recursiveboolfalseEm scan, análise recursiva de diretórios.
--quarantineboolfalseEm scan, move os ficheiros infetados para a quarentena.
--removeboolfalseEm scan, elimina os ficheiros infetados. Irreversível; exclusivo com --quarantine.
--yesboolfalseEm quarantine purge, confirma a eliminação sem perguntar.
--jsonboolfalseEmite o resultado como JSON em stdout. Disponível em todos os subcomandos.

Ficheiros e caminhos #

CaminhoConteúdo
/etc/imaxe/clamav.ymlConfiguração do módulo: diretório de quarentena e caminhos excluídos da análise.
/var/lib/imaxe/clamav/quarantineArmazém da quarentena: aqui isolam-se os ficheiros infetados que se podem restaurar.
/var/lib/clamav/Base de assinaturas que o freshclam mantém (definições de malware).
/var/log/imaxe/clamav.logRegisto estruturado de cada análise, quarentena e atualização.

Exemplo de clamav.yml:

/etc/imaxe/clamav.yml
quarantine_dir: /var/lib/imaxe/clamav/quarantine
scan:
  exclude:
    - /proc
    - /sys

scan.exclude é uma lista de caminhos que a análise ignora; por omissão vem vazia.

Códigos de saída e logs #

Cada execução devolve um código que podes verificar com echo $? — útil para encadear em scripts:

0OKOperação correta; sem ameaças.
1ERRErro genérico não classificado. Revê o log.
2USAGEArgumentos inválidos ou em falta.
3INFECTEDA análise encontrou ficheiros infetados.
4UPDATEFalhou a atualização de assinaturas (freshclam).

Segue o log em direto enquanto depuras:

terminal
$ sudo tail -f /var/log/imaxe/clamav.log

Resolução de problemas #

SintomaCausa provávelSolução
Sai INFECTED (código 3)A análise detetou uma ou mais ameaças.Revê o relatório; volta a lançar scan com --quarantine para as isolar.
Sai UPDATE (código 4)O freshclam não conseguiu descarregar as assinaturas (rede ou mirror em baixo).Verifica a saída para a Internet do servidor e tenta novamente clamav update.
A análise demora demasiadoO caminho abrange demasiados ficheiros ou caminhos de sistema.Limita o caminho e exclui o desnecessário com scan.exclude no clamav.yml.
Perdi um ficheiro legítimoFalso positivo movido para quarentena por --quarantine.Localiza-o com quarantine list e recupera-o com quarantine restore <id>.
O estado indica assinaturas velhasHá tempo que não se executa o freshclam.Lança clamav update e verifica com clamav db.

Ficou bloqueado com o módulo ClamAV?

Escreva-nos com a saída de «imaxe <module> status --json» e respondemos rapidamente.

Contactar o suporte