Напоминания об истечении срока действия артефактов TLS в Mule 4 Run Time Fabric и контейнерах

Как дела? Мы используем Mulesoft Mule 4, развернутый на кластере RTF Fabric (2 экземпляра RTF). Мы хотели бы настроить напоминания, чтобы администраторы не могли до истечения срока действия сертификатов, используемых для установления исходящих TLS-соединений и взаимной аутентификации.

Самый простой способ настроить TLS-соединения с Mule 4 - использовать файлы с хранилищем ключей / хранилищем доверенных сертификатов в свойствах конфигурации соответствующего коннектора.

Как описано в https://dzone.com/articles/mule-4-using-ssltls-part-2 вы должны сгенерировать файлы и упаковать их с результатами, которые войдут в Docker, как контейнер, работающий в Mule RTF, поэтому будет сложно попасть внутрь его файловой системы и проверить эти файлы в производстве с использованием некоторой рутинной запланированной задачи.

В то же время в Anypoint GUI есть меню менеджера секретов, похожее на волшебное. Этот менеджер секретов выглядит так, как будто может хранить эти сертификаты, и даже предоставляет API, чтобы иметь возможность проверять дату истечения срока действия и управлять CRL (списком отзыва сертификатов). Несмотря на это, дата - это только метаданные, которые никоим образом не применяются и не контролируются и могут быть изменены с нарушением соответствия с датой истечения срока действия реального сертификата ... Я хотел бы выяснить, можно ли каким-либо образом использовать эту инфраструктуру хранить артефакты TLS для исходящих внутренних вызовов для трафика Север-Юг?

Должны ли мы в незашифрованном виде вызывать контроллеры RTF LB, а затем некоторые прокси-серверы Mule, которые используют этот менеджер секретов, чтобы впоследствии защитить соединения? Может быть, есть более простой подход, чтобы иметь возможность управлять состоянием артефактов TLS и заранее настроить какое-то предупреждение об истечении срока действия?




Ответы (1)


Если нужная вам конечная точка REST API Secrets Manager задокументирована, например, на портале Anypoint Exchange по адресу https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/secrets-manager/, тогда он не должен внезапно измениться, и вы можете на него положиться.

person aled    schedule 21.02.2021
comment
Спасибо. Я верю в неизменное качество API. Я хотел просто подтвердить, что это правильный способ, и более практичного, широко признанного решения проблемы настройки напоминаний об истечении срока действия сертификата не существует. - person abtimo; 22.02.2021
comment
Я не уверен, что есть общепринятый ответ на эту проблему. Ответов может быть несколько, и вы должны оценить плюсы и минусы каждого из них для вашего конкретного контекста. - person aled; 22.02.2021
comment
на простые ответы легко ответить без публикации в stackoverflow. Проблема для меня в том, что я не могу проверить возможности, предлагаемые RTF. Тестовый доступ доступен только для развертывания облачного хаба. Тестовая установка RTF доступна только после дорогой покупки тарифного плана Platinum. Это мешает мне разработать что-то, что использует сложную функциональность Mule RTF, возвращающуюся в простое хранилище доверенных сертификатов на основе локальных файлов, а также хранилище ключей и проверку с использованием планировщика и вызова из dw в метод java. - person abtimo; 23.02.2021
comment
Менеджер секретов не поддерживает замену общих доверенных хранилищ / хранилищ ключей в приложениях. В документации упоминаются два варианта использования, которые он поддерживает напрямую: вход RTF и диспетчер API в CloudHub: docs.mulesoft.com/anypoint-security/index-secrets-manager. Проверка истечения срока действия сертификата - это что-то полезное, но, насколько я знаю, это не функция продукта. Наверное, вам в любом случае придется выполнить эту проверку самостоятельно. Альтернативный метод при работе только с HTTPS-сервисами - запрос сертификата с помощью HTTPS-запроса вместо чтения хранилища ключей. - person aled; 23.02.2021
comment
›› Альтернативный метод при работе только с HTTPS-сервисами - запрос сертификата с помощью HTTPS-запроса вместо чтения хранилища ключей. - person abtimo; 26.02.2021
comment
Спасибо за разъяснения, алед, это полезно. Да, я не вижу нормального способа повторно использовать артефакты TLS из Secrets Manager от Mule Apps. Я просто хотел представить архитектуру, в которой мы повторно используем их, добавляя прокси, которые используют доступность Sercrts Manager к входу RTF. Просто создайте прокси для исходящих подключений и систематически запускайте исходящие tls-соединения, отправляя через эти прокси - person abtimo; 26.02.2021
comment
спасибо, это очень полезный комментарий, но он не может быть применен к исходящему трафику https только для входящих подключений, которыми также должны управлять rtf и диспетчер секретов ... Таким образом, решение заключается в реализации планировщика в каждом приложении mule, которое загружает доверенные хранилища и хранит ключи и периодически проверяет дату истечения срока действия, а затем отправляет сообщение об этом в журнале, которое, соответственно, генерирует предупреждение от мула ... Для этого требуется сохранить пароль в 2 местах, одно - это контекст tls, другое - это запланированная проверка Java - person abtimo; 26.02.2021