Regras complexas no Squid

1. Regras complexas no Squid

Santos de Andrade Carvalhais
scarvalhais

(usa CentOS)

Enviado em 26/06/2018 - 12:02h

Olá, pessoal.

Sou novato no Linux e estou precisando saber se é possível criar regras complexas no Squid. O que preciso é o seguinte:

Na empresa, há diversos setores. Em cada setor, os funcionários tem diferentes horários de almoço. Preciso bloquear sites não relacionados ao trabalho, durante o horário de expediente, mas quero deixar liberado no horário de almoço. Portanto, preciso de uma regra para um grupo do setor em que o funcionário trabalha, e outra para um grupo do horário de almoço. Neste caso, o funcionário teria que estar em dois grupos. É possível fazer isso? Como é feito?



  


2. Re: Regras complexas no Squid

Eduardo Paim Silveira
eduardo

(usa Linux Mint)

Enviado em 26/06/2018 - 13:51h

Sim, é possível. O squid lê as ACL's (e a aplicação das mesmas através do http_access) na ordem em que estão no squid.conf. Basta tu atrelar a ACL de horário com a ACL de IPs. Exemplo:

http_access allow HORARIO_ALMOCO IP_ALMOCO SITES_ALMOCO
http_access allow IP_GRUPO SITES_GRUPO # ou HORARIO_EXPEDIENTE IP_.......

O squid vai ler o primeiro, se não encaixar o acesso na regra, vai para a próxima, e assim por diante. Tu podes criar um estrutura com diversos grupos também

http_access allow IP_LIBERADO_TOTAL #Liberado sempre e tudo
http_access allow SITES_LIBERADOS #Sites liberados para todos, tipo .gov.br, site da empresa etc.
http_access allow HORARIO_ALMOCO IP_GRUPO1 SITES_ALMOCO_GRUPO1
http_access allow HORARIO_ALMOCO IP_GRUPO2 SITES_ALMOCO_GRUPO2
http_access allow HORARIO_ALMOCO IP_GRUPO3 SITES_ALMOCO_GRUPO3
http_access allow IP_GRUPO1 !SITES_ALMOCO_GRUPO1 #Exemplo de um grupo com acesso liberado, exceto alguns sites, que só acessam no almoço
http_access allow IP_GRUPO2 SITES_GRUPO2
http_access allow IP_GRUPO3 SITES_GRUPO3
http_access deny all


3. Re: Regras complexas no Squid

Santos de Andrade Carvalhais
scarvalhais

(usa CentOS)

Enviado em 26/06/2018 - 14:41h

eduardo escreveu:

Sim, é possível. O squid lê as ACL's (e a aplicação das mesmas através do http_access) na ordem em que estão no squid.conf. Basta tu atrelar a ACL de horário com a ACL de IPs. Exemplo:

http_access allow HORARIO_ALMOCO IP_ALMOCO SITES_ALMOCO
http_access allow IP_GRUPO SITES_GRUPO # ou HORARIO_EXPEDIENTE IP_.......

O squid vai ler o primeiro, se não encaixar o acesso na regra, vai para a próxima, e assim por diante. Tu podes criar um estrutura com diversos grupos também

http_access allow IP_LIBERADO_TOTAL #Liberado sempre e tudo
http_access allow SITES_LIBERADOS #Sites liberados para todos, tipo .gov.br, site da empresa etc.
http_access allow HORARIO_ALMOCO IP_GRUPO1 SITES_ALMOCO_GRUPO1
http_access allow HORARIO_ALMOCO IP_GRUPO2 SITES_ALMOCO_GRUPO2
http_access allow HORARIO_ALMOCO IP_GRUPO3 SITES_ALMOCO_GRUPO3
http_access allow IP_GRUPO1 !SITES_ALMOCO_GRUPO1 #Exemplo de um grupo com acesso liberado, exceto alguns sites, que só acessam no almoço
http_access allow IP_GRUPO2 SITES_GRUPO2
http_access allow IP_GRUPO3 SITES_GRUPO3
http_access deny all



Obrigado pela resposta, Eduardo. Vou testar e passo o resultado.



4. Re: Regras complexas no Squid

Paulo Bonfanti
pbonfanti

(usa Debian)

Enviado em 03/07/2018 - 12:31h

scarvalhais escreveu:

eduardo escreveu:

Sim, é possível. O squid lê as ACL's (e a aplicação das mesmas através do http_access) na ordem em que estão no squid.conf. Basta tu atrelar a ACL de horário com a ACL de IPs. Exemplo:

http_access allow HORARIO_ALMOCO IP_ALMOCO SITES_ALMOCO
http_access allow IP_GRUPO SITES_GRUPO # ou HORARIO_EXPEDIENTE IP_.......

O squid vai ler o primeiro, se não encaixar o acesso na regra, vai para a próxima, e assim por diante. Tu podes criar um estrutura com diversos grupos também

http_access allow IP_LIBERADO_TOTAL #Liberado sempre e tudo
http_access allow SITES_LIBERADOS #Sites liberados para todos, tipo .gov.br, site da empresa etc.
http_access allow HORARIO_ALMOCO IP_GRUPO1 SITES_ALMOCO_GRUPO1
http_access allow HORARIO_ALMOCO IP_GRUPO2 SITES_ALMOCO_GRUPO2
http_access allow HORARIO_ALMOCO IP_GRUPO3 SITES_ALMOCO_GRUPO3
http_access allow IP_GRUPO1 !SITES_ALMOCO_GRUPO1 #Exemplo de um grupo com acesso liberado, exceto alguns sites, que só acessam no almoço
http_access allow IP_GRUPO2 SITES_GRUPO2
http_access allow IP_GRUPO3 SITES_GRUPO3
http_access deny all



Obrigado pela resposta, Eduardo. Vou testar e passo o resultado.


Segue a dica do eduardo mas consulta o site oficial pra se familiarizar com a sintaxe da acl, e adapta para o seu caso

https://wiki.squid-cache.org/SquidFaq/SquidAcl?highlight=%28MTWHF%29 

How can I allow some clients to use the cache at specific times?

Let's say you have two workstations that should only be allowed access to the Internet during working hours (8:30 - 17:30). You can use something like this:

acl FOO src 10.1.2.3 10.1.2.4
acl WORKING time MTWHF 08:30-17:30
http_access allow FOO WORKING
http_access deny FOO

How can I allow some users to use the cache at specific times?

acl USER1 proxy_auth [*****]
acl USER2 proxy_auth Jane
acl DAY time 06:00-18:00
http_access allow USER1 DAY
http_access deny USER1
http_access allow USER2 !DAY
http_access deny USER2









Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts