You are on page 1of 5

19/06/12

Squid-Cache.org.br - A Casa Brasileira do Squid - A verdade sobre as ACL's do Squid


pesquisar...
Tuesday, June 19 2012

Squid-Cache.org.br
A Casa Brasileira do Squid

Incio

Artigos

Access Controls

A verdade sobre as AC L's do Squid A verdade sobre as AC L's do Squid Avaliao do Usurio: Pior 02 de maio de 2006 O artigo est dividido em 5 partes, onde so abordados os bloqueios de sites e downloads, cadastro de usurios e redirecionamentos para pginas de aviso quando um site for bloqueado. Melhor / 73
A valiar

Menu Principal
Incio A rtigos Dicas Links Cursos Contato Suporte Publicao

Usurios Online
Ns te m os 239 visitante s online e 1 m e m bro online vinicios.cardoso

Autoria de Djair Dutra C . Jr.

Estatsticas
Membros: 4390 Notcias: 134 Links: 35 Visitantes: 2003170

1. Entendendo como o squid l as ACLs Pesquisar


Patrocnio: A cada caractere inserido no squid.conf lembre-se que o squid l as acls de cima para baixo e quando encontra alguma que se aplique ele pra. Parece meio complicado mas funciona assim: Vou criar trs acls. acesso_total, acesso_restrito e bloqueado. Estes arquivos tero os seguintes contedos: acesso_total = IPs dos clientes que tero acesso total internet. No passaro por nenhuma restrio do squid. acesso_rstrito = IPs dos clientes que passaro pelo bloqueio de sites estabelecido na acl seguinte. bloqueado = Lista de palavras que o squid bloquear se forem encontradas na URL. De posse detas trs acls, vamos declar-las no squid.conf desta maneira: acl acesso_total src "/etc/squid/acesso_total" acl acesso_restrito src "/etc/squid/acesso_restrito" acl bloqueado url_regex -i "/etc/squid/bloqueado" OBS.: A opo -i encontrada na linha que declara o bloqueio serve para NO fazer distino entre maisculas e minsculas. Agora que as regras foram declaradas vamos ativ-las dessa maneira: http_access http_access http_access http_access allow acesso_total deny bloqueado allow acesso_restrito deny all

Login
Nom e de Usurio Se nha

Le m brar login Login Esqueceu sua senha? Se m conta? Crie uma

C omo o squid as l: A primeira regra que o squid l (http_access allow acesso_total) diz que ser LIBERADO acesso a quem estiver com o ip cadastrado no arquivo "/etc/squid/acesso_total". Ento, quem ele encontra aqui j liberado e no passa mais pelas outras acls seguintes. Por isso o acesso direto e total. A segunda regra que ele encontra (http_access deny bloqueado) diz que ser NEGADO o acesso s URLs que coincidirem com as palavras que esto no arquivo "/etc/squid/bloqueado". Se, por exemplo, neste arquivo tiver a palavra sexo qualquer site que tenha esta palavra na sua URL no ser acessado, como em www.uol.com.br/sexo, www.sexomais.com.br, etc. Mas ateno neste detalhe. O squid vem lendo o arquivo de cima para baixo e s chegar a segunda regra quem no cair na primeira, ou seja quem no tiver o ip cadastrado no arquivo de acesso total. A terceira regra que o squid l (http_access allow acesso_restrito) diz que ser LIBERADO acesso a quem tiver com o ip cadastrado no arquivo "/etc/squid/acesso_restrito". C omo na terceira regra s chega quem no caiu na regra anterior, o acesso pode ser liberado tranquilamente. A quarta e ltima regra (http_access deny all) nega o acesso a qualquer ip de qualquer mscara (0.0.0.0/0.0.0.0), pois ela j vem declarada no incio das acls (acl all src 0.0.0.0/0.0.0.0). Voc deve estar se perguntando: Mas como pode negar acesso a todos os ips se tenho que liberar o meu? A resposta simples e est no que eu enfatizei at agora. O segredo est na sequncia como o squid l as acls. Se ele l a primeira (acesso_total) e ningum se aplicar a ela, ento passar para a segunda. Se nesta tb ningum se aplicar ele passar para a terceira. bvio concluir que se o cliente no est cadastrado no acesso_total, nem est no acesso_restrito ento ele no faz parte da rede e deve ser bloqueado. (Deve ser algum espertinho mudando de ip, hehehe!!!). S chegar a ltima quem no caiu em nenhuma das anteriores. Por issso, divida sua rede em quem pode ter acesso tota e restrito e cadastre os clientes em seus respectivos arquivos.

2. Montando uma rede baseada numa lista de bloqueios


