Arquivos históricos do BR-Linux.org apresenta:

Tutorial completo: Configuração e Instalação do CLAMAV

O Alexandre de Jesus Marcolino (marcolino@facil.com) enviou para publicação o tutorial que ele produziu sobre a instalação, configuração e uso do Clamav. O texto completo você encontra clicando em DETALHES, e aqui vai um trechinho para quem quer saber o que é o Clamav: Trata-se de um anti-vírus desenvolvido em gnuC que roda multiplataforma nos diversos sabores de Unix. Tem como pretensão rodar como um anti-vírus de acesso a arquivos. Isto é ideal para servidores SAMBA/NIS/MARS. Também é possível rodar este anti-vírus em conjunto com o AMAVIS e o MailScanner para proteger servidores de Email e com o Apache para proteger servidores WEB.

Configuração e Instalação do CLAMAV

Alexandre de Jesus Marcolino (marcolino@facil.com)


Introdução

Trata-se de um anti-vírus desenvolvido em gnuC que roda multiplataforma nos diversos sabores de Unix.

Tem como pretensão rodar como um anti-vírus de acesso a arquivos. Isto é ideal para servidores
SAMBA/NIS/MARS. Também é possível rodar este anti-vírus em conjunto com o AMAVIS e o MailScanner para proteger servidores de Email e com o Apache para proteger servidores WEB.


Ambiente de teste

As configurações abaixo descritas foram realizadas em um Intel Celeron 1GHZ, 256MB Ram. As distribuições
usadas como teste foram:

Redhat Linux 7.3 - kernel 2.4.18
Conectiva Linux 8.0 - kernel 2.4.18

As duas distribuições foram instaladas na modalidade FULL .


Downloads necessários

ClamAV - http://clamav.elektrapro.com/stable/clamav-0.53.tar.gz
AMAVIS - http://umn.dl.sourceforge.net/sourceforge/amavis/amavis-ng_0.1.4.1.orig.tar.gz
MailScanner - http://www.sng.ecs.soton.ac.uk/mailscanner/downloads.shtml

Inicio

Vá para seu diretório favorito onde você deixa os fontes das coisas que compila e destarreie o arquivo
clamav-053.tar.gz

$cd tmp
$tar xzfv $HOME/mydownloads/clamav-053.tar.gz


Configurando o módulo DAZUKO.

Aqui um ponto muito importante. Para poder verificar o conteúdo de tudo que é acessado, o ClamAV se utiliza
de um módulo que trabalha em comunicação com o kernel do sistema. Sendo assim é necessários que os fontes
do kernel estejam devidamente instalados em seu computador. Para o RH 7.3 o pacote se chama
kernel-source-2.4.18-3.i386.rpm e está localizado no CD 2. No CL8 o pacote se chama kernel-source-2.4.18-3U8_4cl
e se encontra no CD 2.

Tendo os fontes do kernel instalados, vamos ao passo a passo para instalar o DAZUKO. Isto é coisa para gente
grande e por isso deve ser feito com o usuário root.

$pwd
/home/marcolino/tmp/clamav-053
$su -
#cd /home/marcolino/tmp/clamav-053
#cd support/dazuko
#make dazuko
#cp dazuko.o /usr/local/sbin

Até aqui compilamos o módulo dazuko e copiamos ele para /usr/local/sbin . Coloquei aí porque não quis perder
tempo acertando o kernel para incluir ele diretamente junto com o fonte. Para fazer isso consulte o site
www.dazuko.org. Eu não fiz e tudo está funcionando.

Agora vamos instalar o DAZUKO. Continuamos como root.

#mknod -m 666 /dev/dazuko c 254 0
#insmod /usr/local/sbin/dazuko.o

É uma boa idéia carregar isso antes do ClamAv. Coloquei em meu script de start/stop para carregar. Depois você
poderá ver com isso ficou.


Configurando o ClamAV

Bom aqui é o ritual de sempre. Como root:

#cd /home/marcolino/tmp/clamav-053
#./configure --prefix=/usr --sysconfdir=/etc
#groupadd clamav
#adduser -g clamav -s/bin/false -c"ClamAV" clamav
#make
#make install

Tudo sem surpresas nas duas distros aqui. Se você tiver alguma dificuldade pode ter certeza que é a falta de
algum pacote de desenvolvimento. Como estou com as distros instaladas full, não posso dizer nada a
respeito :-( .

Acertando o /etc/clamav.conf

Abaixo eu descrevo brevemente o que deve ser mexido ou não neste arquivo OK.

Encontrar a linha "Example" e comentar.
Encontrar a linha "Log File", descomentar e alterar para /var/log/clamd.log
Encontrar a linha "Log File Max Size" e descomentar
Encontrar a linha "Log Verbose" e descomentar
Encontrar a linha "Log Time" e descomentar
Encontrar a linha "Pid File", descomentar e alterar para /var/run/clamav/clamav.pid
Encontrar a linha "Data Directory" e descomentar
Encontrar a linha "Local Socket" e comentar
Encontrar a linha "TCP Socket" e descomentar
Encontrar a linha "Clamuko Scan OnLine" e descomentar
Encontrar a linha "Clamuko Include Path" e alterar para /home

A linha Clamuko Include Path discrimina quais os diretório que serão scaneados com o antivírus. Sugiro para
servidores de arquivo que apenas o diretório /home seja scanneado ( se este é o lugar onde estão os arquivos
de usuário ;-) ) fazendo com que o sistema então tenha uma performance mais agradável scanneando apenas o que
realmente interessa.

