Verificando a configuração do Kernel
Verificando a configuração do Kernel para a presença do fanotify:
CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
E se isso aparecer:
# 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, vai avisar que tem vírus, mas fará absolutamente nada.
Caso aparecer CONFIG_FANOTIFY_ACCESS_PERMISSIONS is not set o fanotify não está habilitado no seu Kernel então você deverá recompilar o Kernel para habilitá-lo ou instalar um Kernel mais moderno, mas não será mostrado aqui pois demanda tempo e não é o escopo do artigo.
Dificilmente dará CONFIG_FANOTIFY_ACCESS_PERMISSIONS is not set porque CONFIG_FANOTIFY=y passou a vir habilitado por padrão na arquitetura x86 na versão Kernel Linux 2.6.37 e CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y passou a vir ativada por padrão no defconfig genérico do x86 na versão Kernel Linux 3.14.
Não será modificada a configuração do arquivo clamav-milter.conf, deixaremos com as configurações padrões. O ClamAV-Milter é o aplicativo do ClamAV que fornece filtragem de e-mails, caso a máquina Linux não for servidor de e-mails não se faz necessário. Para Desktop não precisa instalar, mas vai do seu gosto.
Atualizando e instalando (adapte para a tua distribuição): Name Action Version New version Download size
clamav install - 1.5.3_1 40MB
Size to download: 40MB
Size required on disk: 182MB
Space available on disk: 5405MB
Do you want to continue? [Y/n] Y
[*] Downloading packages
clamav-1.5.3_1.x86_64.xbps.sig2: 512B [avg rate: 14MB/s]
clamav-1.5.3_1.x86_64.xbps: 40MB [avg rate: 9318KB/s]
clamav-1.5.3_1: verifying RSA signature...
[*] Collecting package files
clamav-1.5.3_1: collecting files...
[*] Unpacking packages
clamav-1.5.3_1: unpacking ...
[*] Configuring unpacked packages
clamav-1.5.3_1: configuring ...
Created _clamav system group.
Created _clamav system user.
clamav-1.5.3_1: installed successfully.
1 downloaded, 1 installed, 0 updated, 1 configured, 0 removed, 0 on hold.
Os arquivos serão criados no diretório /etc:
/etc/clamd.conf
/etc/clamav-milter.conf.sample
Sugestão de pesquisa: Caso já tenha os arquivos de uma instalação anterior e não quis removê-los para resguardar as configurações, a instalação preserva os arquivos e cria novos com a seguinte nomenclatura:
/etc/clamd.conf.new-1.5.3_1
/etc/clamav-milter.conf.sample
Verifique se o usuário e o grupo do ClamAV foram criados:
Caso não tenha sido criado na tua distribuição, crie o usuário (no Void, ao instalar o ClamAV, o usuário e o grupo _clamav são criados automaticamente, então pode pular esses dois comandos): Se o seu sistema operacional não tiver os utilitários groupadd e useradd, instale-os.
https://github.com/Cisco-Talos/clamav/blob/main/etc/freshclam.conf.sample
Criando diretório para o soquete local e permissionando (verifique o nome correto de usuário): Por padronização é sem o sublinhado em /var/run/clamav.
Para o Freshclam:
O ClamAV Daemon, ou Clamd, é um daemon multithread que utiliza a libclamav para verificar arquivos em busca de vírus. O ClamAV fornece diversas ferramentas que interagem com esse daemon.
São elas:
- Clamdscan - um cliente de digitalização simples;
- Clamonacc - fornece varredura em tempo real (também conhecida como proteção em tempo real por meio de uma instância Clamd);
- Clamav-milter - um plugin de filtragem de e-mails para o software de servidor de processamento de e-mails Sendmail, que permite analisar e-mails;
- Clamdtop - uma interface de monitoramento de recursos para o Clamd.
O ClamAV também fornece uma ferramenta de linha de comando para tarefas simples de varredura com a libclamav, chamada Clamscan. Ao contrário do daemon Clamd, o Clamscan não é um processo persistente e é mais adequado para casos de uso em que uma varredura única com configuração mínima é necessária.
As ferramentas mais complexas fornecidas pelo ClamAV exigem algum grau de configuração. O ClamAV fornece três arquivos com configurações de exemplo:
🔵clamd.conf: para configurar o comportamento do ClamAV Daemon Clamd e ferramentas associadas;🟢freshclam.conf: para configurar o comportamento da ferramenta de atualização do banco de dados de assinaturas;🟡clamav-milter.conf: para configurar o comportamento do ClamAV de filtragem de e-mails para servidor de e-mails, que interage diretamente com o Clamd.
- interativo - sob demanda a partir da linha de comando;
- daemon - silenciosamente em segundo plano.
FRESHCLAM.CONF
Uso o vim, use teu editor preferido. Comente ou remova a linha ~8:
# Example ... <<< Linha 8
Vá descomentando e configurando os parâmetros abaixo (ou deixe tudo comentado e acrescente no final).
Obs.: Na linha 92 comente "DatabaseMirror database.clamav.net", pois já está abaixo. Salve e saia.
# Example ... <<< Linha 8
Para testar: Saída: 104857600
Permanente:
Saída: fs.inotify.max_user_watches=104857600
AVISO
O ClamAV não tem um arquivo de quarentena por padrão, então vamos criá-lo e configurá-lo.
Criando diretório e arquivo e permissionando:
Desativando a Execução de Arquivos (Montagem Segura)
/var/opt/clamav-quarentena /var/opt/clamav-quarentena none bind,noexec,nosuid,nodev 0 0
Montando imediatamente:
Permissionando:
Este script de avisos é somente um exemplo, cabe a você adaptar para o teu provedor de e-mail e tuas configurações, pois não é o escopo do artigo.
As linhas:
EMAIL_DESTINO
e da linha assunto=
até
) | msmtp
estão comentadas para fins de teste sem precisar configurar envio de e-mail, somente dará o popup de aviso na tela que permanecerá até clicar em cima dele.
Permissionando: Vamos testar criando um arquivo "suspeito" dentro do diretório de quarentena: Resete o arquivo de estado para ZERO para forçar o alerta: Executando o script manualmente:
Caso quiser o Zenity, instale: Verifique também: Saída:2026-09-18 11:14:53 -> ALERTA: 1 novo(s) arquivo(s) isolado(s): teste.txt
Deletando o arquivo: Vendo se tudo continuou igual: total 4
drwx------ 1 _clamav _clamav 54 set 23 09:05 .
drwxr-xr-x 1 root root 34 set 23 09:02 ..
-rw-r--r-- 1 _clamav _clamav 2 set 23 09:10 .ultimo_total
-rw-r--r-- 1 _clamav _clamav 0 set 23 09:02 quarentena.log
Tem de ter 4 arquivos e esse é o único que deve estar como root:
Os outros tem que estar com o usuário _clamav como dono.
Caso o ClamAV detectar um malware num escaneamento e movê-lo para a quarentena, esses arquivos poderão estar com outro dono, porém, os 4 arquivos básicos tem de estar nesse padrão.
Para ver as últimas 10 linhas quando o arquivo estiver maior: No XFCE, caso quiser incrementar o layout do alerta com o notify-send, execute: E depois reinicie:
Fazendo o LOGROTATE
Instalando: Criando o arquivo: Coloque dentro: Salve e saia.
Assim o arquivo não crescerá demais.
Verificando:
warning: logrotate in debug mode does nothing except printing debug messages! Consider using verbose mode (-v) instead if this is not what you want.
reading config file /etc/logrotate.d/clamav-quarentena
Reading state from file: /var/lib/logrotate.status
Allocating hash table for state file, size 64 entries
Creating new state
Creating new state
Creating new state
Handling 1 logs
rotating pattern: /var/opt/clamav-quarentena/quarentena.log monthly empty log files are not rotated, (6 rotations), old logs are removed
switching euid from 0 to 989 and egid from 0 to 988 (pid 10363)
considering log /var/opt/clamav-quarentena/quarentena.log
Creating new state
Now: 2026-09-23 22:35
Last rotated at 2026-09-23 22:00
log does not need rotating (log has already been rotated)
switching euid from 989 to 0 and egid from 988 to 0 (pid 10363)
A saída indica que tudo está correto.Criando logrotate para o Freshclam e Clamd: Coloque dentro: Verificando:
Parâmetros
- monthly: O arquivo de log será rotacionado uma vez por mês (geralmente no primeiro dia do mês).
- rotate 6: O sistema vai guardar no máximo 6 arquivos antigos de log. Quando o 7º mês chegar, o log mais antigo de todos será deletado permanentemente.
- compress: Compacta os logs antigos no formato .gz para economizar espaço em disco.
- delaycompress: Adia a compactação do log anterior para o próximo ciclo de rotação. Na prática, o log do mês atual estará ativo, o do mês passado estará rotacionado mas em texto puro (.1), e apenas do retrasado em diante estarão compactados (.2.gz, .3.gz). Isso é útil se algum programa ainda precisar escrever ou ler o log logo após a virada.
- missingok: Se o arquivo quarentena.log não existir por algum motivo (ex: foi deletado manualmente), o logrotate não vai gerar nenhum erro e passará para o próximo serviço silenciosamente.
- notifempty: Não rotaciona o log se ele estiver vazio. Se o ClamAV não pegou nenhuma ameaça no mês e o arquivo estiver com 0 bytes, o logrotate ignora o ciclo e economiza processamento.
- create 0640 _clamav _clamav: Logo após rotacionar (mover) o arquivo antigo, o logrotate cria um arquivo quarentena.log novinho em folha com as permissões 0640 (leitura/escrita para o dono, leitura para o grupo) e define o dono como usuário _clamav e grupo _clamav.
- sharedscripts: Garante que o bloco postrotate (os comandos de recarregamento) seja executado apenas uma vez no final, em vez de disparar uma vez para cada arquivo.
- vsv reload: No Void Linux, o utilitário vsv (ou sv reload) envia um sinal HUP controlado para o runit. Isso força o ClamAV e o Freshclam a fecharem o descritor de arquivo antigo e começarem a gravar no novo arquivo zerado que o create 0640 acabou de gerar.
Wed Sep 23 22:44:45 2026 -> Database test passed.
Wed Sep 23 22:44:45 2026 -> doppelstern.ndb updated (version: custom database, sigs: 1)
Wed Sep 23 22:44:45 2026 -> fc_download_url_database: doppelstern.ndb updated.
Wed Sep 23 22:44:45 2026 -> Database update completed successfully.
Wed Sep 23 22:44:45 2026 -> Clamd successfully notified about the update.
Caso apareça um WARNING como esse no final:
não se preocupe, falta iniciar o Clamd.
Caso dê erro, veja qual é o erro e repare. Por exemplo:
ERROR: Fri Sep 4 15:48:00 2026 -> Can't send to clamd: Socket operation on non-socket
Caso apareça um WARNING como esse no final:
confira essas linhas:
FixStaleSocket true
LocalSocketGroup clamav
LocalSocketMode 666
https://docs.clamav.net/faq/faq-freshclam.html
Ou copie e cole o comando com o erro e jogue no Google ou em alguma IA.
Caso queira, pode executar novamente:
Depois, pode sempre verificar com: run: clamd: (pid 19534) 3s; run: log: (pid 18660) 259s
Para outros sistemas, veja:
https://www.vivaolinux.com.br/artigo/Antivirus-ClamAV-com-protecao-em-tempo-real/
https://www.vivaolinux.com.br/artigo/ClamAV-o-kit-de-ferramentas-antivirus/
Vendo as últimas 10 linhas para verificar se os logs estão funcionando:
Mon Sep 21 09:22:18 2026 -> download_complete_callback: fc_context->bBytecodeEnabled : 1
Mon Sep 21 09:22:18 2026 -> Testing database: '/var/lib/_clamav/tmp.9f45e86cf8/clamav-4821cfa51c2c06a78e61b54f2a22520a.tmp-doppelstern.ndb' ...
Mon Sep 21 09:22:18 2026 -> Loading signatures from /var/lib/_clamav/tmp.9f45e86cf8/clamav-4821cfa51c2c06a78e61b54f2a22520a.tmp-doppelstern.ndb
Mon Sep 21 09:22:18 2026 -> Properly loaded 1 signatures from /var/lib/_clamav/tmp.9f45e86cf8/clamav-4821cfa51c2c06a78e61b54f2a22520a.tmp-doppelstern.ndb
Mon Sep 21 09:22:18 2026 -> Database test passed.
Mon Sep 21 09:22:18 2026 -> doppelstern.ndb updated (version: custom database, sigs: 1)
Mon Sep 21 09:22:18 2026 -> fc_download_url_database: doppelstern.ndb updated.
Mon Sep 21 09:22:18 2026 -> Database update completed successfully.
Mon Sep 21 09:22:18 2026 -> Clamd successfully notified about the update.
Mon Sep 21 09:39:28 2026 -> Mail files support enabled.
Mon Sep 21 09:39:28 2026 -> OLE2 support enabled.
Mon Sep 21 09:39:28 2026 -> PDF support enabled.
Mon Sep 21 09:39:28 2026 -> SWF support enabled.
Mon Sep 21 09:39:28 2026 -> HTML support enabled.
Mon Sep 21 09:39:28 2026 -> XMLDOCS support enabled.
Mon Sep 21 09:39:28 2026 -> HWP3 support enabled.
Mon Sep 21 09:39:28 2026 -> OneNote support enabled.
Mon Sep 21 09:39:28 2026 -> Self checking every 3600 seconds.
Para ver em tempo real:
Mon Sep 21 09:39:28 2026 -> Mail files support enabled.
Mon Sep 21 09:39:28 2026 -> OLE2 support enabled.
Mon Sep 21 09:39:28 2026 -> PDF support enabled.
Mon Sep 21 09:39:28 2026 -> SWF support enabled.
Mon Sep 21 09:39:28 2026 -> HTML support enabled.
Mon Sep 21 09:39:28 2026 -> XMLDOCS support enabled.
Mon Sep 21 09:39:28 2026 -> HWP3 support enabled.
Mon Sep 21 09:39:28 2026 -> OneNote support enabled.
Mon Sep 21 09:39:28 2026 -> Self checking every 3600 seconds.
Ctrl+c para sair.
Verifique se o clamd.ctl foi criado em /var/run/clamav:
drwxr-x--- 2 _clamav _clamav 60 set 23 22:36 .
drwxr-xr-x 23 root root 620 set 23 22:07 ..
srw-rw---- 1 _clamav _clamav 0 set 23 22:36 clamd.ctl
O ClamAV não tem aquela proteção que fica o tempo todo escaneando o computador; ele somente escaneia o diretório e/ou o arquivo quando é acessado. O cliente Clamonacc para o daemon de varredura Clamd fornece varredura no acesso em versões modernas do Linux, incluindo um recurso opcional para bloquear o acesso ao arquivo até que ele seja verificado.
IMPORTANTE
Caso o fanotify não esteja habilitado no kernel, não adianta fazer esse procedimento sem antes habilitá-lo.
Para configurar o Clamonacc, basta ajustar o arquivo /etc/clamd.conf.
- Abra o arquivo /etc/clamd.conf;
- Especifique o(s) caminho(s) que você gostaria de monitorar definindo a opção OnAccessIncludePath;
- Defina OnAccessPrevention para yes;
- Verifique qual nome de usuário está sendo usado para executar o comando, clamav ou _clamav;
- Defina OnAccessExcludeUname para o nome de usuário correspondente;
- Salve seu trabalho e feche o clamd.conf.
ok: run: clamonacc: (pid 12716) 1s
run: clamonacc: (pid 12716) 42s
Para verificar melhor, pode usar o htop:
Códigos de retorno do ClamAV: 0 = limpo, 1 = infectado, 2 = erro
Coloque a opção OnAccessIncludePath /home/seu_usuario/Downloads no arquivo:
##OnAccessIncludePath /home/seu_usuario
OnAccessIncludePath /home/seu_usuario/Downloads
Reinicie os serviços: ok: run: clamd: (pid 15652) 0s
ok: run: clamonacc: (pid 15702) 1s
Tentando criar o arquivo: bash: /home/usuario/Downloads/eicar.com: Operação não permitida
AVISO IMPORTANTE
No XFCE o Clamonacc não deixa acessar o arquivo e depois move para a quarentena. cat: /home/kluster/Downloads/eicar.com: Arquivo ou diretório inexistente
Códigos de retorno do ClamAV: 0 = limpo, 1 = infectado, 2 = erro
Tentaremos com sudo:
cat: /home/usuario/Downloads/eicar.com: Arquivo ou diretório inexistentedrwx------ 1 _clamav _clamav 160 set 21 09:51 .
drwxr-xr-x 1 root root 34 set 21 09:02 ..
-rw------- 1 root root 0 set 21 09:45 .clamav-quarantine-lock.12718.0
-rw-r--r-- 1 _clamav _clamav 2 set 21 09:50 .ultimo_total
-rw------- 1 root root 69 set 14 15:55 eicar.com
-rw------- 1 root root 69 set 21 09:48 eicar.com.001
-rw-r--r-- 1 _clamav _clamav 0 set 21 09:02 quarentena.log
O arquivo eicar.com.001 é um arquivo de controle que o ClamAV cria automaticamente.
Testando novamente com sudo nos dois comandos: cat: /home/usuario/Downloads/eicar.com: Operação não permitida
cat: /home/usuario/Downloads/eicar.com: Arquivo ou diretório inexistente
drwx------ 1 _clamav _clamav 186 set 21 09:58 .
drwxr-xr-x 1 root root 34 set 21 09:02 ..
-rw------- 1 root root 0 set 21 09:45 .clamav-quarantine-lock.12718.0
-rw-r--r-- 1 _clamav _clamav 2 set 21 09:56 .ultimo_total
-rw------- 1 root root 69 set 14 15:55 eicar.com
-rw------- 1 root root 69 set 21 09:48 eicar.com.001
-rw------- 1 root root 69 set 21 09:57 eicar.com.002
-rw-r--r-- 1 _clamav _clamav 0 set 21 09:02 quarentena.log
Lembrando que o Clamscan não utiliza arquivo de configurações, mas parâmetros próprios no binário; porém, logo faremos um wrapper para ele, pois o utilizaremos para as varreduras com o cron.
Compiling: 2s, ETA: 0s [========================>] 42/42 tasks
/home/seu_usuario/Downloads/grub-void.html: OK
/home/seu_usuario/Downloads/vkpurge.html: OK
/home/seu_usuario/Downloads/zram-zswap.mhtml: OK
/home/seu_usuario/Downloads/linux-7.1.2.tar.xz: OK
/home/seu_usuario/Downloads/apache-netbeans.svg: OK
/home/seu_usuario/Downloads/wgcf-master.zip: OK
/home/seu_usuario/Downloads/wgcf-account.toml: OK
----------- SCAN SUMMARY -----------
Known viruses: 3797093
Engine version: 1.5.3
Scanned directories: 1
Scanned files: 7
Infected files: 0
Data scanned: 16.27 MiB
Data read: 159.41 MiB (ratio 0.10:1)
Time: 19.103 sec (0 m 19 s)
Start Date: 2026:09:23 23:41:10
End Date: 2026:09:23 23:41:29
Compiling: 2s, ETA: 0s [========================>] 42/42 tasks
WARNING: Can't open file /home/usuario/Downloads/eicar.com: Operation not permitted
----------- SCAN SUMMARY -----------
Known viruses: 3796968
Engine version: 1.5.3
Scanned directories: 0
Scanned files: 0
Infected files: 0
Total errors: 1
Data scanned: 0 B
Data read: 69 B (ratio 0.00:1)
Time: 12.426 sec (0 m 12 s)
Start Date: 2026:09:21 12:54:17
End Date: 2026:09:21 12:54:30
O Clamdscan utiliza os parâmetros do arquivo /etc/clamd.conf nas varreduras, bem como o Clamonacc na proteção.
----------- SCAN SUMMARY -----------
Infected files: 0
Time: 148.057 sec (2 m 28 s)
Start Date: 2026:09:24 00:07:13
End Date: 2026:09:24 00:09:41
----------- SCAN SUMMARY -----------
Infected files: 0
Total errors: 1
Time: 0.019 sec (0 m 0 s)
Start Date: 2026:09:21 12:56:14
End Date: 2026:09:21 12:56:14
https://docs.clamav.net/manual/Usage/Scanning.html#clamdscan
https://docs.clamav.net/manual/Usage/Scanning.html#clamscan
Vamos comentar o diretório /home/seu_usuario/Downloads no arquivo: Comente:
Salve e saia. ok: run: clamd: (pid 31196) 0s
ok: run: clamonacc: (pid 31276) 0s
Compiling: 2s, ETA: 0s [========================>] 42/42 tasks
/home/usuario/Downloads/eicar.com: {HEX}test.test.eicar.1040.UNOFFICIAL FOUND
----------- SCAN SUMMARY -----------
Known viruses: 3796968
Engine version: 1.5.3
Scanned directories: 0
Scanned files: 1
Infected files: 1
Data scanned: 69 B
Data read: 69 B (ratio 1.00:1)
Time: 12.357 sec (0 m 12 s)
Start Date: 2026:09:21 12:58:58
End Date: 2026:09:21 12:59:10
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
----------- SCAN SUMMARY -----------
Infected files: 1
Time: 0.024 sec (0 m 0 s)
Start Date: 2026:09:21 13:01:34
End Date: 2026:09:21 13:01:34
Compiling: 2s, ETA: 0s [========================>] 42/42 tasks
/home/usuario/Downloads/images.jpeg: OK
/home/usuario/Downloads/26055.txt: OK
/home/usuario/Downloads/18153.txt: OK
/home/usuario/Downloads/5174256.png: OK
/home/usuario/Downloads/calvin-midia.webp: OK
/home/usuario/Downloads/biblia-terminal-main.zip: Sanesecurity.Foxhole.Zip_exe.UNOFFICIAL FOUND
/home/usuario/Downloads/0x0.webp: OK
/home/usuario/Downloads/demolition.webp: OK
/home/usuario/Downloads/idiocracia.webp: OK
/home/usuario/Downloads/celine-nietzsche.pdf: OK
/home/usuario/Downloads/Ardil-22 - Joseph Heller.pdf: OK
/home/usuario/Downloads/eicar.com: {HEX}test.test.eicar.1040.UNOFFICIAL FOUND
...
----------- SCAN SUMMARY -----------
Known viruses: 3797062
Engine version: 1.5.3
Scanned directories: 1
Scanned files: 54
Infected files: 2
Total errors: 1
Data scanned: 530.29 MiB
Data read: 742.51 MiB (ratio 0.71:1)
Time: 439.155 sec (7 m 19 s)
Start Date: 2026:09:24 07:51:59
End Date: 2026:09:24 07:59:19
https://sanesecurity.com/foxhole-databases/
Definições:
- Known viruses: 3797062 - Banco de dados com 3.797.062 tipos de malwares conhecidos
- Engine version: 1.5.3 - Versão do ClamAV
- Scanned directories: 1 - Diretórios escaneados
- Scanned files: 54 - Arquivos escaneados
- Infected files: 2 - Arquivos infectados
- Total errors: 1 - Total de erros
- Data scanned: 530.29 MiB - Total de dados escaneados
- Data read: 742.51 MiB (ratio 0.71:1) - Total de dados lidos
- Time: 439.155 sec (7 m 19 s) - Duração do escaneamento
- Start Date: 2026:09:24 07:51:59 - Data/horário de início
- End Date: 2026:09:24 07:59:19 - Data/horário do fim
/home/usuario/Downloads/eicar.com: {HEX}test.test.eicar.1040.UNOFFICIAL FOUND
/home/usuario/Downloads/eicar.com: moved to '/var/opt/clamav-quarentena/eicar.com.008'
Infected files: 1
Time: 0.010 sec (0 m 0 s)
Start Date: 2026:09:21 13:34:29
End Date: 2026:09:21 13:34:29
Compiling: 3s, ETA: 0s [========================>] 42/42 tasks
/home/usuario/Downloads/eicar.com: moved to '/var/opt/clamav-quarentena/eicar.com.009'
Known viruses: 3796968
Engine version: 1.5.3
Scanned directories: 0
Scanned files: 1
Infected files: 1
Data scanned: 69 B
Data read: 69 B (ratio 1.00:1)
Time: 12.660 sec (0 m 12 s)
Start Date: 2026:09:21 13:41:29
End Date: 2026:09:21 13:41:41
Códigos de retorno do ClamAV: 0 = limpo, 1 = infectado, 2 = erro
Diferenças entre Clamscan e Clamdscan
Verificando:
reading config file /etc/logrotate.d/clamav
Reading state from file: /var/lib/logrotate.status
Allocating hash table for state file, size 64 entries
Creating new state
Creating new state
Creating new state
Handling 1 logs
rotating pattern: /var/log/clamd.log /var/log/freshclam.log /var/log/varredura.log monthly empty log files are not rotated, (6 rotations), old logs are removed
considering log /var/log/clamd.log
Creating new state
Now: 2026-09-24 00:26
Last rotated at 2026-09-24 00:00
log does not need rotating (log has already been rotated)
considering log /var/log/freshclam.log
Creating new state
Now: 2026-09-24 00:26
Last rotated at 2026-09-24 00:00
log does not need rotating (log has already been rotated)
considering log /var/log/varredura.log
Creating new state
Now: 2026-09-24 00:26
Last rotated at 2026-09-24 00:00
log does not need rotating (log has already been rotated)
not running postrotate script, since no logs were rotated
Em outro terminal execute:
seu_usuario 1982 0.0 0.0 6704 2628 pts/2 S+ 00:30 0:00 grep clamscan
# Configuracao
# -------------------#
ALVOS=(
# "/"
# "/home"
# "/var/www"
# "/etc"
"/home/seu_usuario/teste"
# adicione mais diretorios aqui ou coloque para varrer o raiz (/) e adicione mais --exclude-dir abaixo
)
Salve e saia.
/home/kluster/teste/eicar.com: {HEX}test.test.eicar.1040.UNOFFICIAL FOUND
/home/kluster/teste/eicar.com: moved to '/var/opt/clamav-quarentena/eicar.com'
----------- SCAN SUMMARY -----------
Known viruses: 3811649
Engine version: 1.5.3
Scanned directories: 45
Scanned files: 576
Infected files: 1
Data scanned: 6.92 MiB
Data read: 5.87 MiB (ratio 1.18:1)
Time: 15.432 sec (0 m 15 s)
Start Date: 2026:09:23 15:12:44
End Date: 2026:09:23 15:12:59
ok: run: clamonacc: (pid 17328) 1s
cat: /home/usuario/teste/eicar.com: Arquivo ou diretório inexistente
Caso quiser dê um:
ou
ou
ou
configure o ~/.bashrc permanentemente, senão o comando "sudo crontab -e" abrirá o vi por padrão no Void e você nunca mais sairá dele.
Coloque dentro:
Salve e saia.
$ sudo sv stop clamonacc
$ sudo xbps-remove clamav
$ sudo userdel _clamav
$ sudo groupdel _clamav
$ sudo umount /var/opt/clamav-quarentena
$ sudo rm -rf /var/opt/clamav-quarentena
Não esqueça de comentar ou apagar a linha no /etc/fstab:
$ sudo vim /etc/fstab
$ sudo rm -rf /var/log/freshclam.log
$ sudo rm -rf /var/log/clamd.log
$ sudo rm -rf /var/run/clamav
$ sudo rm /var/service/clamd
$ sudo rm -rf /etc/sv/clamd
$ sudo rm /var/service/clamonacc
$ sudo rm -rf /etc/sv/clamonacc
$ sudo rm -rf /etc/logrotate.d/clamav-quarentena
$ sudo rm -rf /run/runit/supervise.clamd
$ sudo rm -rf /run/runit/supervise.clamd-log
Opcional:
$ sudo rm -rf /etc/freshclam.conf
$ sudo rm -rf /etc/clamd.conf
$ sudo rm -rf /etc/clamav-milter.conf
$ sudo rm -rf /usr/local/bin/limpar-quarentena.sh
$ sudo rm -rf /usr/local/bin/monitor-quarentena.sh
Não utilize proteção recursiva com o Clamonacc (proteção em tempo real), pois ele praticamente deixará o sistema lento, podendo travar o sistema.
Pode ter múltiplos parâmetros OnAccessIncludePath:
OnAccessDisableDDD yes
OnAccessIncludePath /home
OnAccessIncludePath /home/usuario
OnAccessIncludePath /home/usuario/Downloads
OnAccessIncludePath /home/usuario/Downloads/pasta
OnAccessExcludeUname clamav
OnAccessPrevention yes
OnAccessDisableDDD yes
CASO 0x0
OnAccessExcludeRootUID yes
OnAccessExcludeUname clamav
- OnAccessExtraScanning - é construído em torno da captura de eventos inotify.
- OnAccessExcludePath - é baseado no Sistema DDD.
- OnAccessPrevention - trava o sistema se fosse selecionado para OnAccessMountPath.
OnAccessExcludePath /home/usario2
OnAccessExcludePath /home/usuario4
OnAccessExcludeUname clamav
Verificando a configuração do kernel para a presença do fanotify: Atualizando e instalando: Verifique se o usuário e o grupo do ClamAV foram criados:
Para o Freshclam: Para o Clamd: Colocando o diretório database com o dono correto (verifique se é _clamav ou clamav): Veja artigo.
Veja artigo.
AVISO
QUARENTENA
Criando diretório e arquivo e permissionando:
Permissionando:
Veja artigo.
Permissionando:
Veja artigo.
Veja artigo.
Caso quiser pode executar novamente:
Testando bash: /home/usuario/Downloads/eicar.com: Operação não permitida
Comente
Verificando:
Em outro terminal execute:
# Configuracao
# -------------------#
ALVOS=(
# "/"
# "/home"
# "/var/www"
# "/etc"
"/home/seu_usuario/teste"
# adicione mais diretorios aqui ou coloque para varrer o raiz (/) e adicione mais --exclude-dir abaixo
)
cat: /home/usuario/teste/eicar.com: Arquivo ou diretório inexistente
ou
ou
Build time: 16 Dec 2025 23:18 +0000
Version: 63
Signatures: 3287027
Functionality level: 90
Builder: tomjudge
MD5: 9c353a6b32555186a45a61c6441f38c0
Digital signature: gI9w3cezaElJbedEoiykyQeX1f6j9Xbs3a+cf9U/kH5QScGMe2mRz1K2JlYOrqfBuOUMbiKmvkVvAquOsMeDp/ejLVDx5WulC6klZVhLOfBHda29OjaLZwEGR9GPIHDr0mXriv7pivuMH60/loxpASIJHLOszyj95pxVK+EaTCh
Verification OK.
Ou
Build time: 23 Sep 2026 06:24 +0000
Version: 28132
Signatures: 355666
Functionality level: 90
Builder: svc.clamav-publisher
Verification OK.
Principais arquivos de banco de dados:
- main.cvd: O banco estático principal.
- daily.cvd (ou daily.cld): Este sim muda múltiplas vezes ao dia para incluir ameaças recentes (Ransomwares, Phishing e malwares novos).
- bytecode.cvd: Atualizado esporadicamente para novas lógicas do motor de varredura.
Verificar/autorizar falsos positivos:
https://docs.clamav.net/manual/Usage.html
Diretórios Temporários: (Os alvos nº 1) Estes são os locais mais comuns porque qualquer usuário do sistema (ou serviço web vulnerável, como um site em WordPress ou uma aplicação PHP) tem permissão total para gravar arquivos neles./tmp: O diretório temporário global. Praticamente 90% dos scripts automatizados de ataque (como mineradores de criptomoedas e bots de DDoS) fazem o download de seus binários aqui antes de executá-los./var/tmp: Semelhante ao /tmp, mas os arquivos aqui não são apagados quando o sistema reinicia. Atacantes usam este local para tentar manter persistência no servidor./dev/shm: Este é o diretório de memória compartilhada (Shared Memory). Arquivos colocados aqui rodam direto na memória RAM, o que os torna extremamente rápidos e, muitas vezes, invisíveis para ferramentas tradicionais de monitoramento de disco.
Diretórios de Serviços Web e Uploads: Se o seu Linux roda um servidor web (Apache, Nginx) ou bancos de dados, o atacante explorará falhas na aplicação para injetar arquivos (geralmente Web Shells em PHP, Python ou Perl)./var/www/html/ (ou subpastas de uploads como wp-content/uploads no WordPress): Onde códigos maliciosos são injetados para que o atacante possa controlar o servidor remotamente pelo navegador./var/spool/samba/ ou pastas de compartilhamento de rede: Se o Samba estiver mal configurado, malwares de Windows (como Ransomwares) podem ser depositados ali para infectar outros computadores da rede.
Diretórios Ocultos nos Perfis de Usuários (/home): Quando o ataque visa especificamente a conta de um usuário (via roubo de senha SSH ou chave privada), os binários maliciosos costumam ser escondidos dentro de pastas ocultas na /home para evitar detecção visual simples (comandos ls comuns não as mostram)./home/usuario/.config/ ou /home/usuario/.local/: Pastas legítimas onde malwares se disfarçam de arquivos de configuração do sistema./home/usuario/.ssh/: Embora não coloquem o malware aqui, os atacantes injetam chaves públicas no arquivo authorized_keys desta pasta para garantir que possam reentrar no sistema quando quiserem, sem precisar de senha.

.jpeg)

