38. ClamAV - O Melhor Antivírus para Linux!
1. Instalando
Para instalar:
$ sudo apt install clamav
O ClamAV também instala por padrão o aplicativo freshclam, que é usado para atualizar o seu banco de dados de viroses. No Debian ele é instalado e iniciado como um serviço por padrão. Para se certificar de que ele está mesmo rodando em segundo plano, teste com o comando abaixo:
$ sudo freshclam
Caso receba essa mensagem de erro:
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!
Então definitivamente ele está rodando e com certeza o banco de dados está atualizado. Caso não receba essa mensagem, então ele não está rodando, e vai baixar as atualizações. Também é bom iniciar o serviço, para que fique rodando:
$ /etc/init.d/clamav-freshclam start
O próprio ClamAV, no entanto, não roda o tempo todo (ao contrário do freshclam) mas, caso você queira ele rodando como um daemon (serviço em segundo plano), como é normal no Windows, instale também o pacote daemon:
$ sudo apt install clamav-daemon
Para iniciar o daemon:
$ /etc/init.d/clamav-daemon start
2. Usando
A melhor forma de aprender a usar o ClamAV é lendo o help:
$ clamscan --help
Eu vou dar uma palhinha. Se você instalou o daemon, então o ClamAV vai estar rodando, mas caso queira fazer uma varredura específica, então use o comando clamscan:
$ clamscan --infected --remove --recursive /pasta/ou/partição
- a opção --recursive pode ser substituída por -r, que é a mesma coisa, e permite varrer as subpastas recursivamente.
- a opção --infected (ou apenas -i) faz com que o arquivo infectado seja impresso na tela do terminal, o que é útil pra que você saiba onde estava a praga!
- a opção --remove (não tem letrinha...) diz o que fazer com o arquivo infectado. No caso é deletar.
Alternativamente, você pode mover o arquivo infectado para uma outra pasta (de quarentena?) e até tocar um sino pra avisar que achou alguma coisa:
$ clamscan -i -r --bell --move=/pasta/de/quarentena /pasta/de/varredura
Se pretende mover para uma quarentena, pode ser útil criar um log para posterior restauração dos arquivos caso sejam um falso-positivo:
$ clamscan -i -r --bell --move=/pasta/de/quarentena --log=/pasta/do/arquivo.log /pasta/de/varredura
O script shell clamav-quarantine-recover é bem fácil de usar e permite restaurar todos os arquivos movidos para a quarentena conforme o registro do log.
3. Multithreading
Por padrão, o clamscan é executado usando apenas um core da CPU, mas existe um truque genial usando o xargs:
$ find /pasta/de/varredura -type f -print0 | xargs -0 -P $(nproc) clamscan -i -r --bell --move=/pasta/de/quarentena
OBS.: não é possível criar arquivo de log com multithreading.
- find ... -type f -print0 - te dá todos os arquivos da pasta a ser escaneada.
- xargs -0 - faz a mágica, pegando o resultado anterior e jogando no clamscan a seguir. O "-0" diz que essa lista é separada por "nulos" em vez de espaços em branco.
- -P $(nproc) - "P" define o número de threads usadas e "nproc" pega o número total de threads que sua CPU tem.
- no final só excluímos a pasta de varredura, porque já fizemos isso no find.
Eu já testei e funcionou muito bem! Até encontrei aquela praga danada que estava consumindo minha CPU e aumentando a temperatura do meu SSD na minha partição Windows!
Para mais informações (em inglês), dá uma lida nesse tutorial pra Arch Linux.
Comentários
Postar um comentário