O antivírus ClamAV é o mais conhecido para plataformas Linux, gratuito e com atualizações frequentes da base de dados contra as atuais ameças cibernéticas existentes. E neste post o Aluno Ninja demonstra como instalá-lo via interface gráfica e via terminal, inclusive o controlar gráfico para facilitar o manuseio do ClamAV sem o uso obrigatório de linhas de comando no terminal.
INSTALANDO O ANTIVÍRUS CLAMAV VIA TERMINAL
Execute essa linha de comando no terminal:
sudo apt install clamav clamav-daemon
Esse comando inclui também a instalação de alguns outros pacotes adicionais. Ao ser questionado pela continuação da instalação, tecle S seguido de Enter.
Quando a instalação estiver concluída, automaticamente será iniciada a busca por novas atualizações. Aparecerá algo assim:
"Lendo listas de pacotes... Pronto
Construindo árvore de dependências... Pronto
Lendo informação de estado... Pronto
The following additional packages will be installed:
clamav-base clamav-freshclam clamdscan libclamav9 libmspack0 libtfm1
Pacotes sugeridos:
libclamunrar clamav-docs daemon libclamunrar9
Os NOVOS pacotes a seguir serão instalados:
clamav clamav-base clamav-daemon clamav-freshclam clamdscan libclamav9
libmspack0 libtfm1
0 pacotes atualizados, 8 pacotes novos instalados, 0 a serem removidos e 0 não atualizados.
É preciso baixar 0 B/1.847 kB de arquivos.
Depois desta operação, 5.457 kB adicionais de espaço em disco serão usados.
Você quer continuar? [S/n] s
Pré-configurando pacotes ...
A seleccionar pacote anteriormente não seleccionado clamav-base.
(Lendo banco de dados ... 141367 ficheiros e directórios actualmente instalados.
)
A preparar para desempacotar .../0-clamav-base_0.103.7+dfsg-0+deb11u1_all.deb ...
A descompactar clamav-base (0.103.7+dfsg-0+deb11u1) ...
A seleccionar pacote anteriormente não seleccionado libmspack0:amd64.
A preparar para desempacotar .../1-libmspack0_0.10.1-2_amd64.deb ...
A descompactar libmspack0:amd64 (0.10.1-2) ...
A seleccionar pacote anteriormente não seleccionado libtfm1:amd64.
A preparar para desempacotar .../2-libtfm1_0.13-4_amd64.deb ...
A descompactar libtfm1:amd64 (0.13-4) ...
A seleccionar pacote anteriormente não seleccionado libclamav9:amd64.
A preparar para desempacotar .../3-libclamav9_0.103.7+dfsg-0+deb11u1_amd64.deb ...
A descompactar libclamav9:amd64 (0.103.7+dfsg-0+deb11u1) ...
A seleccionar pacote anteriormente não seleccionado clamav-freshclam.
A preparar para desempacotar .../4-clamav-freshclam_0.103.7+dfsg-0+deb11u1_amd64
.deb ...
A descompactar clamav-freshclam (0.103.7+dfsg-0+deb11u1) ...
A seleccionar pacote anteriormente não seleccionado clamav.
A preparar para desempacotar .../5-clamav_0.103.7+dfsg-0+deb11u1_amd64.deb ...
A descompactar clamav (0.103.7+dfsg-0+deb11u1) ...
A seleccionar pacote anteriormente não seleccionado clamav-daemon.
A preparar para desempacotar .../6-clamav-daemon_0.103.7+dfsg-0+deb11u1_amd64.deb ...
A descompactar clamav-daemon (0.103.7+dfsg-0+deb11u1) ...
A seleccionar pacote anteriormente não seleccionado clamdscan.
A preparar para desempacotar .../7-clamdscan_0.103.7+dfsg-0+deb11u1_amd64.deb ...
A descompactar clamdscan (0.103.7+dfsg-0+deb11u1) ...
Configurando libmspack0:amd64 (0.10.1-2) ...
Configurando libtfm1:amd64 (0.13-4) ...
Configurando libclamav9:amd64 (0.103.7+dfsg-0+deb11u1) ...
Configurando clamav-base (0.103.7+dfsg-0+deb11u1) ...
id: “clamav”: usuário inexistente
Configurando clamav-freshclam (0.103.7+dfsg-0+deb11u1) ...
To check for updates more often than hourly, please run freshclam as a daemon.
Replacing config file /etc/cron.d/clamav-freshclam with new version
clamav-freshclam.service is a disabled or a static unit not running, not startin
g it.
Starting database update:
Thu Feb 2 10:02:20 2023 -> ClamAV update process started at Thu Feb 2 10:02:20
2023
Thu Feb 2 10:02:28 2023 -> daily database available for download (remote versio
n: 26800)
Time: 2m 11s, ETA: 0.0s [========================>] 57.82MiB/57.82MiB
Thu Feb 2 10:04:40 2023 -> Testing database: '/var/lib/clamav/tmp.656a3fce95/cl
amav-31f0e01036bcd11c64fc08a638b71da5.tmp-daily.cvd' ...
Thu Feb 2 10:04:51 2023 -> Database test passed.
Thu Feb 2 10:04:51 2023 -> daily.cvd updated (version: 26800, sigs: 2018998, f-
level: 90, builder: raynman)
Thu Feb 2 10:04:51 2023 -> main database available for download (remote version
: 62)
Time: 7m 05s, ETA: 0.0s [========================>] 162.58MiB/162.58MiB
Thu Feb 2 10:12:01 2023 -> Testing database: '/var/lib/clamav/tmp.656a3fce95/cl
amav-36e741babb1f8189d649fcc49ab4ce32.tmp-main.cvd' ...
Thu Feb 2 10:12:13 2023 -> Database test passed.
Thu Feb 2 10:12:13 2023 -> main.cvd updated (version: 62, sigs: 6647427, f-leve
l: 90, builder: sigmgr)
Thu Feb 2 10:12:13 2023 -> bytecode database available for download (remote ver
sion: 333)
Time: 4.3s, ETA: 0.0s [========================>] 286.79KiB/286.79KiB
Thu Feb 2 10:12:18 2023 -> Testing database: '/var/lib/clamav/tmp.656a3fce95/cl
amav-df36fdd6b6352cdd4724fd13ab6aef84.tmp-bytecode.cvd' ...
Thu Feb 2 10:12:18 2023 -> Database test passed.
Thu Feb 2 10:12:18 2023 -> bytecode.cvd updated (version: 333, sigs: 92, f-leve
l: 63, builder: awillia2)
Thu Feb 2 10:12:18 2023 -> !NotifyClamd: Can't find or parse configuration file /etc/clamav/clamd.conf
Configurando clamdscan (0.103.7+dfsg-0+deb11u1) ...
Configurando clamav-daemon (0.103.7+dfsg-0+deb11u1) ...
Configurando clamav (0.103.7+dfsg-0+deb11u1) ...
A processar 'triggers' para man-db (2.9.4-2) ...
A processar 'triggers' para libc-bin (2.31-13+deb11u5) ...
"
Note que o antivírus é atualizado, mas o Clamd ainda não foi encontrado, além também de o usuário clamav ser inexistente. Isso pode ser resolvido facilmente.
Para confirmar que a atualização foi realmente realizada, execute o seguinte comando de verificação:
clamscan --version
Deverá ser retornada alguma informação semelhante a essa, mas considerando certamente alteração de data e versão do software e base de dados:
ClamAV 0.103.7/26800/Thu Feb 2 04:47:56 2023
Agora, para iniciar a resolução do que foi retornado na tela do terminal, execute o seguinte comando:
sudo systemctl stop clamav-freshclam
Feito isso, agora execute a seguinte linha de comando:
sudo freshclam
Como uma atualização automática já foi efetivada há alguns instantes após a instalação, provavelmente não haverá atualizações no momento. Dessa forma, o terminal irá retornar algo semelhante a isso:
"Thu Feb 2 10:30:53 2023 -> ClamAV update process started at Thu Feb 2 10:30:53 2023
Thu Feb 2 10:30:54 2023 -> daily.cvd database is up-to-date (version: 26800, sigs: 2018998, f-level: 90, builder: raynman)
Thu Feb 2 10:30:54 2023 -> main.cvd database is up-to-date (version: 62, sigs: 6647427, f-level: 90, builder: sigmgr)
Thu Feb 2 10:30:54 2023 -> bytecode.cvd database is up-to-date (version: 333, sigs: 92, f-level: 63, builder: awillia2)"
Ok, isso apenas confirma novamente as atualizações já realizadas. Então, agora é preciso iniciar o clamav-freshclam com a seguinte linha de comando:
sudo systemctl start clamav-freshclam
Uma vez ativado o clamav-freshclam, agora é necessário habilitá-lo, e para isso, execute a linha de comando:
sudo systemctl enable clamav-freshclam
O terminal irá retornar as seguintes informações:
"Synchronizing state of clamav-freshclam.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable clamav-freshclam
Created symlink /etc/systemd/system/multi-user.target.wants/clamav-freshclam.service → /lib/systemd/system/clamav-freshclam.service."
Execute novamente o comando:
freshclam
O terminal irá retornar alguns erros que precisam ser resolvidos:
"ERROR: Can't open /var/log/clamav/freshclam.log in append mode (check permissions!).
ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log).
ERROR: initialize: libfreshclam init failed.
ERROR: Initialization error!"
As mesagens de erro acima demonstram que alguns diretórios precisam de permissão para serem alterados durante as atualizações. Então, execute essas linhas de comando:
sudo chmod -R 777 /var/log/clamav
sudo chmod -R 777 /var/lib/clamav
Com as permissões de escrita concedidas aos diretórios ClamAV, agora execute essa linha de comando outra vez para verificar se está tudo ok:
freshclam
O terminal deverá retornar algumas mensagens semelhantes as essas se tudo estiver ok com as concessões:
"Thu Feb 2 16:12:49 2023 -> ClamAV update process started at Thu Feb 2 16:12:49 2023
Thu Feb 2 16:12:49 2023 -> daily.cvd database is up-to-date (version: 26800, sigs: 2018998, f-level: 90, builder: raynman)
Thu Feb 2 16:12:49 2023 -> main.cvd database is up-to-date (version: 62, sigs: 6647427, f-level: 90, builder: sigmgr)
Thu Feb 2 16:12:49 2023 -> bytecode.cvd database is up-to-date (version: 333, sigs: 92, f-level: 63, builder: awillia2)"
Se no outro dia esse comando freshclam for novamente executado, atualizará, mas deverá ainda aparecer alguma mensagem semelhante a essa, relatando logo ao final, um erro ao notificar o Clamd:
"Fri Feb 3 08:46:06 2023 -> ClamAV update process started at Fri Feb 3 08:46:06 2023
Fri Feb 3 08:46:07 2023 -> daily database available for update (local version: 26800, remote version: 26801)
Current database is 1 version behind.
Downloading database patch # 26801...
Time: 0.6s, ETA: 0.0s [========================>] 11.94KiB/11.94KiB
Fri Feb 3 08:49:18 2023 -> Testing database: '/var/lib/clamav/tmp.05c7bcf179/clamav-3e3eb26798cef45e375c33edfad42d41.tmp-daily.cld' ...
Fri Feb 3 08:52:50 2023 -> Database test passed.
Fri Feb 3 08:52:50 2023 -> daily.cld updated (version: 26801, sigs: 2019109, f-level: 90, builder: raynman)
Fri Feb 3 08:52:51 2023 -> main.cvd database is up-to-date (version: 62, sigs: 6647427, f-level: 90, builder: sigmgr)
Fri Feb 3 08:52:51 2023 -> bytecode.cvd database is up-to-date (version: 333, sigs: 92, f-level: 63, builder: awillia2)
Fri Feb 3 08:52:52 2023 -> ^Clamd was NOT notified: Can't connect to clamd through /var/run/clamav/clamd.ctl: No such file or directory"
Agora é preciso resolver as correlações com Clamd para permitir que ele seja notificado sobre as atualizações.
Até esse passo, o terminal irá informar que o Clamd não existe e/ou não pode ser notificado das atualizações feitas. O freshclam faz o download das atualizações e testa a base de dados, mas até então não consegue notificar o Clamd. Isso simplesmente significa que o serviço do ClamAV Daemon precisa ser reiniciado.
Primeiramente, para verificar o status do serviço Clamd, execute essa linha de comando:
sudo systemctl status clamav-daemon.service
Deverá ser retornado algo semelhante a isso:
"clamav-daemon.service - Clam AntiVirus userspace daemon
Loaded: loaded (/lib/systemd/system/clamav-daemon.service; enabled; vendor>
Drop-In: /etc/systemd/system/clamav-daemon.service.d
└─extend.conf
Active: active (running) since Fri 2023-02-03 08:42:44 -04; 57min ago
Docs: man:clamd(8)
man:clamd.conf(5)
https://docs.clamav.net/
Process: 389 ExecStartPre=/bin/mkdir -p /run/clamav (code=exited, status=0/>
Process: 400 ExecStartPre=/bin/chown clamav /run/clamav (code=exited, statu>
Main PID: 403 (clamd)
Tasks: 2 (limit: 2320)
Memory: 978.9M
CPU: 55.247s
CGroup: /system.slice/clamav-daemon.service
└─403 /usr/sbin/clamd --foreground=true
fev 03 08:58:04 alunoninja clamd[403]: Fri Feb 3 08:58:04 2023 -> Portable Exe>
fev 03 08:58:04 alunoninja clamd[403]: Fri Feb 3 08:58:04 2023 -> ELF support >
fev 03 08:58:04 alunoninja clamd[403]: Fri Feb 3 08:58:04 2023 -> Mail files s>
fev 03 08:58:04 alunoninja clamd[403]: Fri Feb 3 08:58:04 2023 -> OLE2 support>
fev 03 08:58:04 alunoninja clamd[403]: Fri Feb 3 08:58:04 2023 -> PDF support >
fev 03 08:58:04 alunoninja clamd[403]: Fri Feb 3 08:58:04 2023 -> SWF support >
lines 1-23...skipping..."
E semelhante a isso, logo em seguida:
"clamav-daemon.service - Clam AntiVirus userspace daemon
Loaded: loaded (/lib/systemd/system/clamav-daemon.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/clamav-daemon.service.d
└─extend.conf
Active: active (running) since Fri 2023-02-03 08:42:44 -04; 57min ago
Docs: man:clamd(8)
man:clamd.conf(5)
https://docs.clamav.net/
Process: 389 ExecStartPre=/bin/mkdir -p /run/clamav (code=exited, status=0/SUCCESS)
Process: 400 ExecStartPre=/bin/chown clamav /run/clamav (code=exited, status=0/SUCCESS)
Main PID: 403 (clamd)
Tasks: 2 (limit: 2320)
Memory: 978.9M
CPU: 55.247s
CGroup: /system.slice/clamav-daemon.service
└─403 /usr/sbin/clamd --foreground=true
fev 03 08:58:04 alunoninja clamd[403]: Fri Feb 3 08:58:04 2023 -> Portable Executable support enabled.
fev 03 08:58:04 alunoninja clamd[403]: Fri Feb 3 08:58:04 2023 -> ELF support enabled.
fev 03 08:58:04 alunoninja clamd[403]: Fri Feb 3 08:58:04 2023 -> Mail files support enabled.
fev 03 08:58:04 alunoninja clamd[403]: Fri Feb 3 08:58:04 2023 -> OLE2 support enabled.
fev 03 08:58:04 alunoninja clamd[403]: Fri Feb 3 08:58:04 2023 -> PDF support enabled.
fev 03 08:58:04 alunoninja clamd[403]: Fri Feb 3 08:58:04 2023 -> SWF support enabled.
fev 03 08:58:04 alunoninja clamd[403]: Fri Feb 3 08:58:04 2023 -> HTML support enabled.
fev 03 08:58:04 alunoninja clamd[403]: Fri Feb 3 08:58:04 2023 -> XMLDOCS support enabled.
fev 03 08:58:04 alunoninja clamd[403]: Fri Feb 3 08:58:04 2023 -> HWP3 support enabled.
fev 03 08:58:04 alunoninja clamd[403]: Fri Feb 3 08:58:04 2023 -> Self checking every 3600 second"
Verificado todos os detalhes, agora é o momento de reiniciar o serviço Clamd. Execute a seguinte linha de comando para reiniciar o Clamd:
sudo service clamav-daemon restart
No outro dia, execute o comando:
freshclam
E o terminal retornará algo semelhante a isso:
"Sat Feb 4 08:18:34 2023 -> ClamAV update process started at Sat Feb 4 08:18:34 2023
Sat Feb 4 08:18:34 2023 -> ^Can't query current.cvd.clamav.net
Sat Feb 4 08:18:34 2023 -> ^Invalid DNS reply. Falling back to HTTP mode.
Sat Feb 4 08:18:34 2023 -> Trying to retrieve CVD header from https://database.clamav.net/daily.cvd
Sat Feb 4 08:18:34 2023 -> ^remote_cvdhead: Download failed (6) Sat Feb 4 08:18:34 2023 -> ^ Message: Couldn't resolve host name
Sat Feb 4 08:18:34 2023 -> ^Failed to get daily database version information from server: https://database.clamav.net
Sat Feb 4 08:18:34 2023 -> !check_for_new_database_version: Failed to find daily database using server https://database.clamav.net.
Sat Feb 4 08:18:34 2023 -> Trying again in 5 secs...
Sat Feb 4 08:18:39 2023 -> Trying to retrieve CVD header from https://database.clamav.net/daily.cvd
Sat Feb 4 08:18:39 2023 -> ^remote_cvdhead: Download failed (6) Sat Feb 4 08:18:39 2023 -> ^ Message: Couldn't resolve host name
Sat Feb 4 08:18:39 2023 -> ^Failed to get daily database version information from server: https://database.clamav.net
Sat Feb 4 08:18:39 2023 -> !check_for_new_database_version: Failed to find daily database using server https://database.clamav.net.
Sat Feb 4 08:18:39 2023 -> Trying again in 5 secs...
Sat Feb 4 08:18:44 2023 -> Trying to retrieve CVD header from https://database.clamav.net/daily.cvd
Sat Feb 4 08:18:44 2023 -> ^remote_cvdhead: Download failed (6) Sat Feb 4 08:18:44 2023 -> ^ Message: Couldn't resolve host name
Sat Feb 4 08:18:44 2023 -> ^Failed to get daily database version information from server: https://database.clamav.net
Sat Feb 4 08:18:44 2023 -> !check_for_new_database_version: Failed to find daily database using server https://database.clamav.net.
Sat Feb 4 08:18:44 2023 -> Trying again in 5 secs...
Sat Feb 4 08:18:49 2023 -> Trying to retrieve CVD header from https://database.clamav.net/daily.cvd
Sat Feb 4 08:18:49 2023 -> ^remote_cvdhead: Download failed (6) Sat Feb 4 08:18:49 2023 -> ^ Message: Couldn't resolve host name
Sat Feb 4 08:18:49 2023 -> ^Failed to get daily database version information from server: https://database.clamav.net
Sat Feb 4 08:18:49 2023 -> !check_for_new_database_version: Failed to find daily database using server https://database.clamav.net.
Sat Feb 4 08:18:49 2023 -> Trying again in 5 secs...
Sat Feb 4 08:18:54 2023 -> Trying to retrieve CVD header from https://database.clamav.net/daily.cvd
Time: 0.9s, ETA: 0.0s [========================>] 512B/512B
Sat Feb 4 08:18:55 2023 -> OK
Sat Feb 4 08:18:55 2023 -> daily database available for update (local version: 26801, remote version: 26802)
Current database is 1 version behind.
Downloading database patch # 26802...
Time: 0.4s, ETA: 0.0s [========================>] 10.45KiB/10.45KiB
Sat Feb 4 08:21:23 2023 -> Testing database: '/var/lib/clamav/tmp.9595504332/clamav-87ea4bcc9331487a9e14eb45309429d2.tmp-daily.cld' ...
Sat Feb 4 08:22:48 2023 -> Database test passed.
Sat Feb 4 08:22:49 2023 -> daily.cld updated (version: 26802, sigs: 2019326, f-level: 90, builder: raynman)
Sat Feb 4 08:22:49 2023 -> Trying to retrieve CVD header from https://database.clamav.net/main.cvd
Sat Feb 4 08:22:52 2023 -> main.cvd database is up-to-date (version: 62, sigs: 6647427, f-level: 90, builder: sigmgr)
Sat Feb 4 08:22:52 2023 -> Trying to retrieve CVD header from https://database.clamav.net/bytecode.cvd
Sat Feb 4 08:22:53 2023 -> bytecode.cvd database is up-to-date (version: 333, sigs: 92, f-level: 63, builder: awillia2)
Sat Feb 4 08:22:53 2023 -> Clamd successfully notified about the update."
Note agora que o ClamAV foi atualizado, e que na linha final a mensagem confirma que o Clamd foi notificado com sucesso sobre a atualização que foi realizada na base de dados do ClamAV.
Apenas para fins de verificação, execute outra vez o comando:
sudo systemctl status clamav-daemon.service
O terminal poderá retornar algo semelhante a isso:
"clamav-daemon.service - Clam AntiVirus userspace daemon
Loaded: loaded (/lib/systemd/system/clamav-daemon.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/clamav-daemon.service.d
└─extend.conf
Active: failed (Result: oom-kill) since Sat 2023-02-04 08:25:13 -04; 3min 20s ago
Docs: man:clamd(8)
man:clamd.conf(5)
https://docs.clamav.net/
Process: 391 ExecStartPre=/bin/mkdir -p /run/clamav (code=exited, status=0/SUCCESS)
Process: 402 ExecStartPre=/bin/chown clamav /run/clamav (code=exited, status=0/SUCCESS)
Process: 405 ExecStart=/usr/sbin/clamd --foreground=true (code=killed, signal=KILL)
Main PID: 405 (code=killed, signal=KILL)
CPU: 1min 39.141s
fev 04 08:17:21 alunoninja clamd[405]: Sat Feb 4 08:17:21 2023 -> SWF support enabled.
fev 04 08:17:21 alunoninja clamd[405]: Sat Feb 4 08:17:21 2023 -> HTML support enabled.
fev 04 08:17:21 alunoninja clamd[405]: Sat Feb 4 08:17:21 2023 -> XMLDOCS support enabled.
fev 04 08:17:21 alunoninja clamd[405]: Sat Feb 4 08:17:21 2023 -> HWP3 support enabled.
fev 04 08:17:21 alunoninja clamd[405]: Sat Feb 4 08:17:21 2023 -> Self checking every 3600 seconds.
fev 04 08:22:53 alunoninja clamd[405]: Sat Feb 4 08:22:53 2023 -> Reading databases from /var/lib/clamav
fev 04 08:25:12 alunoninja systemd[1]: clamav-daemon.service: A process of this unit has been killed by the OOM killer.
fev 04 08:25:13 alunoninja systemd[1]: clamav-daemon.service: Main process exited, code=killed, status=9/KILL
fev 04 08:25:13 alunoninja systemd[1]: clamav-daemon.service: Failed with result 'oom-kill'.
fev 04 08:25:14 alunoninja systemd[1]: clamav-daemon.service: Consumed 1min 39.141s CPU time."
Isso significa falha no serviço Daemon e que também alguns processos foram parados.
Para resolver isso reinicie o laptop ou pc. Depois disso, execute novamente o comando:
sudo systemctl status clamav-daemon.service
Retorno do terminal:
"clamav-daemon.service - Clam AntiVirus userspace daemon
Loaded: loaded (/lib/systemd/system/clamav-daemon.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/clamav-daemon.service.d
└─extend.conf
Active: active (running) since Sat 2023-02-04 08:34:27 -04; 2min 17s ago
Docs: man:clamd(8)
man:clamd.conf(5)
https://docs.clamav.net/
Process: 388 ExecStartPre=/bin/mkdir -p /run/clamav (code=exited, status=0/SUCCESS)
Process: 401 ExecStartPre=/bin/chown clamav /run/clamav (code=exited, status=0/SUCCESS)
Main PID: 402 (clamd)
Tasks: 1 (limit: 2320)
Memory: 1.0G
CPU: 37.553s
CGroup: /system.slice/clamav-daemon.service
└─402 /usr/sbin/clamd --foreground=true
fev 04 08:34:27 alunoninja systemd[1]: Starting Clam AntiVirus userspace daemon...
fev 04 08:34:27 alunoninja systemd[1]: Started Clam AntiVirus userspace daemon."
Essas mensagens do resultado acima demonstra que o daemon ainda estava iniciando. Se for assim, execute novament o comando:
sudo systemctl status clamav-daemon.service
"clamav-daemon.service - Clam AntiVirus userspace daemon
Loaded: loaded (/lib/systemd/system/clamav-daemon.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/clamav-daemon.service.d
└─extend.conf
Active: active (running) since Sat 2023-02-04 08:34:27 -04; 7min ago
Docs: man:clamd(8)
man:clamd.conf(5)
https://docs.clamav.net/
Process: 388 ExecStartPre=/bin/mkdir -p /run/clamav (code=exited, status=0/SUCCESS)
Process: 401 ExecStartPre=/bin/chown clamav /run/clamav (code=exited, status=0/SUCCESS)
Main PID: 402 (clamd)
Tasks: 2 (limit: 2320)
Memory: 1.2G
CPU: 54.589s
CGroup: /system.slice/clamav-daemon.service
└─402 /usr/sbin/clamd --foreground=true
fev 04 08:37:51 alunoninja clamd[402]: Sat Feb 4 08:37:51 2023 -> Portable Executable support enabled.
fev 04 08:37:51 alunoninja clamd[402]: Sat Feb 4 08:37:51 2023 -> ELF support enabled.
fev 04 08:37:51 alunoninja clamd[402]: Sat Feb 4 08:37:51 2023 -> Mail files support enabled.
fev 04 08:37:51 alunoninja clamd[402]: Sat Feb 4 08:37:51 2023 -> OLE2 support enabled.
fev 04 08:37:51 alunoninja clamd[402]: Sat Feb 4 08:37:51 2023 -> PDF support enabled.
fev 04 08:37:51 alunoninja clamd[402]: Sat Feb 4 08:37:51 2023 -> SWF support enabled.
fev 04 08:37:51 alunoninja clamd[402]: Sat Feb 4 08:37:51 2023 -> HTML support enabled.
fev 04 08:37:51 alunoninja clamd[402]: Sat Feb 4 08:37:51 2023 -> XMLDOCS support enabled.
fev 04 08:37:51 alunoninja clamd[402]: Sat Feb 4 08:37:51 2023 -> HWP3 support enabled.
fev 04 08:37:51 alunoninja clamd[402]: Sat Feb 4 08:37:51 2023 -> Self checking every 3600 seconds."
Ok, instalação completa! Atualização também completa! Tudo funcionando perfeitamente!
INSTALAÇÃO DA INTERFACE GRÁFICA CLAMTK
Para instalar a interface gráfica ClamTK do antivírus ClamAV, execute a linha de comando:
sudo apt install clamtk
Se for perguntado sobre o download para prosseguir com a instalação, tecle S seguido de Enter.
É apenas isso, a instalação do controlador gráfico é bem rápida e fácil, e ao finalizar já estará pronta para uso e configuração.
-----------------------------------
Outra forma de instalação via interface gráfica e com alguns comandos:
INSTALANDO O ANTIVÍRUS CLAMAV VIA SYNAPTIC
Selecione-o na app store “Programas” e clique em Pesquisar; pesquise por “clamav”. Com a tecla “Ctrl” pressionada, clique em:
- clamav
- clamav-base
- clamav-daemon
- clamav-docs
- clamav-freshclam
- clamav-milter
- clamdscan
- libclamav9
Essa é uma instalação completa com os principais componentes do antivírus. Se quiser fazer apenas uma instalação básica, selecione somente o clamav e o clamav-daemon; automaticamente alguns outros componentes essenciais serão incluídos na seleção feita.
Agora com clique direito do mouse ou toque duplo instantâneo no touchpad, clique em “Marcar para instalação”; clique em “Aplicar” localizado na barra superior, depois em “Aplicar” na(s) janela(s) flutuantes que surgir(em). O download e instalação irá iniciar; aguarde até que o processo seja concluído.
AUTORIZANDO ATUALIZAÇÕES AUTOMÁTICAS CLAMAV
Ainda no Gerenciador de pacotes Synaptic, selecione cada um dos apps e pressione as teclas “Ctrl + E” para forçar a instalação da atualização. Será exibida uma tela com uma lista das atualizações estáveis mais recentes na base de dados; selecione a versão desejada, clique em “Aplicar”.
Esse procedimento deveria ser único, mas se as atualizações não estiverem ocorrendo de forma automática, ultrapassando o prazo de uma semana ou mais sem novas definições na base de dados, então seu antivírus não está atualizando de forma automática por algum motivo.
No terminal, execute o seguinte comando:
freshclam
Se tudo estiver ok com o antivírus ClamAV instalado no seu laptop ou pc, será exibida uma sequência de linhas como essas na imagem abaixo após a execução desse comando:
"ninja@alunoninja:~$ freshclam
Tue Jan 31 09:04:26 2023 -> ClamAV update process started at Tue Jan 31 09:04:26 2023
Tue Jan 31 09:04:26 2023 -> ^Can't query current.cvd.clamav.net
Tue Jan 31 09:04:26 2023 -> ^Invalid DNS reply. Falling back to HTTP mode.
Tue Jan 31 09:04:26 2023 -> Trying to retrieve CVD header from https://database.clamav.net/daily.cvd
Tue Jan 31 09:04:26 2023 -> ^remote_cvdhead: Download failed (6) Tue Jan 31 09:04:26 2023 -> ^ Message: Couldn't resolve host name
Tue Jan 31 09:04:26 2023 -> ^Failed to get daily database version information from server: https://database.clamav.net
Tue Jan 31 09:04:26 2023 -> !check_for_new_database_version: Failed to find daily database using server https://database.clamav.net.
Tue Jan 31 09:04:26 2023 -> Trying again in 5 secs...
Tue Jan 31 09:04:31 2023 -> Trying to retrieve CVD header from https://database.clamav.net/daily.cvd
Time: 0.7s, ETA: 0.0s [========================>] 512B/512B
Tue Jan 31 09:04:31 2023 -> OK
Tue Jan 31 09:04:31 2023 -> daily database available for update (local version: 26797, remote version: 26798)
Current database is 1 version behind.
Downloading database patch # 26798...
Time: 0.5s, ETA: 0.0s [========================>] 10.20KiB/10.20KiB
Tue Jan 31 09:04:33 2023 -> Testing database: '/var/lib/clamav/tmp.ca7a3f0f0f/clamav-d186a764d347b38d0eca455a2bf62202.tmp-daily.cld' ...
Tue Jan 31 09:04:41 2023 -> Database test passed.
Tue Jan 31 09:04:45 2023 -> daily.cld updated (version: 26798, sigs: 2018894, f-level: 90, builder: raynman)
Tue Jan 31 09:04:46 2023 -> Trying to retrieve CVD header from https://database.clamav.net/main.cvd
Tue Jan 31 09:04:49 2023 -> main.cvd database is up-to-date (version: 62, sigs: 6647427, f-level: 90, builder: sigmgr)
Tue Jan 31 09:04:49 2023 -> Trying to retrieve CVD header from https://database.clamav.net/bytecode.cvd
Tue Jan 31 09:04:50 2023 -> bytecode.cvd database is up-to-date (version: 333, sigs: 92, f-level: 63, builder: awillia2)
Tue Jan 31 09:04:50 2023 -> Clamd successfully notified about the update.
ninja@alunoninja:~$"
Note que se a conexão ao servidor e download não for possível no primeiro momento, outras tentativas serão realizadas automaticamente de 5 em 5 segundos.
Nessa atualização manual, tudo é registrado na tela do terminal, informando o que especificamente está sendo atualizado, qual a versão, builder e data. Ao finalizar, uma mensagem de sucesso é exibida e que o Clamd foi notificado sobre as atualizações feitas.
Se como resultado desse comando for exibida alguma mensagem de erro ou impossibilidade de proceder alguma ação que permita a atualização, então será necessário fazer alguns ajustes e conceder as permissões necessárias para que as ações do comando freshclam sejam concluídas.
As permissões e ajustes a serem realizados irão depender das mensagens resultantes do comando freshclam, mas no geral já mensura-se o que é preciso para que as atualizações sejam concluídas – permissões de leitura, escrita e gravação pelo usuário e/ou aplicativos autorizados para automatização das tarefas; criação de tarefas do tipo cronjob.
Então, para deixar o ClamAV pronto e recebendo todas as atualizações mais recentes e automaticamente, siga o passo a passo:
1 – CONCEDENDO PERMISSÕES
Execute as seguintes permissões via terminal:
sudo chmod -R 777 /var/log/clamav
sudo chmod -R 777 /var/lib/clamav
Fazendo isso, boa parte dos possíveis problemas que impedem as atualizações do ClamAV já estará resolvida, assim como da exibição de mensagens de erros. Isso já soluciona muito.
Exemplo de algumas mensagens de erro que essas permissões resolvem:
“ERROR: Can't open /var/log/clamav/freshclam.log in append mode (check permissions!).
ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log).
ERROR: initialize: libfreshclam init failed.
ERROR: Initialization error!”
O ClamAV é um antivírus gratuito, excelente e atualizadíssimo – o melhor dos melhores.
2 – RECONFIGURANDO O CLAMAV-FRESHCLAM E CRIANDO O NOVO ARQUIVO DE CONFIGURAÇÕES FRESHCLAM.CONF
Execute essa linha de comando no terminal:
sudo dpkg-reconfigure clamav-freshclam
Esse comando cria um novo arquivo freshclam.conf e dita como serão as ações de atualização do ClamAV, além de outras particularidades. Serão apresentadas algumas telas para que selecione dentre as opções disponíveis e informe valores e endereços de forma personalizada. Para que fique mais claro, veja o passo a passo seguinte com essas telas:
Para resolver a situação do Clamd, a qual é relatada na última linha dessa tela do terminal, volte alguns passos acima no primeioro método de instalação via terminal para saber como proceder.
E se surpreendentemente por algum motivo o novo freshclam.conf for criado em branco, sem as instruções básicas e mínimas, então insira essas instruções e salve as alterações feitas:
# Local config
DatabaseMirror database.clamav.net
LogSyslog no
AUTOMATIZANDO ATUALIZAÇÕES CLAMAV VIA CRONJOBS
Lembre-se de que no Synaptic as atualizações já estão autorizadas. Então essa configuração aqui pode não ser necessária no seu sistema. Observe o status da base de dados do ClamAV por alguns dias, verifique possíveis mensagens retornadas pelo terminal do sistema e tente resolvê-las antes de programar um trabalho cron. Somente depois de certificar que o antivírus realmente não está atualizando automaticamente e no demais tudo estiver ok, então proceda com esse passo a passo buscando a automatização do ClamAV via cronjobs.
No terminal, execute a linha de comando:
crontab -e
Se o terminal exibir opções de escolha sobre o editor a ser utilizado para criar cronjobs, opte pela versão “nano”.
Agora, no editor digite o comando cron:
* 10 * * * freshclam
Para salvar as alterações feitas, pressione Ctrl + O, Enter para concluir, Ctrl + X para sair.
Esse comando cron faz com que as verificações sejam realizadas sempre às 10 horas, todos os dias, todas as semanas, todos os meses, todos os anos.
É possível acelerar essas verificações tornando-as mais frequentes, como por exemplo de 2 em 2 horas, todos os dias, todas as semanas, todos os meses, todos os anos. Ficaria assim:
* */2 * * * freshclam
Após isso, se ainda assim observar que o antivírus não está atualizando, então pode ser preciso incluir permissão de escrita na linha de comando para que o cron esteja autorizado a fazer as alterações no destino. Sendo isso, inclua o comando de escrita:
* */2 * * * freshclam chmod +x
Se por algum motivo for necessário desfazer essa programação, basta apagar essa linha de comando cron e salvar as alterações da forma como demonstrado logo acima.
Esses procedimentos já são suficientes para que o ClamAV seja instalado corretamente e trabalhe normalmente atualizando periodicamente, conforme as atualizações vão sendo liberadas com as novas definições de vírus, worms, trojans e demais ameaças cibernéticas mais recentes identificadas ao redor do mundo.
Outro método de instalação pode dificultar o perfeito funcionamento do antivírus, mas nada que não seja impossível se o usuário tiver o conhecimento para fazer isso diferente. O Linux é um sistema muito amigável, flexível; por isso é possível fazer algo de diferentes modos nesse sistema operacional; o usuário é livre.
INSTALANDO A INTERFACE GRÁFICA OU CONTROLADOR DO CLAMAV
Volte ao Synaptic e pesquise por “clamav”, agora na lista que for exibida, localize o app “clamtk”, proceda com um clique direito com o mouse ou toque duplo simultâneo no touchpad e clique em “Marcar para instalação”, clique em Aplicar no barra superior, clique em aplicar novamente na tela flutuante e aguarde a instalação ser concluída.
Feito isso, a interface gráfica do ClamAV já deve estar instalada e pronta para uso. Não é necessário instalar esse controlador, é um adicional apenas para facilitar e agilizar o uso para alguns usuários que prefiram assim, sem ter que digitar linhas de código no terminal.