escuro proxyscrape logótipo

O que é um proxy transparente?

Proxies, Jul-04-20215 minutos de leitura

We can define a transparent proxy as a server that acts as an intermediary system intercepting the connection between an end-user and a content provider. Other names for transparent proxy are inline proxy or forced proxy. We use the word ‘transparent’ with the proxy because it intercepts requests by intercepting packets directed to the destination

Podemos definir um proxy transparente como um servidor que actua como um sistema intermediário que intercepta a ligação entre um utilizador final e um fornecedor de conteúdos. Outros nomes para o proxy transparente são proxy em linha ou proxy forçado. Utilizamos a palavra "transparente" com o proxy porque este intercepta os pedidos através da interceção de pacotes dirigidos ao destino, fazendo parecer que é o próprio destino que trata do pedido. Os proxies transparentes são configurados pelo operador do sítio Web ou da rede e não pelo utilizador final.

Por vezes, também usamos o termo "proxy forçado" para um proxy transparente. Isto porque pode ser aplicado à ligação de um utilizador sem modificar as definições de proxy do seu computador. Consequentemente, os proxies transparentes podem ser impostos aos utilizadores sem o seu consentimento, mas, em muitos casos, eles sabem da sua presença. 

Exemplos de Proxies Transparentes

Uma firewall é um exemplo de um proxy transparente que permite a passagem de tráfego entre uma rede interna e a Internet, mas bloqueia o tráfego se este violar a tabela de regras da firewall.

Outros exemplos de proxies transparentes são as redes de distribuição de conteúdos (CDN). Estas redes proporcionam redundância, armazenamento em cache e melhoram a velocidade sem modificar ou expor o sistema de origem. O utilizador pensa que está diretamente ligado ao fornecedor de serviços, mas, na realidade, é a CDN que trata de todos os seus pedidos. É assim que empresas tecnológicas como a Google, o Twitter e o Facebook gerem milhões de pedidos com um tempo de inatividade mínimo.

Definições comuns de proxy transparente

Seguem-se as definições padrão do proxy transparente sempre que o configuramos:

  • Autenticação: Fornece ao servidor as mesmas credenciais que os utilizadores por detrás do proxy.
  • Interceção: Define a forma como o proxy transparente intercepta o tráfego ao nível do router ou do sistema operativo.
  • Armazenamento em cache: especifica se o servidor proxy deve ou não armazenar em cache o conteúdo para os utilizadores que regressam.
  • Proxy invertido: Em vez de configurar o proxy para intercetar o acesso remoto, podemos colocá-lo à frente de um servidor Web para acelerar o desempenho do utilizador. 
  • Fluxo de dados, filtragem de conversações: Podemos configurar o proxy transparente para que os utilizadores não sejam autorizados a aceder a portas ou protocolos específicos.

Usos de proxy transparente - Lado do cliente

Podemos implementar um proxy transparente no lado do cliente, o que significa que o proxy intercepta todo o tráfego de e para um ponto final do cliente. As utilizações de proxies transparentes no lado do cliente são:

Cache transparente

Quando várias pessoas acedem ao mesmo conteúdo a partir da mesma área ou localização - por exemplo, quando vários estudantes visualizam o mesmo sítio de notícias através da sua rede universitária, é mais eficiente utilizar um proxy transparente para colocar inicialmente o conteúdo em cache e servi-lo a partir da cache aos utilizadores subsequentes.

Autenticação

Os operadores de Internet celular e os pontos de Wi-Fi públicos utilizam por vezes proxies transparentes para obrigar os utilizadores a autenticarem-se na rede e a aceitarem as suas condições de serviço. A navegação só é permitida quando o utilizador se certifica e concorda com os termos e condições. 

A maioria dos utilizadores não faz ideia de que toda a ligação pode ser interceptada e monitorizada pelo operador, mesmo após o ecrã de autenticação inicial através de um proxy transparente.

Monitorização do tráfego

Quando estamos a operar uma rede, podemos configurar um proxy transparente para monitorizar o tráfego e o comportamento dos utilizadores, mas a monitorização do tráfego também tem muitas utilizações ilegítimas. Por exemplo, um operador de rede Wi-Fi pública sem escrúpulos e sem confiança pode facilmente monitorizar as ligações dos utilizadores e roubar credenciais e dados.

Gateway Proxies

Podemos utilizar um proxy de gateway para modificar ou bloquear o tráfego de rede com base em regras. Um exemplo de um proxy de gateway é um proxy de firewall transparente discutido no exemplo acima.

Filtragem de conteúdos

Também podemos utilizar um proxy transparente para filtrar conteúdos desnecessários e indesejados. Por exemplo, o proxy pode abster-se de reencaminhar o pedido para o servidor Web quando é pedido um sítio Web específico. Em vez disso, intercepta a ligação e apresenta um aviso ou uma mensagem de erro ao utilizador.

Usos do Proxy Transparente - Lado do Servidor

Proteção contra a negação de serviço (Dos)

Podemos proteger um servidor contra um ataque de negação de serviço (DoS) SYN-flood usando um tipo de proxy transparente, ou seja, intercetação TCP. Este executa a função de intercetar todo o tráfego para um servidor Web, aceitando pedidos de clientes e executando um aperto de mão de três vias. Além disso, se a interceção do tráfego for bem sucedida, efectua um aperto de mão de três vias com o servidor, juntando assim as duas meias ligações entre o cliente e o servidor.

A interceção do Protocolo de Controlo de Transmissão verifica os pedidos TCP e, normalmente, aguarda 30 segundos para estabelecer ligações. Entra no "modo agressivo" sempre que o número de ligações inactivas excede um determinado limiar. Neste modo, cada nova ligação que chega faz com que a ligação passiva mais antiga seja eliminada.

No entanto, a técnica acima referida já não é eficaz contra os modernos ataques de negação de serviço distribuído (DDoS) em grande escala. Isto porque os atacantes, hoje em dia, controlam milhões de computadores zombie e servidores de alta potência para criar inundações SYN que estão a sobrecarregar um controlador de interceção TCP.

Por este motivo, a maioria das organizações utiliza atualmente serviços baseados na nuvem, como a Proteção DDoS da Imperva. Esses serviços podem proteger contra grandes ataques DDoS e também podem ser ampliados sob demanda, lidando e lidando ainda mais com ataques de grande escala. 

Por exemplo, os serviços DDoS podem impedir ataques à camada de aplicação e ataques de protocolo que não ocorrem na camada TCP.

CDN para otimização de front-end

Podemos definir uma rede de distribuição de conteúdos (Content Delivery Network - CDN) como uma rede globalmente distribuída de servidores proxy que serve e armazena em cache conteúdos para os utilizadores próximos da sua localização geográfica.

Um exemplo de CDN é a Global Content Delivery Network da Imperva, um proxy transparente que funciona no lado do servidor. O seu objetivo é realizar a otimização do front-end para melhorar a experiência do utilizador final. Intercepta o tráfego para um servidor Web e oferece o mesmo conteúdo a partir da cache do servidor, em vez de deixar o utilizador aceder diretamente ao servidor. Como resultado, o desempenho do utilizador é melhorado e os recursos do sistema necessários no servidor são reduzidos.

Limitações do proxy transparente

Embora o proxy transparente tenha uma grande variedade de vantagens, pode gerar algumas frustrações em ambientes empresariais complexos.

Falta de robustez: Se for estabelecida uma ligação entre um cliente e uma cache e ocorrer uma alteração de encaminhamento que leve o cliente a adotar um caminho que já não passa pelo dispositivo de rede "desviador", a sessão será interrompida e o utilizador terá de recarregar a página.

Por outro lado, se os routers na Internet estiverem a fazer "flapping" (um router anuncia alternadamente uma rede de destino numa sequência rápida), os resultados serão ainda mais imprevisíveis.

Dependência do navegador: A maioria dos proxies transparentes depende do facto de o navegador fornecer o nome do anfitrião do servidor de origem no cabeçalho do pedido HTTP para um funcionamento bem sucedido.

É necessário, uma vez que estas caches não têm acesso ao endereço IP de destino do servidor de origem a partir do endereço IP do pacote.

Por conseguinte, quando ocorre uma falha de cache, não conseguem identificar o endereço do servidor de origem para o qual enviar o pedido.

Conclusão

Discutimos o facto de o tráfego da Internet poder ser monitorizado e filtrado através da utilização de um proxy transparente. Também molda a forma como interagimos com a Web. Quer sirva os dados mais rapidamente através da filtragem de conteúdos indesejados, do armazenamento em cache ou dando às empresas mais controlo sobre as suas redes, o proxy transparente acrescenta funcionalidade à Internet sem causar quaisquer inconvenientes.