Conexão Wi-Fi segura com FreeRADIUS, MySQL, EAP-PEAP, TLS

1

Estou tentando configurar uma rede sem fio, conforme mostrado na imagem, e estou com dificuldades para protegê-la.

Imagem de Rede Wi-Fi:

Minhaperguntabásicaé:ComopossoarmazenarsenhascomsegurançanobancodedadosMySQLparaqueoFreeRADIUSpossalê-las?

Aquiestáumaversãomaislongaqueeuquerorealizar:

  1. Ousuárioseconectaàredesemfio
  2. Ousuáriosolicitaráumnomedeusuárioesenha
  3. Comascredenciaiscorretas,oservidorRADIUSenviaráumcertificadoeaconexãoTLSpoderáserformada.

EutenhoaconfiguraçãotrabalhandocomsenhasCleartext,masobviamenteeugostariadeprotegerassenhascomalgumtipodehash.Agoraassenhassãoarmazenadascomotextoclaro,mesmonobancodedados.Apartirdessatabeladecompatibilidade,entendiqueseeuusarPEAPcomMSCHAPv2,precisousarsenhasdehashdoNT. link

Quando eu adiciono um usuário com daloRADIUS, há apenas opções para Cleartext-, User-, Crypt-, MD5-, SHA1- e CHAP-Password. Não há nenhuma opção para a senha de hash do NT. Eu acho que isso significa que não posso usar o daloRADIUS como uma GUI da web. Eu pensei que eu iria apenas fazer um script de shell que irá facilmente adicionar e remover usuários no banco de dados.

No FreeRADIUS eu configurei /etc/freeradius/mods-available/eap

eap {
    default_eap_type = peap
peap {
    default_eap_type = mschapv2

Se entendi corretamente, agora estou usando o EAP-PEAP com MSCHAPv2 e TLS. Eu sei que estou usando TLS porque com a primeira tentativa de login para a rede sem fio freeradius -X modo de depuração dá o erro abaixo. Depois de tentar o TLS, o usuário será solicitado a fornecer nome de usuário e senha.

(28) eap_peap: <<< TLS 1.2  [length 0002]
(28) eap_peap: ERROR: TLS Alert read:fatal:unknown CA 
(28) eap_peap: ERROR: TLS_accept: Failed in SSLv3 read client certificate A
(28) eap_peap: ERROR: SSL says: error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca
(28) eap_peap: ERROR: SSL_read failed inside of TLS (-1), TLS session failed
(28) eap_peap: ERROR: TLS receive handshake failed during operation
(28) eap_peap: ERROR: [eaptls process] = fail
(28) eap: ERROR: Failed continuing EAP PEAP (25) session.  EAP sub-module failed
(28) eap: Sending EAP Failure (code 4) ID 162 length 4
(28) eap: Failed in EAP select

Com autenticação de senha de texto claro funciona, mas quando tento colocar algum tipo de senha com hash, a autenticação falha, como visto abaixo.

(36)   Found Auth-Type = EAP
(36)   # Executing group from file /etc/freeradius/sites-enabled/inner-tunnel
(36)     authenticate {
(36) eap: Expiring EAP session with state 0x024362c402167826
(36) eap: Finished EAP session with state 0x024362c402167826
(36) eap: Previous EAP request found for state 0x024362c402167826, released from the list
(36) eap: Peer sent packet with method EAP MSCHAPv2 (26)
(36) eap: Calling submodule eap_mschapv2 to process data
(36) eap_mschapv2: # Executing group from file /etc/freeradius/sites-enabled/inner-tunnel
(36) eap_mschapv2:   Auth-Type MS-CHAP {
(36) mschap: WARNING: No Cleartext-Password configured.  Cannot create NT-Password
(36) mschap: WARNING: No Cleartext-Password configured.  Cannot create LM-Password
(36) mschap: Creating challenge hash with username: joujou
(36) mschap: Client is using MS-CHAPv2
(36) mschap: ERROR: FAILED: No NT/LM-Password.  Cannot perform authentication
(36) mschap: ERROR: MS-CHAP2-Response is incorrect
(36)     [mschap] = reject
(36)   } # Auth-Type MS-CHAP = reject
(36) eap: Sending EAP Failure (code 4) ID 85 length 4

Então, você poderia me ajudar, quais opções eu tenho para hashing das senhas?

Este é o software e o hardware que estou usando:

  • Principalmente os laptops com Windows 10
  • Pontos de acesso sem fio TP-Link Archer C7 v2, rodando com o OpenWRT Chaos Calmer 15.05 / Luci (git-15.248.30277-3836b45)
  • 2 máquinas virtuais ESXi: uma está executando o PfSense 2.2.6 e a outra está executando o Ubuntu Server 14.04.
  • No Ubuntu Server, instalei o FreeRADIUS 3.0.10 com o MySQL e o daloRADIUS 0.9-9.
por Eastman 25.02.2016 / 13:02

0 respostas