Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Slackware 10.1, blackbox, pebrot,BitchX, e o filme "A Casa dos Horrores"
Por slackrlz
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Artigo

Squid - Níveis de bloqueio para usuários
Linux user
info24hs
12/12/2008
Esse artigo mostra como bloquear o acesso a internet dos usuários sem autenticação e limitar usuários autenticados para acessar determinados sites, bloqueando o acesso por níveis.
Por: Cristiano Landsmann
[ Hits: 20311 ]
Conceito: 9.6   5 voto(s)5 voto(s)5 voto(s)5 voto(s)5 voto(s) + quero dar nota ao artigo

Introdução

Esta dica é para mostrar como bloquear acesso a sites utilizando níveis de bloqueio, ex.:
  • Nível 1 - usuário "Admin" tem acesso total;
  • Nível 2 - usuário "Rogerio" e "Pedro" não tem permissão para acessar o www.vivaolinux.com.br;
  • Nível 3 - usuário "Rogerio" não tem permissão para acessar o www.vivaolinux.com.br e www.google.com.br, mas o usuário "Pedro" pode acessar o www.google.com.br.

Partirei do princípio que a instalação e configuração da autenticação do Squid estejam configurados, apenas colocarei as modificações feitas para funcionar o bloqueio por nível.

Para esta implementação foram usados:
  • Distro. Debian 4.0
  • Kernel v. 2.6.24-etchnhalf.1-486
  • Squid 2.6.STABLE5

Bloqueando por níveis

Trecho do arquivo squid.conf:

#Identificação da rede que tem acesso ao proxy
acl all src 0.0.0.0/0

#Regras para autenticação
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_passwd
auth_param basic children 5
auth_param basic realm [---Bem Vindo ao XXX Internet Proxy Server---]
acl autenticados proxy_auth REQUIRED

#REGRA 1 - Arquivo "patrao", logins cadastrados para navegar no proxy
acl patrao proxy_auth "/etc/squid/patrao"

#REGRA 2 - Arquivo "usuarios", logins cadastrados para navegar no proxy
acl usuarios proxy_auth "/etc/squid/usuarios"

#REGRA 3 - Arquivo "usuarios_futebol", logins dos usuarios que não podem acessar sites de futebol
acl usuarios_futebol proxy_auth "/etc/squid/usuarios_futebol"

#REGRA 4 - Lista de Sites bloqueados para os "Usuários"
acl bloqueado_usuarios url_regex -i "/etc/squid/bloqueado_usuarios"

#REGRA 5 - Lista de Sites bloqueados para os "Usuários_Futebol"
acl bloqueado_futebol url_regex -i "/etc/squid/bloqueado_futebol"

#REGRA 5 - - Bloqueia acesso aos sites cadastrados em "bloqueado_futebol" para o grupo de usuários cadastrados "usuarios_futebol"
http_access deny bloqueado_futebol usuarios_futebol

#REGRA 4 - Bloqueia acesso aos sites cadastrados em "bloqueado_usuarios" para o grupo de usuários cadastrados "usuarios"
http_access deny bloqueado_usuarios usuarios

#REGRA 3 - Liberado acesso para o grupo cadastrados "usuarios_futebol"
http_access allow usuarios_futebol

#REGRA 2 - Liberado acesso para o grupo cadastrado "usuarios"
http_access allow usuarios

#REGRA 1 - Liberado acesso para o grupo cadastrado "patrao"
http_access allow patrao

#Liberado acesso para os usuários autenticados
http_access allow autenticados

#Bloqueia o acesso para os usuários sem autenticação
http_access deny all

Obs1.: A ordem das regras é muito importante para funcionar adequadamente.

Arquivos com os logins

Tudo liberado para estes usuários:

# vim /etc/squid/patrao

jose
pedro
admin
maria
rogerio
jardel

Usuários que terão os sites bloqueados pelo arquivo "bloqueado_usuario":

# vim /etc/squid/usuarios

maria
rogerio

Usuários que terão os sites bloqueados pelo arquivo "bloqueado_usuario e bloqueado_futebol":

# vim /etc/squid/usuarios_futebol

jardel
rogerio
pedro

Obs.: O usuário "Rogério" esta sendo bloqueado em 2 níveis.

Arquivos com os sites

# vim /etc/squid/bloqueado_usuarios

google.com.br
youtube.com.br
playboy.com.br

# vim /etc/squid/bloqueado_futebol

esporte.com.br
bolanarede.com.br

O proxy é liberado via autenticação, permite o acesso para todos os usuários cadastrados e bloqueia o acesso em 2 níveis.

Demais usuários que tentarem acessar o proxy sem autenticação serão barrados.





Páginas do artigo
   1. Introdução

Outros artigos deste autor

Leitura recomendada

Comentários
[1] Comentário enviado por jaimejr1987 em 12/12/2008 - 14:47h:

Otimo Script, bom trabalho.

[2] Comentário enviado por cvs em 12/12/2008 - 16:13h:

Só esse allow deny ultimo ai que fiquei intrigado, nunca vi isso funcionando... heheehhe
Melhor um deny all no final, não?

Valeu.

[3] Comentário enviado por info24hs em 12/12/2008 - 16:23h:

hehehe... vamos arrumar...

[4] Comentário enviado por lucas.suporte em 12/12/2008 - 16:51h:

Parabens pelo artigo ele é muito bom, curto e objetivo. Otimo para iniciantes.

Queria contribuir com esse otimo atigo com a seguinte dica:

para adicionar os usuarios no squid com senha.

para adicionar o usuario para autenticar seguindo o artigo faça:

adicionando o usuario lucas:
htpasswd -c /etc/squid/squid_passwd lucas

coloque a senha

adicionando o usuario convidado:
htpasswd -c /etc/squid/squid_passwd convidado
e pronto


Abraços a todos !!!

Lucas Rocha
Analista de Redes


[5] Comentário enviado por info24hs em 12/12/2008 - 16:56h:

Opa! Vamos falar com a moderação e incluir sua dica no artigo.

Muito obrigado.

[6] Comentário enviado por vagnersobrinho em 12/12/2008 - 19:24h:

Valeu Cara!!!

tava precisando disso mesmo

muito bom!

[7] Comentário enviado por albertoaalmeida em 14/12/2008 - 09:18h:

Parabéns!

Estava a procura de um artigo igual a esse, foi de grande utilidade para mim.

Abraços.

Alberto A Almeida
www.albertoalmeida.blogspot.com

[8] Comentário enviado por dylon em 14/12/2008 - 14:35h:

tenho que criar um servidor com squid pra amanha e já dou de cara com esse artigo!!
\o/

valeu cara!!

[9] Comentário enviado por calaff2 em 14/12/2008 - 22:18h:

Muito bom amigo e com o complemento do Lucas ficou melhor ainda !! :) Viva o Linux

[10] Comentário enviado por zoomdigital em 14/12/2008 - 23:39h:

Muito legal seu artigo cara parabéns!!

[11] Comentário enviado por Primoo em 15/12/2008 - 08:15h:

funciona com Proxy Transparente?

[12] Comentário enviado por info24hs em 15/12/2008 - 08:38h:

Não, vc até pode estar com o proxy transparente ativado, mas como existe a regra http_access deny all ele irá bloquear tudo que não tenha sido autenticado, com essa regra força os usuários não a mexerem nas configurações do navegador tentando burlar..

[13] Comentário enviado por edipo.magrelo em 15/12/2008 - 09:12h:

Excelente artigo!!

[14] Comentário enviado por Primoo em 15/12/2008 - 09:56h:

Excelente artigo!! Parabéns!

[15] Comentário enviado por di_gennaro em 28/12/2008 - 19:59h:

Olá estou com uma dúvida existe algum procedimento para que dois usúario não se conectem com a mesma senha? tipo para que não haja emprestimos de senhas!

[16] Comentário enviado por info24hs em 29/12/2008 - 08:46h:

Não conheço tal método...

[17] Comentário enviado por vagnersobrinho em 06/02/2009 - 12:23h:

Mandou bem velho!

usei aqui onde trabalho e funcionou uma beleza!

[18] Comentário enviado por comfaa em 27/04/2009 - 09:17h:

ficou bem legal,
mas estava precisando de uma dica que nao tenho
encontrado .... preciso adicionar um usuacio CONVIDADO
que seja controla por tempo .... mais ou menos assim ....
Eu determino quando tempo ele pode ficar acessando a net
tipo, de 13:00 as 14:00 horas .... quando chegar as 14:00
automaticamente o acesso dele na internet é bloqueado.

Desde já muito obrigado !!

[19] Comentário enviado por info24hs em 27/04/2009 - 10:49h:

Cara é bem simples, cria outra acl com os nomes de quem quer que seja controlado por horário e restrinja com as regras abaixo... pesquisa no google que tem muita informação sobre..

acl manha time 08:00-12:00
acl tarde time 14:00-17:30
acl videos url_regex "/etc/squid/videos"

http_access deny tarde videos
http_access deny manha videos



Abraço..

[20] Comentário enviado por martinez18 em 18/05/2009 - 09:16h:

Tenho uma duvida em relação ao controle de acesso:

Como faria para bloquear por IP ou Mac?
E tambem como seria mais ou menos para bloquear sites num determinado horario e libera-los apos o horaria, e se puderem ajudar como faço para saber qual usuario entrou no site, listando nome e site.

Desde já agradeço a atenção de todos.
Meu e-mail
martinez18@pop.com.br
Msn
kinho_martinez@hotmail.com

Abração

[21] Comentário enviado por info24hs em 18/05/2009 - 10:20h:

Amigo,

Procure no google a página manual squid 2.7 e veja sobre "acl" a partir dai vai saber como bloquear por IP, sobre horário o post acima do seu mostra como fazer...

Abraço..

[22] Comentário enviado por manoserpa em 20/07/2009 - 20:47h:

Parabéns!

[23] Comentário enviado por ferabong em 14/12/2009 - 17:30h:

Nossa, gostei muito.

me esclareçam numa dúvida por favor.

estou trabalhando com um servidor proxy, e preciso adicionar mais um usuário nele, para autenticar o accesso as paginas e etc.


posso proceder desta forma que o lucas citou acima, ou devo realizar outra operação?

obrigado!

[24] Comentário enviado por info24hs em 14/12/2009 - 20:25h:

Oi.. pode sim.. não esqueça de colocar os nomes dos usuários nas listas de bloqueio..

Boa sorte!

[25] Comentário enviado por murillo50 em 15/01/2010 - 07:48h:

chegado pq ta dando esse erro o

FATAL: No port defined
Squid Cache (Version 2.7.STABLE3): Terminated abnormally.
CPU Usage: 0.004 seconds = 0.000 user + 0.004 sys
Maximum Resident Size: 0 KB
Page faults with physical i/o: 0


[26] Comentário enviado por bpinheiro em 07/02/2012 - 20:04h:

Boa Noite Cristiano.
Preciso montar um servidor linux aqui na empresa com squid e iptables.
Achei muito bacana seu artigo, acho que se encaixa bem no perfil que eu preciso, por usuário.
Deixa te fazer uma pergunta, não tenho experiência no linux, preciso instalar apenas squid e apache?


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.