Deve-se então criar o diretório /var/run/clamav e dar a ele direitos para o usuários clamav

#mkdir /var/run/clamav
#chown clamav:clamav /var/run/clamav

Bem para finalizar produzi um script para inicializar e parar o daemon do ClamAV. Reconheço que não
está muito bom mas é meu primeiro script feito do Zero OK. Melhorias serão bem vindas. Abaixo a listagem

#! /bin/sh
#
# clamd Start/Stop the clamav daemon.
#
# processname: clamd
# config: /etc/clamav.conf
# pidfile: /var/run/clamav/clamd.pid

# Source function library.
. /etc/rc.d/init.d/functions

# See how we were called.
case "$1" in
start)
gprintf "Starting %s: " "clamd"
insmod /usr/local/sbin/dazuko.o
daemon clamd
echo
touch /var/lock/subsys/clamd
;;
stop)
gprintf "Stopping %s: " "clamd"
echo "QUIT\r" > /tmp/command
cat /tmp/command | telnet 127.0.0.1 3310
sleep 5
kill `cat /var/run/clamav/clamd.pid`
sleep 2
rmmod dazuko
echo
rm -f /var/lock/subsys/clamd
;;
status)
echo "PING\r" > /tmp/command
cat /tmp/command | telnet 127.0.0.1 3310
;;
reload)
echo "RELOAD\r" > /tmp/command
cat /tmp/command | telnet 127.0.0.1 3310
;;
*)
gprintf "Usage: %s {start|stop|status|reload}\n" "clamd"
exit 1
esac

exit 0

Aqui terminamos de configurar o ClamAV. Se você chegou até aqui, precisa ser orientado que:

Não é necessária nenhuma alteração para o anti-vírus atuar junto com um servidor de arquivos/WEB
qualquer.


Uma dica interessante ainda pode ser dada. Inclua isto em seu crontab

freshclam

Isto atualiza a base de dados do ClamAV.
Bom, agora vamos por para funcionar com um Servidor de EMAIL !!

Amavis ou MailScanner ?

Eu realmente não sei qual dos dois é melhor ou pior. Depende mais do gosto de cada um. Ambos são interpretados
já que rodam em perl e dependem de várias coisas estarem configuradas no perl para funcionar. Instalei os dois
e achei o MailScanner mais fácil de configurar.
Meu ambiente você já conhece. A única ressalva é que em meus teste utilizei o sendmail como MTA, por motivos
óbvios: se funcionar bem com o sendmail funcionará bem com quase todos os outros MTA's. Digo isso pela
complexidade de configuração que o sendmail apresenta e não pela funcionalidade ou qualidade OK ( antes que
isto vire um flame war :-) ). Outras alternativas óbvias seriam o postfix e o qmail. Fique a vontade.
Não me focarei na configuração do AMAVIS/MailScanner com o Sendmail mas sim na instalação do ClamAV como
Vírus Scanner para estes softwares.

Amavis.

Se tudo correr bem com a sua instalação, você terá um arquivo chamado amavis.conf em /etc/amavis. Basta então
editar este arquivo em seu editor favorito e descomentar a linha

virus-scanner = CLAM

Depois é só acertar a linha

clamscam = /usr/bin/clamscan

Moleza né ! BUG NA ÁREA !
Voce precisará acertar o código do Amavis para rodar com o ClamAV...
Abra em seu editor preferido o arquivo /usr/lib/perl5.6.1/site_perl/5.6.1/AMAVIS/AV/CLAM.pm
Vá na linha 49 - inclua um / após a palavra parts .

Para rodar legal recomendo que voce baixe e instale as sequintes bibliotecas e pacotes :

Config-INIFiles.tar.gz - CPAN ( www.cpan.org )
File-MMagic.tar.gz - CPAN ( www.cpan.org )
IO-stringy-2.108.tar.gz - CPAN ( www.cpan.org )
Archive-TAR-0.22.tar.gz - CPAN ( www.cpan.org )
Archive-ZIP-1.05.tar.gz - CPAN ( www.cpan.org )
lha-1.14i-4.i386.rpm - RPMFind.net ( www.rpmfind.net )
arc-5.21e-5.i386.rpm - RPMFind.net ( www.rpmfind.net )
zoo-2.10-7.i386.rpm - RPMFind.net ( www.rpmfind.net )
unrar-3.0.1.i386.rpm - RPMFind.net ( www.rpmfind.net )

