Proxy Transparente pfSense (http/https) - RCBRASIL

Proxy transparente (http e https) no pfSense com Captive Portal

Este tutorial prático vai guiá-lo na configuração de um proxy transparente no pfSense, abrangendo tanto os protocolos HTTP quanto HTTPS, com autenticação de usuário integrada ao Captive Portal. Isso é especialmente útil para quem deseja monitorar e controlar o tráfego da rede sem exigir que os usuários configurem manualmente os proxies em seus dispositivos.

   

Pré-Requisitos

Neste exemplo, utilizaremos o pfSense na versão 2.1.5 juntamente com o pacote adicional squid3-dev, na versão 3.3.10 pkg 2.2.6. Certifique-se de ter essa configuração antes de iniciar o processo.

1: Instalação do Squid

Para começar, precisamos instalar o pacote Squid no pfSense. Isso pode ser feito acessando o menu System -> Packages e buscando o pacote squid3-dev. Após encontrá-lo, clique em instalar e aguarde a conclusão.

   

2: Configuração do Proxy Transparente

Com o pacote do Squid instalado, agora podemos proceder com a configuração do proxy transparente. Siga os passos abaixo:

  • Acesse o menu Services -> Proxy Server.
  • Na aba General, configure as opções conforme indicado:
Proxy Interface(s): LAN
Proxy Port: 3128
Allow users on interface: marcado
Patch captive portal: marcado
Transparent HTTP Proxy: marcado
Transparent Proxy Interface(s): LAN
HTTPS/SSL interception: marcado
SSL Intercept interface(s): LAN
SSL Proxy Port: 3129
Enable logging: marcado
Log store directory: /var/squid/logs (sem a barra / no final)
Integrations (caso use em conjunto com squidguard):redirect_program /usr/pbi/squidguard-squid3-i386/bin/squidGuard -c /usr/pbi/squidguard-squid3-i386/etc/squidGuard/squidGuard.conf;redirector_bypass off;url_rewrite_children 5
Custom ACLS (Before_Auth): always_direct allow all
ssl_bump server-first all
  • Clique em Save para salvar as configurações.

3: Configuração de Autenticação com Captive Portal

   

Após configurar o proxy, precisamos ativar e configurar o Captive Portal:

  • Vá ao menu Services -> Captive Portal.
  • Adicione uma nova Zona de Autenticação clicando no botão +.
  • Na aba Captive Portal, configure as seguintes opções:
    • Enable captive portal: Marque para habilitar o Captive Portal.
    • Interfaces: Selecione LAN.
    • Logout popup window: Marque para permitir que uma janela de logout seja aberta.
    • Authentication: Escolha Local User Manager / Vouchers para o método de autenticação.
  • Clique em Save para salvar as configurações.

4: Configuração das Regras de Firewall

Para garantir que o tráfego HTTP e HTTPS seja redirecionado através do proxy, precisamos adicionar regras de NAT:

  • Acesse o menu Firewall -> NAT.
  • Na aba Port Forward, clique em + para adicionar uma nova regra para o protocolo HTTP:
    • Interface: Selecione LAN.
    • Protocol: Escolha TCP.
    • Destination: Selecione not LAN Address.
    • Destination port range: Defina de http para http.
    • Redirect target IP: Insira 127.0.0.1.
    • Redirect target port: Defina como 3128.
  • Clique em Save para salvar a regra.
  • Agora, adicione uma nova regra para o protocolo HTTPS:
    • Interface: Selecione LAN.
    • Protocol: Escolha TCP.
    • Destination: Selecione not LAN Address.
    • Destination port range: Defina de https para https.
    • Redirect target IP: Insira 127.0.0.1.
    • Redirect target port: Defina como 3129.
  • Clique em Save para salvar a regra.

Considerações sobre HTTPS e Certificados

Uma limitação comum ao configurar proxies transparentes para HTTPS é o uso de certificados auto-assinados. Cada vez que um usuário tentar acessar um site seguro, o navegador solicitará a aceitação do certificado do pfSense, já que ele intercepta o tráfego para aplicar as regras de filtragem.

Para evitar esses avisos, é recomendado que o certificado do pfSense seja instalado nos dispositivos dos usuários como uma Autoridade Certificadora (CA) confiável. Para isso, você pode baixar o certificado usando um cliente SSH/SCP. O caminho completo do arquivo é:

/usr/pbi/squid-i386/etc/squid/serverkey.pem

5: Gerenciamento de Usuários

Os usuários que precisarão autenticar-se no Captive Portal podem ser criados diretamente no pfSense. Acesse System -> User Manager para adicionar e gerenciar contas de usuários.

   

Conclusão e Recursos Adicionais

Seguindo estes passos, você configurará um ambiente robusto para o controle e monitoramento de tráfego na sua rede. Além das configurações básicas, você pode incrementar essa solução utilizando pacotes como o Sarg para geração de relatórios, ou SquidGuard/DansGuardian para implementar filtros de URL por usuário ou IP.

Com isso, concluímos a configuração de um proxy transparente no pfSense, oferecendo maior controle sobre o uso da rede e assegurando que os usuários sejam autenticados antes de acessar a Internet.

Se você tiver mais perguntas sobre pfSense e Squid, sinta-se à vontade para entrar em contato.

Referências

https://docs.netgate.com/index.html
https://www.squid-cache.org/Versions/v3/3.3/cfgman/

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *


Rolar para cima