Agora que voc j entendeu como funcionam as acls, vamos a um exemplo um mais complexo do que o anterior, mas no complicado entender.

www.squid-cache.org.br/index.php?option=com_content&task=view&id=91&Itemid=27

1/5

19/06/12

Squid-Cache.org.br - A Casa Brasileira do Squid - A verdade sobre as ACL's do Squid


Neste exemplo vamos montar uma rede baseada numa lista de bloqueios e excees. Ou seja, o cliente s ter o seu acesso bloqueado se o site estiver previamente cadastrado na lista de bloqueios. A desvantegem desta montagem de acesso que se o cliente conhecer sites semelhantes aos bloqueados (com URLs diferentes) poder acessar. Fica ento a critrio do administrador da rede ter uma vasta lista do que no pode acesar. A regra deste tipo de restrio : QUALQUER SITE PERMITIDO, DESDE QUE NO ESTEJA NA LISTA. Veja um exemplo de uma rede funcionando assim: Arquivo: /etc/squid/acesso_total C ontedo: 192.168.1.2 192.168.1.3 192.168.1.4 192.168.1.5 Descrio: Mquinas que tero acesso total internet. Arquivo: /etc/squid/acesso_restrito C ontedo: 192.168.1.6 192.168.1.7 192.168.1.8 192.168.1.9 Descrio: Mquinas que tero acesso restrito internet. Passaro por bloqueios. Arquivo: /etc/squid/download C ontedo: .exe$ .iso$ .avi$ .mp3$ .wmv$ .mpeg$ Descrio: Extenses de arquivos que tero download bloqueado. Arquivo: /etc/squid/bloqueado C ontedo: sexo hardcore ninfeta penis suruba playboy revistasexy Descrio: Palavras para restrio de urls. Arquivo: /etc/squid/liberado C ontedo: abcdasaude sexoesaude medicinanatural uol.com.br/sexo Descrio: Excees aos bloqueios. O que for colocado aqui, mesmo que esteja na lista de bloqueios ser liberado. Agora vamos prtica: Declare as acls: acl acl acl acl acl acesso_total src "/etc/squid/acesso_total" acesso_restrito src "/etc/squid/acesso_restrito" liberado url_regex -i "/etc/squid/liberado" download url_regex -i "/etc/squid/download" bloqueado url_regex -i "/etc/squid/blouqeado"

Depois de declarar, ative as acls na mesma sequncia doexemplo abaixo: http_access http_access http_access http_access http_access http_access allow acesso_total allow liberado deny download deny bloqueado alow aceso_restrito deny all

Agora vamos s explicaes e as anlises dos casos. C aso 1 - O cliente com ip 192.168.1.2 vai acessar o site www.uol.com.br.

www.squid-cache.org.br/index.php?option=com_content&task=view&id=91&Itemid=27

2/5

19/06/12

Squid-Cache.org.br - A Casa Brasileira do Squid - A verdade sobre as ACL's do Squid


Por estar cadastrado no acesso total ele cair logo na primiera regra e ser LIBERADO o acesso a qualque site. Nenhuma das regras seguintes sero aplicadas a elee tanto o uol.com.br como qualquer outra pgina estar liberada. C aso 2 - O cliente com ip 192.168.1.6 vai acessar o site www.uol.com.br. Por estar no acesso restrito, ele "passar ileso" pela primeira regra. Encontrar ento a segunda (liberado), que so as excees dos bloqueios. C omo o site www.uol.com.br no est na lista de excees ele tambm passar ileso por esta regra. C hegar ento, terceira regra (download) que limita os downloads. Nesta tambm no encontrar nada, pois no estamos fazendo download de nenhum arquivo. C hegar ento a quarta (bloqueado) e mais perigosa regra, mas como nela no tem nehuma restrio para o site uol ele tambm passar ileso. C air ento na quinta regra, onde o acesso ao seu ip (192.168.1.6) est LIBERADO (allow) podendo assim acessar o site www.uol.com.br. C aso 3 - O cliente com ip 192.168.1.6 vai acessr o site www.sexomais.com.br. Por estar no acesso restrito, ele passa pela primeira regra. Encontrar a segunda, na qual h excees para os bloqueios, mas noh nenhuma exceo para o site sexomais.com.br. Ento ele prossegue, passando ileso pelo download e caindo na regra bloqueado, pois o site sexomais.com.br contm uma palavra (sexo) que est na lista de bloqueios. Mesmo estando cadastrado no acesso_restrito este cliente no chegar a acl que lhe d permisso de acesso, pois antes ele j caiu no bloqueio de sites e (como j disse) o squid pra de ler quando aplica alguma regra. C aso 4 - O cliente com ip 192.168.1.6 vai acessar o site www.medicinanatural.com.br/sexo. (Mas que cara teimoso...) J sabemos que este cliente pular a primeira regra, pois sei ip do acesso restrito, mas cair logo na segunda, onde h uma exceo para acessar todo o contedo do site medicinanatural. Mesmo que em sua url (www.medicinanatural.com.br/sexo) tenha a palavra sexo, a regra de bloqueio no ser aplicada, pois antes mesmo de chegar nela foi encontrada uma adequao na regra de excees e o squid parou de ler o resto das regras para este ip. C aso 5 - O cliente com ip 192.168.1.6 (coitado dese cara...) vai acessar o site www.superdownloads.com.br. Ele pular a primeira regra. No se enquadrar na segunda, mas cair na terceira se tentar fazer qualquer download de arquivos com extenses definidas na lista /etc/squid/download. Se no tentar fazer downloads, poder navegar tranquilamente pelo site, afinal, no h nenhuma restrio para a URL dele. Espero que este exemplo tenha ficado claro. Na pgina seguinte montaremos um outro tipo de restries de acesso.

3. Montando uma rede baseada numa lista de excees


Este tipo de rede bem mais fcil montar que a antrior. NELA, TUDO BLOQUEADO, EXC ETO O QUE VOC DEFINIR C OMO EXC E O, ao contrrio da outra que tudo liberado, exceto o que voc definir nos bloqueios. Sua vantagem que o administrador da rede no precisa de uma enorme lista do que "no pode ser acessado". Em alguns casos mais fcil liberar apenas o que pode ser acessado do que bloquear tudo o que no poder ser acessado. A grande jogada esta a! Vamos ento a um exemplo prtico. Arquivo: /etc/squid/acesso_total C ontedo: 192.168.1.2 192.168.1.3 192.168.1.4 192.168.1.5 Descrio: Mquinas que tero acesso total internet. Arquivo: /etc/squid/acesso_restrito C ontedo: 192.168.1.6 192.168.1.7 192.168.1.8 192.168.1.9 Descrio: Mquinas que tero acesso restrito internet. Passaro por bloqueios. Arquivo: /etc/squid/liberado C ontedo: .gov. .edu. .org. ufc uece unifor minhaempresa.com.br bb.com.br

www.squid-cache.org.br/index.php?option=com_content&task=view&id=91&Itemid=27

3/5

19/06/12

Squid-Cache.org.br - A Casa Brasileira do Squid - A verdade sobre as ACL's do Squid


bradesco.com.br Descrio: Excees aos bloqueios. Declare as acls: acl acesso_total src "/etc/squid/acesso_total" acl acesso_restrito src "/etc/squid/acesso_restrito" acl liberado url_regex -i "/etc/squid/liberado" Ative as acls: http_access http_access http_access http_access allow acesso_total allow liberado deny acesso_restrito deny all

Agora vamos ao estudo dos casos. A primeira regra LIBERA o acesso dos ips cadastrados no acesso_total. A segunda regra libera o acesso apenas aos contedos do arquivo /etc/squid/liberado. E as demias negam os acessos da rede local e de todos os outros ips tambm. C aso 1 - O cliente com ip 192.168.1.2 vai acessar o site www.uol.com.br. Por estar cadastrado no acesso total ele cair logo na primiera regra e ser LIBERADO o acesso a qualque site. Nenhuma das regras seguintes sero aplicadas a elee tanto o uol.com.br como qualquer outra pgina estar liberada. C aso 2 - O cliente com ip 192.168.1.6 vai acessar o site www.uol.com.br. Por no estar no acesso total, ele pular esta regra. C omo no h nehuma exceo para o site www.uol.com.br ele tambm passar ileso pela segunda regra. Da terceira em diante ele no faz mais nada, pois elas negam qualquer tipode acesso. O site www.uol.com.br ser bloqueado para este ip. C aso 3 - O cliente com ip 192.168.1.6 vai acessar o site www.detran.ce.gov.br. J sabemos que ele pular a primeira regra. Encontrar ento a segunda, que em sua lista possui (.gov.) uma referncia URL que ele est tentando acessar. C omo a regra est liberando (allow) o acesso a qualquer URL que contenha .gov. o cliente poder acessar normalmente todo o site www.detran.ce.gov.br. C omo vimos este exemplo bem mais simples que o anterior e a abrangncia dos bloqueios bem maior. ideal para escolas, bancos e instituies pblicas, onde o contedo da internet altamente restrito. Na ltima pgina mostrarei como redirecionar as pginas (para um aviso por exemplo) quando o cliente cair em algum bloqueio.

