Servidores proxy WebEditar

Reencaminhar pedidos HTTP através de proxies web. O pedido do cliente é o mesmo que um pedido HTTP normal, excepto que o URL completo é passado, em vez de apenas o caminho.

GET https://en.wikipedia.org/wiki/Proxy_server HTTP/1.1Proxy-Authorization: Basic encoded-credentialsAccept: text/html

Este pedido é enviado para o servidor proxy, o proxy faz o pedido especificado e devolve a resposta.

HTTP/1.1 200 OKContent-Type: text/html; charset UTF-8

alguns proxies web permitem que o método HTTP CONNECT configure o reencaminhamento de dados arbitrários através da ligação; uma política comum é apenas reencaminhar a porta 443 para permitir tráfego HTTPS.

Exemplos de servidores proxy web incluem Apache (com mod_proxy ou Traffic Server), HAProxy, IIS configurado como proxy (por exemplo com Application Request Routing), Nginx, Privoxy, Squid, Varnish (apenas proxy reverso), WinGate, Ziproxy, Tinyproxy, RabbIT e Polipo.

Para clientes, o problema de servidores proxy complexos ou múltiplos é resolvido por um protocolo de auto-configuração cliente-servidor Proxy (ficheiro PAC).

SOCKS proxyEdit

SOCKS também encaminha dados arbitrários após uma fase de ligação, e é semelhante ao HTTP CONNECT em proxies web.

ProxyEdit transparente

Tão conhecido como um proxy interceptador, inline proxy, ou proxy forçado, um proxy transparente intercepta a comunicação normal da camada de aplicação sem requerer qualquer configuração especial do cliente. Os clientes não precisam de estar cientes da existência do proxy. Um proxy transparente está normalmente localizado entre o cliente e a Internet, com o proxy a executar algumas das funções de um gateway ou router.

RFC 2616 (Hypertext Transfer Protocol-HTTP/1.1) oferece definições padrão:

“Um ‘proxy transparente’ é um proxy que não modifica o pedido ou resposta para além do que é necessário para autenticação e identificação do proxy”. “Um ‘proxy não transparente’ é um proxy que modifica o pedido ou resposta de modo a fornecer algum serviço adicional ao agente do utilizador, tais como serviços de anotação de grupo, transformação do tipo de mídia, redução do protocolo, ou filtragem do anonimato”.

TCP Intercept é uma característica de segurança de filtragem de tráfego que protege os servidores TCP de ataques de inundação TCP SYN, que são um tipo de ataque de negação de serviço. O TCP Intercept está disponível apenas para tráfego IP.

Em 2009 uma falha de segurança na forma como os proxies transparentes funcionam foi publicada por Robert Auger, e a Equipa de Resposta a Emergências Informáticas emitiu uma listagem de dezenas de servidores proxy transparentes e interceptores afectados.

PurposeEdit

Os proxies interceptores são normalmente utilizados nas empresas para impor uma política de utilização aceitável, e para aliviar as despesas administrativas, uma vez que não é necessária nenhuma configuração do navegador do cliente. Esta segunda razão, contudo, é mitigada por características como a política de grupo do Active Directory, ou DHCP e detecção automática de proxy.

Os proxies de intercepção são também comummente utilizados pelos ISPs em alguns países para poupar largura de banda a montante e melhorar os tempos de resposta dos clientes através do cache. Isto é mais comum em países onde a largura de banda é mais limitada (por exemplo, nações insulares) ou deve ser paga.

IssuesEdit

O desvio/intercepção de uma ligação TCP cria vários problemas. Primeiro, o IP e a porta de destino original devem de alguma forma ser comunicados ao procurador. Isto nem sempre é possível (por exemplo, onde o gateway e a porta proxy residem em diferentes hosts). Há uma classe de ataques cruzados que dependem de certos comportamentos de intercepção de proxies que não verificam ou têm acesso a informação sobre o destino original (interceptado). Este problema pode ser resolvido utilizando um dispositivo ou software integrado de nível de pacote e de nível de aplicação, que é então capaz de comunicar esta informação entre o manipulador de pacotes e o proxy.

Interceptar também cria problemas para autenticação HTTP, especialmente autenticação orientada para conexão como NTLM, uma vez que o browser do cliente acredita que está a falar com um servidor em vez de um proxy. Isto pode causar problemas quando um proxy de intercepção requer autenticação, então o utilizador liga-se a um sítio que também requer autenticação.

Finalmente, a intercepção de ligações pode causar problemas para caches HTTP, uma vez que alguns pedidos e respostas se tornam inacessíveis por uma cache partilhada.

