oficina de squid: filtros inteligentes

28
Filtros Inteligentes, Otimizando sua Internet

Upload: thiago-finardi

Post on 18-Dec-2014

3.939 views

Category:

Technology


0 download

DESCRIPTION

Oficina ministrada na 6ª Edição do SenacTech realizado na FATEC Senac em Porto Alegre dia 17/08/2011.

TRANSCRIPT

Page 1: Oficina de Squid: Filtros Inteligentes

Filtros Inteligentes, Otimizando sua Internet

Page 2: Oficina de Squid: Filtros Inteligentes

$ whoami

● Thiago Finardi (@tfinardi)

● Administrador de Sistemas GNU/Linux

● Analista e Desenvolvedor de Sistemas

● Docente no Curso Técnico em Informática

Page 3: Oficina de Squid: Filtros Inteligentes

$ whoami

● Linux Professional Institute Certification;

● Novell Data Center Technical Specialist;

● Novell Certified Linux Administrator;

● Experiência com linux desde 2003;

● Membro do TchêLinux;

● Membro do Debian Brasil;

Page 4: Oficina de Squid: Filtros Inteligentes

Proxy/Cache

● O Squid serve para aumentar o desempenho de acesso a internet utilizando seu cache de páginas, atualizações do SO, etc.

● Também é utilizado para restringir/permitir o acesso a sites especificados em seus arquivos de configuração.

Page 5: Oficina de Squid: Filtros Inteligentes

Proxy/Cache

● Cenário básico

Page 6: Oficina de Squid: Filtros Inteligentes

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

Page 7: Oficina de Squid: Filtros Inteligentes

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

Page 8: Oficina de Squid: Filtros Inteligentes

BlackList

● Não 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.

Page 9: Oficina de Squid: Filtros Inteligentes

SquidGuard

● Bloquear páginas impróprias é um grande problema;

● Se soubermos todas as URLs a bloquear fica fácil, mas e se quiséssemos bloquear todas as páginas de um determinado tipo?

● O SquidGuard permite usar longas listas de URLs, com milhões de links sem uma grande perda de desempenho.

Page 10: Oficina de Squid: Filtros Inteligentes

SquidGuard: Listas

● MESD blacklists (Livre)● http://goo.gl/De1Sq

● Shalla's Blacklists (Livre/Não Comercial)● http://goo.gl/Fln9h

● URLBlacklist.com (Comercial)

Page 11: Oficina de Squid: Filtros Inteligentes

SquidGuard: Listas

● As listas são divididas por categorias● chat, adv, drugs, sex, proxy, socialnet,

warez, audio-video, etc.

● É possível mesclar as listas.

● Controle por horário, dias, ip, etc.

Page 12: Oficina de Squid: Filtros Inteligentes

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

}

}

Page 13: Oficina de Squid: Filtros Inteligentes

Let's Work Together

Page 14: Oficina de Squid: Filtros Inteligentes

Instalando o Squid

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

● # apt-get install squid

Toda a configuração do Squid é feita em um único arquivo, o "/etc/squid/squid.conf".

Page 15: Oficina de Squid: Filtros Inteligentes

Configurando o Squid

Iremos criar uma configuração básica para facilitar o entendimento da utilização dos filtros.

Execute os passos abaixo para ajustarmos as configurações. Após veremos os detalhes:

# cd /etc/squid/

# mv squid.conf bkp.conf

# cp squid1.conf squid.conf

# nano squid.conf

Page 16: Oficina de Squid: Filtros Inteligentes

Testando o Squid

Verifique o ip da máquina virtual:

# ifconfig eth0

Vamos reiniciar o serviço:

# /etc/init.d/squid restart

Altere as configurações do proxy no navegador:

Ip do passo 1 + porta 3128

Page 17: Oficina de Squid: Filtros Inteligentes

Restringindo acesso

Novamente iremos copiar novas configurações:

# cp squid2.conf squid.conf

Edite os seguintes arquivos e veja seu conteúdo:

# nano bloqueados

# nano palavras

Edite o arquivo squid.conf

# nano squid.conf

Page 18: Oficina de Squid: Filtros Inteligentes

Testando acesso

Precisamos reiniciar o serviço

# /etc/init.d/squid restart

Vamos tentar acessar os sites que estão bloqueados por domínio ou palavra.

www.orkut.com

www.twitter.com

www.youtube.com

Page 19: Oficina de Squid: Filtros Inteligentes

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

Page 20: Oficina de Squid: Filtros Inteligentes

Baixando Listas

Vamos descompactar as listas

# tar -xzvf blacklists.tgz

# tar -xzvf shallalist.tar.gz

Page 21: Oficina de Squid: Filtros Inteligentes

Configurando squidGuard

Vamos novamente copiar o modelo de configuração:

# cd /etc/squid

# mv squidGuard.conf bkp.guard

# cp guard1.conf squidGuard.conf

# nano squidGuard.conf

Page 22: Oficina de Squid: Filtros Inteligentes

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 configuração do squidGuard for modificado

Page 23: Oficina de Squid: Filtros Inteligentes

Ajustando Permissões

Após gerarmos o DB devemos ajustar as permissões. Se não fizermos isso, o squid não 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 criação de um script.

Page 24: Oficina de Squid: Filtros Inteligentes

Ativando squidGuard

Devemos incluir o squidGuard na configuração do squid. Novamente, usaremos modelo:

# cd /etc/squid

# cp squid3.conf squid.conf

# nano squid.conf

Vamos carregar as novas configurações:

# squid -k reconfigure

Page 25: Oficina de Squid: Filtros Inteligentes

Dicas

Log: /var/log/squid/squidguard.log

Exemplo de script no arquivo proxy_perm:

# nano proxy_perm

Podemos remover nossas antigas restrições

# cp squid4.conf squid.conf

Podemos liberar máquinas no squidGuard

# cp guard2.conf squidGuard.conf

Page 26: Oficina de Squid: Filtros Inteligentes

Possíveis Problemas

● Alguns sites não estarão na lista;

● Sites não muito conhecidos e com nomes que não tem relação com o conteúdo passam despercebidos;

● Mesmo assim tem muito mais prós do que contras.

Page 27: Oficina de Squid: Filtros Inteligentes

Filtrando conteúdos

● O DansGuardian é um filtro de conteúdo;

● É semi-comercial;

● Utiliza filtros adaptativos para analisar o conteúdo das páginas e definir se a mesma é imprópria;

● Necessita de uma manutenção mais ativa;

● Recomendável utilizar a lista URLBlacklist.com

Page 28: Oficina de Squid: Filtros Inteligentes

Thiago FinardiTwitter: @tfinardi

Blog: www.botecodigital.infoe-mail: [email protected]

Slides: www.slideshare.net/tfinardiArquivos: ubuntuone.com/p/1AIu/

Obrigado!