Включение взаимной Transport Layer Security
Alauda Service Mesh поддерживает настройку защищённого взаимодействия между сервисами с использованием взаимной Transport Layer Security (mTLS) — протокола, обеспечивающего взаимную аутентификацию между клиентами и серверами сервисов.
Содержание
О взаимной Transport Layer Security (mTLS)Включение строгого режима mTLS с помощью namespaceВключение строгого режима mTLS для всего service meshПроверка шифрования с помощью KialiО взаимной Transport Layer Security (mTLS)
В Alauda Service Mesh параметры mTLS можно настроить с помощью ресурса Istio.
Режим STRICT mTLS настраивается с помощью ресурсов PeerAuthentication и DestinationRule.
Изучите следующие ресурсы и концепции Istio для правильной настройки параметров mTLS:
-
PeerAuthentication
Определяет режим mTLS, принимаемый sidecar-прокси.PERMISSIVE: Принимает как незашифрованный, так и mTLS-трафик.STRICT: Принимается только mTLS-трафик.
-
DestinationRule
Определяет режим TLS, используемый для трафика, отправляемого sidecar-прокси.DISABLE: Отправляет незашифрованный трафик.SIMPLE,MUTUAL,ISTIO_MUTUAL: Отправляет трафик с использованием TLS.
-
Auto mTLS
Автоматически включает mTLS для межсетевого взаимодействия независимо от режимаPeerAuthentication. Эта функция управляется полемenableAutoMtlsв конфигурации mesh и включена по умолчанию.
Auto mTLS работает на уровне прокси и не требует изменений в коде приложений.
По умолчанию PeerAuthentication установлен в режим PERMISSIVE, что позволяет sidecar в Service Mesh принимать как незашифрованный, так и mTLS-зашифрованный трафик.
Включение строгого режима mTLS с помощью namespace
Вы можете применить строгий режим mTLS ко всем рабочим нагрузкам в конкретном namespace, применив политику PeerAuthentication.
Пример политики PeerAuthentication для namespace
- Укажите
<namespace>, для которого применяется режимSTRICTmTLS.
Вы можете включить mTLS для всех целевых хостов в <namespace>, создав ресурс DestinationRule с режимом MUTUAL или ISTIO_MUTUAL, если auto mTLS отключён и PeerAuthentication установлен в режим STRICT.
Пример политики DestinationRule для namespace
Включение строгого режима mTLS для всего service mesh
Вы можете применить строгий режим mTLS на уровне всего кластера, применив политику PeerAuthentication в namespace управляющей плоскости (например, istio-system). Namespace должен совпадать со значением поля spec.namespace в ресурсе Istio.
Пример политики PeerAuthentication для всего mesh
Кроме того, создайте ресурс DestinationRule, чтобы отключить mTLS для связи с API-сервером, так как у него нет sidecar. Аналогичные конфигурации DestinationRule применяйте для других сервисов без sidecar.
Пример политики DestinationRule для всего mesh
Проверка шифрования с помощью Kiali
Консоль Kiali предоставляет несколько способов проверить, включено ли шифрование mTLS для ваших приложений, сервисов и рабочих нагрузок.
- Перейдите на страницу Services Detail Overview.
- На ребрах графа, где активен mTLS, отображается иконка замка.
- В разделе Network интерфейса порты с включённым mTLS также отмечены иконкой замка.