Squid + ClamaV + HAVP

  • Post author:
  • Post category:Sem categoria

Anti Vírus Web com Proxy Squid + Clamav + HAVP

Neste How To, estarei mostrando como configurar o trio Proxy Squid + ClamaV + HAVP para criar uma solução de Anti Vírus Web, para melhorar a segurança no acesso web para clientes MS Windows.

Considerações iniciais:
Ambiente Debian Gnu/Linux 3.1 ( Sarge )
Kernel 2.6.17

Pacotes utilizados:
Squid 2.5.9 ( pré-compilado )
http://security.debian.org/debian-security/pool/updates/main/s/squid/squid_2.5.9-10sarge2_i386.deb

ClamaV 0.88-6 ( sources )
http://sourceforge.net/project/showfiles.php?group_id=86638&release_id=459651

HAVP 0.83 ( sources )
http://www.server-side.de/download.htm

1º) Instalando ClamaV
Crie o usuário e grupo com o nome clamav assim como o exemplo abaixo:
groupadd clamav
useradd -g clamav -s /bin/false -d /dev/null -c ClamaV clamav

Descompacte o arquivo do pacote do ClamaV, depois entre diretório criado para executar os seguintes comandos:
tar -zxvf clamav-0.88.6.tar.gz
cd clamav-0.88.6
./configure –libdir=/usr/lib/ –with-user=clamav –with-group=clamav
make
make install

2º) Configurando script de inicialização do Daemon Clamd
Primeiramente crie o diretório /var/tmp/clamav e acerte a permissão do diretório assim como o exemplo abaixo:
mkdir /var/tmp/clamav
chown -R clamav.clamav /var/tmp/clamav

Depois edite o arquivo /usr/local/etc/clamd.conf e comente a linha Example assim como no arquivo freshclam.conf que falaremos a seguir:
#Example

ainda no arquivo clamd.conf procure pela linha User, descomente alterando para que fique como o exemplo abaixo:
User Clamav

3º) Atualizando Dats do ClamaV com o FreshClam
Edite o arquivo de configuração do freshclam que está localizado em /usr/local/etc/freshclam.conf

Procure pela linha Example e comente para que fique como o exemplo abaixo:
#Example

Salve o arquivo e entre com comando abaixo:
freshclam

4º) Configurando o HAVP
O HAVP ( Http Anti Virus Proxy ), é a peça chave deste How To, por isso deve ser seguido os parametros de instalação assim como no exemplo abaixo, lembrando que o daemon funcionar o ClamaV deve estar funcionando corretamente.

Inicie criando o usuário e grupo padrão:
groupadd havp
useradd -g havp -s /bin/false -d /dev/null -c Havp\ User havp

Descompacte o arquivo do HAVP assim como no exemplo abaixo:
tar -zxvf havp-0.83

Entre no diretório criado e execute o script de instalação configure com os parametros desejados, seguidos de make e make install:

cd havp-0.83
./configure –with-scanner=libclamav
make
make install

Verifique as permissões de diretórios assim como o exemplo abaixo:
chmod -R a+rX /usr/local//etc/havp/templates
chown havp.havp /var/tmp/havp
chown havp.havp /var/log/havp
chown havp.havp /var/run/havp

O HAVP usa um sistema arquivos que é montado como um RAMDisk para criar este Device e tornalo disponivél execute o comando abaixo:
mkfs -t ext3 /dev/ram0

mount /dev/ram0 /var/tmp/havp -o mand
cp -Rv etc/havp/ /etc/
chmod +x /etc/init.d/havp

edite o arquivo /etc/havp/havp.config e comente a linha:
#REMOVETHISLINE deleteme

descomente as linhas
USER havp
GROUP havp
DAEMON true
ainda no havp.config altere a linha
ENABLECLAMLIB false
para
ENABLECLAMLIB true

Para inicicar o HAVP entre com o comando abaixo:
/etc/init.d/havp start

*Lembre-se que por padrão o HAVP usa a porta 8080/tcp, caso você precise alterar edite o arquivo /etc/havp/havp.config e procure pela linha PORT, alterando o valor para a que lhe convém.

Para testar o servidor rodando execute o comando no terminal:
netstat -na

* verifique se a porta setada aparece na saída do comando como LISTEN ou ainda abra seu navegador e digite o endereço da máquina seguido da porta utilizada no qual você instalou o HAVP

Ex: http://192.168.0.253:8080

5º) Integrando o Squid com o HAVP
Para integrar o HAVP com o squid use o exemplo de configuração do squid.conf abaixo:
#HAVP
cache_peer 127.0.0.1 parent 8080 0 no-query no-digest no-netdb-exchange default
cache_peer_access 127.0.0.1 allow all
#Only http traffic can be scanned
acl Scan_HTTP proto HTTP
never_direct allow Scan_HTTP

6º) Testando a solução
Agora que finalizamos todas as tarefas de instalação e configuração é uma boa oportunidade de testar a solução apresentada, para isso com o trio ClamaV, HAVP e Squid rodando entre na URL: http://www.eicar.org/anti_virus_test_file.htm

e tente baixar o arquivo eicar.com, se tudo tiver certo você deve-se deparar com uma mensagem de erro no navegador informando que o HAVP detectou um vírus e por isso negou o acesso a este URL, assim como no exemplo abaixo:

Access to the page has been denied
because the following virus was detected
ClamAV: Eicar-Test-Signature