quarta-feira, 27 de janeiro de 2010

Limpando Virus de Partições Windows com ClamAV

Imagine os seguintes cenários:

1- Você tem uma máquina com 2 partições, uma Windows e outra Linux. Forçado a usar o horripilante Windows, você pega um virus... e agora, o que fazer??
2- Seu amigo te liga desesperado: a máquina Windows dele pegou um virus e agora está funcionando muito mal... e agora, o que fazer??

Não se desespere!! O linux tem uma solução para isso: um anti-virus eficiente, fácil de usar, gratuito e leve chamado ClamAV. O ClamAV foi desenvolvido para servidores e é capaz de verificar partições inteiras, arquivos de rede, arquivos anexados em e-mail antes de serem entregues, dentre outras funcionalidades. Claro que o Linux não pega virus, mas o Windows pega, e, muitas vezes, o ClamAV pode salvar a sua pátria!! Mas minha máquina não é um servidor!! Calma... o ClamAV é flexível o suficiente para funcionar bem em máquinas simples e até laptops!!

  • Solução do Problema
Para o cenário 1, você tem que entrar na partição Linux, que vai estar intacta, e instalar o ClamAV. Para o cenário 2, você pode dar um boot com o DVD do Ubuntu (ou qualquer outra distro que inicie pelo CD, DVD ou pendrive), que vai carregar o Linux na memória sem alterar o HD (todo tomado de Windows e viri), e instalar o ClamAV. Note que, mesmo se a máquina não possui Linux, é possível dar um jeito!!

  • Instalando o ClamAV

É simples e depende de sua distribuição. Na maioria das vezes, ele existe no repositório e pode ser instalado com seu programa de instalação normal ou um gerenciador de pacotes, como o Synaptic. Em distribuições baseadas em Debian, como o Ubuntu, basta digitar, como root:

apt-get update
apt-get install clamav

Pronto!! Tudo instalado!!

  • Atualizando o Banco de Dados

Pode não ser necessário, mas geralmente você tem que buscar os dados mais brilhantemente novos de viri que o pessoal do ClamAV conseguiu identificar e disponibilizar. Quem atualiza estes dados é uma ferramenta chamada freshclam. Para atualizar, basta simplesmente digitar o nome da ferramenta, como root:

freshclam
ClamAV update process started at Wed Jan 27 09:45:08 2010
main.cld is up to date (version: 51, sigs: 545035, f-level: 42, builder: sven)
daily.cld is up to date (version: 10335, sigs: 158617, f-level: 44, builder: guitar)

Note que, como o ClamAV é feito para servidor, provavelmente, ao instalar, ele colocou o freshclam como um serviço. Se isso aconteceu, a atualização será feita automaticamente, sem você sequer perceber. Para verificar se ele entrou como serviço, basta digitar:

ps -e | grep fresh
2573 ? 00:00:00 freshclam

Viu?? Tá ele lá, no PID 2573, rodando!! Mas, como eu sei que ele está mesmo baixando atualizações?? Bom, você não precisa ser chato a este ponto, mas tem como descobrir, lendo o arquivo de configuração do freshclam e procurando a linha que informa quantas verificações ele deve fazer por dia (que deve ser limitada a um número de 1 a 50)... O arquivo pode estar no /etc/freshclam.conf ou no /etc/clamav/freshclam.conf, dependendo de sua distribuição. Vamos fazer isso??

cat /etc/clamav/freshclam.conf | grep Checks
Checks 24

Beleza!! O camarada verifica 24 vezes por dia se há atualizações!! É exatamente uma verificação a cada hora. Para minha máquina, isto está muito bom, mas você pode colocar o valor que quiser. Lembre-se de que, mudando o arquivo de configuração, é preciso reiniciar o serviço (como root!!), para que ele leia a nova configuração:

/etc/init.d/clamav-freshclam restart
Stopping ClamAV virus database updater: freshclam.
Starting ClamAV virus database updater: freshclam.

Claro que tudo isso pode ser feito também com as opções de linha de comando do freshclam... sinta-se à vontade!!

  • Finalmente, Limpando o virus!!

É preciso que seu sistema Linux tenha acesso à partição Windows... então, você pode montá-la manualmente, com o comando "mount", ou deixar que o sistema a monte sozinho. Dependendo do seu Kernel e da sua distro, a montagem automática pode acontecer ou não. Suponhamos que sua partição infectada esteja em /mnt/hda1. Para limpar a famigerada, basta digitar, como root:

clamscan -r --remove=yes /mnt/hda1

Bom, o que isso faz??
1- clamscan é o comando do clamav que verifica um arquivo ou diretório contra viri conhecidos.
2- a opção "-r" significa que a verificação deve ser executada recursivamente, ou seja, em todos os diretórios, arquivos, e em cada subdiretório e seus arquivos, até o último nível. Ideal para verificar realmente TUDO da partição!! Vai demorar bastante, mas vale a pena!!
3- --remove=yes instrui que, achando um arquivo infectado, ele deve ser apagado. É preciso digitar isto porque, por padrão, o clamscan gera apenas um relatório mas não mexe em nada. Como a gente quer expurgar mesmo o virus, então vamos mandar apagar logo tudo que está infectado.

Enquanto ele verifica, você pode continuar usando o sistema normalmente. No terminal, o clamscan vai imprimir um por um os arquivos verificados e, ao final, vai gerar um relatório completo sobre o que foi feito.
Bom, espero ter ajudado!! Boa sorte e, claro, use Linux!! Não terá mais problemas com virus novamente!! Ah, e o mais importante de tudo: COMENTE!!! :-)

4 comentários:

Paulo Pinheiro - Campinas disse...

Mutio bom. Mais uma vez meu ubuntu salva o dia limpando minha partição windows. Se não fosse a integração com o Xbox que o windows tem ficava só com o ubuntu.

O Pajé disse...

Muito bom, amigo!! Fico imensamente feliz de saber que os tutoriais do Pajé ajudam as pessoas!! A vida é isto: ajudar e ser feliz!!

Uma dica: dependendo de como você utilizar o Windows, é possível virtualizá-lo, ou seja, instalar o VirtualBox (ou outro virtualizador) e deixar o Windows como máquina virtual de seu Linux. Assim você não precisa lidar com 2 sistemas operacionais e com partições diferentes o tempo todo.

Administrador disse...

Parabéns pelo artigo, me tirou várias dúvidas.

Só pra complementar existe na central de programas um programinha chamado ClamTk que é uma interface do Clamav para quem não gosta muito de lidar com o terminal.

O Pajé disse...

Obrigado pela dica, amigo!! Realmente, existe este programa. Segue, abaixo, o link da página oficial do mesmo, onde é se possível baixar versões pré-compiladas do mesmo para Fedora, Debian e CentOS (além do fonte, claro!):

http://code.google.com/p/clamtk/