Antivírus ClamAV com proteção em tempo real
Instalação e configuração do antivírus ClamAV com arquivos de configurações, On-Access Scanning (proteção em tempo real), várias assinaturas de bancos de dados e interface gráfica (ClamTk).
Parte 4: Atualizando o freshclam
O parâmetro DatabaseDirectory /var/lib/clamav deve ser o mesmo nos arquivos freshclam.conf e clamd.conf. Caso alterar num deve obrigatoriamente alterar no outro. Aconselho a deixar no padrão.
Ao executar o freshclam o programa tentará buscar uma atualização no endereço especificado na linha DatabaseMirror, caso não encontre, ele passará para o endereço subsequente, até encontrar e baixar as atualizações.
Depois ele executará todas as DatabaseCustomURL.
Atualizando pelo terminal:
# systemctl stop clamav-freshclam
# freshclam
Levará em torno de um a dois minutos atualizando os bancos de dados.
Caso der um erro semelhante a esse:
ERROR: /var/log/clamav/freshclam.log is locked by another process
ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log).
ERROR: initialize: libfreshclam init failed.
ERROR: Initialization error!
Faça o seguinte:
# lsof /var/log/clamav/freshclam.log
e veja na saída o número do PID ao final:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
freshclam XXXX clamav 3wW REG 8,3 3384 7471195 /var/log/clamav/freshclam.log
Encerre o processo:
# kill XXXX
(no lugar de XXXX terá um número de 4 dígitos)
Atualizando:
# freshclam
Abaixo é somente um exemplo, a saída bem maior:
Mon Jun 20 20:15:41 2023 -> ClamAV update process started at Mon Jun 19 20:15:41 2023
Mon Jun 20 20:15:41 2023 -> daily.cvd database is up-to-date (version: 26944, sigs: 2037362, f-level: 90, builder: raynman)
Mon Jun 20 20:15:41 2023 -> main.cvd database is up-to-date (version: 62, sigs: 6647427, f-level: 90, builder: sigmgr)
Mon Jun 20 20:15:41 2023 -> bytecode.cvd database is up-to-date (version: 334, sigs: 91, f-level: 90, builder: anvilleg)
Mon Jun 20 20:15:42 2023 -> malware.expert.ndb is up-to-date (version: custom database)
Mon Jun 20 20:15:43 2023 -> malware.expert.hdb is up-to-date (version: custom database)
Time: 1.1s, ETA: 0.0s [========================>] 246B/246B
Mon Jun 20 20:15:44 2023 -> Testing database: '/var/lib/clamav/tmp.6691514a05/clamav-d170be684bda2d5cf594bdd941ceae65.tmp-malware.expert.ldb' ...
Mon Jun 20 20:15:44 2023 -> Database test passed.
Mon Jun 20 20:15:44 2023 -> malware.expert.ldb updated (version: custom database, sigs: 1)
Deverá terminar com a última linha assim:
Mon Jun 20 20:16:19 2023 -> Clamd successfully notified about the update.
Aconselho a colocar no cron para fazer freshclam uma vez por semana (ou mais, a seu gosto) ou use o Programador na interface do ClamTK. Lembrando que o ClamTK é bem básico e abrange somente os aspectos do Clamav (somente o que está nos arquivos de configurações), por exemplo, as atualizações do clamav-unofficial-sigs você deverá programar no cron ou realizar manualmente.
# systemctl start clamav-freshclam
IMPORTANTE:
Sempre antes de executar freshclam deve-se parar o serviço, a sequência é sempre essa:
# systemctl stop clamav-freshclam
# freshclam
# systemctl start clamav-freshclam
# apt-get install clamav-testfiles
Escaneando:
# clamscan /usr/share/clamav-testfiles/
Deverá terminar com a lista de arquivos encontrados e ao final terá:
----------- SCAN SUMMARY -----------
Known viruses: 8824027
Engine version: 0.103.8
Scanned directories: 1
Scanned files: 46
Infected files: 46
Data scanned: 14.02 MB
Data read: 6.21 MB (ratio 2.26:1)
Time: 85.571 sec (1 m 25 s)
Start Date: 2023:06:20 13:11:59
End Date: 2023:06:20 13:13:25
Daí pode remover:
# apt-get remove clamav-testfiles
Ao executar o freshclam o programa tentará buscar uma atualização no endereço especificado na linha DatabaseMirror, caso não encontre, ele passará para o endereço subsequente, até encontrar e baixar as atualizações.
Depois ele executará todas as DatabaseCustomURL.
Atualizando pelo terminal:
# systemctl stop clamav-freshclam
# freshclam
Levará em torno de um a dois minutos atualizando os bancos de dados.
Caso der um erro semelhante a esse:
ERROR: /var/log/clamav/freshclam.log is locked by another process
ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log).
ERROR: initialize: libfreshclam init failed.
ERROR: Initialization error!
Faça o seguinte:
# lsof /var/log/clamav/freshclam.log
e veja na saída o número do PID ao final:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
freshclam XXXX clamav 3wW REG 8,3 3384 7471195 /var/log/clamav/freshclam.log
Encerre o processo:
# kill XXXX
(no lugar de XXXX terá um número de 4 dígitos)
Atualizando:
# freshclam
Abaixo é somente um exemplo, a saída bem maior:
Mon Jun 20 20:15:41 2023 -> ClamAV update process started at Mon Jun 19 20:15:41 2023
Mon Jun 20 20:15:41 2023 -> daily.cvd database is up-to-date (version: 26944, sigs: 2037362, f-level: 90, builder: raynman)
Mon Jun 20 20:15:41 2023 -> main.cvd database is up-to-date (version: 62, sigs: 6647427, f-level: 90, builder: sigmgr)
Mon Jun 20 20:15:41 2023 -> bytecode.cvd database is up-to-date (version: 334, sigs: 91, f-level: 90, builder: anvilleg)
Mon Jun 20 20:15:42 2023 -> malware.expert.ndb is up-to-date (version: custom database)
Mon Jun 20 20:15:43 2023 -> malware.expert.hdb is up-to-date (version: custom database)
Time: 1.1s, ETA: 0.0s [========================>] 246B/246B
Mon Jun 20 20:15:44 2023 -> Testing database: '/var/lib/clamav/tmp.6691514a05/clamav-d170be684bda2d5cf594bdd941ceae65.tmp-malware.expert.ldb' ...
Mon Jun 20 20:15:44 2023 -> Database test passed.
Mon Jun 20 20:15:44 2023 -> malware.expert.ldb updated (version: custom database, sigs: 1)
Deverá terminar com a última linha assim:
Mon Jun 20 20:16:19 2023 -> Clamd successfully notified about the update.
Aconselho a colocar no cron para fazer freshclam uma vez por semana (ou mais, a seu gosto) ou use o Programador na interface do ClamTK. Lembrando que o ClamTK é bem básico e abrange somente os aspectos do Clamav (somente o que está nos arquivos de configurações), por exemplo, as atualizações do clamav-unofficial-sigs você deverá programar no cron ou realizar manualmente.
# systemctl start clamav-freshclam
IMPORTANTE:
Sempre antes de executar freshclam deve-se parar o serviço, a sequência é sempre essa:
# systemctl stop clamav-freshclam
# freshclam
# systemctl start clamav-freshclam
Testando
Vamos instalar o diretório virulento de testes fornecido pelo clamav:# apt-get install clamav-testfiles
Escaneando:
# clamscan /usr/share/clamav-testfiles/
Deverá terminar com a lista de arquivos encontrados e ao final terá:
----------- SCAN SUMMARY -----------
Known viruses: 8824027
Engine version: 0.103.8
Scanned directories: 1
Scanned files: 46
Infected files: 46
Data scanned: 14.02 MB
Data read: 6.21 MB (ratio 2.26:1)
Time: 85.571 sec (1 m 25 s)
Start Date: 2023:06:20 13:11:59
End Date: 2023:06:20 13:13:25
Daí pode remover:
# apt-get remove clamav-testfiles