Multifactor — двухфакторная аутентификация в vCenter сломалась

Писал я как-то про то, как настроить Мультифактор на vCenter с помощью MultiFactor LDAP Adapter.

Писал я как-то про то, как настроить Мультифактор на vCenter с помощью MultiFactor LDAP Adapter.

MultiFactor Ldap Adapter — LDAP proxy сервер, разработанный и поддерживаемый компанией Мультифактор для двухфакторной аутентификации пользователей в приложениях, использующих LDAP аутентификацию.

Multifactor — двухфакторная аутентификация в vCenter

И вот при обновлении старенького vCenter второй фактор перестал работать с ошибкой:

[400] An error occurred while processing the authentication response from the vCenter Single Sign-On server. Detail: Status: urn:oasis:names:tc:SAML:2.0:status:Responder, sub status: null.
Писал я как-то про то, как настроить Мультифактор на vCenter с помощью MultiFactor LDAP Adapter.-2

При этом проверка второго фактора производится, ошибка происходит на стадии взаимодействия адаптера с LDAPS сервером.

Не помню точную версию vCenter 7, с которой началась проблема. Это примерно 7.0.3.01100. В последующих версиях вплоть до VMware vCenter Server 7.0.3.01800 тоже второй фактор не работает. Скорее всего в очередной версии изменились алгоритмы шифрования или ещё что-то, не вникал.

При отключении MultiFactor LDAP Adapter проблема устраняется. Долго пришлось искать точку отказа, возможно, кому-то сэкономлю время и нервы.

Обновление MultiFactor LDAP Adapter до версии 1.0.114 не помогло.

Писал я как-то про то, как настроить Мультифактор на vCenter с помощью MultiFactor LDAP Adapter.-3

В логах MultiFactor LDAP Adapter откопали ошибку:

System.IndexOutOfRangeException: Index was outside the bounds of the array.
at MultiFactor.Ldap.Adapter.Core.LdapAttribute.ParseAttributes(Byte[] bytes, Int32 currentPosition, Int32 length) in /home/appveyor/projects/multifactor-ldap-adapter-linux/src/Core/LdapAttribute.cs:line 250
at MultiFactor.Ldap.Adapter.Core.LdapPacket.ParsePacket(Byte[] bytes) in /home/appveyor/projects/multifactor-ldap-adapter-linux/src/Core/LdapPacket.cs:line 67
at MultiFactor.Ldap.Adapter.Core.Requests.LdapRequest.FromBytesAsync(Byte[] bytes) in /home/appveyor/projects/multifactor-ldap-adapter-linux/src/Core/Requests/LdapRequest.cs:line 76
at MultiFactor.Ldap.Adapter.Server.LdapProxy.ParseAndProcessRequest(Byte[] data, Int32 length) in /home/appveyor/projects/multifactor-ldap-adapter-linux/src/Server/LdapProxy.cs:line 112
at MultiFactor.Ldap.Adapter.Server.LdapProxy.DataExchange(TcpClient source, Stream sourceStream, TcpClient target, Stream targetStream, Func`3 process) in /home/appveyor/projects/multifactor-ldap-adapter-linux/src/Server/LdapProxy.cs:line 87

Сейчас пытаюсь связаться с кем-то из Мультифактора, но менеджеры не отвечают, учётка моя почему-то заблокирована, это ещё одна проблема.

Источник:

💰 Поддержать проект

Если вам понравилась статья, то ставьте 👍🏻 каналу. Пишите комментарии, задавайте вопросы, подписывайтесь.