Tabela de Conteúdos

Página desactualizada Esta página contém uma versão anterior deste guia que pode estar desatualizada. Para a consultar a versão mais recente clique aqui.

3.6.1 ClamAV

Objectivo

Instalação do pacote anti-vírus ClamAV. Este pode posteriormente ser integrado num sistema de filtragem de emails ou ficheiros.

Instalação

root@server:~# aptitude install clamav clamav-docs clamav-daemon clamav-freshclam

Para que o ClamAV possa verificar ficheiros compactados, devem ser também instalados alguns pacotes para descompactar ficheiros:

root@server:~# aptitude install arc arj bzip2 cabextract lzop nomarch p7zip pax tnef unrar-free unzip zoo

Se tiver acesso aos repositórios “non-free”, é possível instalar mais alguns pacotes:

root@server:~# aptitude install lha unrar 

Configuração

A actualização da base de dados de assinaturas de vírus é descarregada da Internet pelo daemon clamav-freshclam 24 vezes ao dia. No entanto, essa periodicidade pode ser alterada no ficheiro /etc/clamav/freshclam.conf:

/etc/clamav/freshclam.conf
# [...]
# Check for new database 24 times a day
Checks 24

# [...]

Caso se pretenda utilizar um servidor proxy para aceder à Internet, deve-se alterar a configuração também em /etc/clamav/freshclam.conf:

/etc/clamav/freshclam.conf
# [...]
# 
HTTPProxyServer proxy.home.lan
HTTPProxyPort 3128

Reiniciar o serviço, para ter em conta as alterações de configuração:

server:~# /etc/init.d/clamav-freshclam restart

Após a instalação, deve ser feita a actualização da base de dados de assinaturas de vírus.

root@server:~# freshclam
ClamAV update process started at Mon Jan  3 12:36:00 2011
main.cvd is up to date (version: 53, sigs: 846214, f-level: 53, builder: sven)
daily.cvd is up to date (version: 12472, sigs: 13615, f-level: 58, builder: ccordes)
bytecode.cvd is up to date (version: 114, sigs: 27, f-level: 58, builder: edwin)

As futuras actualizações serão feitas automaticamente, várias vezes por dia.

Verificação

A distribuição debian disponibiliza um pacote de ficheiros de testes “infectados” com uma assinatura de um falso vírus. O clamAV deverá ser capaz de identificar correctamente os ficheiros de teste “infectados”.

Instalar o pacote de testes:

root@server:~# aptitude install clamav-testfiles

Efectuar os testes:

root@server:~# clamscan /usr/share/clamav-testfiles/
/usr/share/clamav-testfiles/clam.impl.zip: ClamAV-Test-File FOUND
/usr/share/clamav-testfiles/clam_ISmsi_int.exe: ClamAV-Test-File FOUND
/usr/share/clamav-testfiles/clam.exe.binhex: ClamAV-Test-File FOUND
[...]
/usr/share/clamav-testfiles/clam.tnef: ClamAV-Test-File FOUND
/usr/share/clamav-testfiles/clam.ole.doc: ClamAV-Test-File FOUND
/usr/share/clamav-testfiles/clam.exe.mbox.uu: ClamAV-Test-File FOUND

----------- SCAN SUMMARY -----------
Known viruses: 858610
Engine version: 0.96.5
Scanned directories: 1
Scanned files: 46
Infected files: 44
Data scanned: 12.47 MB
Data read: 6.21 MB (ratio 2.01:1)
Time: 6.616 sec (0 m 6 s)

A listarem indica os ficheiros pesquisados e a assinatura do falso “virus” encontrado (ClamAV-Test-File FOUND) e o sumário indica que foi encontrada a assinatura de “virus” nos 46 ficheiros verificados.

Testar também o daemon clamdscan:

root@server:~# clamdscan /usr/share/clamav-testfiles/
/usr/share/clamav-testfiles/clam.7z: ClamAV-Test-File FOUND
/usr/share/clamav-testfiles/clam.exe.bz2: ClamAV-Test-File FOUND
/usr/share/clamav-testfiles/clam.ppt: ClamAV-Test-File FOUND
[...]
/usr/share/clamav-testfiles/clam.pdf: ClamAV-Test-File FOUND
/usr/share/clamav-testfiles/clam.exe.mbox.uu: ClamAV-Test-File FOUND
/usr/share/clamav-testfiles/clam.exe.mbox.base64: ClamAV-Test-File FOUND

----------- SCAN SUMMARY -----------
Infected files: 44
Time: 1.300 sec (0 m 1 s)

O anti-vírus está agora pronto para ser usado manualmente ou integrado noutros sistemas e serviços.

O pacote de testes pode agora ser removido:

root@server:~# aptitude remove clamav-testfiles
Para detecção de vírus, podem ser utilizados os comandos clamscan e clamdscan. No entanto, a segunda forma clamdscan é muito mais rápida, uma vez que sendo um daemon, está já carregada em memória, ao contrário do comando clamscan, que deve ser lido do disco para a memória cada vez que é invocado. (Ver os tempos de execução de um e de outro nos exemplos acima).

Referências