Proxy

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
Representação esquemática de um servidor proxy para web.

Em redes de computadores, um proxy (em português procurador) é um servidor (um sistema de computador ou uma aplicação) que age como um intermediário para requisições de clientes solicitando recursos de outros servidores. Um cliente conecta-se ao servidor proxy, solicitando algum serviço, como um arquivo, conexão, página web ou outros recursos disponíveis de um servidor diferente e o proxy avalia a solicitação como um meio de simplificar e controlar sua complexidade. Os proxies foram inventados para adicionar estrutura e encapsulamento a sistemas distribuídos. Hoje, a maioria dos proxies são proxies web, facilitando o acesso ao conteúdo na World Wide Web e fornecendo anonimato.

Um servidor proxy pode, opcionalmente, alterar a requisição do cliente ou a resposta do servidor e, algumas vezes, pode disponibilizar este recurso mesmo sem se conectar ao servidor especificado. Pode também atuar como um servidor que armazena dados em forma de cache em redes de computadores. São instalados em máquinas com ligações tipicamente superiores às dos clientes e com poder de armazenamento elevado.

Esses servidores têm uma série de usos, como filtrar conteúdo, providenciar anonimato, entre outros.

Um proxy de cache HTTP ou, em inglês, caching proxy, permite por exemplo que o cliente requisite um documento na World Wide Web e o proxy procura pelo documento na sua caixa (cache). Se encontrado, a requisição é atendida e o documento é retornado imediatamente. Caso contrário, o proxy busca o documento no servidor remoto, entrega-o ao cliente e salva uma cópia em seu cache. Isto permite uma diminuição na latência, já que o servidor proxy, e não o servidor original, é requisitado, proporcionando ainda uma redução do uso da banda.

Surgimento[editar | editar código-fonte]

O servidor proxy surgiu da necessidade de conectar uma rede local (ou LAN) à Internet através de um computador da rede que compartilha a sua conexão com as demais máquinas. Ou seja, se considerarmos que a rede local é uma rede "interna" e a Interweb é uma rede "externa", podemos dizer que o proxy é aquele que permite que outras máquinas tenham acesso externo.

Geralmente, as máquinas da rede interna não possuem endereços válidos na Internet e, portanto, não têm uma conexão direta com a mesma. Assim, toda a solicitação de conexão de uma máquina da rede local para uma máquina da Internet é direcionada ao proxy; este, por sua vez, realiza o contato com máquina desejada, repassando a resposta da solicitação para a máquina da rede local. Por este motivo, é utilizado o termo proxy para este tipo de serviço, que, em Informática, é geralmente traduzido como intermediário. Outra acepção aceita é procurador (também fora do contexto da Informática). Assim, o mais comum é termos um proxy com conexão direta com a Internet.

Usos de servidores proxy[editar | editar código-fonte]

Monitoramento e filtragem[editar | editar código-fonte]

Software de controle de conteúdo[editar | editar código-fonte]

Um servidor proxy web de filtro de conteúdo fornece controle administrativo sobre o conteúdo que pode em ambas as direções pelo proxy. É comumente utilizado em organizações comerciais e não-comerciais (especialmente escolas) para garantir que o uso da Internet está de acordo com a política de uso aceitável.

Um proxy de filtragem de conteúdo frequentemente suportará autenticação de usuário, para controlar o acesso a web. Ele normalmente também produz registros, para dar informações detalhadas sobre as URLs acessadas por usuários específicos ou para monitorar estatísticas de uso da largura de banda.

Melhorar o desempenho[editar | editar código-fonte]

Um servidor de proxy de cache acelera as requisições de serviços recuperando o conteúdo salvo de uma requisição anterior realizada pelo mesmo cliente ou mesmo por outros clientes. Proxies de cache armazenam cópias locais de recursos requisitados com frequência, permitindo que grandes organizações reduzam significativamente seus custos e montantes de utilização de largura de banda, enquanto aumentam o desempenho significativamente. A maioria dos PSIs (Provedores de Serviço de Internet) e grandes empresas possuem um proxy de cache. Os proxies de cache soram os primeiros tipos de servidores proxy. Proxies web são normalmente usados para armazenar páginas web de um servidor web. Proxies de cache implementados de maneira pobre podem causar problemas, como uma incapacidade de utilizar autenticação de usuário.

Implementações de servidores proxy[editar | editar código-fonte]

Servidores proxy web[editar | editar código-fonte]

