Site Meter
Ver o conteúdo

Protengendo o acesso HTTP com antivírus - HAVP + Clamav + Squid

Posts na série Acesso HTTP com antivírus

  1. Protengendo o acesso HTTP com antivírus - HAVP no Debian “etch”
  2. 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.

HAVP como proxy parente do Squid

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.

HAVP bloqueando acesso ao “vírus” eicar

 

 

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



BuscaPé, líder em comparação de preços na América Latina

Leia também:

11 Comentários

  1. Paulo Brito

    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.

    Publicado em 25-Feb-08 às 16:05 | Permalink
  2. 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! :)

    Publicado em 26-Feb-08 às 16:32 | Permalink
  3. 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

    Publicado em 28-Feb-08 às 10:39 | Permalink
  4. wasare

    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.

    Publicado em 28-Feb-08 às 23:16 | Permalink
  5. Adriano

    Muito interessante.

    No caso, para utilizar outros protocolos, no caso ftp, basta adicionar uma regra semelhante, certo?

    Abraço.

    Publicado em 12-Jun-08 às 11:57 | Permalink
  6. wasare

    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.

    Publicado em 12-Jun-08 às 14:10 | Permalink
  7. Nelson

    Tive problemas para instalar o havp aqui no debian etch

    Primeiramente instalei o havp, ele pede a dependencia do libclamav3, mas só que o este depende do libgmp3… fui no site do debian… instalei o libgmp3. daí deu pra instalar o havp numa boa.

    Só que qndo peço pra instalar o clamav no synapitc ele pede pra retirar o libclamav3 - libgmp3 - havp!!!!!

    Alguma solução para este problema!!

    Publicado em 03-Sep-08 às 10:37 | Permalink
  8. wasare

    Nelson,

    Por acaso você ativou e está utilizando o repositório volatile, conforme indicado no artigo?

    Publicado em 03-Sep-08 às 10:52 | Permalink
  9. Nelson

    Sim.
    Segui totalmente os passos.
    Achei estranho a dependencia de libgmp3, onde este não foi mencionado no artigo.

    Tentei de tudo e realmente qndo peço pra instalar o clamav ele quer desinstalar de qualquer jeito o havp.

    Muito estranho!

    Publicado em 03-Sep-08 às 23:42 | Permalink
  10. wasare

    Nelson,

    De fato já tem um tempinho que escrevi este tutorial, e as atualizações são muito rápidas. Observei que a versão do HAVP nos repositórios do debian já é a 0.88 enquanto no site oficial do HAVP já está na 0.89 e estes 2 centésimos fazem muita diferença.

    Tenho duas soluções pra você:

    - Compilar e instalar do site oficial ou
    - Atualizar o seu debian de etch para o lenny , próxima versão prevista para ser lançada ainda este mês, é provável que funcione com perfeição (faça uma instalação nova).

    boa sorte!

    Publicado em 04-Sep-08 às 0:43 | Permalink
  11. Nelson

    Wasare,

    eu tinha baixado o 0.87… mas eu acho q realmente o problema está com o libgmp3, onde este na lista do debian está como libgmp3c2.

    vou tentar baixar uma versão mais atual do havp e ver se funciona. se não der, o jeito é compilar mesmo :P

    valeu e obrigado pela ajuda!

    Publicado em 04-Sep-08 às 15:03 | Permalink

Envie um Comentário

Seu email nunca será publicado ou revelado a terceiros. Campos obrigatórios são marcados com *
*
*