Pode ser que eu me esqueci de anotar alguma ... Caso você queira acresentar alguma coisa, esteja a vontade.
Se quiser que isto seja incluído neste texto, mande-me um email OK.

Basicamente estas bibliotecas acima servem para extração de arquivos em anexo ao email para então o AMAVIS
conseguir scannear.


MailScanner.

Bom este foi o mais BABA de tudo que enfrentei até aqui :-) . Puxei o arquivo, instalei e acertei o arquivo de
configuração. VOA-LÁ ! Talves tenha sido assim porque instalei o AMAVIS antes, não sei dizer ...

Acerte você também este arquivo. Vá em /etc/MailScanner/MailScanner.conf e edite conforme abaixo.

Localize a linha "Virus Scanners = " e coloque clamav
Localize a linha "Minimum Code Status = " e coloque unsupported

Pronto !!!!!!!!!!


Agradecimento e dados para contato.

Quero agradecer a Deus que me ajudou até aqui.

Contatos comigo podem ser conseguidos através do email marcolino@facil.com . Também é possível encontrar
gente boa na lista linuxabc@yahoogrupos.com.br .

Bom gente valeu.

Postado por brain em 19 de novembro de 2002, 10:59 AM

Comentários

Ola
Gostaria de saber se o CLAMAV é capaz de pegar todos os virus que o Norton e o Macffe conseguem?

Postado por: Leonardo Serra em novembro 19, 2002 02:03 PM

GnuC seria o C do GCC? Acho que nunca ouvi ou li este termo.

Postado por: Patola (Cláudio Sampaio) em novembro 19, 2002 02:19 PM

Nem eu, mas foi o que eu imaginei também.
GNU/C... hehe...

Postado por: Felipe Raposo em novembro 19, 2002 03:25 PM

uso o clamav com o amavis e postfix a uns 4 meses
e ate agora nao tive problemas
fiz alguns testes baixando assinaturas de virus antigos e os novos, como bigbear, Klez e ele detectou numa boa
axo q o clamav e a melhor alternativa quanto ao mcfee
[]'s

Postado por: railton nepomuceno em novembro 19, 2002 04:05 PM

Apenas fazendo um teste de avaliação heurística da interface deste site.

Postado por: JWBRZ em novembro 19, 2002 04:41 PM

So respondendo ...
O Clamav pegar os vírus que os outros pegam é relativo. Acho que isto sempre depende do arquivo de assinaturas que hoje é de responsabilidado do projeto OpenAV - www.openantivirus.org
-----------------------------------------
gnuC é mais conhecido como GCC ... :-)
-----------------------------------------
Estou de acordo com o Felipe Cardoso. Agora estou tentando fazer este cara rodar com o Squid ...

Postado por: MARCOLINO em novembro 19, 2002 05:01 PM

Seria muito gentil de sua parte Marcos, publicar a instalação do clamav com o squid, principalmente para os que prestigiaram a esse how-to e manifestaram-se interessados como eu.
Enquanto isso irei realizar essas instalações e atualizações para funcionar.

Desde de já somos gratos.

Fernando Cordeiro
Admin de Redes

Postado por: fernando em novembro 20, 2002 11:56 AM

O que voces acham de utilizar com o qmailscanner
sera que é complicado ?

Postado por: otavio augsuto em novembro 20, 2002 12:19 PM

Respondendo a pergunta do Otavio, instalei o ClamAV com o qmailscanner no Gentoo hoje. Foi tudo muito simples: segui o roteiro de instalacao do ClamAV no proprio site, e depois so precisei instalar o pacote do qmailscanner no Gentoo.

Qualquer duvida, mande-me um email.

Postado por: Roberto em novembro 20, 2002 03:21 PM

Com o squid seria demais...

Postado por: sputnix em novembro 22, 2002 12:04 PM

Alguem pode me informar se é possivel selecionar o tipo de arquivo que o clamav vai scanear (ex .zip .rar) .. ???
Obrigado !

Postado por: Luiz em fevereiro 13, 2003 12:20 PM

Gostaria de saber como faço para minha pasta public_html ser vista por usuários da web, já criei e dei os atributos necessários com o chmod, mas gostaria de mais explanações pois não consegui fazer funciona.

Postado por: Oseas Tormen em fevereiro 26, 2003 05:56 PM

Legal
Mas como atualiza??????

Postado por: Rodrigo em março 11, 2003 03:22 PM


O Arquivo Histórico do BR-Linux.org mantém no ar (sem alteração, exceto quanto à formatação) notícias, artigos e outros textos publicados originalmente no site na segunda metade da década de 1990 e na primeira década do século XXI, que contam parte considerável a história do Linux e do Open Source no Brasil. Exceto quando indicado em contrário, a autoria dos textos é de Augusto Campos, e os termos de uso podem ser consultados na capa do BR-Linux.org. Considerando seu caráter histórico, é provável que boa parte dos links estejam quebrados, e que as informações deste texto estejam desatualizadas.