Uma aplicação proxy popular é o proxy de armazenamento local (ou cache) web, em inglês caching web proxy, um proxy web usado para armazenar e atualizar (conforme pré-programado). Este provê um armazenamento local de páginas da Internet e arquivos disponíveis em servidores remotos da Internet assim como sua constante atualização, permitindo aos clientes de uma rede local (LAN) acessá-los mais rapidamente e de forma viável sem a necessidade de acesso externo.

Quando este recebe uma requisição para acesso a um recurso da Internet (a ser especificado por uma URL), um proxy que usa cache procura resultados da URL em primeira instância no armazenamento local. Se o recurso for encontrado, este é consentido imediatamente. Senão, carrega o recurso do servidor remoto, retornando-o ao solicitante que armazena uma cópia deste na sua unidade de armazenamento local. O cache usa normalmente um algoritmo de expiração para a remoção de documentos e arquivos de acordo com a sua idade, tamanho e histórico de acesso (previamente programado). Dois algoritmos simples são o Least Recently Used (LRU) e o Least Frequently Used (LFU). O LRU remove os documentos que passaram mais tempo sem serem usados, enquanto o LFU remove documentos menos frequentemente usados.

A privacidade de servidores proxy públicos foi questionada recentemente, após um adolescente norte-americano de treze anos descobrir, através da análise do código-fonte de uma página web, que um famoso site para navegação anônima gerava registros (logs) com dados reais dos seus usuários e enviava-os para a polícia norte-americana[carece de fontes?].

Muitas pessoas utilizam o proxy para burlar sistemas de proteção, o que, informalmente falando, seria como culpar outra pessoa pelo endereço utilizado para acesso à Internet no momento. Assim, o proxy permite navegar anonimamente, fazendo a substituição de um proxy por outro, enganando proteções oferecidas pelo proxy original.[necessário esclarecer]

Proxy transparente[editar | editar código-fonte]

Também conhecido como um proxy de interceptação, proxy inline ou proxy forçado, um proxy transparente intercepta uma comunicação normal na camada de rede sem necessitar de qualquer configuração do cliente específica. Os clientes não precisam estar cientes da existência do proxy. Um proxy transparente normalmente está localizado entre o cliente e a Internet, com o proxy realizando algumas das funções de um gateway ou roteador.

RFC 2616 (Protocolo de Transferência de Hipertexto - HTTP/1.1) oferece definições padrões:

"A 'proxy transparente' é um proxy que não modifique o pedido ou resposta para além do que é necessário para a autenticação e identificação do proxy".
"A 'proxy não transparente' é um proxy que modifica a solicitação ou resposta, a fim de fornecer algum serviço adicional ao agente de usuário, como serviços de grupo de anotação, transformação de tipo de mídia, redução de protocolo ou filtragem de anonimato".

Propósito[editar | editar código-fonte]

Proxies de interceptação são normalmente usados em empresas para impor a política de uso aceitável e para aliviar as sobrecargas administrativas, uma vez que nenhuma configuração do navegador do cliente é necessária. Esta segunda razão entretanto é mitigada por recursos como política de grupo do Active Directory ou detecção de proxy automática ou via DHCP.

Proxies de interceptação também são normalmente usados por PSIs em alguns países para economizar largura de banda e melhorar os tempos de resposta ao cliente por meio do cache. Isto é mais comum em países onde a largura de banda é mais limitada (e.g. nações insulares) ou devem ser pagas.

Problemas[editar | editar código-fonte]

O desvio / intercepção de uma conexão TCP cria vários problemas. Em primeiro lugar o IP e a porta de destino original devem de alguma forma ser comunicados ao proxy. Isso nem sempre é possível (por exemplo, onde o gateway e o proxy residem em máquinas diferentes). Existe uma classe de ataques entre sites que dependem de certos comportamentos de interceptação de proxies que não verificam ou têm acesso a informações sobre o destino original (interceptado).

Proxy aberto[editar | editar código-fonte]

Um proxy aberto é um servidor proxy acessível por um internauta. Geralmente, um servidor proxy permite aos usuários dentro de um grupo na rede o estoque e o repasse de serviços da Internet, igualmente ao DNS ou páginas web para reduzir e controlar a banda larga utilizada pelo grupo. Com um proxy aberto, entretanto, qualquer usuário da Internet é capaz de usar o serviço de repassagem (forwarding).

Vantagens[editar | editar código-fonte]

Um proxy aberto anônimo permite aos usuários conciliarem os seus endereços IP (e, consequentemente, ajudar a preservar o anonimato e manter a segurança) enquanto navega pela web ou usando outros serviços da Internet. Apesar de mal intencionados poderem fazer uso do anonimato para abusar de serviços, um cidadão de um regime repressivo, por exemplo, pode aproveitar-se da habilidade do proxy para acessar sites lá proibidos. Vários sites oferecem, com regularidade, listas atualizadas de proxies abertos.

