Protengendo o acesso HTTP com antivírus - HAVP + Clamav + Squid
Posts na série Acesso HTTP com antivírus
- Protengendo o acesso HTTP com antivírus - HAVP no Debian “etch”
- Protengendo o acesso HTTP com antivírus - HAVP + Clamav + Squid
No post anterior desta série expliquei como instalar o pacote HAVP diretamente do repositório Debian oficial. Comentei sobre as dependências do Clamav, mas me esqueci de dizer que essencialmente precisamos apenas dos pacotes (básicos) clamav, clamav-freshclam e libclamav3, sendo dispensável o pacote clamav-daemon.
Nesta implementação considerei utilizar o HAVP como um proxy parente do Squid a melhor solução. A grande vantagem é que você continua com todos os beníficios das ACLs do Squid, ou seja poderá continuar controlando e filtrando todo o tráfego que passar pelo Squid e ainda ter a protenção contra vírus, conforme demostrado no esquema baixo.
Para integramos o HAVP + Clamav + Squid, precisamos alterar alguns arquivos de configuração. Vou considerar que o Squid já esteja configurado e funcionando corretamente. Primeiramente editamos o /etc/havp/havp.config e alteramos algumas de suas seções para que fiquem iguais à:
USER havp GROUP havp LOG_OKS false PORT 8080 BIND_ADDRESS 127.0.0.1 TEMPLATEPATH /etc/havp/templates/br ENABLECLAMLIB true ENABLECLAMD false
Penso que seja auto explicativo, mantenha todas as outras opções do arquivo intactas. Agora devemos indicar ao Squid qual é seu proxy parente, neste caso o HAVP, então acrescentamos as seguintes linhas ao /etc/squid.conf:
acl all src 0.0.0.0/0.0.0.0 cache_peer localhost parent 8080 0 no-query no-digest no-netdb-exchange default cache_peer_access localhost allow all # Todo o tráfego HTTP deve ser enviado ao proxy parente HAVP acl HTTP proto HTTP never_direct allow HTTP
Com as opções acima indicamos ao Squid que todo o tráfego HTTP deverá passar obrigatoriamente pelo proxy parente que fará a verificação com o antivírus Clamav. Antes de testar recarregue as novas configurações dos serviços envolvidos:
# invoke-rc.d havp force-reload # invoke-rc.d squid force-reload
Para testar configure o seu navegador para acessar pelo Squid e visite a página http://www.eicar.org/download/eicar_com.zip, caso tudo esteja funcionando corretamente será exibida a tela abaixo.
Acho que desta forma podemos ter uma boa segurança contra estes vírus espertos que enganam muita gente e causam muitos prejuízos as empresas.
Espero que tenham gostado e o resto fica por conta da imaginação de cada um, ou seja proxy transparente, customização dos templates do HAVP e outros ajustes finos que podenm ser feitos tanto no Squid quanto no HAVP. Como ponto de partida deixo, logo abaixo, algumas referências que utilizei.
http://www.server-side.de/ideas.htm
http://www.opensourcehowto.org/how-to/squid/squid-clamav–havp.html
http://sidux.com/PNphpBB2-viewtopic-t-7162.html
Este texto foi publicado em 24/02/2008 por wasare na categoria debian, sysadmin
6 Comentários para “Protengendo o acesso HTTP com antivírus - HAVP + Clamav + Squid”
Enviar Trackback | Feed de Comentários


Paulo Brito on 25/02/2008 às 16:05 #
Parabéns, cara! Tanto pelo artigo quanto pela iniciativa de colocar no BR-Linux, porque eu sinceramente nem imaginava essa possibilidade, de scannear o download no proxy… Agora parece óbvio, mas sem seu toque nem pensaria nisso.
Júlio Cesar on 26/02/2008 às 16:32 #
Apesar de não ser referente ao topico, respondo a vossa visita ao nação e desde já agradeço:
Salve Wanderson,
Acho valido sim e até existe um tópico com sugestões e tal. O nome do registro eu acho que não foi possível de registro completo, mas o forum se chama Gnu/Linux MG1
Ajude nos a melhorar!
Dailson Fernandes on 28/02/2008 às 10:39 #
Em relação a performance? Como fica a navegação?
O Delay é alto?
A máquina onde está instalada esta estrutura? Qual a configuração que você usou?
Como fica o uso de memória e processador nesta máquina?
Você já usou em ambiente de produção? Como muitos usuários?
Sei que são muitas perguntas, mas se possível responda-as…
Agradeço antecipadamente
Dailson Fernandes
wasare on 28/02/2008 às 23:16 #
Dailson,
Não realizei nenhum teste comparativo de desempenho e empiricamente não houve delay. A máquina é uma comum de uns dois anos atrás (sempron ? com 512MB RAM). Não fiz nenhuma medição de memória ou processamento, mas não consome muito pois nem precisa do daemon do clamav que parece ser um bom devorador de recursos. Esta solução foi aplicada em um ambiente de produção com uns 4 clientes usando simultaneamente num link adsl de 150Kbps.
Como esta implementação é plugável ao Squid é possível fazer diversos testes em ambientes que demandam alta carga não duvido que funcione bem, mesmo com algum custo computacional vale muito a implementação. (mas em momento algum deve se dispensar o anti-vírus nas estações para os chupa-cabras de vírus da M$)
Uma observação que gostaria de fazer é que como todo o tráfego passa pelo HAVP e depois “repousa” no cache do Squid os arquivos em cache não são escaneados novamente, dependendo do ambiente uma “sintonia fina” no Squid pode minimizar possíveis problemas de desempenho.
Adriano on 12/06/2008 às 11:57 #
Muito interessante.
No caso, para utilizar outros protocolos, no caso ftp, basta adicionar uma regra semelhante, certo?
Abraço.
wasare on 12/06/2008 às 14:10 #
Adriano,
Em tese funciona, mas pode existir alguma limitação quanto ao tamanho do arquivo a ser verificado. Por questões de memória RAM, não é aconselhável escanear todos os arquivos.
Faça alguns testes… e tire suas conclusões.