- Вопрос или проблема
- Ответ или решение
- Поддержка EAP-TLS в Windows 11 с FreeRADIUS 3: Решение проблем
- 1. Отказ Windows 11 в использовании одинаковых сертификатов для сервера и клиента
- 2. Проверка получения MS-MPPE-ключей
- 3. Конфигурация FreeRADIUS для устранения проблемы
- 4. Оценка документации Microsoft
- Заключение
Вопрос или проблема
Я работаю над точкой доступа, которая поддерживает функцию 802.1X, и у меня возникают проблемы с Windows 11 23H2 при использовании Intel AX201. Проблема, похоже, не возникает на iPhone.
Клиент только что пожаловался, что функция WPA Enterprise точки доступа не удалась, когда они используют свой сертификат с Freeradius 3.2.5. Когда я попросил их предоставить сертификат/ключ для тестирования с моей стороны, они предоставили только пару сертификатов/ключей клиента в формате PKCS (.p12). Поскольку они не готовы предоставить ничего другого, я просто продолжил с этим, так как логически это должно работать, так как оба подписаны одним и тем же УЦ.
Сначала я настроил Freeradius 3.2.5 для поддержки EAP TLS с tls_max_version = tls1.2. Версия TLS, используемая во время рукопожатия, — это TLS 1.3, и точка доступа отклоняет соединение с ошибкой SSL_read() “доступ запрещен”, полученной от Windows 11. Я вернулся к своей паре сертификатов (один для сервера, другой для клиента, и оба подписаны одним и тем же УЦ), и вместо этого используется версия TLS 1.2, и все работает нормально, включая последующий EAPOL (4-ходовое рукопожатие).
Поскольку используется TLS 1.3, я пытался включить TLS 1.3 на сервере Freeradius 3, изменив tls_max_version на tls1.3. Странно, но это сработало, и было отправлено сообщение Access Accept с содержимыми ключами MS-MPPE-Send-Key и MS-MPPE-Recv-Key.
Произошло еще более странное событие: после отправки Access Accept точка доступа инициирует первый шаг EAPOL, отправляя шаг 1 рукопожатия, но ответ от Windows 11 не обнаружен.
Поскольку эта проблема не возникает с iPhone или Linux WPA supplicant (не уверен насчет Android), я предполагаю, что это происходит только на Windows. Таким образом, мой вопрос следующий:
-
Отклоняет ли Windows 11 тот же сертификат/ключ, используемый между сервером и клиентом? Или он использует только TLS 1.3, когда происходит такая ситуация?
-
Если Access Accept отправлен, существует ли способ определить, получил ли Windows 11 ключи MS-MPPE-Send-Key и MS-MPPE-Recv-Key и сгенерировал ли Master Session Key для использования в последующих EAPOL?
-
Есть ли способ поддержать такую ситуацию, изменив конфигурацию Freeradius?
-
Согласно этому веб-сайту,
https://learn.microsoft.com/en-us/windows-server/networking/technologies/extensible-authentication-protocol/windows-11-changes
Windows 11 утверждает, что поддерживает TLS 1.3 в своем EAP-TLS, и всё, что неправильно, должно быть вызвано неправильной рекламой поддержки TLS 1.3 со стороны Radius-сервера. Поскольку сервер Freeradius также поддерживает TLS 1.3, что может быть проблемой, вызывающей эту проблему?
Спасибо всем за то, что прочитали этот длинный пост.
Ответ или решение
Поддержка EAP-TLS в Windows 11 с FreeRADIUS 3: Решение проблем
Ваша проблема с использованием Windows 11 (версия 23H2) и Intel AX201 в контексте реализации доступа по 802.1X на точке доступа, поддерживающей WPA Enterprise, действительно может вызывать затруднения. Ниже представлены детализированные ответы на ваши вопросы и рекомендации по решению возникших проблем.
1. Отказ Windows 11 в использовании одинаковых сертификатов для сервера и клиента
На основании предоставленных вами данных, Windows 11 может действительно иметь специфические требования к сертификатам, используемым в процессе аутентификации. Хотя EAP-TLS подразумевает, что сервер и клиент могут использовать сертификаты, подписанные одним и тем же удостоверяющим центром (CA), Windows 11 может функционировать по различным критериям, основанным на настройках безопасности.
- Обновления безопасности: В Windows 11 ресурсы безопасности и сопутствующие патчи могут повлиять на выбор версий TLS и другие параметры аутентификации. Если сервер и клиент используют один и тот же сертификат, но имеют различные версии TLS, это может привести к ошибке доступа, как в вашем случае, особенно если используется неправильная версия.
2. Проверка получения MS-MPPE-ключей
Чтобы определить, были ли получены ключи MS-MPPE-Send-Key
и MS-MPPE-Recv-Key
, можно воспользоваться логированием на стороне FreeRADIUS. Вы можете включить подробные логи для отслеживания трафика между сервером и клиентом.
- Настройки логирования: Изменяйте конфигурацию FreeRADIUS, чтобы включить отладочные сообщения. Для этого используйте параметр
radiusd -X
, чтобы запустить сервер в режиме отладки. Следите за логами для определения, была ли выполнена отправка и получение ключей.
3. Конфигурация FreeRADIUS для устранения проблемы
Вы правы в отношении того, что конфигурация FreeRADIUS может быть обоснованно изменена для поддержки сценария EAP-TLS с Windows 11. Несколько рекомендаций:
-
Параметры TLS: Убедитесь, что в конфигурационном файле
eap.conf
правильно настроенtls_max_version
, чтобы включить как TLS 1.2, так и 1.3, поскольку разные клиенты могут по-разному реагировать на эти версии. Обратите внимание на поддерживаемые шифры. -
Тестирование с другими сертификатами: Если возможно, попробуйте протестировать с другими сертификатами, чтобы понять, не связана ли ошибка с определённым набором сертификатов.
4. Оценка документации Microsoft
Согласно документации Microsoft, Windows 11 действительно обеспечивает поддержку TLS 1.3 в EAP-TLS, и проблемы могут возникать из-за неправильной рекламы поддержки TLS сервером RADIUS. Важно удостовериться в том, что сервер правильно поддерживает формат и параметры TLS, и консистентно применяет методы аутентификации.
Заключение
Сложности с аутентификацией EAP-TLS, особенно когда дело касается разных устройств и платформ, часто можно превратить в возможность для переосмысления вашей настройки сервера. Рекомендуется внимательно рассмотреть параметры безопасности и провести тесты с различными сертификатами, чтобы убедиться, что они соответствуют требованиям Windows 11.
Если вы будете следовать этим рекомендациям, это поможет вам диагностировать и решить вопросы, возникающие при аутентификации через RADIUS-сервер FreeRADIUS. Удачи в ваших экспериментах и дальнейших настройках!