segunda-feira, 4 de maio de 2015

Instalando o Clamav no Slackware e Salix

Embora que vírus feito para S.O. Windows não funcione no GNU/Linux, se você receber algum arquivo de um amigo ou baixar da internet e não quiser espalhar arquivos que possa está infectado em sua rede doméstica ou de trabalho ou ainda repassar o arquivo para amigos, você deverá escanear estes arquivos antes de compartilhar utilizando o anti-virus Clamav pra quem utiliza computadores com Windows.

Para a versão mais recente do antivírus Clamav devemos baixar no site oficial do mesmo em http://www.clamav.net/download

Após baixado o mesmo, entrar no diretório onde se encontra o pacote clamav-versão.tar.gz e descompactar o pacote source.

$ tar -xzvf  clamav-versão.tar.gz
$ cd clamav-versão
$ ./configure
$ make

Torna-se root, nesta janela de terminal usando o comando su.
# make install

Agora devemos fazer algumas configurações para o Clamav funcionar, pois o mesmo não funcionará corretamente ainda caso você não tenha personalizado sua instalação entrando como opções extras para o comando configure, o que é muito normal para iniciantes neste caso.

# ldconfig -v
# mkdir /usr/local/share/clamav
# cd /usr/local/etc/
# cp freshclam.conf.sample freshclam.conf

Editar o arquivo /usr/local/etc/freshclam.conf devendo comentar ou remova a linha Example 

