Настройте 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
}
Я уверен, что это позволит, что вы хотите сделать.
С Уважением,
Хернан Гарсия