Autenticação Baseada em Certificado Radius (eap)

3

No momento, estamos implementando um servidor freeradius que usa certificados para autenticar por meio de uma conexão sem fio. Temos isso funcionando para 802.1x, mas o cliente da Novell para o Windows 7 quebra o protocolo 802.1x. Então, temos que ter a autenticação baseada em certificado.

Eu tenho um domínio de teste configurado e em execução, posso fazer com que a autenticação interna / externa regular aconteça. Uma vez que eu implemente os certificados, é quando as coisas começam a enlouquecer. Anexei minha saída radius -X (pelo menos as partes dela onde ela tenta instanciar o módulo EAP. Eu pesquisei por respostas, mas realmente não encontrei nada. Qualquer ajuda seria muito apreciada. Obrigado.


Module: Instantiating eap
  eap {
        default_eap_type = "eap"
        timer_expire = 60
        ignore_unknown_eap_types = no
        cisco_accounting_username_bug = no
        max_sessions = 4096
  }

 Module: Linked to sub-module rlm_eap_md5
 Module: Instantiating eap-md5
 Module: Linked to sub-module rlm_eap_leap
 Module: Instantiating eap-leap
 Module: Linked to sub-module rlm_eap_gtc
 Module: Instantiating eap-gtc
   gtc {
        challenge = "Password: "
        auth_type = "PAP"
   }
 Module: Linked to sub-module rlm_eap_tls
 Module: Instantiating eap-tls
   tls {
        rsa_key_exchange = no
        dh_key_exchange = yes
        rsa_key_length = 512
        dh_key_length = 512
        verify_depth = 0
        pem_file_type = yes
        private_key_file = "/etc/raddb/certs/server.pem"
        certificate_file = "/etc/raddb/certs/server.pem"
        CA_file = "/etc/raddb/certs/ca.pem"
        private_key_password = "whatever"
        dh_file = "/etc/raddb/certs/dh"
        random_file = "/etc/raddb/certs/random"
        fragment_size = 1024
        include_length = yes
        check_crl = no
        cipher_list = "DEFAULT"
    cache {
        enable = no
        lifetime = 24
        max_entries = 255
    }
   }
 Module: Linked to sub-module rlm_eap_ttls
 Module: Instantiating eap-ttls
   ttls {
        default_eap_type = "mschapv2"
        copy_request_to_tunnel = no
        use_tunneled_reply = no
        virtual_server = "inner-tunnel"
        include_length = yes
   }
 Module: Linked to sub-module rlm_eap_peap
 Module: Instantiating eap-peap
   peap {
        default_eap_type = "mschapv2"
        copy_request_to_tunnel = no
        use_tunneled_reply = no
        proxy_tunneled_request_as_eap = yes
        virtual_server = "inner-tunnel"
   }
 Module: Linked to sub-module rlm_eap_mschapv2
 Module: Instantiating eap-mschapv2
   mschapv2 {
        with_ntdomain_hack = no
   }
rlm_eap: Unknown default EAP type eap
/etc/raddb/eap.conf[17]: Instantiation failed for module "eap"
/etc/raddb/sites-enabled/inner-tunnel[223]: Failed to load module "eap".
/etc/raddb/sites-enabled/inner-tunnel[176]: Errors parsing authenticate section.
    
por lilott8 01.07.2010 / 23:07

1 resposta

1

Temos isso funcionando para 802.1x, mas o cliente da Novell para o Windows 7 quebra o protocolo 802.1x. Então, temos que ter a autenticação baseada em certificado.

Isso não faz sentido para mim. Independentemente de você estar usando EAP-PEAP, EAP-TLS ou EAP-TTLS, seus suplicantes precisarão falar 802.1x com o autenticador. Se o cliente da Novell realmente quebrar o 802.1x, não há nenhuma maneira de fazer isso funcionar, independentemente do mecanismo de autenticação que você decidir usar com o EAP (o qual é tunelizado via EAPOL). O 802.1x precisará ser suportado por seus suplicantes e autenticadores. >

O seu problema, como afirmado, provavelmente está aqui:

rlm_eap: Unknown default EAP type eap
/etc/raddb/eap.conf[17]: Instantiation failed for module "eap"

Você não pode definir o mecanismo de autenticação EAP para EAP. EAP é apenas um framework de autenticação - daí o Extensible Authentication Protocol. Você precisa escolher um protocolo para o EAP usar.

Você mencionou os certificados, portanto estou assumindo que está implementando o EAP-TLS. Você provavelmente quer mudar:

default_eap_type = "eap"

para

eap: default_eap_type = "tls"
    
por 06.04.2012 / 02:18