Desvantagens[editar | editar código-fonte]

É possível para um computador rodar como um servidor proxy aberto sem que o dono tenha conhecimento da invasão. Isto pode ser causado por mudanças na configuração do programa instalado do proxy, ou por infecção de um vírus ou cavalo de tróia. Se for causado por tais, o computador infectado é chamado de "computador escravo". Usar um proxy aberto é um alto risco para o operador do servidor; oferecer um servidor proxy anônimo pode causar sérios problemas legais para o dono. Tais serviços são frequentemente usados para invadir sistemas e acessar outros produtos ou serviços ilegais. Ademais, tal proxy pode causar alto uso de banda larga, resultando em maior latência na subrede e violação dos limites de banda. Um proxy aberto mal configurado pode, também, permitir acesso a subredes privadas, ou DMZ: este é um importante requisito de segurança a ser considerado por uma empresa, ou, até, redes domésticas, dado que computadores que, normalmente, estão fora de risco ou com firewall ativada também podem ser atacados. Muitos proxies abertos são lentos, chegando a taxas mais baixas que 14,4kbit/s, ou ainda menos de 300bit/s, enquanto noutros casos a velocidade é variável. Alguns, como o 'PlanetLab', são mais velozes e foram intencionalmente direcionados ao uso público. Sendo os proxies abertos considerados abusivos, inúmeros métodos foram desenvolvidos para detectá-los e recusar seus serviços. As redes IRC com políticas de uso estritas testam, automaticamente, sistemas de clientes para tipos conhecidos de proxies abertos. Assim sendo, um servidor de correio pode ser configurado para automaticamente testar envios para proxies abertos, fazendo uso de programas como o 'proxycheck'. Recentemente, mais e mais servidores de correio são configurados fora da caixa para consultar diversos servidores DNSBL, com o intuito de bloquear spam; alguns destes DNSBLs também listam proxies abertos.

Legalidade[editar | editar código-fonte]

Temendo pelo que seus cidadãos veem na Internet, muitos governos frequentemente empregam rastreadores de IP. Muitos são apanhados em flagrante e punidos perante a lei.

Proxy anônimo[editar | editar código-fonte]

Um proxy anônimo é uma ferramenta que se esforça para fazer atividades na Internet sem vestígios: acessa a Internet a favor do usuário, protegendo as informações pessoais ao ocultar a informação de identificação do computador de origem.

O operador do proxy ainda pode relacionar as informações dos usuários com as páginas vistas e as informações enviadas ou recebidas.

Quem não quer depender de um só operador proxy usa uma cadeia de diferentes proxies. Se um dos proxies da cadeia não colaborar com os outros e não guardar as informações dos usuários, torna-se impossível identificar os usuários através do número IP.

Também há redes de computadores que atuam cada um como um proxy, formando assim cadeias de proxies grátis que procuram as rotas do tráfego automaticamente. São redes como a I2P — A Rede Anónima[1] . Além disso, há medidas contra a análise de tráfego.

Através dos proxies é possível enviar mensagens eletrônicas anônimas e visitar páginas na Internet de forma anônima. Também há mensageiros simples e anônimos, o IRC e o intercâmbio de arquivos.

Webproxy[editar | editar código-fonte]

Um webproxy é um tipo de proxy que funciona sem a necessidade de configuração do navegador. Funcionam com interface web. A maioria é desenvolvido em PHP, tendo projetos open-sources como PHPMyProxy e PHProxy já prontos para a hospedagem. Apresentam problemas com sites que fazem uso de sessões e, muitas vezes também, não lidam bem com cookies. Como exemplos de webproxy, temos o prxme.com e o ProntoProxy (em inglês)

Anonimidade?[editar | editar código-fonte]

Alguns donos de proxies incluem o registro de logs (relatórios) em seus servidores, para diminuir problemas legais. Guardam as requisições e o endereço IP original do usuário. Além disso, alguns enviam cabeçalhos HTTP, como X-Powered-by, contendo o endereço IP original do usuário.

Uso[editar | editar código-fonte]

Proxys são mais utilizados em salas escolares de informática, empresas e outros locais onde se precisa dividir a Internet entre vários computadores. Além disso, proxies abertos e anônimos também são utilizados em países onde a Internet é censurada e onde ocorrem guerras, para denunciar constantemente os últimos acontecimentos.

Programas[editar | editar código-fonte]

Referências

Ver também[editar | editar código-fonte]