Agora descomente a linha DatabaseDirectory (removendo o caractere sustenido #) e altere o caminho padrão da mesma para /usr/local/share/clamav/ devendo ficar conforme abaixo.

DatabaseDirectory /usr/local/share/clamav/ 

Acertando as permissões

# groupadd clamav 
# useradd -g clamav -s /bin/false -c "Clam AntiVirus" clamav 
# chown clamav.clamav /usr/local/share/clamav/

Agora devemos fazer o download da base de dados de virus.
# freshclam 
ClamAV update process started at Sun Apr 26 17:46:50 2015 
WARNING: DNS record is older than 3 hours. 
WARNING: Invalid DNS reply. Falling back to HTTP mode. 
Downloading main.cvd [100%] 
main.cvd updated (version: 55, sigs: 2424225, f-level: 60, builder: neo) 
Downloading daily.cvd [100%] 
daily.cvd updated (version: 20378, sigs: 1378213, f-level: 63, builder: neo) 
Downloading bytecode.cvd [100%] 
bytecode.cvd updated (version: 250, sigs: 42, f-level: 63, builder: neo) 
Database updated (3802480 signatures) from database.clamav.net (IP: 155.98.64.87)

Pronto, o clamav está pronto para ser utilizado.

Agora para facilitar o seu uso, caso não tenha a gui Clamtk no seu repositório, ou a mesma não funciona devido a erro de perl, você pode escanear arquivos e pastas a partir do Thunar facilmente, se você utiliza o desktop Xfce.

No Thunar, acesse menu Editar/Configurar ações personalizadas..., na guia Básico preenche conforme abaixo:

Nome: Clamav
Descrição: Anti-vírus
Comando: Exec= xterm -hold  -fa 'Luxi Mono' -fs 14 -e clamscan --bell -i -r  --verbose -l  /tmp/clamav.log %F 

Escolha um ícone para o comando (opcional)

Agora na guia Condições de aparência, marque todos os itens e clique em OK.

Pronto, você pode selecionar tanto pastas como arquivos para o escaneamento, sendo que em /tmp terá um log do nome de todos os arquivos escaneados com o caminho do mesmo.

Comandos do Clamav

Ver a versão da base de dados de vírus

$ freshclam -V 
ClamAV 0.98.6/20382/Sun Apr 26 12:36:55 2015 


O número 20382 é a nova versão da base de dados de virus, onde Sun é o dia da semana, Apr o mês e 26 o dia da atualização da base de dados.

Fazer o download da versão mais recente da base de dados

#  freshclam


Escaneando o diretório /tmp e listar somente os nomes dos arquivos infectados

$ clamscan --bell  -i /tmp 
/tmp/testeviruscompactado.tgz: Eicar-Test-Signature FOUND 
/tmp/myvir.tgz: Eicar-Test-Signature FOUND 
/tmp/eicar.com: Eicar-Test-Signature FOUND 

----------- SCAN SUMMARY ----------- 
Known viruses: 3797050 
Engine version: 0.98.6 
Scanned directories: 1 
Scanned files: 10 
Infected files: 3 
Data scanned: 26.79 MB 
Data read: 9.88 MB (ratio 2.71:1) 
Time: 17.179 sec (0 m 17 s) 

Onde --bell soa o beep do alto-falante interno, se o mesmo estiver habilitado no seu sistema, e -i listará os nomes somente dos arquivos infectados.

Se desejar listar os nomes de todos os arquivos escaneados use a opção --verbose que listará inclusive os arquivos infectados mesmo não usando a opção -i.

Movendo os arquivos infectados para um diretório e gerando um log 


$ mkdir /tmp/infectados
$ clamscan -r --verbose /tmp  --move=/tmp/infectado/ -l /tmp/infectados.log 
Scanning /tmp/infectados.log 
/tmp/infectados.log: OK 
Scanning /tmp/varias.txt 
/tmp/varias.txt: OK 
Scanning /tmp/Kendra Ivy 1 - 2011.jpg 
/tmp/Kendra Ivy 1 - 2011.jpg: OK 
Scanning /tmp/2573tlk.jpg 
/tmp/2573tlk.jpg: OK 
Scanning /tmp/968full-tia-carrere.jpg 
/tmp/968full-tia-carrere.jpg: OK 
Scanning /tmp/testeviruscompactado.tgz 
/tmp/testeviruscompactado.tgz: Eicar-Test-Signature FOUND 
/tmp/testeviruscompactado.tgz: moved to '/tmp/infectado//testeviruscompactado.tgz' 
Scanning /tmp/myvir.tgz 
/tmp/myvir.tgz: Eicar-Test-Signature FOUND 
/tmp/myvir.tgz: moved to '/tmp/infectado//myvir.tgz' 
Scanning /tmp/leia clamav.txt 
/tmp/leia clamav.txt: OK 
Scanning /tmp/eicar.com 
/tmp/eicar.com: Eicar-Test-Signature FOUND 
/tmp/eicar.com: moved to '/tmp/infectado//eicar.com' 
Scanning /tmp/clamav ajuda rev1.txt 
/tmp/clamav ajuda rev1.txt: OK 
/tmp/.com.google.Chrome.6OcVrp/SingletonCookie: Symbolic link 
Scanning /tmp/luwjna7r.tmp/luwjna9e.tmp 
/tmp/luwjna7r.tmp/luwjna9e.tmp: OK 
Scanning /tmp/.xfsm-ICE-KX9JXX 
/tmp/.xfsm-ICE-KX9JXX: OK 

----------- SCAN SUMMARY ----------- 
Known viruses: 3797050 
Engine version: 0.98.6 
Scanned directories: 8 
Scanned files: 12 
Infected files: 3 
Data scanned: 26.88 MB 
Data read: 9.90 MB (ratio 2.72:1) 
Time: 16.833 sec (0 m 16 s) 


Onde -r para escanear subdiretórios também, /tmp/infectado/ é o diretório para onde será movido os arquivos infectados, caso você tenha certeza que não se trata de um falso positivo, pode excluir os mesmos, pois o clamav não elimina vírus ele apenas os detecta, podendo apenas configurar uma ação para mover os arquivos infectados para um diretório ou deletar automaticamente durante o escaneamento.
Todos os arquivos infectados encontrado tem no final do nome dele a palavra FOUND ao usar a opção --verbose ou -i.

Especificando apenas um arquivo para escanear

$ clamscan varias.txt 
varias.txt: OK 

----------- SCAN SUMMARY ----------- 
Known viruses: 3797050 
Engine version: 0.98.6 
Scanned directories: 0 
Scanned files: 1 
Infected files: 0 
Data scanned: 0.12 MB 
Data read: 0.06 MB (ratio 1.94:1) 
Time: 13.788 sec (0 m 13 s) 


Excluído automaticamente os arquivos infectados durante o escaneamento

$ clamscan -r --remove -v /tmp

Scanning /tmp/virus teste clamav.png
/tmp/virus teste clamav.png: OK
Scanning /tmp/leiameu.txt
/tmp/leiameu.txt OK
Scanning /tmp/teste/testeviruscompactado.zip
/tmp/teste/testeviruscompactado.zip: Eicar-Test-Signature FOUND
/tmp/teste/testeviruscompactado.zip: Removed.
----corte----

----------- SCAN SUMMARY -----------
Known viruses: 3797050
Engine version: 0.98.6
Scanned directories: 6
Scanned files: 7
Infected files: 3
Data scanned: 25.49 MB
Data read: 16.94 MB (ratio 1.50:1)
Time: 17.322 sec (0 m 17 s)


Nota:
O mesmo procedimento de instalação descrito aqui também pode ser feito em qualquer distro do GNU/Linux.

O Clamav escanear automaticamente arquivos e diretórios ocultos sem precisar utilizar um flag para isto, salvo o -r para incluir subdiretórios.





2 comentários: