(usando o squidguard para bloquear páginas impróprias - servidores linux, guia prático)

Upload: rafael-nimer

Post on 12-Jul-2015

401 views

Category:

Documents


0 download

TRANSCRIPT

Usando o SquidGuard para bloquear pginas imprprias - Servidores L...

http://www.hardware.com.br/livros/servidores-linux/usando-squidguar...

Home iG

ltimo Segundo

Economia

Esporte

TV iG

Gente

DelasIphone 4A partir de

ASSINE

E-mail

Acesso Internet

Suporte

Antivrus

Audi A4

Honda BizA partir de

DESAPEGAE COMPRE O QUE PRECISA NA OLX

A partir de

R$ 32.000

R$ 800

R$ 3.000

Guia do hardware

GDH Press

Frum GdH

Publique seu texto

RSS

Home

Equipe

Minha Conta

Busca

ndice - Livros

Servidores Linux, Guia PrticoPor Carlos E. Morimoto em 1 de agosto de 2008 s 02h00

149

1

ANTERIOR: MONITORANDO COM O NTOP

PRXIMO: USANDO O DANSGUARDIAN

Usando o SquidGuard para bloquear pginas imprpriasBloquear domnios e endereos IP individuais funciona bem para bloquear pginas especficas, mas no funciona para bloquear pginas pornogrficas, por exemplo, simplesmente porque existem muitas delas e voc iria morrer louco se tentasse bloquear todas manualmente. Existem grupos destinados a manter listas com URLs de pginas pornogrficas, pginas de cassinos e jogos e pginas ilcitas em geral, que so atualizadas freqentemente. Por serem construdas atravs da combinao dos esforos de muitas pessoas, auxiliadas por ferramentas semi-automticas de indexao e classificao de contedo, estas listas permitem bloquear a maior parte das pginas ilcitas sem muito esforo. Apenas a lista mantida pelo Shalla Security possui mais de um milho e meio de URLs cadastradas, que formam um arquivo compactado de 9 MB. A lista mais usada provavelmente a MESD blacklists, que a indicada pela equipe do SquidGuard, por ser completamente livre e utilizvel para qualquer fim. Ela tem pouco mais de 1 milho de links e pode ser baixada no: http://squidguard.mesd.k12.or.us/blacklists.tgz. Outra lista muito usada a Shalla's Blacklists, disponvel no: http://www.shallalist.de/. A lista livre para uso pessoal ou no-comercial e mais completa que a lista do MESD, com mais de 1.500.000 de URLs. O uso comercial permitido, desde que voc preencha um contrato de uso, sem custo. Outra opo a lista do URLBlacklist.com. Ela uma lista comercial, que conta com mais de 2 milhes de links e atualizada regularmente, contando inclusive com um script de atualizao automtica. A assinatura custa de US$ 6 a US$ 55 mensais, de acordo com o tipo de uso. Estas listas nada mais so do que longas listas de links, com um por linha. Elas at podem ser usadas diretamente no Squid, atravs da opo url_regex (a mesma que usamos para criar uma lista de sites bloqueados), mas, por serem arquivos muito grandes, o desempenho seria ruim, j que o Squid processa cada linha dos arquivos a cada acesso, o que consome muito processamento. Entra em cena ento o SquidGuard, que permite usar longas listas de URLs, com milhes de links sem uma grande perda de desempenho. Ele permite integrar as listas que vimos a pouco sem comprometer o desempenho do seu servidor proxy. As listas se encarregaro de bloquear a maior parte das pginas imprprias e voc poder fazer ajustes manuais conforme necessrio. A pgina do projeto a: http://www.squidguard.org/. Nas distribuies derivadas do Debian, voc pode instal-lo rapidamente via apt-get: 15/12 # apt-get install squidguard A configurao feita em trs fases. O primeiro passo baixar os arquivos das listas desejadas e descompact-los no diretrio "/var/lib/squidguard/db". Em seguida, necessrio configurar o arquivo "/etc/squid/squidGuard.conf", especificando os arquivos de listas que sero usados e o comportamento do SquidGuard ao bloquear os acessos e, finalmente, editar o "/etc/squid /squid.conf", adicionando a linha que ativa o uso do SquidGuard. Vamos comear baixando as listas. Vou usar como exemplo as listas do Shalla e do MESD, mas voc pode usar os mesmos passos para utilizar outras listas que desejar. Comece baixando as listas em um diretrio qualquer, como em: $ wget -c http://squidguard.mesd.k12.or.us/blacklists.tgz $ wget -c http://www.shallalist.de/Downloads/shallalist.tar.gz Copie os dois arquivos para o diretrio "/var/lib/squidguard/db" e descompacte-os, como em: # # # # cp blacklists.tgz shallalist.tar.gz /var/lib/squidguard/db/ cd /var/lib/squidguard/db/ tar -zxvf blacklists.tgz tar -zxvf shallalist.tar.gz Windows Live Messenger agora permite clientes alternativos, com acesso oficial via XMPP Google Maps pede ajuda na correo/adio de recursos nos mapas IE ser atualizado automaticamente pelo Windows Update no Windows XP, Vista e 7 14/12 Nvidia libera cdigo do compilador da CUDA, baseado no LLVM Lanado Chrome 16, com suporte a perfis para diferentes usurios Apple TV lanado no Brasil por R$ 400 13/12 Loja de apps do Windows 8 permitir incluso de software livre

Notcias

Guias

O que h de novo?

NotciasOntem Mozilla renova contrato com Google por mais trs anos, para a busca padro no Firefox Android chega a 700 mil ativaes dirias Razor-qt: novo desktop leve para Linux baseado em Qt 20/12 Lanado CentOS 6.2 Apple vence guerra judicial e pode banir produtos com Android da HTC nos EUA Publicado Firefox 9: mais melhorias de desempenho ao executar Javascript Promoo: Segunda edio do Redes, Guia Prtico 19/12 Ubuntu: remoo do Java, melhorias na central de programas, e economia de energia Google lana site com tutoriais e dicas de desenvolvimento para Android Windows 8 ter gerenciador de senhas nativo 16/12 Ubuntu One agora ofecere streaming de msica pela web Plasma Active Two, sistema para tablets do KDE GTA III, game clssico com 10 anos, lanado para iOS e Android

Notcias do ms de Dezembro de 2011 Artigos Tutoriais Livros Dicas Anlises

Aproveite para remover os dois arquivos, j que no precisaremos mais deles: # rm -f blacklists.tgz shallalist.tar.gz

1 de 8

22/12/2011 10:09

Usando o SquidGuard para bloquear pginas imprprias - Servidores L...

http://www.hardware.com.br/livros/servidores-linux/usando-squidguar...

Com isso, voc ter as pastas "BL" (as listas do Shalla) e "blacklists" (listas do MESD) dentro do diretrio, cada uma contendo um conjunto de subpastas, como neste screenshot:

Pesquisar

Livros

Como pode ver, as listas so divididas por assunto. A lista do MESD concentrada em temas ilegais, enquanto a lista do Shalla inclui listas relacionadas a temas diversos, que voc pode bloquear ou no de acordo com a situao. Dentro de cada pasta, voc encontra dois arquivos, "domains" e "urls", o primeiro contendo domnios que so bloqueados completamente e o segundo contendo URLs isoladas. Alguns dos temas cobertos pelas listas so: adv - Sites que hospedam banners e anncios em geral, exibidos em outras pginas (bloqueando estes domnios, voc bloqueia boa parte dos banners de anncios). Na lista do MESD a categoria se chama "ads". audio-video - Pginas (no necessariamente ilegais) que hospedam vdeos e msicas, como o youtube. chat - Pginas com salas de bate-papo ou contendo clientes web para acesso ao MSN ou outras redes. drugs - sites que vendem remdios e pginas com contedo relacionado ao uso de drogas ou apologia s drogas. finance - Pginas com informaes financeiras, incluindo bancos, empresas de seguros e de crdito. Esta pasta inclui vrias subpastas, com as pginas divididas em categorias. gamble - Cassinos e outras pginas relacionadas a jogos de aposta. porn - Este dispensa comentrios. a categoria com o maior nmero de entradas e a primeira que voc precisar bloquear. sex - Similar "porn", contm pginas de contedo adulto. proxy - Esta outra lista que voc sempre deve incluir no bloqueio. Ela rene URLs e endereos IP de proxys externos, que podem ser usados pelos usurios para furar o bloqueio, como o http://proxy.org. socialnet - Inclui redes sociais, como o Orkut e o Myspace. tracker - Endereos de trackers com torrents. interessante bloque-los para dificultar o download de arquivos .torrent atravs da rede, o que tem potencial para consumir muita banda. warez - Pginas que hospedam programas piratas. webradio, webtv - Rdios e TVs online. interessante bloque-las junto com a categoria "audio-video", caso voc queira reduzir o uso de banda da rede. Com isso, voc tem as duas listas disposio e pode escolher qual delas utilizar, ou mesmo combinar sees de ambas para incrementar o filtro. O prximo passo configurar o arquivo "/etc/squid/squidGuard.conf", especificando as listas a utilizar. Um exemplo bsico de arquivo de configurao, usando apenas duas das sees da lista do MESD, seria: # /etc/squid/squidGuard.conf dbhome /var/lib/squidguard/db/blacklists logdir /var/log/squid 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.gdhpress.com.br } } As duas primeiras linhas indicam o diretrio contendo as blacklists e o diretrio onde sero armazenados os logs. No exemplo, estou usando as listas do MESD, da o "/var/lib/squidguard /db/blacklists" e estou orientando o SquidGuard a salvar o log no mesmo diretrio utilizado pelo Squid, gerando o arquivo "/var/log/squid/squidGuard.log". Em seguida, temos duas ACLs, batizadas de "porn" e proxy", cada uma incluindo os dois arquivos da categoria correspondente dentro das listas. Para que fossem adicionadas mais sees, bastaria adicionar uma nova ACL para cada uma. No final, a opo "pass" indica como as duas ACLs sero usadas. No exemplo, usei a linha "pass !porn !proxy all", que indica que os acessos a pginas citadas nas listas devem ser bloqueados, mas o acesso a outras pginas aceito. Concluindo, usei a linha "redirect http://www.gdhpress.com.br", que faz com que todos os acessos bloqueados sejam redirecionados de forma transparente URL especificada. Dessa forma, o usurio tentando acessar pginas imprprias sutilmente direcionado a uma pgina com contedo mais saudvel :). Voc pode substitu-la pelo site da empresa, ou mesmo pela localizao de uma pgina de aviso. Temos aqui um segundo exemplo de configurao, bem mais incrementado, que usa um nmero bem maior de ACLs, combinando listas do MESD e do Shalla:

Compre o seu. Livro atualizado!

2 de 8

22/12/2011 10:09

Usando o SquidGuard para bloquear pginas imprprias - Servidores L...

http://www.hardware.com.br/livros/servidores-linux/usando-squidguar...

# /etc/squid/squidGuard.conf dbhome /var/lib/squidguard/db logdir /var/log/squid dest ads { domainlist blacklists/ads/domains urllist blacklists/ads/urls } dest aggressive { domainlist blacklists/aggressive/domains urllist blacklists/aggressive/urls } dest audio-video { domainlist blacklists/audio-video/domains urllist blacklists/audio-video/urls } dest drugs { domainlist blacklists/drugs/domains urllist blacklists/drugs/urls } dest gambling { domainlist blacklists/gambling/domains urllist blacklists/gambling/urls } dest porn { domainlist blacklists/porn/domains urllist blacklists/porn/urls } dest proxy { domainlist blacklists/proxy/domains urllist blacklists/proxy/urls } dest redirector { domainlist blacklists/redirector/domains urllist blacklists/redirector/urls } dest spyware { domainlist blacklists/spyware/domains urllist blacklists/spyware/urls } dest violence { domainlist blacklists/violence/domains urllist blacklists/violence/urls } dest warez{ domainlist blacklists/warez/domains urllist blacklists/warez/urls } dest porn2{ domainlist BL/porn/domains urllist BL/porn/urls } dest socialnet{ domainlist BL/socialnet/domains urllist BL/socialnet/urls } dest tracker{ domainlist BL/tracker/domains urllist BL/tracker/urls } acl { default { pass !ads !aggressive !audio-video !drugs !gambling !porn !proxy !redirector !spyware !violence !warez !porn2 !socialnet !tracker all redirect http://www.gdhpress.com.br } } Veja que nesse segundo exemplo, usei a linha "dbhome /var/lib/squidguard/db". Isso permite que voc combine sees das duas listas, indicando o caminho at cada uma, a partir do diretrio principal. Esta mesma idia pode ser usada para combinar outras listas a que voc tenha acesso. Basta colocar todas as listas dentro do diretrio "/var/lib/squidguard/db" e incluir as ACLs correspondentes dentro da configurao. Antes que possam ser efetivamente utilizadas, as listas precisam ser convertidas para o formato Berkeley DB, que permite um acesso muito mais rpido do que seria possvel ao manipular diretamente os arquivos em texto. Para isso, use, depois de configurar o arquivo "/etc/squid/squidGuard.conf", o comando: # squidGuard -C all (este comando deve ser executado novamente sempre que voc incluir novas listas na configurao) Embora no seja necessrio em muitas configuraes, recomendvel usar tambm o comando abaixo para ajustar as permisses de acesso aos arquivos, garantindo que o Squid tenha acesso a eles. O "proxy:proxy" indica o usurio e o grupo utilizados pelo Squid, que podem eventualmente ser diferentes, de acordo com a distribuio usada: # chown -R proxy:proxy /var/lib/squidguard/db/* Os dois comandos a seguir complementam a configurao, fazendo com que todos os arquivos dentro da pasta sejam configurados com permisses 644 e as pastas com 755, que a configurao correta. Isso previne o aparecimento de erros diversos relacionados a permisses incorretas para os arquivos: # find /var/lib/squidguard/db -type f | xargs chmod 644 # find /var/lib/squidguard/db -type d | xargs chmod 755

3 de 8

22/12/2011 10:09

Usando o SquidGuard para bloquear pginas imprprias - Servidores L...

http://www.hardware.com.br/livros/servidores-linux/usando-squidguar...

Depois de gerar a configurao do SquidGuard, o prximo passo alterar a configurao do Squid, para que ele seja utilizado. Para isso, edite o arquivo "/etc/squid/squid.conf", adicionando a linha: redirect_program /usr/bin/squidGuard Ela deve ser colocada depois das ACLs restritivas (destinadas a bloquear acessos, como no caso das ACLs para bloquear o acesso a uma lista de sites personalizados, ou em determinados horrios), mas entretanto antes das regras finais, que permitem o acesso. Um exemplo de arquivo squid.conf completo seria: # /etc/squid/squid.conf http_port 3128 transparent visible_hostname gdh cache_mem 128 MB maximum_object_size_in_memory 128 KB maximum_object_size 512 MB cache_dir ufs /var/spool/squid 4096 16 256 cache_access_log /var/log/squid/access.log acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl SSL_ports port 443 563 acl Safe_ports port 21 80 443 563 70 210 280 488 59 777 901 1025-65535 acl purge method PURGE acl CONNECT method CONNECT http_access allow manager localhost http_access deny manager http_access allow purge localhost http_access deny purge http_access deny !Safe_ports http_access deny CONNECT !SSL_ports redirect_program /usr/bin/squidGuard acl redelocal src 192.168.1.0/24 http_access allow localhost http_access allow redelocal http_access deny all A posio da regra que ativa o SquidGuard importante, pois se ela for colocada depois da regra "http_access allow redelocal" (ou similar), as requisies sero liberadas antes de passarem pelo SquidGuard, fazendo com que ele nunca seja usado. Opcionalmente, voc pode incluir tambm as duas linhas abaixo, logo aps a linha que ativa o SquidGuard: redirect_children 8 redirector_bypass on A opo "redirect_children" ajusta o nmero de processos do SquidGuard que o servidor Squid manter abertos. Aumentar o nmero ajuda a melhorar o desempenho do proxy em grandes redes, onde o servidor recebe um volume muito grande de requisies. A opo "redirector_bypass on" faz com que o Squid continue funcionando mesmo que o SquidGuard trave ou deixe de funcionar por qualquer motivo. Us-la tem seus prs e contras, j que pode ser prefervel que o acesso pare completamente, at que voc consiga solucionar o problema, do que permitir que o Squid funcione com os bloqueios desativados. Pense no caso de uma escola primria, por exemplo. Depois de tudo terminado, reinicie o Squid para que a configurao entre em vigor: # /etc/init.d/squid restart Se voc estiver configurando um servidor de produo, com usurios acessando o proxy enquanto est configurando, use o comando abaixo para ativar a configurao sem derrubar os usurios conectados: # squid -k reconfigure Com tudo pronto, verifique se o SquidGuard est mesmo ativo usando o comando abaixo: # tail /var/log/squid/squidGuard.log Ele mostrar as mensagens de inicializao do SquidGuard. Se tudo estiver correto, as duas ltimas linhas sero: 2008-06-14 09:16:02 [4521] squidGuard 1.2.0 started (1208175362.060) 2008-06-14 09:16:02 [4521] squidGuard ready for requests (1208175362.105) Se algum erro impedir a inicializao do servio, ele exibir a mensagem de erro, permitindo que voc localize o problema, como em: 2008-06-14 10:45:04 [4408] init domainlist /var/lib/squidguard/db/BL/socialnet/domains 2008-06-14 10:45:04 [4408] /var/lib/squidguard/db/BL/socialnet/domains: Permission denied Nesse caso, temos um problema com as permisses de acesso de uma das listas especificadas na configurao, o que poderia ser resolvido usando os comandos para acertar as permisses que vimos no incio do tpico. Com o SquidGuard ativo, os acessos a pginas imprprias sero drasticamente reduzidos e voc conserva a possibilidade de refinar o bloqueio, adicionando novos endereos manualmente. No esquea de atualizar os arquivos das blacklists periodicamente, j que elas so atualizadas de forma freqente.

4 de 8

22/12/2011 10:09

Usando o SquidGuard para bloquear pginas imprprias - Servidores L...

http://www.hardware.com.br/livros/servidores-linux/usando-squidguar...

Com o tempo, provvel que voc precise desbloquear algumas pginas manualmente (depois de verificar seu contedo), a pedido dos usurios. Nesse caso, voc pode criar uma lista branca, autorizando o acesso aos sites manualmente inseridos nela. Para isso, adicione uma nova ACL no arquivo squidGuard.conf, adicionando as seguintes linhas prximo ao incio do arquivo: dest white { domainlist white/domains urllist white/urls } No final do arquivo, ao especificar o uso das ACLs, inclua o parmetro "white" (sem a exclamao) antes dos demais, como em: acl { default { pass white !porn !proxy all redirect http://www.gdhpress.com.br } } Com isso, o contedo da ACL "white" ser processado primeiro e o acesso s pginas especificadas no arquivo ser liberado. Falta agora criar a pasta e os dois arquivos citados na configurao: # mkdir /var/lib/squidguard/db/white # touch /var/lib/squidguard/db/white/domains # touch /var/lib/squidguard/db/white/urls Use o arquivo "domains" para incluir domnios que devem ser permitidos por completo, como em "gdhn.com.br" e o arquivo "urls" para incluir pginas ou sees isoladas, como em "gdhn.com.br/tutoriais/", sempre um por linha. Depois de editar os arquivos, necessrio fazer com que o SquidGuard atualize a converso das listas e reiniciar o Squid para que as alteraes entrem em vigor, como em: # squidGuard -C all # squid -k reconfigure

Quer comprar o Servidores Linux, Guia Prtico impresso? Clique aqui!NDICE

PRXIMO: USANDO O DANSGUARDIAN ANTERIOR: MONITORANDO COM O NTOP

Capa Introduo [+ 3] Captulo 1: Instalao e administrao do sistema [+ 29] Captulo 2: Compartilhamento, DHCP e Proxy Compartilhando a conexo [+ 2] Configurando um servidor DHCP [+ 2] Configurando um servidor proxy com o Squid [+ 11] Usando o Sarg para monitorar o acesso Monitorando com o ntop Usando o SquidGuard para bloquear pginas imprprias Usando o DansGuardian [+ 2] Obtendo um endereo fixo, usando um DNS dinmico Captulo 3: Firewall [+ 8] Captulo 4: Configurando VPNs com o OpenVPN [+ 12] Captulo 5: Samba [+ 30] Captulo 6: Configurando servidores web [+ 37] Captulo 7: Configurando o DNS [+ 11] Captulo 8: Configurando servidores de e-mail [+ 8] Captulo 9: Gerenciando o servidor com o ISPConfig [+ 8] Captulo 10: SSH e acesso remoto [+ 30] Captulo 11: Terminais leves com o LTSP [+ 25] Captulo 12: Virtualizao [+ 10] Captulo 13: Backup [+ 3] Captulo 14: Hardware de servidores [+ 11] Por Carlos E. Morimoto. Revisado 1 de agosto de 2008 s 02h00 149 comentrios

Comentrios1

5 de 8

22/12/2011 10:09

Usando o SquidGuard para bloquear pginas imprprias - Servidores L...

http://www.hardware.com.br/livros/servidores-linux/usando-squidguar...

6 de 8

22/12/2011 10:09

Usando o SquidGuard para bloquear pginas imprprias - Servidores L...

http://www.hardware.com.br/livros/servidores-linux/usando-squidguar...

1

Destaques 39 aplicativos indispensveis para o Android Configurando rapidamente uma rede entre dois micros Como colocar legendas em vdeos Hackeando as senhas no Windows XP Crimpando cabos de rede

Gostou do texto?Veja nossos livros impressos:

7 de 8

22/12/2011 10:09

Usando o SquidGuard para bloquear pginas imprprias - Servidores L...

http://www.hardware.com.br/livros/servidores-linux/usando-squidguar...

Configurando a rede no Windows (atualizado) Qual a diferena entre notebook e netbook? Prompt de Comando do Windows Planos de dados: usando o celular como modem Celulares chineses Instalando o Apache + PHP + MySQL no Windows Limpando os arquivos temporrios do Windows Guia do Hardware agora Hardware.com.br Hardware II, o Guia Definitivo Siga-nos: RSS | Twitter | Facebook

Smartphones | Linux | Hardware Redes | Servidores Linux ... ou encontre o que procura usando a busca:

1999-2011 Hardware.com.br. Todos os direitos reservados.

Home

Frum GdH

RSS

Equipe

Topo

8 de 8

22/12/2011 10:09