Escolar Documentos
Profissional Documentos
Cultura Documentos
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 para. Parece meio complicado, mas
funciona assim:
Vou criar três ACLs: acesso_total, acesso_restrito e bloqueado. Estes arquivos terão os
seguintes conteúdos:
acesso_total = IPs dos clientes que terão acesso total à internet. Não passarão
por nenhuma restrição do Squid.
acesso_restrito = IPs dos clientes que passarão pelo bloqueio de sites
estabelecido na acl seguinte.
bloqueado = Lista de palavras que o Squid bloqueará se forem encontradas na
URL.
OBS: A opção -i encontrada na linha que declara o bloqueio serve para NÃO fazer
distinção entre maiúsculas e minúsculas.
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". Então, quem ele encontra aqui já é liberado e não 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 estão no arquivo
"/etc/squid/bloqueado". Se, por exemplo, neste arquivo tiver a palavra sexo, qualquer
site que tenha esta palavra na sua URL não será acessado, como em
www.uol.com.br/sexo, www.sexomais.com.br, etc. Mas atenção neste detalhe. O Squid
vem lendo o arquivo de cima para baixo e só chegará a segunda regra quem não cair na
primeira, ou seja quem não 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". Como na terceira regra só chega quem não 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
máscara (0.0.0.0/0.0.0.0), pois ela já vem declarada no início 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 seqüência como o Squid lê as ACLs.
Neste exemplo vamos montar uma rede baseada numa lista de bloqueios e exceções. Ou
seja, o cliente só terá o seu acesso bloqueado se o site estiver previamente cadastrado na
lista de bloqueios.
Arquivo: /etc/squid/acesso_total
Conteúdo:
192.168.1.2
192.168.1.3
192.168.1.4
192.168.1.5
Descrição: Máquinas que terão acesso total à internet.
Arquivo: /etc/squid/acesso_restrito
Conteúdo:
192.168.1.6
192.168.1.7
192.168.1.8
192.168.1.9
Descrição: Máquinas que terão acesso restrito à internet. Passarão por bloqueios.
Arquivo: /etc/squid/download
Conteúdo:
.exe$
.iso$
.avi$
.mp3$
.wmv$
.mpeg$
Arquivo: /etc/squid/bloqueado
Conteúdo:
sexo
hardcore
ninfeta
penis
suruba
playboy
revistasexy
Arquivo: /etc/squid/liberado
Conteúdo:
abcdasaude
sexoesaude
medicinanatural
uol.com.br/sexo
Descrição: Exceções aos bloqueios. O que for colocado aqui, mesmo que esteja na lista
de bloqueios será liberado.
Declare as ACLs:
Caso 5 - O cliente com IP 192.168.1.6 (coitado desse cara...) vai acessar o site
www.superdownloads.com.br.
Ele pulará a primeira regra. Não se enquadrará na segunda, mas cairá na terceira se
tentar fazer qualquer download de arquivos com extensões definidas na lista
/etc/squid/download. Se não tentar fazer downloads, poderá navegar tranquilamente
pelo site, afinal, não há nenhuma restrição para a URL dele.
Espero que este exemplo tenha ficado claro. Na página seguinte montaremos um outro
tipo de restrições de acesso.
Arquivo: /etc/squid/acesso_total
Conteúdo:
192.168.1.2
192.168.1.3
192.168.1.4
192.168.1.5
Arquivo: /etc/squid/acesso_restrito
Conteúdo:
192.168.1.6
192.168.1.7
192.168.1.8
192.168.1.9
Descrição: Máquinas que terão acesso restrito à internet. Passarão por bloqueios.
Arquivo: /etc/squid/liberado
Conteúdo:
.gov.
.edu.
.org.
ufc
uece
unifor
minhaempresa.com.br
bb.com.br
bradesco.com.br
Declare as ACLs:
Ative as ACLs:
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 conteúdos do
arquivo /etc/squid/liberado. E as demais negam os acessos da rede local e de todos os
outros IPs também.
Como vimos este exemplo é bem mais simples que o anterior e a abrangência dos
bloqueios é bem maior. É ideal para escolas, bancos e instituições públicas, onde o
conteúdo da internet é altamente restrito.
Na última página mostrarei como redirecionar as páginas (para um aviso por exemplo)
quando o cliente cair em algum bloqueio.
Redirecionando
Depois de montada a rede com o modelo de sua preferência, falta apenas redirecionar as
mensagens, afinal haverão inúmeras reclamações de clientes dizendo que estão sem
internet e na verdade estão tendo seus sites bloqueados. Nada mais óbvio do que colocar
um aviso informando isso, concorda? É bem simples. Vamos então à prática.
Procure no seu squid.conf a linha error_directory. Ela informa o diretório onde o Squid
vai buscar os arquivos HTML de erro. No meu conectiva, por exemplo, o referido
diretório fica em /usr/share/squid/errors/Portuguese.
1. Crie então uma página HTML comum informando que o usuário está tentando
acessar um site proibido.
2. Salve-a dentro do diretório informado acima para que o Squid a encontre quando
alguém for bloqueado.
Procure no squid.conf a linha deny_info. Nesta linha você define qual erro vai acionar
qual página. Veja um exemplo:
Neste exemplo o cliente será redirecionado para a página block.html quando ocorrer
algum bloqueio de sites. Você pode também acrescentar outras páginas de acordo com a
quantidade de bloqueios que você possui. Para isso basta repetir as linhas, como no
exemplo abaixo:
Espero que este artigo possa ajudar alguém 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 mínimos detalhes para não deixar
nenhuma dúvida.
Fonte: http://www.vivaolinux.com.br/artigo/A-verdade-sobre-as-ACLs-do-Squid/?
pagina=1