Proxy

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

Proxy é um servidor intermediário que atende a requisições repassando os dados do cliente à frente: um usuário (cliente) conecta-se a um servidor proxy, requisitando algum serviço, como um arquivo, conexão, página web, ou qualquer outro recurso disponível no outro servidor.

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.

Web proxies[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]

Transparência[editar | editar código-fonte]

Um proxy transparente é um meio usado para obrigar os usuários de uma rede a utilizarem o proxy. Além das características de cache dos proxies convencionais, estes podem impor políticas de utilização ou recolher dados estatísticos, entre outras. A transparência é conseguida interceptando o tráfego HTTP (por exemplo) e reencaminhando-o para um proxy mediante a técnica do encaminhamento de portas, conhecida como port forwarding. Assim, independentemente das configurações explícitas do utilizador, a sua utilização estará sempre condicionada às políticas de utilização da rede. O RFC 3040 define este método como proxy interceptador.

Por quê? Porque o proxy transparente não funciona bem com certos navegadores web. Como a maioria dos navegadores funciona bem, mas mesmo se um quarto dos seus usuários usam navegadores com mal-funcionamento, pode esperar que os custos de ajuda de suporte excedam qualquer benefício que possa ganhar com o proxy transparente. Infelizmente, estes navegadores são largamente utilizados.[carece de fontes?]

Estes navegadores comportam-se de forma diferente se sabem que há um proxy — todos os outros navegadores seguem o padrão, e a única alteração que estes fazem com um proxy é direcionar as solicitações para uma máquina e porta diferentes. Os navegadores que não se comportam bem deixam alguns cabeçalhos HTTP fora das solicitações, e só acrescentam os mesmos se sabem que há um proxy. Sem aqueles cabeçalhos, os comandos de usuários como "reload" não funcionam se houver um proxy entre o usuário e a origem.

O proxy transparente também introduz uma complexidade que pode complicar transações que de outra forma seriam simples. Por exemplo: as aplicações baseadas na web que pedem um servidor ativo não podem fazer o teste do servidor fazendo uma conexão — serão conectadas no proxy e não no servidor.

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. Um exemplo de proxy Glype é 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]