Métodos de implementaçãoEditar

Em firewall/proxy servers integrados onde o router/firewall está no mesmo host que o proxy, a comunicação da informação original do destino pode ser feita por qualquer método, por exemplo Microsoft TMG ou WinGate.

Intercepção também pode ser efectuada utilizando o WCCP (Web Cache Control Protocol) da Cisco. Este protocolo proprietário reside no router e é configurado a partir do cache, permitindo ao cache determinar quais as portas e tráfego que lhe são enviados através de redireccionamento transparente a partir do router. Este redireccionamento pode ocorrer de uma de duas maneiras: O túnel GRE (Camada OSI 3) ou a reescrita MAC (Camada OSI 2).

O tráfego que chega à própria máquina proxy é normalmente realizado com NAT (Network Address Translation). Tais configurações são invisíveis para o browser do cliente, mas deixam o proxy visível para o servidor web e outros dispositivos no lado da Internet do proxy. Lançamentos recentes do Linux e alguns lançamentos do BSD fornecem TPROXY (proxy transparente) que executa a intercepção transparente ao nível IP (OSI Layer 3) e spoofing do tráfego de saída, escondendo o endereço IP proxy de outros dispositivos de rede.

DetectionEdit

Métodos transversais podem ser utilizados para detectar a presença de um servidor proxy interceptor:

  • Comparando o endereço IP externo do cliente com o endereço visto por um servidor web externo, ou por vezes examinando os cabeçalhos HTTP recebidos por um servidor. Foram criados vários sítios para resolver este problema, reportando o endereço IP do utilizador, tal como visto pelo sítio, de volta ao utilizador numa página web. O Google também devolve o endereço IP tal como visto pela página se o utilizador procurar por “IP”.
  • li> Comparando o resultado dos verificadores de IP online quando acedidos utilizando HTTPS vs HTTP, uma vez que a maioria dos proxies de intercepção não intercepta SSL. Se houver suspeita de intercepção de SSL, pode-se examinar o certificado associado a qualquer sítio web seguro, o certificado de raiz deve indicar se foi emitido com o propósito de interceptar.

  • Comparando a sequência de lúpulos de rede relatada por uma ferramenta como o traceroute para um protocolo proxy como o http (porta 80) com a de um protocolo nãoxied como o SMTP (porta 25).
  • Ao tentar fazer uma ligação a um endereço IP em que se sabe que não existe servidor. O procurador aceitará a ligação e tentará então fazer a sua proxy. Quando o proxy não encontra nenhum servidor para aceitar a ligação, pode devolver uma mensagem de erro ou simplesmente fechar a ligação ao cliente. Esta diferença de comportamento é simples de detectar. Por exemplo, a maioria dos navegadores web irá gerar uma página de erro criada pelo navegador, no caso de não conseguir ligar-se a um servidor HTTP, mas irá retornar um erro diferente no caso de a ligação ser aceite e depois fechada.
  • Ao servir o utilizador final aplicações SWF Adobe Flash especialmente programadas ou applets Sun Java que enviam chamadas HTTP de volta ao seu servidor.

CGI proxyEdit

A CGI web proxy aceita URLs de destino usando um formulário Web na janela do navegador do utilizador, processa o pedido, e devolve os resultados ao navegador do utilizador. Consequentemente, pode ser utilizado num dispositivo ou rede que não permita que as configurações “verdadeiras” do proxy sejam alteradas. O primeiro proxy CGI registado, chamado “rover” na altura mas rebaptizado em 1998 para “CGIProxy”, foi desenvolvido pelo cientista informático americano James Marshall no início de 1996 para um artigo em “Unix Review” por Rich Morin.

A maioria dos proxies CGI são alimentados por um dos CGIProxy (escrito na linguagem Perl), Glype (escrito na linguagem PHP), ou PHProxy (escrito na linguagem PHP). Desde Abril de 2016, CGIProxy recebeu cerca de 2 milhões de downloads, Glype recebeu quase um milhão de downloads, enquanto PHProxy ainda recebe centenas de downloads por semana. Apesar de estar a perder popularidade devido a VPNs e outros métodos de privacidade, ainda existem muitos CGI proxies online.

Alguns CGI proxies foram criados para fins tais como tornar os websites mais acessíveis a pessoas deficientes, mas desde então foram encerrados devido ao tráfego excessivo, normalmente causado por um terceiro que anuncia o serviço como um meio de contornar a filtragem local. Uma vez que muitos destes utilizadores não se preocupam com os danos colaterais que estão a causar, tornou-se necessário que as organizações escondessem os seus proxies, revelando os URLs apenas àqueles que se dão ao trabalho de contactar a organização e demonstrar uma necessidade genuína.

