Você está na página 1de 28

Filtros Inteligentes, Otimizando sua Internet

$ whoami

Thiago Finardi (@tfinardi)

Administrador de Sistemas GNU/Linux Analista e Desenvolvedor de Sistemas Docente no Curso Tcnico em Informtica

$ whoami

Linux Professional Institute Certification; Novell Data Center Technical Specialist; Novell Certified Linux Administrator; Experincia com linux desde 2003; Membro do TchLinux; Membro do Debian Brasil;

Proxy/Cache

O Squid serve para aumentar o desempenho de acesso a internet utilizando seu cache de pginas, atualizaes do SO, etc. Tambm utilizado para restringir/permitir o acesso a sites especificados em seus arquivos de configurao.

Proxy/Cache

Cenrio bsico

Proxy Permissivo

Tudo bloqueado, o acesso somente permitido para os sites especificados na sua whitelist.

acl permitidos url_regex -i "/etc/squid/permitidos" http_access allow permitidos http_access deny all

Proxy Restritivo

Tudo liberado, o acesso somente negado para os sites/palavras especificados na sua Blacklist.

acl bloqueados url_regex -i "/etc/squid/bloqueados" http_access deny bloqueados acl palavras dstdom_regex "/etc/squid/palavras" http_access deny palavras http_access allow all

BlackList

No devemos utilizar uma blacklist muito grande. O squid l o arquivo de blacklist a cada acesso. Quanto maior o arquivo, mais lento fica o squid.

SquidGuard

Bloquear pginas imprprias um grande problema; Se soubermos todas as URLs a bloquear fica fcil, mas e se quisssemos bloquear todas as pginas de um determinado tipo? O SquidGuard permite usar longas listas de URLs, com milhes de links sem uma grande perda de desempenho.

SquidGuard: Listas

MESD blacklists (Livre)

http://goo.gl/De1Sq

Shalla's Blacklists (Livre/No Comercial)

http://goo.gl/Fln9h

URLBlacklist.com (Comercial)

SquidGuard: Listas

As listas so divididas por categorias

chat, adv, drugs, sex, proxy, socialnet, warez, audio-video, etc.

possvel mesclar as listas. Controle por horrio, dias, ip, etc.

SquidGuard: ACLs
dest porn { domainlist porn/domains urllist porn/urls } dest proxy { domainlist proxy/domains urllist proxy/urls } acl { default { pass !porn !proxy all redirect http://www.senacrs.com.br } }

Let's Work Together

Instalando o Squid
No Debian, para instalar o squid devemos utilizar o seguinte comando como root:

# apt-get install squid

Toda a configurao do Squid feita em um nico arquivo, o "/etc/squid/squid.conf".

Configurando o Squid
Iremos criar uma configurao bsica para facilitar o entendimento da utilizao dos filtros. Execute os passos abaixo para ajustarmos as configuraes. Aps veremos os detalhes: # cd /etc/squid/ # mv squid.conf bkp.conf # cp squid1.conf squid.conf # nano squid.conf

Testando o Squid
Verifique o ip da mquina virtual: # ifconfig eth0 Vamos reiniciar o servio: # /etc/init.d/squid restart Altere as configuraes do proxy no navegador: Ip do passo 1 + porta 3128

Restringindo acesso
Novamente iremos copiar novas configuraes: # cp squid2.conf squid.conf Edite os seguintes arquivos e veja seu contedo: # nano bloqueados # nano palavras Edite o arquivo squid.conf # nano squid.conf

Testando acesso
Precisamos reiniciar o servio # /etc/init.d/squid restart Vamos tentar acessar os sites que esto bloqueados por domnio ou palavra. www.orkut.com www.twitter.com www.youtube.com

Baixando Listas
Vamos instalar o squidGuard: # apt-get install squidguard Como j sabemos, o squidGuard trabalha com listas, devemos baixar as mesmas:
# cd /var/lib/squidguard/db/
# wget -c http://squidguard.mesd.k12.or.us/blacklists.tgz
# wget -c http://www.shallalist.de/Downloads/shallalist.tar.gz

Baixando Listas
Vamos descompactar as listas # tar -xzvf blacklists.tgz # tar -xzvf shallalist.tar.gz

Configurando squidGuard
Vamos novamente configurao: # cd /etc/squid # mv squidGuard.conf bkp.guard # cp guard1.conf squidGuard.conf # nano squidGuard.conf copiar o modelo de

Gerando DB
O squidGuard utiliza um banco de dados (Berkeley DB) para realizar as consultas:

# squidGuard -C all

Este comando iremos executar sempre que o arquivo de configurao do squidGuard for modificado

Ajustando Permisses
Aps gerarmos o DB devemos ajustar as permisses. Se no fizermos isso, o squid no consegue acessar os db das listas.
# chown -R proxy:proxy /var/lib/squidguard/db/*
# find /var/lib/squidguard/db -type d | xargs chmod 755 # find /var/lib/squidguard/db -type f | xargs chmod 644 * Recomendo a criao de um script.

Ativando squidGuard
Devemos incluir o squidGuard na configurao do squid. Novamente, usaremos modelo: # cd /etc/squid # cp squid3.conf squid.conf # nano squid.conf Vamos carregar as novas configuraes: # squid -k reconfigure

Dicas
Log: /var/log/squid/squidguard.log Exemplo de script no arquivo proxy_perm: # nano proxy_perm Podemos remover nossas antigas restries # cp squid4.conf squid.conf Podemos liberar mquinas no squidGuard # cp guard2.conf squidGuard.conf

Possveis Problemas

Alguns sites no estaro na lista; Sites no muito conhecidos e com nomes que no tem relao com o contedo passam despercebidos; Mesmo assim tem muito mais prs do que contras.

Filtrando contedos

O DansGuardian um filtro de contedo; semi-comercial; Utiliza filtros adaptativos para analisar o contedo das pginas e definir se a mesma imprpria; Necessita de uma manuteno mais ativa; Recomendvel utilizar a lista URLBlacklist.com

Obrigado!

Thiago Finardi Twitter: @tfinardi Blog: www.botecodigital.info e-mail: tfinardi@gmail.com Slides: www.slideshare.net/tfinardi Arquivos: ubuntuone.com/p/1AIu/

Você também pode gostar