- Вопрос или проблема
- Ответ или решение
- Подпись SAML-утверждения с просроченным сертификатом в Microsoft Entra IDP: Ответы на ключевые вопросы
- 1. Является ли это проблемой безопасности, что наша библиотека SSO не проверяет срок действия сертификата?
- 2. Почему клиент Entra все еще отправляет сообщения, подписанные просроченным сертификатом?
- Рекомендации
- Заключение
Вопрос или проблема
У нас есть веб-приложение, и некоторые клиенты просят нас настроить SSO для них. Мы используем SAML и регистрируемся в качестве поставщика услуг, большинство наших клиентов используют Entra/AzureAD в качестве поставщика удостоверений. Для этого они предоставляют нам:
- идентификатор сущности, например https://sts.windows.net/xxxxx-xxx-xxx-xxx-xxxxx/
- URL SSO/SLS
- сертификат x509, который можно использовать для проверки подписи их SAML-сообщений
Вчера я понял, что сертификат для одного клиента истек уже 15 дней назад, но это не создает никаких проблем. Он по-прежнему использует SSO без каких-либо трудностей. При проверке я определил, что сообщения SAML Auth, которые мы получаем от этого клиента, все еще подписываются с использованием истекшего сертификата
Поэтому у меня есть вопросы:
- Является ли проблемой безопасности то, что наша библиотека SSO не проверяет дату истечения сертификата? (мы используем библиотеку, основанную на OneLogin, которая кажется довольно стандартной)
- Почему Entra моего клиента все еще отправляет сообщения, подписанные истекшим сертификатом? Когда я проверяю их метаданные IDP (по https://sts.windows.net/xxxxx-xxx-xxx-xxx-xxxxx/federationmetadata/2007-06/federationmetadata.xml), там перечислены 5 сертификатов для подписи (все из которых действительны), но по какой-то причине это не те сертификаты, которые используются в сообщениях, которые я получаю
Поскольку у меня нет доступа к администраторской консоли Entra/AzureAD, мне довольно трудно понять, как это работает с их стороны
Спасибо!
Ответ или решение
Подпись SAML-утверждения с просроченным сертификатом в Microsoft Entra IDP: Ответы на ключевые вопросы
Ваша ситуация поднимает несколько важных вопросов относительно безопасности и конфигурации SSO при использовании SAML и Microsoft Entra (ранее Azure AD) в качестве Провайдера Удостоверений (IDP). Давайте разберем каждый вопрос подробно.
1. Является ли это проблемой безопасности, что наша библиотека SSO не проверяет срок действия сертификата?
Да, это может представлять собой серьезную проблему с точки зрения безопасности. Если ваша SAML-библиотека не проверяет срок действия сертификата (включая его истечение), это может позволить злоумышленнику подписывать сообщения с использованием просроченных сертификатов, что в свою очередь может вызвать уязвимости в вашем приложении. Стандарты безопасности четко предписывают проверку и валидацию сертификатов до их использования. Рекомендуется:
- Обновить вашу библиотеку SAML до последней версии, которая поддерживает проверку срока действия сертификатов.
- Рассмотреть возможность создания промежуточного слоя, который будет проверять срок действия сертификатов, прежде чем передавать их в вашу основную SSO-систему.
2. Почему клиент Entra все еще отправляет сообщения, подписанные просроченным сертификатом?
Несмотря на то что в метаданных IDP вашего клиента перечислены действительные сертификаты, существует вероятность, что клиентская конфигурация Entra не была обновлена после истечения срока действия сертификата. Microsoft Entra может использовать автоматическое обновление сертификатов, но не всегда автоматическая замена сертификатов происходит мгновенно. Причины, почему ваш клиент продолжает использовать просроченный сертификат, могут быть следующими:
- Кэширование: Некоторые компоненты в цепочке SAML могут кэшировать старые сертификаты. Если они не обновляются в соответствии с новыми метаданными, это может привести к использованию просроченного сертификата.
- Тестовая или девелоперская среда: Клиенты иногда могут использовать тестовые конфигурации или девелоперские учетные записи, которые имеют свои собственные правила и настройки.
- Некорректная конфигурация: Возможно, что администратор клиентов не обновил или неправильно настроил IDP и его сертификаты.
Рекомендации
-
Свяжитесь с вашим клиентом: Посоветуйте им проверить и обновить конфигурацию Entra, чтобы удостовериться, что используется актуальный сертификат. Им стоит также проверить журналы и параметры кэширования.
-
Проверка безопасности: Рассмотрите возможность внедрения дополнительных механизмов проверки в вашу SSO-библиотеку для обеспечения валидации политики сертификатов.
-
Мониторинг и уведомления: Настройте мониторинг срока действия сертификатов, чтобы избежать подобных ситуаций в будущем.
Заключение
Таким образом, использование просроченного сертификата для подписи SAML-сообщений несет в себе риски, как для вашего приложения, так и для ваших клиентов. Выявление данной проблемы и работа над её решением отразится на уровне безопасности вашей системы и даст возможность поддерживать доверительные отношения с вашими клиентами. Рассмотрите внедрение предлагаемых вами решений и регулярное обновление всех компонентов вашей архитектуры SSO, чтобы минимизировать возможные риски и уязвимости.