Capítulo 43 – Captive Portal
Introdução
Imagine a seguinte cena: você está em um aeroporto aguardando seu voo. Sem acesso a dados móveis, decide conectar-se ao Wi-Fi gratuito. Ao tentar abrir qualquer site, antes de navegar, é redirecionado para uma página que solicita login, cadastro ou aceite dos termos de uso. Somente após essa etapa, o acesso à Internet é liberado.
Essa é a essência do Captive Portal — uma ferramenta amplamente utilizada para controlar, registrar e condicionar o acesso à rede. No OPNsense, o Captive Portal oferece essa mesma funcionalidade de forma integrada, flexível e segura, permitindo controlar usuários e dispositivos que acessam redes internas, Wi-Fi corporativos, ambientes públicos e até conexões de visitantes.
Conceito e Finalidade
O Captive Portal é um serviço de autenticação de acesso à rede. Ele intercepta as primeiras conexões de um usuário e o redireciona automaticamente para uma página de login ou consentimento. Somente após o usuário se autenticar (ou aceitar os termos), o firewall libera o tráfego normal para a Internet.
Essa camada adicional serve a diversos propósitos:
- Controle de acesso – apenas usuários autorizados conseguem navegar.
- Auditoria – cada sessão pode ser associada a um login, IP e endereço MAC.
- Política de uso – permite exibir termos legais e regras antes do acesso.
- Redirecionamento – envia o usuário para uma página específica após o login (ex.: site da empresa).
Trata-se, portanto, de uma combinação entre autenticação, rastreabilidade e usabilidade, essencial em redes corporativas e ambientes públicos onde há compartilhamento de Internet.
Modos de Autenticação
O OPNsense suporta múltiplos métodos de autenticação para o Captive Portal, adaptando-se a diferentes cenários:
| Método | Descrição | Indicação |
|---|---|---|
| Local Database | Usa usuários criados diretamente no firewall. | Pequenas redes, laboratórios e ambientes sem integração. |
| LDAP | Integra-se com o Active Directory ou diretórios corporativos. | Empresas que já possuem autenticação centralizada. |
| RADIUS | Conecta-se a servidores RADIUS (como FreeRADIUS ou Windows NPS). | Ambientes com controle de acesso unificado. |
| Vouchers | Gera códigos temporários com validade e tempo de uso. | Hotéis, eventos, cafés, coworkings e visitantes. |
Importante
Mesmo que o Captive Portal ofereça vários métodos de autenticação, todos os modos compartilham a mesma base técnica: interceptar o tráfego inicial, autenticar o usuário e liberar o acesso conforme regras predefinidas.
Exemplo Prático: Portal para Rede Wi-Fi Corporativa
Neste exemplo, criaremos um portal de autenticação para a rede VLAN 30 – Wi-Fi Corporativo. A ideia é que os colaboradores utilizem suas credenciais para se conectar à Internet, mantendo registro e controle sobre o uso.
Pré-requisitos
Antes de iniciar, verifique:
- Interface de rede (ou VLAN) própria para o Captive Portal. Deve estar registrada, com IP definido e DHCP habilitado.
- O firewall possui um certificado SSL válido (de preferência emitido via ACME/Let’s Encrypt, como descrito no Capítulo 36).
Etapas de Configuração
1. Criar a Zona do Captive Portal
-
Acesse Services → Captive Portal → Administration.
-
Clique em + Add para criar uma nova zona.
-
Configure os seguintes parâmetros:
Campo Valor Interfaces Selecione a interface (vlan) destinada ao portal. Authenticate using Escolha o método: ex.: Local Database.Idle timeout 60 minutos (tempo de inatividade antes da desconexão). Hard timeout 240 minutos (tempo máximo antes da reautenticação). SSL certificate Certificado TLS da WebGUI (ou ACME emitido). Hostname portal.seusite.com.br- mesmo do certificadoDescription Wi-Fi Corporativo -
Clique em Save e depois em Apply.
Importante
Caso deseje apenas exibir termos de uso sem exigir login, deixe o campo Authenticate using em branco. Assim, o Captive Portal funcionará apenas como página de consentimento.
2. Importar e Personalizar o Template da Página de Login
O OPNsense traz um modelo padrão, porém é possível substituí-lo por uma página personalizada, com logotipo, cores e mensagens adaptadas à identidade visual da empresa.
- Baixe o modelo personalizado em: https://github.com/sysadminbr/opnsense-cp-template
- Clique em Code → Download ZIP.
- Extraia o arquivo e localize
citrait_cp_template.zip. - Vá em Services → Captive Portal → Administration → Templates.
-
Clique em + Add e preencha:
- Name:
modelo1 - Escolher Arquivo: selecione o arquivo ZIP baixado.
- Name:
-
Clique em Upload → Apply.
- Volte à aba Zones, edite o portal criado e selecione o template
modelo1. - Clique em Save → Apply.
Personalização avançada
Você pode editar o conteúdo do template (HTML, CSS e JavaScript).
Após as modificações, compacte novamente em .zip e reenvie (upload) ao firewall.
3. Configurar o DNS Override
O nome do portal (portal.seusite.com.br) precisa resolver para o IP local do firewall na Rede (ou VLAN) do Captive Portal.
Para isso, crie uma entrada DNS manual:
-
Vá em Services → Unbound DNS → Overrides.
-
Clique em + Add e configure:
Campo Valor Host portalDomain seusite.com.brIP address 192.168.30.1(IP da interface do portal)Description Host Captive Portal (Wi-Fi Corporativo) -
Clique em Save → Apply.
Importante
Essa etapa garante que todos os usuários conectados à rede Wi-Fi sejam corretamente redirecionados ao portal, sem depender de DNS externos.
4. Configurar a opção 114 do DHCP
Para dispositivos modernos (especialmente iOS e Android), o DHCP pode informar automaticamente a URL do Captive Portal. Isso agiliza o redirecionamento e melhora a compatibilidade.
-
Vá em Services → Dnsmasq DNS & DHCP → DHCP options.
-
Clique em + Add.
-
Configure:
Campo Valor Interface Interface do PortalOption dhcp captive-portal [114]Value "https://portal.seusite.com.br:8000/api/captiveportal/access/api"Description Captive Portal para Rede Wi-Fi -
Clique em Save → Apply.
Importante
A porta pode variar entre 8000–10000.
Identifique a porta em uso somando 8000 + o número da zona (Zone number) em questão.
Substitua portal.seusite.com.br pelo host configurado para o portal.
6. Validando o Funcionamento
- Conecte-se à rede Wi-Fi corporativa.
- Abra um navegador qualquer.
- O redirecionamento deve ocorrer automaticamente para o endereço do portal.
- Faça login com um usuário válido (ou aceite os termos de uso).
- Acesse Services → Captive Portal → Sessions e confirme a sessão ativa — ela exibirá o usuário, IP e endereço MAC.
Erro de certificado
Caso apareça uma mensagem de “site inseguro” ou “certificado inválido”, o portal ainda está usando um certificado autoassinado. Em ambientes de produção, utilize certificados válidos emitidos via ACME/Let’s Encrypt (veja o Capítulo 42).
Compatibilidade com iPhones (iOS)
Dispositivos da Apple são particularmente sensíveis à validade do certificado usado no portal. Eles testam automaticamente a conectividade acessando os servidores da Let’s Encrypt antes de exibir a tela de login. Se o portal funcionar em Windows e Android, mas falhar no iPhone, siga o procedimento abaixo:
- Edite o Captive Portal e vá em Allowed addresses.
- Adicione os IPs dos seguintes domínios:
Esses domínios pertencem à Let’s Encrypt e são usados para a validação de certificados. Caso use outro emissor, identifique os domínios equivalentes por meio de uma captura de pacotes (tcpdump).
Recomendações e Cuidados
- Use certificados válidos: evite autoassinados em produção.
- Verifique compatibilidade: sempre teste em múltiplas plataformas (Windows, iOS, Android, macOS).
- Gerencie sessões: ajuste
Idle timeouteHard timeoutconforme o perfil de uso. - Integre autenticação: utilize LDAP ou RADIUS para ambientes corporativos.
- Audite acessos: mantenha logs de login, IP e MAC para conformidade (LGPD).
- DNS Override obrigatório: assegure que o domínio do portal resolva internamente.
- DHCP 114: melhora detecção automática de portais em dispositivos móveis.
- Controle de banda: combine com Traffic Shaping para limitar velocidade por usuário.
- Personalize o template: adicione logotipo, cores institucionais e textos de política de uso.
- Monitore: verifique periodicamente logs e sessões para detectar falhas ou abuso.
Casos de Uso
1. Wi-Fi de Convidados em Empresas
Cenário: visitantes precisam de Internet mas sem acesso à rede interna.
Solução: Captive Portal com vouchers e VLAN isolada.
Benefício: acesso controlado e rastreável, sem comprometer a segurança da rede corporativa.
2. Hotéis e Restaurantes
Cenário: grande rotatividade de usuários e necessidade de controle mínimo.
Solução: Captive Portal com termos de uso ou vouchers de curta duração.
Benefício: experiência simples e registro de acessos.
3. Rede Corporativa Integrada ao Active Directory
Cenário: colaboradores devem usar suas credenciais corporativas.
Solução: Captive Portal com autenticação LDAP/RADIUS.
Benefício: unificação de credenciais, auditoria centralizada e menor suporte técnico.
4. Eventos e Feiras
Cenário: centenas de acessos temporários simultâneos.
Solução: Captive Portal com vouchers em lote e limite de tempo de uso.
Benefício: escalabilidade e facilidade de gestão.
5. Ambientes Educacionais
Cenário: estudantes precisam acessar sob política de uso aceitável.
Solução: Captive Portal com login local ou LDAP e filtro de conteúdo web.
Benefício: conformidade, foco pedagógico e rastreabilidade de uso.
6. Coworkings e Espaços Compartilhados
Cenário: múltiplos clientes usando o mesmo link de Internet.
Solução: Captive Portal com vouchers mensais e controle de banda.
Benefício: uso justo da largura de banda e cobrança proporcional.
Conclusão
O Captive Portal transforma o firewall OPNsense em uma camada de controle de identidade e acesso à rede. Mais do que uma simples página de login, ele é uma ferramenta estratégica que une segurança, rastreabilidade e experiência do usuário.
Quando configurado com boas práticas — certificados válidos, integração corporativa e monitoramento ativo —, o Captive Portal proporciona não apenas controle, mas também credibilidade e conformidade legal. Em um cenário onde o acesso à Internet é indispensável, o Captive Portal é o ponto de equilíbrio entre liberdade de uso e responsabilidade digital.