Проверка подлинности на основе сертификата радиуса (eap)

В настоящее время мы внедряем сервер freeradius, который использует сертификаты для аутентификации через беспроводное соединение. У нас это работает для 802.1x, но клиент Novell для Windows 7 нарушает протокол 802.1x. Поэтому мы должны иметь аутентификацию на основе сертификатов.

У меня настроен и запущен тестовый домен, и я могу получить обычную внутреннюю / внешнюю аутентификацию. Однажды я внедряю сертификаты, когда все начинает сходить с ума. Я приложил свой вывод радиуса -X (по крайней мере, его части, где он пытается создать экземпляр модуля EAP. Я поискал ответы, но на самом деле ничего не нашел. Любая помощь будет принята с благодарностью. Спасибо.


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.

1 ответ

Решение

У нас это работает для 802.1x, но клиент Novell для Windows 7 нарушает протокол 802.1x. Поэтому мы должны иметь аутентификацию на основе сертификатов.

Это не имеет смысла для меня. Независимо от того, используете ли вы EAP-PEAP, EAP-TLS или EAP-TTLS, ваши соискатели должны будут разговаривать 802.1x с аутентификатором. Если клиент Novell действительно ломает 802.1x, вы не сможете заставить его работать независимо от того, какой механизм аутентификации вы решите использовать с EAP (который сам по себе туннелируется через EAPOL), 802.1x потребуется для поддержки ваших соискателей и аутентификаторов.


Ваша заявленная проблема, вероятно, находится здесь:

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

Вы не можете установить механизм аутентификации EAP на EAP. EAP - это просто структура аутентификации - отсюда и расширяемый протокол аутентификации. Вам нужно выбрать протокол для использования EAP.

Вы упомянули сертификаты, поэтому я предполагаю, что вы внедряете EAP-TLS. Вы, вероятно, хотите изменить:

default_eap_type = "eap"

в

eap: default_eap_type = "tls"
Другие вопросы по тегам