Oficina de Squid: Filtros Inteligentes

4,774 views

Published on

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

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,774
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
179
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Oficina de Squid: Filtros Inteligentes

  1. 1. Filtros Inteligentes,Otimizando sua Internet
  2. 2. $ whoami ● Thiago Finardi (@tfinardi) ● Administrador de Sistemas GNU/Linux ● Analista e Desenvolvedor de Sistemas ● Docente no Curso Técnico em Informática
  3. 3. $ 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;
  4. 4. 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.
  5. 5. Proxy/Cache ● Cenário básico
  6. 6. 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
  7. 7. 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
  8. 8. 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.
  9. 9. 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.
  10. 10. SquidGuard: Listas ● MESD blacklists (Livre) ● http://goo.gl/De1Sq ● Shallas Blacklists (Livre/Não Comercial) ● http://goo.gl/Fln9h ● URLBlacklist.com (Comercial)
  11. 11. 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.
  12. 12. 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 } }
  13. 13. Lets Work Together
  14. 14. 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".
  15. 15. 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
  16. 16. 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
  17. 17. 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
  18. 18. 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
  19. 19. 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
  20. 20. Baixando Listas Vamos descompactar as listas # tar -xzvf blacklists.tgz # tar -xzvf shallalist.tar.gz
  21. 21. 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
  22. 22. 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
  23. 23. 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.
  24. 24. 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
  25. 25. 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
  26. 26. 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.
  27. 27. 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
  28. 28. Obrigado! Thiago Finardi Twitter: @tfinardi Blog: www.botecodigital.info e-mail: tfinardi@gmail.comSlides: www.slideshare.net/tfinardi Arquivos: ubuntuone.com/p/1AIu/

×