Suffix proxyEdit

Um sufixo proxy permite a um utilizador aceder ao conteúdo da web anexando o nome do servidor proxy ao URL do conteúdo solicitado (por exemplo “en.wikipedia.org.SuffixProxy.com”). Os servidores proxy Suffix são mais fáceis de utilizar do que os servidores proxy normais, mas não oferecem altos níveis de anonimato e a sua utilização principal é para contornar filtros web. Contudo, isto é raramente usado devido a filtros web mais avançados.

Tor onion proxy softwareEdit

Screenshot de programa de computador mostrando a localização do computador num mapa mundial.
O mapa da rede Tor de Vidalia.

O Router Onion (Tor) é um sistema destinado a fornecer anonimato online. O software cliente Tor encaminha o tráfego da Internet através de uma rede mundial de servidores voluntários para esconder a localização ou utilização do computador de um utilizador a alguém que efectue vigilância de rede ou análise de tráfego. A utilização de Tor torna a localização da actividade da Internet mais difícil, e destina-se a proteger a liberdade pessoal dos utilizadores, privacidade.

“Onion routing” refere-se à natureza estratificada do serviço de encriptação: Os dados originais são codificados e reencriptados várias vezes, depois enviados através de sucessivas retransmissões Tor, cada uma das quais descriptografa uma “camada” de encriptação antes de passar os dados para a retransmissão seguinte e, por fim, para o destino. Isto reduz a possibilidade dos dados originais serem descodificados ou compreendidos em trânsito.

I2P anonymous proxyEdit

A rede I2P anonymous (‘I2P’) é uma rede proxy que visa o anonimato online. Ela implementa o encaminhamento do alho, que é uma melhoria do encaminhamento da cebola de Tor. A I2P é totalmente distribuída e funciona encriptando todas as comunicações em várias camadas e retransmite-as através de uma rede de routers geridos por voluntários em vários locais. Ao manter a fonte da informação escondida, a I2P oferece resistência à censura. Os objectivos da I2P são proteger a liberdade pessoal dos utilizadores, privacidade e capacidade de conduzir negócios confidenciais.

p>Cada utilizador da I2P executa um router I2P no seu computador (nó). O router I2P encarrega-se de encontrar outros pares e de construir túneis anónimos através deles. I2P fornece proxies para todos os protocolos (HTTP, IRC, SOCKS, …).

Comparação com tradutores de endereços de redeEdit

O conceito de proxy refere-se a uma aplicação de camada 7 no modelo de referência OSI. A tradução de endereços de rede (NAT) é semelhante a um proxy mas funciona na camada 3.

Na configuração cliente da camada 3 NAT, é suficiente configurar o gateway. Contudo, para a configuração cliente de um proxy de camada 7, o destino dos pacotes que o cliente gera deve ser sempre o servidor proxy (camada 7), depois o servidor proxy lê cada pacote e descobre o verdadeiro destino.

Porque o NAT opera na camada 3, é menos intensivo em recursos do que o proxy de camada 7, mas também menos flexível. Ao compararmos estas duas tecnologias, podemos encontrar uma terminologia conhecida como ‘firewall transparente’. A firewall transparente significa que o proxy utiliza as vantagens do proxy de camada-7 sem o conhecimento do cliente. O cliente presume que o gateway é um NAT na camada 3, e não tem qualquer ideia sobre o interior do pacote, mas através deste método, os pacotes da camada 3 são enviados para o proxy da camada 7 para investigação.

DNS proxyEdit

Um servidor proxy DNS leva as consultas DNS de uma rede (normalmente local) e encaminha-as para um Servidor de Nomes de Domínio da Internet. Pode também guardar registos DNS.

ProxifiersEdit

alguns programas clientes pedidos “SOCKS-ify”, o que permite a adaptação de qualquer software de rede para se ligar a redes externas através de certos tipos de servidores proxy (principalmente SOCKS).

Proxy ResidentialEdit

Um proxy residencial é um intermediário que utiliza um endereço IP real fornecido por um fornecedor de serviços Internet (ISP) com dispositivos físicos tais como telemóveis e computadores de utilizadores finais. Em vez de se ligarem directamente a um servidor, os utilizadores de proxy residencial ligam-se ao alvo através de endereços IP residenciais. O alvo identifica-os então como utilizadores orgânicos da Internet. Não deixa qualquer ferramenta de rastreio identificar a realocação do utilizador. Qualquer proxy residencial pode enviar qualquer número de pedidos simultâneos e os endereços IP estão directamente relacionados com uma região específica.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *