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:
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:
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.
[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 !??!
[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.
[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?
[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".