Liberação e bloqueio de sites por horário usando proxy Squid

Publicado por Francisco Iglesias em 22/05/2007

[ Hits: 56.475 ]

 


Liberação e bloqueio de sites por horário usando proxy Squid



Exceções no mundo dos administradores de rede hoje em dia tem se tornado cada vez mais comum...

Uma dessas situações que com certeza acontecem numa proporção até considerável é a liberação de acesso a determinados sites cujo conteúdo muitas vezes é bloqueado por não ser de conteúdo profissional em determinados horários ou dias.

Por isso criei algumas regras de filtros e ACLs para serem usadas junto ao Squid com o intuito de proporcionar maior facilidade na hora de implementar estas exceções que muitas vezes dificultam nosso trabalho.

Bom pessoal, primeiramente não vou ensinar aqui como configurar o Squid para fazer bloqueios de sites etc e tal, vou apenas orientar como criar filtros e ACLs para liberação de determinados sites em determinados horários.

Vamos lá então:

Depois de configurado o Squid com ou sem proxy transparente e com seu bloqueio de sites ativo no sistema, vá no arquivo de configuração do mesmo, que geralmente se encontra em /etc/squid/squid.conf, e lá na seção de ACLs crie o seguinte filtro:

### RESTRIÇÃO POR HORÁRIOS
acl net_local src 192.168.0.0/255.255.255.0
acl sites url_regex "/etc/squid/sites.txt"
acl h_manha time MTWHF 08:00-12:00
acl h_tarde time MTWHF 14:00-19:30
http_access deny net_local sites h_manha
http_access deny net_local sites h_tarde

Explicando:

Na primeira linha o que fiz foi especificar uma ACL de nome net_local cuja origem é minha rede interna.

Na segunda linha criei uma outra ACL de nome sites onde informo o caminho do arquivo que vai armazenar os endereços dos sites que quero liberar nos horários a serem especificados abaixo.

A terceira e a quarta linha são as ACLs que declarei para armazenar os horários para fazer assim o bloqueio dos sites que estarão listados no arquivo sites.txt.

h_manha recebe de segunda a sexta-feira os horários de 08:00hs às 12:00hs
h_tarde recebe de segunda a sexta-feira os horários de 14:00hs às 19:30hs

Sendo MTWHF: segunda (Monday), - terça (Tuesday), quarta (Wednesday) - quinta (Thursday) e sexta (Friday).

Crie agora o arquivo sites.txt na pasta /etc/squid usando o editor "vi" mesmo e nesse arquivo coloque todos os sites que você quer liberar usando a seguinte estrutura:

www.hotmail.com
www.gmail.com
mail.globo.com
mail.terra.com
www.ig.com.br

Dessa forma, o Squid vai bloquear todos os sites listados no arquivo sites.txt que se encontra em /etc/squid/ (ACL sites) para toda a rede (ACL net_local) no horário que compreende de 08:00hs da manhã até o 12:00 (ACL h_manha) e no horário que compreende de 14:00hs da tarde até às 19:30hs da noite (ACL h_tarde).

Resumindo:

Neste caso estou liberando o acesso aos sites listados no arquivo sites.txt somente de segunda à sexta-feira durante o horário de almoço, após às 19:30 horas e aos sábados e domingos.

Uma observação importante a considerar é que os sites que você informar no arquivo sites.txt não poderão estar também no conteúdo de seu arquivo principal de bloqueios caso este exista, porque senão as regras criadas aqui não irão funcionar.

Pronto!!!

Espero ter ajudado...

Um abraço a todos.

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Rodando um Debian Lenny bem facilitado

Palestra - A história do Viva o Linux

libnvidia-tls.so.1: cannot handle TLS data

Firefox + FlashGot + Wget + Limite de velocidade

Tecla Super (tecla Windows) para todos os logins no modo gráfico

  

Comentários
[1] Comentário enviado por kaddoshi em 22/05/2007 - 22:09h

Ola boa noite... muito boa a sua explicação. Mas eu estou com um problema aqui na minha empresa e ficaria muito grato se você pudesse me ajudar...
Bom.. uso o squid, e a liberação dos ips foi feito da seguinte forma:
1- Criei uma ACL que libera todos os ips da rede, ou seja, todos os IPs tem acesso.
2- Criei uma ACL para bloquear os sites restritos, então, todos os IPs, passam necessariamente pelo SQUID, e automaticamente passam por essa ACL chamada BLOCK.ACL (onde tem todos os arquivos restritos).

COMO EU FARIA PRA LIBERAR 2 IPs da rede para nao entrar nessa regra, ou seja, que os IPs acessassem o PROXY / SQUID, pegando apenas a parte de ARMAZENAMENTO DE CACHE DE SITES e nao esse arquivo BLOCK.ACL !??!

SERÁ Q FUI BEM CLARO ?!?!

PRECISO DE SUA AJUDA URGENTE.. SE PUDER ME ADD..

kaddoshi@hotmail.com

um grande abraço.. obrigado...

[2] Comentário enviado por luancfalquetto em 10/08/2007 - 17:42h

olá, talvez estou postando muito depois da criação deste artigo, mas estou com uma dúvida, esses comandos liberam os sites listados nos horários pré determinados certo??
e teria como criar uma lista de sites a serem bloqueados em um horário tmbm pré especificado??
obrigado

[3] Comentário enviado por techsup em 13/08/2007 - 11:57h

É exatamente o que está sendo feito aqui...voce pode determinar nesse script quais IPS voce vai ou não liberar, os horários e dias que serão liberados e os sites que voce resolver liberar, só não se esqueça de que os sites que serão liberados nesses horários pré determinados não poderão estar contidos no seu arquivo de bloqueio do squid ok.

Para liberar estes sites para um determinado grupo de IPS de sua rede, basta criar outra ACL na mesma seção acima descrita, informando os IPS em questão e depois dar o aceite à regra, lembre-se que para isso, estes IPS que voce resolver liberar não poderão estar também relacionados na ACL net_local que bloqueia os demais endereços de sua rede.

Abraços...

[4] Comentário enviado por msscesario em 09/01/2008 - 10:04h

Show e rapido !!!

[5] Comentário enviado por tobias.paraiso em 13/03/2008 - 10:31h

muito bom!

[6] Comentário enviado por rpaschoal em 06/09/2010 - 14:33h

Muito obrigado, Fácil e de bastante utilidade!

[7] Comentário enviado por nilsonerj em 25/03/2013 - 15:09h

Boa tarde amigo,

Sou iniciante e estou criando regras no squid do BFW 3.xx e implementei estas regras liberação de acesso por hora. Mas não está funcionando no período da tarde. Pensei que fosse algo da hora e data do servidor, mas está atualizado. Segue abaixo os comandos, e se tiver algo errado me avise.

acl local src 192.168.1.0/255.255.255.0
acl sites_bloqueados url_regex "/etc/brazilfw/custom/sites_bloqueados"
acl dominios_bloqueados dst_domain "/etc/brazilfw/custom/sites_bloqueados"
acl h_manha time MTWHF 08:00-12:00
acl h_tarde time MTWHF 13:00-19:30
http_access deny local sites_bloqueados h_manha
http_access deny local sites_bloqueados h_tarde
http_access deny local dominios_bloqueados h_manha
http_access deny local dominios_bloqueados h_tarde

Gostaria de saber também como faço para incluir os sábados neste comando? E veja a questão do dominios bloqueados se está correto?

Agradeço desde já pela ajuda.

Abraços

Nilson

[8] Comentário enviado por marcelloinfoweb em 13/07/2013 - 12:24h


[7] Comentário enviado por nilsonerj em 25/03/2013 - 15:09h:

Boa tarde amigo,

Sou iniciante e estou criando regras no squid do BFW 3.xx e implementei estas regras liberação de acesso por hora. Mas não está funcionando no período da tarde. Pensei que fosse algo da hora e data do servidor, mas está atualizado. Segue abaixo os comandos, e se tiver algo errado me avise.

acl local src 192.168.1.0/255.255.255.0
acl sites_bloqueados url_regex "/etc/brazilfw/custom/sites_bloqueados"
acl dominios_bloqueados dst_domain "/etc/brazilfw/custom/sites_bloqueados"
acl h_manha time MTWHF 08:00-12:00
acl h_tarde time MTWHF 13:00-19:30
http_access deny local sites_bloqueados h_manha
http_access deny local sites_bloqueados h_tarde
http_access deny local dominios_bloqueados h_manha
http_access deny local dominios_bloqueados h_tarde

Gostaria de saber também como faço para incluir os sábados neste comando? E veja a questão do dominios bloqueados se está correto?

Agradeço desde já pela ajuda.

Abraços

Nilson




Coloca o S no fim "MTWHF" ficandon assim "MTWHFS".

É isso...



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts