quarta-feira, 18 de junho de 2014

Primeiros passos com o Squid

Quem começa a mexer com Squid logo sente dificuldade para entender o jeito de configurá-lo. O Squid trabalha com ACL (Access Control List). Encare as ACL como os personagens que farão parte do Squid. Para liberar um acesso a um site eu preciso criar uma ACL para o site, bem como para as máquina que terão acesso a ele. A forma de especificar uma ACL é a seguinte:
acl nome tipo valor
No tópico anterior criamos uma acl chamada “all” que é do tipo “src” e possui valor “0/0″. Abaixo eu descrevo os principais tipos de ACL usadas no Squid.
  • src – ip, intervalo de ip, ou rede de origem (172.20.120.4, 192.168.0.0/16, 10.0.0.1-10);
  • dst – ip, intervalo de ip, ou rede de destino;
  • dstdomain – domínio (uol.com.br, blogspot.com, etc);
  • time – data e horário (12:01-13:00 : horário de almoço);
  • url_regex – expressão regular encontrada na url (fazenda.[a-z][a-z].gov.br);
  • port – porta usada pelo site (80,81,8080);
  • proto – protocolo usado (ftp, http).
Assim, podemos criar regras misturando as ACL. Por exemplo, para liberar o acesso ao facebook para a rede 10.0.100.0/24 podemos usar as seguintes linhas no arquivo /etc/squid3/squid.conf.
http_port 3128
acl all src 0/0
acl rede_interna src 10.0.100.0/24
acl facebook dstdomain facebook.com
http_access allow rede_interna facebook
http_access deny all