OpenBSD Proxy - Squid, SquidGuard, SquidClamAV e AdZapper

cvs

Nesse artigo abordaremos a instalação de um servidor proxy utilizando como base o robusto OpenBSD e o grande Squid. Também vamos utilizar alguns softwares/plugins para melhorar a filtragem do conteúdo e aumentar a segurança da rede. Dentre eles, além do Squid, vamos utilizar o SquidGuard, SquidClamAV e AdZapper.

[ Hits: 57.986 ]

Por: Thiago Alves em 31/08/2009 | Blog: http://www.seeufosseopresidente.com.br


SquidClamAV: Instalação e configuração



Vamos agora fazer a instalação do SquidClamAV de forma rápida e simples, assim esperamos.

Instalando o ClamAV:

# cd /usr/ports/security/clamav/
# make install clean


Após essa longa instalação, vamos configurar o ClamAV.

Nele vamos editar o arquivo freshclam.conf para a atualização correr sempre bem. Edite o arquivo /etc/freshclam.conf para ficar assim (comente a linha que tenha escrito Example):

DatabaseDirectory	/var/db/clamav
DatabaseOwner		_clamav
DNSDatabaseInfo		current.cvd.clamav.net
DatabaseMirror		db.it.clamav.net
DatabaseMirror		database.clamav.net
MaxAttempts		3
checks			24

Salve e saia, depois crie o arquivo de log:

# touch /var/log/freshclam.log
# chow _clamav /var/log/freshclam.log


E agora faça a atualização:

# freshclam

Adicione no crontab com o comando "crontab -e" a seguinte linha:

* 23 * * * /usr/local/bin/freshclam >/dev/null 2>&1

Assim todos os dias às 23h ele vai executar o programa de atualização das assinaturas de vírus e tudo mais. Então assim vai se manter atualizado.

Agora edite o arquivo /etc/clamd.conf para ficar da seguinte forma:

DatabaseDirectory	/var/db/clamav
LocalSocket		/var/clamav/clamd.socket
User			_clamav

Faça o mesmo procedimento para a criação do arquivo de log do Clamd que foi feito com o freshclam:

# touch /var/log/clamd.log
# chow _clamav /var/log/clamd.log


Adicione as seguintes linhas ao arquivo /etc/rc.local para que o clamd seja inicializado no boot do servidor:

if [ -x /usr/local/sbin/clamd ]; then
    echo -n ' clamd'
    [ -S /var/clamav/clamd.socket ] && rm -f /var/clamav/clamd.socket
    /usr/local/sbin/clamd >/dev/null 2>&1
fi

Agora vamos fazer a instalação do SquidClamav.

Antes de iniciar a instalação dele, vamos instalar o curl:

# cd /usr/ports/net/curl
# make install clean


E também o gwak:

# cd /usr/ports/lang/gawk
# make install clean


Porque o SquidClamav precisa dele para ser instalado.

Faça o download dele em: http://www.darold.net/projects/squidclamav/

# ftp http://www.darold.net/projects/squidclamav/squidclamav-4.0.tar.gz

Assim vamos descompactá-lo e instalá-lo, seguindo os passos.

# tar zxvf squidclamav-4.0.tar.gz
# cd squidclamav-4.0
# env LDFLAGS=-L/usr/local/lib/ CPPFLAGS=-I/usr/local/include/ ./configure
# make
# make install
# cp squidclamav.conf.dist /etc/squidclamav.conf
# touch /var/log/squidclamav.log
# chown _squid /var/log/squidclamav.log


Vamos agora fazer sua configuração editando o arquivo:

# vi /etc/squidclamav.conf



Lembrando que os bloqueios são feitos através de expressões regulares, usando os parâmetros regex e regexi, no qual o regex é "case sensitive" e o regexi não é. Para determinar que não seja feito o scan usa-se o abort e aborti, na mesma questão anterior, o abort é sensível a maiúsculas e minúsculas e o aborti não.

Vamos lá então! Adicione as seguintes linhas:

#verificando os seguintes arquivos, 
#independente de maiúsculas ou minúsculas
regexi    ^.*\.exe$
regexi    ^.*\.com$
regexi    ^.*\.zip$
regexi    ^.*\.rar$
regexi    ^.*\.tar.gz$
regexi    ^.*\.tgz$

# não verificar os seguintes tipos de arquivos
aborti    ^.*\.gif$
aborti    ^.*\.png$
aborti    ^.*\.jpg$
aborti    ^.*\.jpeg$
abort     ^.*\.html$
abort     ^.*\.htm$

Podemos determinar também sites com carta branca para não serem verificados ao acessarem, ou seja, nenhum conteúdo baixado do determinado site será verificado por ele, por exemplo:

whitelist www.minhaempresa.com.br

É possível fazer a detecção baseado no tipo de conteúdo, por exemplo:

content ^.*application\/.*$

Tudo que for uma aplicação, seja de vídeo, swf, wav, será varrido pelo clamav.

As outras opções são bem instintivas, apenas lembrando que é importante inserir no final do arquivo a seguinte linha:

squidguard  /usr/local/bin/squidGuard

Para que ele use o squidguard, pois no squid.conf será necessário alterar o parâmetro url_rewrite_program para o seguinte valor:

url_rewrite_program  /usr/local/bin/squidclamav

Insira também a seguinte linha:

http_access allow localhost

Para que a verificação de vírus possa funcionar o localhost precisa ter acesso para navegar.

O squidclamav.conf deve ficar mais ou menos assim:

# início do arquivo de conf
squid_ip    127.0.0.1
squid_port  3128
logfile     /var/log/squidclamav.log
redirect    http://www.minhaempresa.com.br/virus.php
trust_cache 1
timeout     60
debug       0
force       1
stat        0
maxredir    10
clamd_ip    127.0.0.1
clamd_port  3310

aborti      ^.*\/cgi-bin\/.*$
aborti      ^.*\.pdf$
aborti      ^.*\.html$
aborti      ^.*\.css$
aborti      ^.*\.xml$
regexi      ^.*\.exe
regexi      ^.*\.zip
regexi      ^.*\.gz
content     ^.*application\/.*$
whitelist   www.minhaempresa.com.br

squidguard  /usr/local/bin/squidGuard

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Squid: Instalação de configuração
   3. SquidGuard: Instalação e configuração
   4. SquidClamAV: Instalação e configuração
   5. AdZapper - Instalação e configuração
   6. Conclusão
Outros artigos deste autor

CentOS + RAID1 via software

Tornando seu Apache mais seguro com o ModSecurity

Servidor Web com NetBSD (Apache + PHP + MySQL + *)

Gcombust, um frontend para cdrecord

Compilando Apache 2 com PHP, MySQL, mod_perl e mod_ssl

Leitura recomendada

Filtragem de páginas SSL (443) no Squid transparente

Squid transparente com cache de arquivos + Windows Update + taxa de transferência em downloads

Bloqueando o Messenger com iptables e Squid

Compilando o Squid com autenticação PAM

Instalação e configuração do Squid 2.6 Stable

  
Comentários
[1] Comentário enviado por roberto_espreto em 31/08/2009 - 02:23h

Se tem OpenBSD no meio, com certeza é excelente!
Ótimo artigo.
Abraços.

[2] Comentário enviado por pitombera em 31/08/2009 - 11:28h

São artigos como esse que fazem minha conta na VOl valerem a pena.

Como sempre, Parabéns :D

[]'s

[3] Comentário enviado por y2h4ck em 31/08/2009 - 12:53h

E ae CVS :) muito tempo que eu não comento um artigo seu hein.
Vamos ver se eu me inspiro com seu artigo e resolvo postar alguma coisa tambem :S

forte abraço e parabéns.

y2h4ck


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts