Proxy ou firewall: qual é a diferença?

Publicado:

14 min de leitura

Acar Diveroli
Autor: Acar Diveroli
Tráfego saindo de um cubo proxy azul e chegando a um firewall de tijolos com um escudo em cima

Em diagramas de redes corporativas, proxy e firewall costumam aparecer lado a lado; os dois ficam entre a rede interna e a internet, e os dois são arquivados em "segurança". Por isso é comum perguntar se um pode substituir o outro. A resposta curta é não: o firewall é um porteiro, o proxy é um intermediário. Um decide quem passa pelo portão; o outro passa pelo portão e faz o trabalho por você.

Neste artigo, definimos firewall e proxy separadamente, mostramos em qual camada de rede cada um trabalha e explicamos o conceito de "proxy firewall", em que os dois se sobrepõem. Depois, vemos como o tráfego de uma rede corporativa passa pelas duas camadas, os problemas de conexão que quem usa proxy enfrenta por causa de firewalls e qual dos dois é necessário para cada necessidade.

O que é um firewall?

Um firewall é um sistema que inspeciona o tráfego que entra e sai de uma rede com base em regras predefinidas. Pode ser um equipamento físico, um software embutido no sistema operacional ou um serviço em nuvem. O Firewall do Windows Defender, o nftables no Linux e os equipamentos dedicados das redes corporativas fazem esse trabalho em escalas diferentes.

Uma regra de firewall basicamente pergunta: de onde vem o pacote, para onde vai, qual protocolo e porta usa e se faz parte de uma conexão existente. Dependendo da resposta, o pacote passa, é descartado ou é rejeitado.

Os tipos de firewall se diferenciam pela profundidade com que olham o tráfego. O guia SP 800-41 Rev. 1 do NIST os classifica assim:

  • Filtragem de pacotes: avalia cada pacote isoladamente, por endereço de origem e destino, protocolo e porta.
  • Firewall com inspeção de estado: mantém uma tabela de conexões abertas. Aceita a resposta a uma conexão iniciada de dentro e rejeita pacotes não solicitados vindos de fora.
  • Firewall de aplicação: olha dentro do tráfego; pode inspecionar o método de uma requisição HTTP ou o formato de uma consulta DNS.
  • Gateway proxy de aplicação: divide em duas a conexão entre cliente e servidor e encaminha o tráfego ele mesmo. É neste tipo que firewall e proxy se sobrepõem.

O que é um proxy?

Um proxy é um servidor intermediário que recebe a requisição de um cliente e a encaminha ao servidor de destino em nome próprio. O site de destino vê a requisição como vinda do IP do proxy. O cliente configura o proxy ou o administrador de rede redireciona o tráfego para ele de forma transparente. Explicamos o mecanismo básico em detalhe em O que é um servidor proxy e como ele funciona?.

A diferença mais fundamental em relação ao firewall é esta: o firewall fica no caminho de uma conexão existente e deixa passar ou barra pacotes. O proxy abre duas conexões separadas: uma com o cliente e outra com o destino. Nunca existe uma conexão direta entre o cliente e o destino.

Os proxies têm duas direções: o forward proxy, que representa os usuários internos na saída para a internet, e o reverse proxy, que fica na frente de um site e representa os servidores dele. Comparamos os dois em Forward proxy e reverse proxy.

A diferença principal: filtrar ou intermediar?

O jeito mais fácil de diferenciar as duas camadas é ver o que cada uma faz no caminho de uma requisição.

Quando um funcionário quer se conectar a example.com:

  • Só com firewall: o computador do funcionário se conecta diretamente ao servidor de example.com. O firewall verifica se a conexão está de acordo com as regras e, se estiver, deixa os pacotes passarem sem alteração. O site de destino vê o IP público da empresa (depois do NAT).
  • Com proxy: o computador do funcionário se conecta ao proxy. O proxy recebe a requisição, verifica a política de acesso e, se permitido, abre a própria conexão com example.com. O site de destino vê o IP do proxy; o computador do funcionário nunca fala diretamente com a internet.
CritérioFirewallProxy
Função principalPermitir ou bloquear tráfegoEncaminhar tráfego em nome do cliente
Estrutura de conexãoUma conexão, filtrada no caminhoAbre duas conexões separadas
Camada em que trabalhaGeralmente rede e transporte (L3/L4)Aplicação (L7) ou sessão
O que observaEndereço IP, porta, protocolo, estado da conexãoDomínio, URL, método HTTP, usuário
IP visto pelo destinoO IP público da empresa (NAT)O IP do proxy
Tráfego cobertoTodos os protocolosOs protocolos que suporta (HTTP, SOCKS etc.)
Regras por usuárioLimitadasComuns (com autenticação)
CacheNãoPossível com HTTP sem criptografia
Detalhe dos registrosNível de conexãoNível de requisição (URL, usuário)
Configuração no clienteNão é necessáriaNecessária em proxy explícito, não em proxy transparente

Em qual camada eles trabalham?

O tráfego de rede é pensado em camadas. A diferença entre firewall e proxy fica mais clara quando você olha em qual camada cada um toma a decisão.

CamadaInformação transportadaComponente que atua ali
L3 RedeEndereços IPFirewall de filtragem de pacotes
L4 TransportePortas TCP/UDP, estado da conexãoFirewall com estado, proxy SOCKS5
L7 AplicaçãoDomínio, URL, cabeçalhos HTTP, usuárioProxy HTTP, firewall de aplicação, WAF

A consequência prática desta tabela: um firewall de filtragem de pacotes pode dizer "permita o tráfego para a porta 443", mas não sabe se esse tráfego vai para um site de notícias ou para um serviço de compartilhamento de arquivos. Um proxy HTTP vê para qual domínio vai a requisição e pode decidir com base nisso. O proxy SOCKS5 fica entre os dois: conhece o endereço e a porta de destino, mas não olha o conteúdo. Explicamos essa diferença em SOCKS ou HTTP proxy.

Os firewalls de nova geração (NGFW) borram essa linha: além da filtragem de pacotes, oferecem recursos de camadas superiores, como identificação de aplicações, regras por usuário e detecção de intrusão. A arquitetura básica, porém, continua a mesma; eles inspecionam o tráfego no caminho sem encaminhá-lo.

O que é um proxy firewall (gateway de nível de aplicação)?

O proxy firewall é um tipo de firewall que, em vez de só filtrar o tráfego, o divide em dois como um proxy. Em inglês é chamado de "application-level gateway" ou "application proxy gateway".

Ele funciona assim:

  1. Um cliente da rede interna quer se conectar a um servidor externo; a conexão termina no proxy firewall.
  2. O proxy firewall lê a requisição no nível do protocolo de aplicação e a avalia com base na política.
  3. Se a requisição for permitida, abre uma nova conexão com o destino em nome próprio.
  4. Inspeciona da mesma forma a resposta do destino e a repassa ao cliente.

A vantagem de segurança dessa configuração é que nenhum pacote flui diretamente entre a rede interna e a externa. Uma requisição malformada que viole as regras do protocolo nunca chega ao destino. A desvantagem é precisar de uma lógica de proxy separada para cada protocolo e consumir mais recursos por dividir as conexões em duas.

A ideia de que esses gateways não devem quebrar o comportamento esperado dos protocolos também é discutida na RFC 2979 do Internet Architecture Board: um firewall não deve alterar o comportamento normal das aplicações no tráfego que permite.

O firewall de aplicações web (WAF) é a contraparte dessa ideia do lado do servidor. Ele funciona como reverse proxy na frente de um site e inspeciona as requisições HTTP recebidas com base em regras como injeção de SQL, cabeçalhos malformados ou limites de taxa.

Como o tráfego HTTPS aparece nessas camadas?

Como a maior parte do tráfego web é criptografada, a profundidade com que firewall e proxy conseguem olhar esse tráfego é limitada.

  • O firewall consegue ver o IP de destino, a porta e o nome do servidor (SNI) no handshake TLS de uma conexão HTTPS. Não consegue ver o conteúdo.
  • O forward proxy configurado explicitamente vê o domínio na requisição CONNECT example.com:443 e depois transporta bytes criptografados. Não vê o restante da URL nem o conteúdo.
  • O proxy corporativo com inspeção TLS termina a conexão com o próprio certificado, descriptografa e inspeciona o conteúdo e o criptografa de novo em direção ao destino. Para isso funcionar, a autoridade certificadora da empresa precisa estar instalada nos computadores dos funcionários.

A inspeção TLS é usada para varredura de malware e prevenção de vazamento de dados, mas, como torna legível o tráfego criptografado dos funcionários, exige uma política e um aviso claros. Excluir da inspeção categorias sensíveis, como bancos e saúde, é prática comum.

Como eles são usados juntos em uma rede corporativa?

Em uma rede corporativa típica, a requisição de um funcionário a um site passa por estas camadas:

  1. Computador do funcionário: o navegador lê a configuração de proxy do sistema operacional ou o arquivo de configuração automática da rede. De onde essas configurações são lidas no Windows está em Configuração de proxy no Windows e no Chrome.
  2. Firewall interno: permite que os clientes saiam só para o servidor proxy; bloqueia conexões que vão direto para a internet.
  3. Forward proxy: autentica o usuário, aplica a política de domínios, registra a requisição e faz inspeção TLS se necessário.
  4. Firewall externo: permite que só o servidor proxy chegue à internet; rejeita conexões de entrada não solicitadas.
  5. Internet: o site de destino vê a requisição como vinda do IP de saída do proxy.

Nessa configuração, as duas camadas se complementam. O firewall impede que o proxy seja contornado: mesmo que um funcionário desligue a configuração de proxy no navegador, ele não consegue acessar a internet diretamente. O proxy acrescenta o detalhe que o firewall não vê: qual usuário acessou qual domínio e quando.

Do lado do servidor, a ordem se inverte: internet → firewall externo → WAF ou reverse proxy → firewall interno → servidor de aplicação. Cenários de proteção de dados corporativos estão na nossa página de solução de segurança de dados.

Um firewall pode bloquear uma conexão por proxy?

Sim, e parte dos problemas de conexão de quem usa proxy vem daí. Sintomas e causas prováveis:

  • As conexões à porta do proxy dão timeout. O firewall de uma rede corporativa ou escolar pode permitir tráfego de saída só para as portas 80 e 443. Se o seu proxy roda em outra porta, como a 8000, a conexão nunca se estabelece. Pergunte ao seu provedor se há uma porta alternativa ou fale com o administrador da rede.
  • A conexão abre, mas cai logo em seguida. Um firewall de aplicação pode reconhecer o protocolo do proxy e encerrá-lo por política.
  • Só um aplicativo não conecta no Windows. Uma regra de saída do firewall local pode estar bloqueando o acesso à rede desse aplicativo. Testar o mesmo proxy com cURL mostra se o problema está no aplicativo ou na rede.
  • O SOCKS5 funciona, mas o tráfego UDP não passa. O firewall pode estar restringindo UDP de saída; aplicativos como jogos e chamadas de voz são afetados.

Para verificar rapidamente se a porta do proxy está acessível a partir da sua rede:

bash
# Linux / macOS
nc -vz pr.proxynet.io 8000

# Windows PowerShell
Test-NetConnection pr.proxynet.io -Port 8000

Se a conexão der certo, o problema não é o firewall, e sim a autenticação ou a configuração. Nesse caso, você pode seguir para os passos de diagnóstico do 407 em Autenticação de proxy.

