Entrar ou criar conta

Laboratório em bancada

Laboratório: Autenticação Wi-Fi Corporativa 802.1X com FreeRADIUS e hostapd

Você terá um ambiente funcional de autenticação Wi-Fi corporativa 802.1X usando FreeRADIUS, hostapd e clientes Linux. Duração aproximada: 2 horas.

RADIUS livre do zero à integração com Wi-Fi corporativo
Ligado ao treinamento RADIUS livre do zero à integração com Wi-Fi corporativo
Duração estimada
120 min
Passos
13
Validações
4
Objetivo

Implementar uma solução ponta a ponta de autenticação Wi-Fi corporativa baseada em 802.1X, utilizando apenas software livre. O laboratório cobre desde a configuração do FreeRADIUS como servidor RADIUS, até a integração com um ponto de acesso virtual (hostapd) e autenticação de clientes Linux. O objetivo é entender o fluxo de autenticação EAP, identificar pontos críticos e validar o funcionamento real do acesso seguro em redes abertas.

Topologia

Três máquinas virtuais em uma rede privada: 1) Servidor FreeRADIUS (192.168.56.10), 2) Ponto de acesso hostapd (192.168.56.20), 3) Cliente Wi-Fi Linux (192.168.56.30). O hostapd conecta-se ao FreeRADIUS via IP, e o cliente conecta-se ao SSID broadcastado pelo hostapd.

   [Cliente Wi-Fi]
      (wlan0)
         |
         | 802.1X/EAP
         |
   [hostapd AP VM]
      (eth0:192.168.56.20)
         |
         | RADIUS UDP/1812
         |
   [FreeRADIUS VM]
      (eth0:192.168.56.10)

Equipamentos e software

ItemRequisito, licença ou versão
VM FreeRADIUS1 vCPU, 512MB RAM, 1 interface de rede, Debian 11 ou superior
VM hostapd (AP)1 vCPU, 512MB RAM, 1 interface de rede, 1 adaptador Wi-Fi USB compatível com modo AP, Debian 11 ou superior
VM cliente Linux1 vCPU, 512MB RAM, 1 interface de rede Wi-Fi (pode ser virtualizada), Debian 11 ou superior
FreeRADIUSGPLv2 · 3.0.x (consulte a documentação)
hostapdBSD · 2.9 ou superior
wpa_supplicantGPLv2 · 2.9 ou superior

Roteiro

  1. Preparar as VMs e interfaces de rede

    Garanta que as três VMs estejam na mesma rede virtual privada. O hostapd deve ter uma interface Wi-Fi USB compatível em modo AP.

    O que você deve ver: As três VMs se pingam entre si. O hostapd vê a interface Wi-Fi com 'iw dev'.

  2. Instalar o FreeRADIUS no servidor

    Instale o FreeRADIUS usando o gerenciador de pacotes. Isso fornece o servidor RADIUS para autenticação.

    sudo apt update && sudo apt install freeradius

    O que você deve ver: O serviço freeradius é instalado e pode ser iniciado.

  3. Configurar usuário de teste no FreeRADIUS

    Adicione um usuário de teste para autenticação EAP. Isso permite validar o fluxo completo.

    echo 'alice Cleartext-Password := "senha123"' | sudo tee -a /etc/freeradius/3.0/users

    O que você deve ver: O usuário 'alice' aparece no arquivo de usuários.

  4. Ajustar clients.conf para permitir o hostapd

    Permita que o hostapd acesse o FreeRADIUS como cliente RADIUS. Use o IP do hostapd.

    echo 'client hostapd {
      ipaddr = 192.168.56.20
      secret = testing123
    }' | sudo tee -a /etc/freeradius/3.0/clients.conf

    O que você deve ver: Bloco 'client hostapd' adicionado ao clients.conf.

  5. Habilitar EAP no FreeRADIUS

    O EAP é necessário para autenticação 802.1X. Habilite e ajuste o módulo EAP.

    sudo nano /etc/freeradius/3.0/mods-enabled/eap

    O que você deve ver: O arquivo contém 'default_eap_type = peap' e certificados padrão configurados.

  6. Reiniciar e testar o FreeRADIUS em modo debug

    Execute o FreeRADIUS em modo debug para acompanhar logs detalhados.

    sudo systemctl stop freeradius
    sudo freeradius -X

    O que você deve ver: O servidor exibe logs detalhados e aguarda conexões RADIUS.

  7. Instalar e configurar o hostapd como ponto de acesso

    No hostapd, crie um SSID protegido por WPA2-Enterprise (802.1X) e aponte para o FreeRADIUS.

    sudo apt install hostapd
    sudo nano /etc/hostapd/hostapd.conf

    O que você deve ver: Arquivo hostapd.conf criado. Veja exemplo abaixo.

  8. Exemplo de hostapd.conf

    Configure o hostapd para usar WPA2-Enterprise e apontar para o FreeRADIUS.

    interface=wlan0
    ssid=WiFiCorp
    hw_mode=g
    channel=6
    auth_algs=1
    wpa=2
    wpa_key_mgmt=WPA-EAP
    rsn_pairwise=CCMP
    ieee8021x=1
    wpa_pairwise=CCMP
    wpa_group_rekey=86400
    wpa_strict_rekey=1
    wpa_gmk_rekey=86400
    wpa_ptk_rekey=600
    wpa_passphrase=
    radius_server_auth=192.168.56.10
    radius_port_auth=1812
    radius_auth_server_shared_secret=testing123

    O que você deve ver: hostapd.conf contém as linhas acima.

  9. Iniciar o hostapd

    Suba o serviço hostapd com a configuração criada.

    sudo hostapd /etc/hostapd/hostapd.conf

    O que você deve ver: SSID 'WiFiCorp' aparece em dispositivos próximos. Logs mostram inicialização sem erros.

  10. Instalar e configurar o cliente Wi-Fi

    No cliente Linux, instale wpa_supplicant e crie um arquivo de configuração para autenticação PEAP/MSCHAPv2.

    sudo apt install wpasupplicant
    nano ~/wpa_supplicant.conf

    O que você deve ver: Arquivo criado. Veja exemplo abaixo.

  11. Exemplo de wpa_supplicant.conf

    Configure o cliente para conectar ao SSID usando 802.1X.

    network={
        ssid="WiFiCorp"
        key_mgmt=WPA-EAP
        eap=PEAP
        identity="alice"
        password="senha123"
        phase2="auth=MSCHAPV2"
        ca_cert="/etc/ssl/certs/ca-certificates.crt" # use o CA do FreeRADIUS se gerar certificados próprios
    }

    O que você deve ver: Arquivo contém as linhas acima.

  12. Conectar o cliente ao Wi-Fi corporativo

    Inicie o wpa_supplicant e tente autenticar no SSID.

    sudo wpa_supplicant -i wlan0 -c ~/wpa_supplicant.conf -d

    O que você deve ver: Logs mostram autenticação EAP, sucesso e IP obtido via DHCP.

  13. Verificar logs de autenticação no FreeRADIUS

    Acompanhe o debug do FreeRADIUS para ver o fluxo EAP e a aceitação do usuário.

    O que você deve ver: Logs mostram Access-Request, EAP-Message, Access-Accept para 'alice'.

Como saber que funcionou

TesteComandoCritério
Cliente conecta ao SSID e obtém IPip addr show wlan0Interface wlan0 com endereço IP válido
Autenticação EAP bem-sucedidaverificar saída do wpa_supplicantMensagens 'EAP authentication completed successfully'
Logs do FreeRADIUS mostram Access-Acceptobservar terminal do freeradius -XLinha contendo 'Sent Access-Accept'
hostapd aceita a autenticaçãoobservar terminal do hostapdLog indicando 'authenticated' para o MAC do cliente

Troubleshooting

SintomaCausa provávelCorreção
Cliente não conecta ao SSIDSSID não está ativo ou hostapd não iniciouVerifique logs do hostapd e se a interface Wi-Fi suporta modo AP
Erro de autenticação EAPUsuário ou senha incorretos no FreeRADIUSRevise o arquivo users no FreeRADIUS
hostapd não consegue contactar o FreeRADIUSIP ou segredo RADIUS incorretosConfirme IP/segredo em hostapd.conf e clients.conf
wpa_supplicant falha com erro de certificadoCA do FreeRADIUS não está no clienteAdicione o certificado CA correto ao cliente ou desabilite verificação (apenas para testes)

Segurança e hardening

  • Troque o segredo RADIUS 'testing123' por um valor forte em produção
  • Utilize certificados próprios e confiáveis para EAP
  • Restrinja o acesso ao servidor FreeRADIUS por firewall
  • Desabilite usuários de teste após validação

Checklist final

Referências

  1. FreeRADIUS Documentation