Entrar ou criar conta

ULC Lab · implementação reproduzível

Laboratório: Portal Cativo com Consentimento LGPD usando openNDS e FreeRADIUS

Você terá um portal cativo funcional em rede Wi-Fi, exigindo consentimento LGPD e autenticação via FreeRADIUS. Em cerca de 2 horas, será possível testar o fluxo completo em VMs ou equipamentos comuns.

Portal cativo com LGPD do zero à operação
Ligado ao treinamento Portal cativo com LGPD do zero à operação

Roteiro para estudo em ambiente de laboratório ou de teste. Execute apenas em equipamentos, redes e contas que você tenha autorização para usar, com backup e homologação próprios. Comandos podem causar indisponibilidade ou perda de dados. Software e marcas citados pertencem aos seus titulares. Termos de Uso.

ULC-LAB-WIFI-0004 · Status de validaçãoNão validado pela Upnetix: roteiro derivado da documentação oficial, para você executar e validar
Duração estimada
120 min
Passos
12
Validações
5
Versões da documentação consultada
OpenWrt 22.03 · openNDS a versão estável atual · FreeRADIUS 3.x estável
Objetivo

Este laboratório ensina a implementar do zero um portal cativo openNDS integrado ao FreeRADIUS, incluindo consentimento LGPD e registro de acessos conforme o Marco Civil. Você verá o fluxo real de autenticação e consentimento, integrando Wi-Fi corporativo com controle de acesso e logs, usando apenas software livre.

Topologia

Uma VM (ou PC) atua como roteador Wi-Fi com OpenWrt, rodando openNDS e FreeRADIUS. Clientes Wi-Fi conectam-se a essa rede e, ao tentar acessar a internet, são redirecionados ao portal cativo. Após consentimento e autenticação, o acesso é liberado. Endereços de exemplo: roteador 192.168.100.1/24, clientes 192.168.100.10-50.


Internet
   |
[VM Host]
   |
[OpenWrt VM: openNDS + FreeRADIUS]
   |
Wi-Fi (SSID: PortalLGPD)
   |
[Clientes Wi-Fi]

Equipamentos e software

ItemRequisito, licença ou versão
VM ou PC para OpenWrt1 vCPU, 512MB RAM, 2 interfaces de rede (uma bridgeada para LAN, outra para WAN), OpenWrt 22.03+
Notebook ou smartphoneInterface Wi-Fi, navegador web
OpenWrtGPLv2 · 22.03
openNDSGPLv2 · a versão estável atual
FreeRADIUSGPLv2 · 3.x estável

Roteiro

  1. Preparar a VM OpenWrt

    Instale OpenWrt em uma VM com duas interfaces de rede. Uma será LAN (192.168.100.1/24), outra WAN (acesso à internet). Isso simula um roteador Wi-Fi real.

    Consulte https://openwrt.org/docs/guide-user/virtualization/qemu

    O que você deve ver: A VM OpenWrt inicializa, acessível via SSH na LAN.

  2. Configurar rede LAN e Wi-Fi

    Configure a interface LAN para 192.168.100.1/24 e crie um SSID 'PortalLGPD' aberto (sem senha).

    uci set network.lan.ipaddr='192.168.100.1'
    uci commit network
    uci set wireless.@wifi-iface[0].ssid='PortalLGPD'
    uci set wireless.@wifi-iface[0].encryption='none'
    uci commit wireless
    /etc/init.d/network restart

    O que você deve ver: SSID 'PortalLGPD' visível e conectável.

  3. Instalar openNDS e dependências

    openNDS faz o redirecionamento para o portal cativo. Instale-o pelo opkg.

    opkg update
    opkg install opennds

    O que você deve ver: openNDS instalado sem erros.

  4. Instalar FreeRADIUS

    FreeRADIUS será o backend de autenticação. Instale-o pelo opkg.

    opkg install freeradius3 freeradius3-mod-eap freeradius3-mod-files

    O que você deve ver: FreeRADIUS instalado e rodando.

  5. Configurar FreeRADIUS: criar usuário de teste

    Crie um usuário de teste para autenticação. Edite o arquivo users.

    echo 'usuario1 Cleartext-Password := "senha123"' >> /etc/freeradius3/mods-config/files/authorize
    /etc/init.d/freeradius3 restart

    O que você deve ver: FreeRADIUS reinicia sem erros.

  6. Configurar openNDS para usar FreeRADIUS

    Edite o arquivo de configuração do openNDS para usar autenticação RADIUS.

    vi /etc/opennds/nds.conf
    # Configure AuthServer, AuthPort, AuthSecret conforme documentação

    O que você deve ver: openNDS reconhece o backend RADIUS.

  7. Customizar portal cativo: consentimento LGPD

    Edite a página de login do openNDS para exibir e exigir aceite do termo LGPD. O arquivo está em /etc/opennds/htdocs/splash.html.

    vi /etc/opennds/htdocs/splash.html
    # Inclua um checkbox obrigatório para consentimento e link para política de privacidade.

    O que você deve ver: Página de login exibe termo LGPD e checkbox obrigatório.

  8. Configurar logs de acesso (Marco Civil)

    Garanta que openNDS registre MAC, IP, horário e usuário autenticado. Verifique a configuração de logs em /etc/opennds/nds.conf.

    grep Log /etc/opennds/nds.conf
    # Consulte a documentação para detalhes de retenção.

    O que você deve ver: Logs são gerados em /var/log/opennds.log ou caminho configurado.

  9. Reiniciar serviços

    Reinicie openNDS e FreeRADIUS para aplicar todas as configurações.

    /etc/init.d/opennds restart
    /etc/init.d/freeradius3 restart

    O que você deve ver: Ambos os serviços sobem sem erros.

  10. Conectar cliente Wi-Fi

    Conecte um notebook ou smartphone ao SSID 'PortalLGPD'.

    O que você deve ver: Cliente recebe IP na faixa 192.168.100.x e é redirecionado ao portal cativo ao tentar navegar.

  11. Testar fluxo de autenticação e consentimento

    No portal, preencha usuário, senha e aceite o termo LGPD. Submeta.

    O que você deve ver: Após autenticação, acesso liberado à internet.

  12. Verificar logs de autenticação e consentimento

    Cheque os logs para garantir que o acesso foi registrado, incluindo consentimento.

    cat /var/log/opennds.log | tail

    O que você deve ver: Registro do usuário, IP, MAC, horário e aceite do termo.

