Windows 11 поддержка EAP против Freeradius 3 с использованием EAP-TLS

Вопрос или проблема

Я работаю над точкой доступа, которая поддерживает функцию 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. Таким образом, мой вопрос следующий:

  1. Отклоняет ли Windows 11 тот же сертификат/ключ, используемый между сервером и клиентом? Или он использует только TLS 1.3, когда происходит такая ситуация?

  2. Если Access Accept отправлен, существует ли способ определить, получил ли Windows 11 ключи MS-MPPE-Send-Key и MS-MPPE-Recv-Key и сгенерировал ли Master Session Key для использования в последующих EAPOL?

  3. Есть ли способ поддержать такую ситуацию, изменив конфигурацию Freeradius?

  4. Согласно этому веб-сайту,
    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. Удачи в ваших экспериментах и дальнейших настройках!

Оцените материал
Добавить комментарий

Капча загружается...