4. Redirecionando
Depois de montada a rede com o modelo de sua preferncia, falta apenas redirecionar as mensagens, afinal havero inmeras reclamaes de clientes dizendo que esto sem internet e na verdde esto tendo seus sites blouqeados. Nada mais bvio do que colocar um aviso informando isso, concorda? bem simples. Vamos ento prtica. Procure no seu squid.conf a linha error_directory. Ela informa o doretrio onde o squid vai buscar os arquivos html de erro. No meu conectiva, por exemplo, o referido diretrio fica em /usr/share/squid/errors/Portuguese. 1. C rie ento uma pgina html comum informando que o usurio est tentando acessar um site proibido. 2. Salve-a dentro do diretrio informado acima para que o squid a encontre quando algum for bloqueado. Procure no squid.conf a linha deny_info. Nesta linha voc define qual erro vai acionar qual pgina. Veja um exemplo: deny_info block.html bloqueado Neste exemplo o cliente ser redirecionado para a pgina block.html quando ocorrer algum bloqueio de sites. Voc pode tambm acrescentar outras pginas de acordo com a quantidade de bloqueios que voc possui. Para isso basta repetir as linhas, como no exemplo abaixo: deny_info block.html bloqueado deny_info down.html download deny_info all.html all Se quiser tambm pode redirecionar para um site: deny_info http://www.google.com.br bloqueado.

5. Final
Espero que este artigo possa ajudar algum de alguma forma. Escrevi pensando no que eu queria ter encontrado quando estava aprendendo a usar as acls, por isso acho que deva ter alguma utilidade. Procurei exemplificar nos mnimos detalhes para no deixar nenhuma dvida. Se mesmo assim, houverem dvidas, dicas ou sugestes estarei inteira disposio.

www.squid-cache.org.br/index.php?option=com_content&task=view&id=91&Itemid=27

4/5

19/06/12

Squid-Cache.org.br - A Casa Brasileira do Squid - A verdade sobre as ACL's do Squid


Comentrios excelente
Escrito por Visitante e m 2006-05-15 09:19:17

Parabns pelo artigo. Muito esclarecedor e realmente fcil. era isso que eu estava procurando. excelente
Escrito por Visitante e m 2006-05-20 00:07:52

Parabns. O artigo foi muito bem recebido... Leandro


Escrito por Visitante e m 2006-05-26 10:26:10

Otimo artigo muito bem explicado, Parabens Muito bom.


Escrito por m arce lloconti e m 2006-07-03 20:10:46

Legal, bem fcil de compreender. Vale a pena adicionar no futuro o proxy_auth (autenticao de usurios). Excelente
Escrito por gre ssle rbwg e m 2006-08-04 14:05:52

Matou a cobra! Assim ficou fcil!


Escrito por jgilbe rto1701 e m 2006-08-17 10:37:27

Esclarecedor! Show de bola!!! Excelente!


Escrito por justice iro_df e m 2006-12-07 12:39:25

timo pra dar 1 noo geral: S 1 correo: Ative as acls: http_access http_access http_access http_access allow acesso_total allow liberado deny !acesso_restrito deny all

Faltou a negao: Proibe tudo, desde que naum esteja dentro do arquivo Excelente!!!!
Escrito por brunok ino e m 2007-10-19 09:34:19

Muito bom o artigo, parabns... Abraos... Somente usurios registrados podem escrever comentrios. Por favor faa o login ou registre-se.
Powe re d by A koComment 2.0!

ltima Atualizao ( 21 de maio de 2006 )

< Anterior [Voltar] 10 Mais populares


Uso e configurao do Squid - Parte 2 Uso e configurao do Squid - Parte 1 A verdade sobre as A CL's do Squid Configurando um Squid "Ninja" Mini HOW-TO SA RG - Relatrio no seu Squid I Squid transparente com autenticao pelo NatA CL Squid Plus com A D, Redirector, Controle de Banda e Relatorios Bloqueando MSN/WebMsn com iptables, ipchains e Squid Conectividade Social (CEF) via Squid e conexo segura A prenda como controlar melhor o seu servidor de proxy Squid

Prximo > 10 ltimas Postagens


Conhecendo as A CLs mais utilizadas no SQUID Squid Transparente e Barrando o MSN Conectividade Social (CEF) via Squid e conexo segura A verdade sobre as A CL's do Squid Identificando usurios Squid com o IDENTD Forar redirecionamento de pgina no Squid Bloqueando o uso do squid por spammers Squid com controle de sites e palavras Bloqueando MSN/WebMsn com iptables, ipchains e Squid SquidGuard + Calamaris

Colaborar preciso!

www.squid-cache.org.br/index.php?option=com_content&task=view&id=91&Itemid=27

5/5

You might also like