Você está na página 1de 5

Autoria de Djair Dutra C. Jr.

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.
1. Entendendo como o squid l as A!s
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. !arece meio complicado mas funciona assim"
#ou criar trs acls. acesso$total% acesso$restrito e bloqueado. &stes arqui'os ter(o os seguintes conte)dos"
acesso"total * +!s dos clientes que ter(o acesso total , internet. -(o passar(o por nen.uma restri/(o do
squid.
acesso"rstrito * +!s dos clientes que passar(o pelo bloqueio de sites estabelecido na acl seguinte.
bloqueado * 0ista de pala'ras que o squid bloquear se forem encontradas na 120.
De posse detas trs acls% 'amos declar-las no squid.conf desta maneira"
acl acesso$total src 34etc4squid4acesso$total3
acl acesso$restrito src 34etc4squid4acesso$restrito3
acl bloqueado url$regex -i 34etc4squid4bloqueado3
567." A op/(o -i encontrada na lin.a que declara o bloqueio ser'e para -85 fa9er distin/(o entre mai)sculas e
min)sculas.
Agora que as regras foram declaradas 'amos ati'-las dessa maneira"
.ttp$access allo: acesso$total
.ttp$access den; bloqueado
.ttp$access allo: acesso$restrito
.ttp$access den; all
Como o squid as l"
A primeira regra que o squid l <.ttp$access allo: acesso$total= di9 que ser 0+6&2AD5 acesso a quem esti'er
com o ip cadastrado no arqui'o 34etc4squid4acesso$total3. &nt(o% quem ele encontra aqui j > liberado e n(o
passa mais pelas outras acls seguintes. !or isso o acesso > direto e total.
A segunda regra que ele encontra <.ttp$access den; bloqueado= di9 que ser -&?AD5 o acesso ,s 120s que
coincidirem com as pala'ras que est(o no arqui'o 34etc4squid4bloqueado3. 7e% por exemplo% neste arqui'o ti'er
a pala'ra sexo qualquer site que ten.a esta pala'ra na sua 120 n(o ser acessado% como em
:::.uol.com.br4sexo% :::.sexomais.com.br% etc.
@as aten/(o neste detal.e. 5 squid 'em lendo o arqui'o de cima para baixo e sA c.egar a segunda regra quem
n(o cair na primeira% ou seja quem n(o ti'er o ip cadastrado no arqui'o de acesso total.
A terceira regra que o squid l <.ttp$access allo: acesso$restrito= di9 que ser 0+6&2AD5 acesso a quem ti'er
com o ip cadastrado no arqui'o 34etc4squid4acesso$restrito3. Como na terceira regra sA c.ega quem n(o caiu na
regra anterior% o acesso pode ser liberado tranquilamente.
A quarta e )ltima regra <.ttp$access den; all= nega o acesso a qualquer ip de qualquer mscara
<0.0.0.040.0.0.0=% pois ela j 'em declarada no inBcio das acls <acl all src 0.0.0.040.0.0.0=.
#oc de'e estar se perguntando" @as como pode negar acesso a todos os ips se ten.o que liberar o meuC A
resposta > simples e est no que eu enfati9ei at> agora. 5 segredo est na sequncia como o squid l as acls.
7e ele l a primeira <acesso$total= e ningu>m se aplicar a ela% ent(o passar para a segunda. 7e nesta tb
ningu>m se aplicar ele passar para a terceira. D Ab'io concluir que se o cliente n(o est cadastrado no
acesso$total% nem est no acesso$restrito ent(o ele n(o fa9 parte da rede e de'e ser bloqueado. <De'e ser
algum espertin.o mudando de ip% .e.e.eEEE=. 7A c.egar a )ltima quem n(o caiu em nen.uma das anteriores.
!or issso% di'ida sua rede em quem pode ter acesso tota e restrito e cadastre os clientes em seus respecti'os
arqui'os.
#. $ontando uma rede baseada numa lista de bloqueios
Agora que 'oc j entendeu como funcionam as acls% 'amos a um exemplo um mais complexo do que o anterior%
mas n(o > complicado entender.
-este exemplo 'amos montar uma rede baseada numa lista de bloqueios e exce/Fes. 5u seja% o cliente sA ter
o seu acesso bloqueado se o site esti'er pre'iamente cadastrado na lista de bloqueios.
A des'antegem desta montagem de acesso > que se o cliente con.ecer sites semel.antes aos bloqueados <com
120s diferentes= poder acessar. Gica ent(o a crit>rio do administrador da rede ter uma 'asta lista do que n(o
pode acesar.
A regra deste tipo de restri/(o >" H1A0H1&2 7+I& D !&2@+I+D5% D&7D& H1& -85 &7I&JA -A 0+7IA.
#eja um exemplo de uma rede funcionando assim"
Arqui'o"
4etc4squid4acesso$total
Conte)do"
JK2.J6L.J.2
JK2.J6L.J.M
JK2.J6L.J.N
JK2.J6L.J.O
Descri/(o"
@quinas que ter(o acesso total , internet.
Arqui'o"
4etc4squid4acesso$restrito
Conte)do"
JK2.J6L.J.6
JK2.J6L.J.P
JK2.J6L.J.L
JK2.J6L.J.K
Descri/(o"
@quinas que ter(o acesso restrito , internet. !assar(o por bloqueios.
Arqui'o"
4etc4squid4do:nload
Conte)do"
.exeQ
.isoQ
.a'iQ
.mpMQ
.:m'Q
.mpegQ
Descri/(o"
&xtensFes de arqui'os que ter(o do:nload bloqueado.
Arqui'o"
4etc4squid4bloqueado
Conte)do"
sexo
.ardcore
ninfeta
penis
suruba
pla;bo;
re'istasex;
Descri/(o"
!ala'ras para restri/(o de urls.
Arqui'o"
4etc4squid4liberado
Conte)do"
abcdasaude
sexoesaude
medicinanatural
uol.com.br4sexo
Descri/(o"
&xce/Fes aos bloqueios. 5 que for colocado aqui% mesmo que esteja na lista de bloqueios ser liberado.
Agora 'amos , prtica"
Declare as acls"
acl acesso$total src 34etc4squid4acesso$total3
acl acesso$restrito src 34etc4squid4acesso$restrito3
acl liberado url$regex -i 34etc4squid4liberado3
acl do:nload url$regex -i 34etc4squid4do:nload3
acl bloqueado url$regex -i 34etc4squid4blouqeado3
Depois de declarar% ati'e as acls na mesma sequncia doexemplo abaixo"
.ttp$access allo: acesso$total
.ttp$access allo: liberado
.ttp$access den; do:nload
.ttp$access den; bloqueado
.ttp$access alo: aceso$restrito
.ttp$access den; all
Agora 'amos ,s explica/Fes e as anlises dos casos.
Caso J - 5 cliente com ip JK2.J6L.J.2 'ai acessar o site :::.uol.com.br.
!or estar cadastrado no acesso total ele cair logo na primiera regra e ser 0+6&2AD5 o acesso a qualque site.
-en.uma das regras seguintes ser(o aplicadas a elee tanto o uol.com.br como qualquer outra pgina estar
liberada.
Caso 2 - 5 cliente com ip JK2.J6L.J.6 'ai acessar o site :::.uol.com.br.
!or estar no acesso restrito% ele 3passar ileso3 pela primeira regra. &ncontrar ent(o a segunda <liberado=% que
s(o as exce/Fes dos bloqueios. Como o site :::.uol.com.br n(o est na lista de exce/Fes ele tamb>m passar
ileso por esta regra. C.egar ent(o% , terceira regra <do:nload= que limita os do:nloads. -esta tamb>m n(o
encontrar nada% pois n(o estamos fa9endo do:nload de nen.um arqui'o. C.egar ent(o a quarta <bloqueado=
e mais perigosa regra% mas como nela n(o tem ne.uma restri/(o para o site uol ele tamb>m passar ileso. Cair
ent(o na quinta regra% onde o acesso ao seu ip <JK2.J6L.J.6= est 0+6&2AD5 <allo:= podendo assim acessar o
site :::.uol.com.br.
Caso M - 5 cliente com ip JK2.J6L.J.6 'ai acessr o site :::.sexomais.com.br.
!or estar no acesso restrito% ele passa pela primeira regra. &ncontrar a segunda% na qual . exce/Fes para os
bloqueios% mas n(o. nen.uma exce/(o para o site sexomais.com.br. &nt(o ele prossegue% passando ileso pelo
do:nload e caindo na regra bloqueado% pois o site sexomais.com.br cont>m uma pala'ra <sexo= que est na lista
de bloqueios. @esmo estando cadastrado no acesso$restrito este cliente n(o c.egar a acl que l.e d permiss(o
de acesso% pois antes ele j caiu no bloqueio de sites e <como j disse= o squid pra de ler quando aplica alguma
regra.
Caso N - 5 cliente com ip JK2.J6L.J.6 'ai acessar o site :::.medicinanatural.com.br4sexo. <@as que cara
teimoso...=
J sabemos que este cliente pular a primeira regra% pois sei ip > do acesso restrito% mas cair logo na segunda%
onde . uma exce/(o para acessar todo o conte)do do site medicinanatural. @esmo que em sua url
<:::.medicinanatural.com.br4sexo= ten.a a pala'ra sexo% a regra de bloqueio n(o ser aplicada% pois antes
mesmo de c.egar nela foi encontrada uma adequa/(o na regra de exce/Fes e o squid parou de ler o resto das
regras para este ip.
Caso O - 5 cliente com ip JK2.J6L.J.6 <coitado dese cara...= 'ai acessar o site :::.superdo:nloads.com.br.
&le pular a primeira regra. -(o se enquadrar na segunda% mas cair na terceira se tentar fa9er qualquer
do:nload de arqui'os com extensFes definidas na lista 4etc4squid4do:nload. 7e n(o tentar fa9er do:nloads%
poder na'egar tranquilamente pelo site% afinal% n(o . nen.uma restri/(o para a 120 dele.
&spero que este exemplo ten.a ficado claro. -a pgina seguinte montaremos um outro tipo de restri/Fes de
acesso.
%. $ontando uma rede baseada numa lista de e&ce'(es
&ste tipo de rede > bem mais fcil montar que a antrior. -&0A% I1D5 D 605H1&AD5% &RC&I5 5 H1& #5CS
D&G+-+2 C5@5 &RC&T85% ao contrrio da outra que tudo > liberado% exceto o que 'oc definir nos bloqueios.
7ua 'antagem > que o administrador da rede n(o precisa de uma enorme lista do que 3n(o pode ser acessado3.
&m alguns casos > mais fcil liberar apenas o que pode ser acessado do que bloquear tudo o que n(o poder ser
acessado. A grande jogada esta aBE
#amos ent(o a um exemplo prtico.
Arqui'o"
4etc4squid4acesso$total
Conte)do"
JK2.J6L.J.2
JK2.J6L.J.M
JK2.J6L.J.N
JK2.J6L.J.O
Descri/(o"
@quinas que ter(o acesso total , internet.
Arqui'o"
4etc4squid4acesso$restrito
Conte)do"
JK2.J6L.J.6
JK2.J6L.J.P
JK2.J6L.J.L
JK2.J6L.J.K
Descri/(o"
@quinas que ter(o acesso restrito , internet. !assar(o por bloqueios.
Arqui'o"
4etc4squid4liberado
Conte)do"
.go'.
.edu.
.org.
ufc
uece
unifor
min.aempresa.com.br
bb.com.br
bradesco.com.br
Descri/(o"
&xce/Fes aos bloqueios.
Declare as acls"
acl acesso$total src 34etc4squid4acesso$total3
acl acesso$restrito src 34etc4squid4acesso$restrito3
acl liberado url$regex -i 34etc4squid4liberado3
Ati'e as acls"
.ttp$access allo: acesso$total
.ttp$access allo: liberado
.ttp$access den; acesso$restrito
.ttp$access den; all
Agora 'amos ao estudo dos casos. A primeira regra 0+6&2A o acesso dos ips cadastrados no acesso$total. A
segunda regra libera o acesso apenas aos conte)dos do arqui'o 4etc4squid4liberado. & as demias negam os
acessos da rede local e de todos os outros ips tamb>m.
Caso J - 5 cliente com ip JK2.J6L.J.2 'ai acessar o site :::.uol.com.br.
!or estar cadastrado no acesso total ele cair logo na primiera regra e ser 0+6&2AD5 o acesso a qualque site.
-en.uma das regras seguintes ser(o aplicadas a elee tanto o uol.com.br como qualquer outra pgina estar
liberada.
Caso 2 - 5 cliente com ip JK2.J6L.J.6 'ai acessar o site :::.uol.com.br.
!or n(o estar no acesso total% ele pular esta regra. Como n(o .> ne.uma exce/(o para o site :::.uol.com.br
ele tamb>m passar ileso pela segunda regra. Da terceira em diante ele n(o fa9 mais nada% pois elas negam
qualquer tipode acesso. 5 site :::.uol.com.br ser bloqueado para este ip.
Caso M - 5 cliente com ip JK2.J6L.J.6 'ai acessar o site :::.detran.ce.go'.br.
J sabemos que ele pular a primeira regra. &ncontrar ent(o a segunda% que em sua lista possui <.go'.= uma
referncia , 120 que ele est tentando acessar. Como a regra est liberando <allo:= o acesso a qualquer 120
que conten.a .go'. o cliente poder acessar normalmente todo o site :::.detran.ce.go'.br.
Como 'imos este exemplo > bem mais simples que o anterior e a abrangncia dos bloqueios > bem maior. D
ideal para escolas% bancos e institui/Fes p)blicas% onde o conte)do da internet > altamente restrito.
-a )ltima pgina mostrarei como redirecionar as pginas <para um a'iso por exemplo= quando o cliente cair em
algum bloqueio.
). *edirecionando
Depois de montada a rede com o modelo de sua preferncia% falta apenas redirecionar as mensagens% afinal
.a'er(o in)meras reclama/Fes de clientes di9endo que est(o sem internet e na 'erdde est(o tendo seus sites
blouqeados. -ada mais Ab'io do que colocar um a'iso informando isso% concordaC
D bem simples. #amos ent(o , prtica.
!rocure no seu squid.conf a lin.a error$director;.
&la informa o doretArio onde o squid 'ai buscar os arqui'os .tml de erro. -o meu conecti'a% por exemplo% o
referido diretArio fica em 4usr4s.are4squid4errors4!ortuguese.
J. Crie ent(o uma pgina .tml comum informando que o usurio est tentando acessar um site proibido.
2. 7al'e-a dentro do diretArio informado acima para que o squid a encontre quando algu>m for bloqueado.
!rocure no squid.conf a lin.a den;$info. -esta lin.a 'oc define qual erro 'ai acionar qual pgina. #eja um
exemplo"
den;$info blocU..tml bloqueado
-este exemplo o cliente ser redirecionado para a pgina blocU..tml quando ocorrer algum bloqueio de sites.
#oc pode tamb>m acrescentar outras pginas de acordo com a quantidade de bloqueios que 'oc possui. !ara
isso basta repetir as lin.as% como no exemplo abaixo"
den;$info blocU..tml bloqueado
den;$info do:n..tml do:nload
den;$info all..tml all
7e quiser tamb>m pode redirecionar para um site"
den;$info .ttp"44:::.google.com.br bloqueado.
5. +inal
&spero que este artigo possa ajudar algu>m de alguma forma. &scre'i pensando no que eu queria ter
encontrado quando esta'a aprendendo a usar as acls% por isso ac.o que de'a ter alguma utilidade. !rocurei
exemplificar nos mBnimos detal.es para n(o deixar nen.uma d)'ida. 7e mesmo assim% .ou'erem d)'idas%
dicas ou sugestFes estarei , inteira disposi/(o.

Você também pode gostar