Como saber que funcionou

TesteComandoCritério
SSID visível e conectáveliwlist scan | grep PortalLGPDSSID aparece na lista.
Redirecionamento para portal cativoAo acessar qualquer site, navegador mostra a página de consentimento LGPD.
Autenticação via FreeRADIUStail -f /var/log/freeradius/radius.logLog mostra autenticação do usuário.
Consentimento obrigatórioSem marcar o checkbox, acesso não é liberado.
Registro de logscat /var/log/opennds.logLog contém usuário, IP, MAC e aceite do termo.

Troubleshooting

SintomaCausa provávelCorreção
Cliente não recebe IPDHCP não está ativo ou mal configuradoVerifique /etc/config/dhcp e reinicie o serviço dnsmasq
Portal cativo não apareceopenNDS não está rodando ou não intercepta o tráfegoReinicie openNDS e cheque nds.conf
Autenticação falha sempreErro na configuração do FreeRADIUS ou segredo compartilhado incorretoConfirme AuthSecret em nds.conf e authorize no FreeRADIUS
Consentimento não é exigidoCheckbox não está como obrigatório no HTMLAdicione atributo 'required' ao input checkbox
Logs não registram acessosCaminho de log incorreto ou permissões inadequadasAjuste o caminho de log em nds.conf e permissões do diretório

Segurança e hardening

  • Altere o segredo compartilhado (AuthSecret) do RADIUS para um valor forte e único
  • Restrinja acesso SSH e web ao OpenWrt apenas à rede administrativa
  • Garanta que logs de acesso estejam protegidos contra acesso não autorizado
  • Implemente HTTPS no portal cativo para proteger credenciais e consentimento
  • Revise permissões dos arquivos de configuração e logs

Checklist final

Referências

  1. openNDS Documentation · openNDS (opennds.readthedocs.io)
  2. FreeRADIUS Documentation · FreeRADIUS Project (wiki.freeradius.org)
  3. OpenWrt Documentation · Projeto OpenWrt (openwrt.org)
  4. Lei Geral de Proteção de Dados (LGPD) · Presidência da República (Planalto) (planalto.gov.br)
  5. Marco Civil da Internet · Presidência da República (Planalto) (planalto.gov.br)
Verificação editorial
Publicado
09/09/2026
Última revisão
09/09/2026
Versão do conteúdo
1.0
Referências
5 oficiais · 2 de normas ou órgãos
Revisão técnica
redação e revisão por IA, URLs conferidas na publicação
Status
Atual
Encontrou um erro? Escreva para comercial@upnetix.com.br com o endereço da página. A revisão semestral por IA nunca altera comandos ou configurações sem passar pela fila de revisão.