В ходе тестирования аутентификации RADIUS на платах управления ИБП ПСУ Спутник, обнаружили одну интересную проблему. У одного из проверяемых пользователей не отрабатывала аутентификация при том, что у других подопытных пользователей данной проблемы не наблюдалось. После допроса пользователя с пристрастием выяснилось, что его текущий доменный пароль содержит кириллицу. Так как предметом нашего исследования был функционал ПСУ Спутник, мы предположили, что источником проблемы может быть реализация RADIUS в ПСУ. Специалисты тех.поддержки Инматикс уверили нас в том, что проблема не в ПСУ. Для проверки мы попробовали настроить аутентификацию RADIUS на плате APC NMC2 и там проблема воспроизвелась. Таким образом мы пришли к выводу, что сам используемый в нашем случае RADIUS сервер из роли NPS в составе Windows Server 2016 не обрабатывает корректно пароли с кириллицей.
Поиск информации о каких-либо явно продекларированных ограничениях использования паролей в NPS RADIUS в онлайн документации Microsoft оказался безрезультатным. Был лишь найден документ "RADIUS Authentication, Authorization, and Accounting" где беззастенчиво заявлено, что, Microsoft NPS RADIUS полностью поддерживает RFC 2865. Это, как я понимаю, соответствует протоколу RADIUS v2, где поддерживаются длинные пароли (более 16 символов как было в RADIUS v1) и пароль должен кодироваться в UTF-8, что теоретически позволяет использовать в пароле кириллицу и прочие шалости.
На сторонних интернет ресурсах можно найти информацию о том, что мы не единственные кто столкнулся с этой проблемой. Например в статье "RADIUS authentication fails on Microsoft Network Policy Server (NPS)" можно найти заявление о том, что Microsoft NPS RADIUS на самом деле использует не UTF-8, как это предполагается в RFC 2865, а Extended ASCII:
NPS does not encode RADIUS password in UTF-8 as expected by RFC286.
NPS is encoding password in EASCII.
Ещё одно подтверждение этому можно найти в статье "KB44336 - Authentication fails against Windows NPS (Radius) server with Error invalid credentials when the password contains Umlaut character(s)".
Хотя, например, в документе "Network Policy Server Best Practices" утверждается обратное:
Network Policy Server (NPS) does not support the use of the Extended ASCII characters within passwords
На этом фоне может возникнуть подозрение, что используется обычная ASCII, где допускается только латиница.
В общем, похоже, что Microsoft в очередной раз "отличились" в своём умении отходить от стандартов и создавать тем самым проблемы, всем кто прикасается к их продуктам.
Добавить комментарий