A diferença entre proxy, VPN e firewall

Como os três conceitos se confundem, aqui estão lado a lado:

  • O firewall não encaminha tráfego; deixa passar ou barra conforme as regras.
  • O proxy encaminha o tráfego de aplicativos específicos com o próprio endereço IP; não criptografa nada sozinho.
  • A VPN leva todo o tráfego do dispositivo por um túnel criptografado até outro servidor e o faz sair por lá.

Os três podem existir ao mesmo tempo no dispositivo de um usuário: o firewall local está ligado, uma VPN criptografa todo o tráfego e o navegador ainda usa um proxy para trabalhos específicos. A diferença detalhada entre proxy e VPN está em Proxy ou VPN.

Do que uma rede corporativa precisa?

Toda rede precisa de um firewall; conectar uma rede à internet sem firewall não é prática aceita. O proxy é adicionado quando surgem necessidades específicas.

Guia de decisão

Sua necessidadeRecomendação
Bloquear conexões de entrada não solicitadasFirewall
Fechar portas ou protocolos específicosFirewall
Registrar por usuário quais sites os funcionários acessamForward proxy
Aplicar uma política de acesso por domínioForward proxy ou firewall de aplicação
Impedir que os usuários contornem a configuração de proxyFirewall + forward proxy
Proteger uma aplicação web contra ataquesWAF (reverse proxy)
Enviar requisições a partir de outro endereço IP e localizaçãoServiço de forward proxy
Criptografar todo o tráfego do dispositivoVPN

Perguntas frequentes

Um proxy pode substituir um firewall?

Não. Um proxy só vê o tráfego enviado a ele e que usa um protocolo que ele suporta. Outros protocolos e conexões de entrada ficam fora do alcance dele. Proteger a rede inteira exige um firewall.

O firewall esconde o meu endereço IP?

Não. Firewalls corporativos geralmente fazem NAT, e os computadores da rede interna saem com o IP público da empresa; mas esse endereço pertence à empresa e vincula você à rede dela. Aparecer a partir de outro IP e de outra localização é trabalho de proxy.

O que é um proxy transparente?

É uma configuração em que os equipamentos de rede redirecionam automaticamente o tráfego para um proxy, sem nenhuma configuração no cliente. O usuário pode nem saber que o proxy existe. É comum em redes de escolas e hotéis.

WAF é a mesma coisa que firewall?

Não. O firewall de rede trabalha com endereços IP, portas e conexões. O WAF se concentra só no tráfego web, fica na frente de um site como reverse proxy e inspeciona o conteúdo das requisições HTTP.

Preciso de proxy e de firewall para uso pessoal?

O firewall embutido no seu sistema operacional já está ligado e deve continuar assim. O proxy depende da sua necessidade: é adicionado para trabalhos como ver conteúdo de outra localização, coletar dados ou manter contas separadas. Nenhum faz o trabalho do outro.

Qual protocolo de proxy passa mais facilmente por firewalls?

O fator decisivo é a porta, não o protocolo. Redes restritas costumam permitir tráfego de saída só para as portas 80 e 443. Ao usar um Proxies HTTPS para tráfego web ou um Proxies SOCKS5 para tráfego de aplicativos, verifique primeiro se a sua rede permite conexões de saída para a porta do proxy.

Em resumo

O firewall deixa passar ou barra o tráfego conforme as regras; o proxy encaminha o tráfego em nome do cliente, com a própria conexão e o próprio endereço IP. O firewall decide principalmente nas camadas de rede e transporte, o proxy na camada de aplicação. Proxy firewalls e WAFs combinam as duas ideias. Em redes corporativas, o firewall impede que o proxy seja contornado, e o proxy acrescenta o detalhe de usuário e domínio que o firewall não vê. Para enviar as suas requisições a partir de endereços IP e localizações diferentes, conheça os nossos serviços de proxy.