Um servidor proxy é uma peça importante em uma rede interna que tenha contato com outra pública, pois implementa uma série de facilidades e controles. Ao final do artigo você será capaz de instalar e configurar o servidor proxy (Squid), além de fazê-lo atuar como proxy transparente.
O controle de acesso do Squid tem recursos suficientes para definir com precisão quais tipos de serviços podem ser acessados por quais máquinas e em quais horários. As regras da lista de controle de acesso (Access Control List ou simplesmente ACLs) tem uma sintaxe bastante simples e são incluídas no arquivo squid.conf.
Tipos de elementos de ACL:
src: endereço IP de origem (cliente);
dst: endereço IP de destino (servidor);
srcdomain: um domínio de origem (cliente);
dstdomain: um domínio de destino (servidor);
srcdom_regex: padrão de texto, ou expressão regular, que conste no conteúdo da origem (cliente);
dstdom_regex: padrão de texto, ou expressão regular, que conste no conteúdo do destino (servidor);
time: hora do dia e dia da semana;
url_regex: comparação de URL baseada em expressão regular;
port: número da porta do destino (servidor);
myport: número da porta local na qual o cliente se conectou;
proto: protocolo de transferência (http, ftp, etc);
method: método http de requisição (get, post, etc);
browser: Comparação executada baseada no cabeçalho (header) do cliente (browser);
ident: nome do usuário;
src_as: número do Sistema Autônomo da origem (cliente);
dst_as: número do Sistema Autônomo do destino (servidor);
proxy_auth: autenticação do usuário via um processo externo;
proxy_auth_regex: expressão regular que consta em uma autenticação de usuário via um processo externo;
snmp_community: string que indica o nome da comunidade SNMP;
maxconn: um número máximo de conexões de um mesmo endereço IP de cliente;
arp: endereço Ethernet (MAC).
Nem todos os elementos de ACL podem ser usados com todas as listas de acessos (descritas a seguir). Por exemplo, snmp_community só terá significado quando usado com a lista snmp_access, bem como os elementos src_as e dst_as somente serão usados na lista cache_peer_access.
Cada elemento de ACL deve ser relacionado com somente um nome. Um elemento ACL com determinado nome consiste em uma lista de valores. Quando forem sendo feitos os testes, os múltiplos valores utilizarão o operador lógico OR. Em outras palavras, um elemento ACL será válido, quando qualquer um de seus valores forem verdadeiros.
Você não pode dar o mesmo nome para diferentes tipos de elementos ACLs. Isto ocasionará um erro de sintaxe.
Você poderá colocar diferentes valores para a mesma ACL em diferentes linhas. O Squid os combinará em uma lista.
[1] Comentário enviado por pingus em 18/05/2007 - 11:09h
Muito bom . Mas se eu quiser fazer um cache em minha maquina sem uma rede local, somente para bloqueio de algumas páginas e fazer cache das paginas que acessa a internet. posso usar o mesmo principio apenas omitindo a rede local?
[5] Comentário enviado por bestmoor em 19/05/2007 - 11:07h
otima mateira , muito bem explicada e com detalhes.
so me tira uma duvida
tenho o proxy todo instalado squid transparente bloqueando varios sites como faco para liberar todos os sites somente para uma maquina tentei liberar assim mais nao funcionou , detalhe esta no topo do .conf
# liberar site para
acl liberar src 192.168.0.254/255.255.255.0
http_acess allow all liberar
[8] Comentário enviado por bestmoor em 19/05/2007 - 21:49h
acabei refazendo todo squid.config e o problema se resolveu mais obrigado......as vezes procuramos tanto um problemas que ele passa despercebido...valeu
[10] Comentário enviado por agk em 24/05/2007 - 16:16h
Parabéns pelo artigo, bem explicado, até me deu umas idéias, vi que você falou sobre snmp, vou ver se implemento um esquema pra monitorar o squid com o mrtg ou Cacti.
[11] Comentário enviado por paulo.neto em 28/05/2007 - 22:27h
ixw - Fiz curso num Centro Mandriva. Acho excelente o trabalho da Mandriva, pois os materiais que ela publica são de excelente qualidade. Vendo o teu artigo, vi que é uma cópia fiel da apostila de Administração de Redes II, capítulo 5. Legal compartilhar este conhecimento aqui. Não sei se a Mandriva vai é gostar, mas é isso.
[13] Comentário enviado por oiciruam em 28/08/2007 - 09:16h
Cara acabei de configurar minha rede. To usando o bloqueio para alguns sites. Tenho 20 maquinas na rede e gostaria de liberar o acesso ao Orkut para 05 dessas maquinas. Como faço essa configuração.
[15] Comentário enviado por analistapa em 01/10/2007 - 09:56h
Implantei o proxy transparente (Squid + Iptables) agora to com uma dúvida...Como liberar um IP da rede interna pra navegar por fora do proxy (especificamente os sites da CEF). Devo altera alguma configuração no squid ou alterar ou inlcuir alguma regra no iptables?
[17] Comentário enviado por fernandofranco em 14/03/2009 - 12:18h
boa tarde, amigo
tenho um servidor fedora 9, com squid 3.0 rodando, e estou com um problema quando eu abilito no firewall pra passagem do squid nao consigo mais navegar, ai tenho que comenta a linha no firewall para que posso volta a navegar normalmente, já procurei em um monte de forum sobre isso, se poder me ajuda agradeço.
[18] Comentário enviado por casallunga em 17/12/2009 - 20:17h
Estou necessitando de um servidor proxy, já tenho a máquina, e optei por utilizar a distro Debian para o servidor proxy. preciso saber se você tem essas informações em formato pdf para imprimir. Parabéns pela matéria, ficou muito bem exclarecida mesmo.
[19] Comentário enviado por bradroger em 20/07/2010 - 08:47h
Estou precisando configurar o meu Squid para fornecer cotas de acesso à Internet por tempo de uso por determinado usuário, por exemplo o usuário X só pode acessar Y minutos por dia.