Servidor proxy (Squid)

ixw

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.

[ Hits: 213.920 ]

Por: Guilherme Souza Zanoni em 18/05/2007


Controle de acesso



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.

Página anterior     Próxima página

Páginas do artigo
   1. Conceitos de servidores proxy
   2. Instalação e configuração do Squid
   3. Controle de acesso
   4. Lista de acessos
   5. Proxy transparente
Outros artigos deste autor

Bloqueando conteúdo com Squid no RedHat 9

Leitura recomendada

DansGuardian: Filtrando o acesso a Web

Instalando o Squid + SquidGuard

Manual traduzido do Squid

Squid 3.4.8 + SSL + Firewall + DNS + DHCP no Debian Jessie (v.8)

Administrando Squid pelo browser, bloquear e liberar máquinas por IP, login, palavras

  
Comentários
[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?

Valeu.

[2] Comentário enviado por calaff2 em 18/05/2007 - 13:50h

muito bom man!! Viva a liberdade Viva o Linux!

[3] Comentário enviado por andersonjackson em 18/05/2007 - 14:52h

Legal cara parabéns.

Só a minha contribuição para proxy transparente no squid 2.6.x
no squid.conf basta colocar:
http_port 3128 transparent

e no firewall a regra que nosso amigo informou:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-dest IP:3128

Um abraço.

[4] Comentário enviado por thyagofs em 18/05/2007 - 19:41h

Muito bom. Sao de artigos assim que a comunidade precisa. Bastante detalhado...
parabéns !

[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

[6] Comentário enviado por eduardofraga em 19/05/2007 - 18:31h

O erro de sintaxe:

http_acess allow all liberar

O correto é:

http_access allow all liberar

[7] Comentário enviado por bestmoor em 19/05/2007 - 21:47h

ops ....eu foi erro de digitacao ...no .config estava correto...

[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

[9] Comentário enviado por mcaju em 20/05/2007 - 20:34h

Muito bom artigo! vai me servir bastante. TKS.

[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.

[12] Comentário enviado por eltondhiego em 01/06/2007 - 18:41h

òtimo artigo! Parabéns!!

[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.

[14] Comentário enviado por lipecys em 28/09/2007 - 16:34h

Valew o artigo........

[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?

[16] Comentário enviado por celsof2 em 26/03/2008 - 03:45h

sao otimos as dicas

[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.

sou novo em linux.

[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.

Alguém pode me ajudar com 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