Настройте FreeRADIUS для поддержки только EAP TTLS PAP

У меня есть внешний сервер RADIUS, который поддерживает только PAP. Я настроил FreeRADIUS 2.2.4 для прокси-запроса PAP внутри туннеля EAP-TTLS (от точки доступа WiFi, настроенной для WPA2 Enterprise) до этого сервера RADIUS, и я протестировал его с помощью eapol_test. Я могу вручную настроить ПК или Mac для отправки только EAP-TTLS + PAP, но это не очень желательно.

Когда ненастроенные корпоративные клиенты WPA2 подключаются, они пробуют PEAP, LEAP и EAP-MD5. Я отключил большинство других типов EAP, но, похоже, мне нужен по крайней мере еще один тип EAP, поддерживаемый в default_eap_type в блоке TTLS. Некомментированная часть моего eap.conf находится ниже:

eap {
    default_eap_type = ttls
    timer_expire     = 60
    ignore_unknown_eap_types = no
    cisco_accounting_username_bug = no
    max_sessions = 4096
    md5 {
    }
    tls {
        certdir = ${confdir}/certs
        cadir = ${confdir}/certs

        private_key_password = heythatsprivate
        private_key_file = ${certdir}/server.pem
        certificate_file = ${certdir}/server.pem
        dh_file = ${certdir}/dh
        random_file = /dev/urandom
        CA_path = ${cadir}
        cipher_list = "DEFAULT"
        make_cert_command = "${certdir}/bootstrap"
        ecdh_curve = "prime256v1"
        cache {
              enable = yes
              lifetime = 24 # hours
              max_entries = 255
        }
        verify {
        }
        ocsp {
              enable = no
              override_cert_url = yes
              url = "http://127.0.0.1/ocsp/"
        }
    }
    ttls {
        default_eap_type = md5 
        copy_request_to_tunnel = no
        use_tunneled_reply = no
        virtual_server = "inner-tunnel"
    }
}

Есть ли способ настроить FreeRADIUS так, чтобы в TTLS не было разрешено использовать типы EAP или явно требовать PAP внутри туннеля?

Спасибо, Рохан

1 ответ

Попробуйте настроить новые серверы помимо стандартных...

server my-server {
   authorize { ... }

   authenticate { 
       eap
   }

   accounting { ... }
}

Затем создайте внутренний туннель для второго этапа аутентификации

server my-tunnel {
     authorize {
          pap
     }
     ...
     authenticate {
         Auth-Type PAP {
            pap
         }
     }
     ...
}

Вам нужно будет изменить конфигурацию EAP следующим образом:

eap {
            default_eap_type = ttls
            ...

            ttls {
                    default_eap_type = gtc
                    copy_request_to_tunnel = yes
                    use_tunneled_reply = yes
                    virtual_server = "my-tunnel"
            }
            ...
     }

Затем укажите для каждого клиента, какой сервер вы хотите использовать для обработки запросов на аутентификацию.

client example {
    ipv6addr       = x.x.x.x
    netmask        = 32
    secret         = *******
    shortname      = example
    virtual_server = my-server
}

Я уверен, что это позволит, что вы хотите сделать.

С Уважением,

Хернан Гарсия

Другие вопросы по тегам