Безопасность кластеров и приложений
Ознакомьтесь с основами безопасности Kubernetes и рекомендациями по безопасной настройке кластеров и приложений. Безопасность Kubernetes важна в течение всего жизненного цикла контейнеров из-за распределенной, динамической природы кластера Kubernetes. Приложение безопасно лишь настолько, насколько безопасно самое слабое звено в цепочке служб, образующих приложение.
Планирование, обучение и подтверждение
Когда вы приступите к работе, контрольный список по основам безопасности и ресурсы по безопасности Kubernetes, приведенные ниже, помогут вам спланировать операции в кластере и безопасность приложений. В конце этого раздела вы сможете ответить на следующие вопросы:
- Была при проверена модель безопасности и угроз для кластеров Kubernetes?
- Включено ли в кластере управление доступом на основе ролей Kubernetes?
Контрольный список безопасности:
Ознакомьтесь с документом об основах безопасности. Основными целями безопасной среды Kubernetes являются обеспечение безопасности выполняемых приложений, быстрое выявление и решение проблем с безопасностью, а также предотвращение аналогичных проблем в будущем. Дополнительные сведения см. в документе
The Definitive Guide to Securing Kubernetes
.Проверьте конфигурацию безопасности узлов кластера. Усиление защиты ОС узла сокращает контактную зону атаки и позволяет безопасно развертывать контейнеры. Дополнительные сведения см. в статье Усиление безопасности на узлах виртуальных машин AKS.
Настройте управление доступом на основе ролей Kubernetes (Kubernetes RBAC). Этот механизм управления позволяет назначить пользователям или группам пользователей разрешение на выполнение каких-либо действий. Это может быть создание или изменение ресурсов, просмотр журналов выполнения рабочих нагрузок приложений и т. п.
Дополнительные сведения доступны здесь.
Развертывание в рабочей среде и применение рекомендаций по обеспечению безопасности Kubernetes
При подготовке приложения для рабочей среды выполните минимальный набор рекомендаций. Используйте на этом этапе следующий контрольный список. В конце этого раздела вы сможете ответить на следующие вопросы:
- Настроены ли правила безопасности сети для входящего, исходящего и внутреннего трафика?
- Настроено ли в кластере автоматическое применение обновлений для системы безопасности узлов?
- Используется ли решение для проверки безопасности служб кластера и контейнеров?
Контрольный список безопасности:
Управляйте доступом к кластерам с помощью членства в группах. Настройте управление доступом на основе ролей Kubernetes (Kubernetes RBAC), чтобы ограничить доступ к ресурсам кластера на основе удостоверения пользователя или членства в группе. Дополнительные сведения см. в разделе "Управление доступом к ресурсам кластера" с помощью RBAC Kubernetes и удостоверений Microsoft Entra.
Создайте политику управления секретами. Развертывайте конфиденциальные сведения, такие как пароли и сертификаты, безопасным образом и управляйте ими с помощью системы управления секретами в Kubernetes. Чтобы получить дополнительные сведения, просмотрите видео Основные сведения об управлении секретами в Kubernetes.
Защитите сетевой трафик внутри модуля pod с помощью политик сети. Примените принцип наименьших привилегий для управления потоком сетевого трафика между модулями pod в кластере. Дополнительные сведения см. в статье Защита трафика внутри модуля pod с помощью политик сети.
Ограничьте доступ к серверу API с помощью авторизованных IP-адресов. Повысьте безопасность кластера и сократите уязвимую зону, ограничив доступ к серверу API ограниченным набором диапазонов IP-адресов. Дополнительные сведения см. в статье Безопасный доступ к серверу API.
Ограничьте исходящий трафик кластера. Узнайте, какие порты и адреса нужно разрешить при ограничении исходящего трафика для кластера. Для защиты исходящего трафика и настройки исключений для обязательных портов и адресов вы можете использовать Брандмауэр Azure или средства сторонних производителей. Дополнительные сведения см. в статье Управление исходящим трафиком для узлов кластера в AKS.
Защитите трафик с помощью Брандмауэра веб-приложений (WAF). Используйте Шлюз приложений Azure в качестве контроллера объекта ingress для кластеров Kubernetes. Дополнительные сведения см. в статье Настройка Шлюза приложений Azure в качестве контроллера объекта ingress.
Примените обновления системы безопасности и ядра к рабочим узлам. Ознакомьтесь со сведениями об обновлении узлов AKS. Для защиты кластеров обновления безопасности автоматически применяются к их узлам Linux в службе AKS. Учитываются такие обновления, как исправления безопасности для операционной системы и обновления ядра. Чтобы завершить установку некоторых обновлений, нужно перезагрузить узел. Дополнительные сведения см. в статье Использование kured для автоматической перезагрузки узлов с целью применения обновлений.
Настройте решение для сканирования контейнеров и кластеров. Проверяйте контейнеры, переданные в Реестр контейнеров Azure, и получайте более глубокое представление об узлах кластера, облачном трафике и средствах управления безопасностью.
Дополнительные сведения см. в разделе:
Оптимизация и масштабирование
Как после развертывания приложения в рабочей среде можно оптимизировать рабочий процесс и подготовить приложение и команду к масштабированию? Для подготовки используйте контрольный список для оптимизации и масштабирования. В конце этого раздела вы сможете ответить на следующий вопрос:
- Можно ли применить политики управления и политики кластера в требуемом масштабе?
Контрольный список безопасности:
Примените политики управления кластерами. Централизованно назначайте согласованные правила и меры безопасности для кластеров в нужном масштабе. Дополнительные сведения см. в статье Управление развертываниями с помощью Политики Azure.
Периодически сменяйте сертификаты кластера. Kubernetes использует сертификаты для проверки подлинности множества своих компонентов. Может потребоваться периодическая смена этих сертификатов по соображениям безопасности или в соответствии с требованиями политики. Дополнительные сведения см. в статье Ротация сертификатов в Службе Azure Kubernetes (AKS).