O que é um proxy transparente?

Proxies, Jul-08-20215 minutos de leitura

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" para o proxy porque este intercepta os pedidos através da interceção de pacotes dirigidos ao destino

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 local - 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. Ele desempenha a função de intercetar todo o tráfego para um servidor Web, aceitar pedidos de clientes e executar 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 em "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 perto 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 porque 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 qualquer inconveniente.