С очередным релизом Kubernetes, как всегда, появилось множество новых функций, которые стоит рассмотреть. К ним относятся возможности, помогающие компаниям безопасно использовать контейнеры Windows, и улучшения безопасности в цепочках поставок Kubernetes. В этом посте мы рассмотрим некоторые из наиболее важных функций этого выпуска.
Отказ от Dockershim
Несомненно, самым значительным изменением в этом выпуске Kubernetes является удаление Dockershim. Это устаревшая часть Kubernetes, обеспечивающая прямую поддержку Docker в качестве среды выполнения контейнера, которая была необходима до того, как интерфейс среды выполнения контейнера (container runtime interface, CRI) стал стандартизированным.
Удаление повлияет на кластеры, использующие Docker в качестве среды выполнения контейнера, но не на кластеры, использующие другие распространенные CRI, такие как Containerd и CRI-O. Примечательно, что три основных управляемых дистрибутива Kubernetes, GKE, AKS и EKS, уже некоторое время используют Containerd для новых кластеров, поэтому это, скорее всего, затронет только старые кластеры.
Если это оказывает влияние на кластер, у вас есть несколько вариантов. Одним из них является использование CRI-Dockerd, разработанный Mirantis, что, например, делает Docker для своего продукта Docker Desktop. Другой вариант — перенести кластер на один из доступных альтернативных вариантов CRI.
Проект Kubernetes поддерживает страницу документации с дополнительной информацией по этой теме.
Подписание артефактов Kubernetes
Одно полезное изменение для компаний, загружающих артефакты Kubernetes напрямую из репозиториев проектов Kubernetes, заключается в том, что начиная с релиза 1.24 они будут подписываться с помощью Cosign, что позволит пользователям проверять целостность и подлинность артефактов. Чтобы процессы безопасности, такие как цифровая подпись, были эффективными и надежными, они должны быть широко распространены. Нет особого смысла проверять только 5% программного обеспечения, которое вы потребляете, поэтому позитивно видеть, что проект Kubernetes добавляет эту функциональность.
Сокращение токенов сервисных учетных записей на основе секретов
В рамках мер по повышению безопасности токенов учетных записей служб сокращение их количества на основе секретов переходит в бета-версию версии 1.24. Традиционно в Kubernetes для этих учетных данных не устанавливается срок действия, поэтому они остаются действительными в течение всего срока службы УЗ сервиса. Это может представлять угрозу безопасности для кластеров, поскольку злоумышленник, получивший доступ к токену УЗ службы с высоким уровнем привилегий, может использовать его для сохранения доступа к кластеру.
Kubernetes переходит на лучшую систему с недолговечными токенами, и эта функция будет способствовать удалению старой системы, основанной на секретах.
Идентификация подов Windows при API-допуске
Идентификация подов Windows на уровне API-допуска будет полезной функцией для операторов кластеров, использующих контейнеры Windows. По сути, это делает операционную систему контейнера видимой для контроллеров допуска, что позволит им применять различные политики безопасности в зависимости от используемой операционной системы. Это важно, поскольку Linux и Windows поддерживают разные наборы настроек контекста безопасности. С этим изменением можно будет создавать лучшие политики безопасности для кластеров Kubernetes.
Бета-функции отключены по умолчанию
Это не изменение кода, но оно повлияет на внедрение новых функций в будущих выпусках Kubernetes. До сих пор политика Kubernetes заключалась в том, чтобы альфа-функции были отключены по умолчанию, а бета-функции включены по умолчанию. Это привело к широкому использованию функций, API которых могут измениться до того, как они будут выпущены.
Хотя полезно получать ранние отзывы о новых функциях, такой подход создает возможные проблемы со стабильностью и сложностью. В связи с этим было принято решение, что в будущих выпусках все функции, находящиеся в стадии бета-тестирования, будут отключены по умолчанию. В неуправляемом кластере Kubernetes операторы могут включить бета-функции, передав флаги API-серверу Kubernetes. Однако в управляемых дистрибутивах поставщик будет решать, какие бета-функции включены, если таковые имеются.
Выводы
Этот новый релиз Kubernetes содержит некоторые изменения, которые потребуют тщательного изучения, особенно Dockershim, чтобы гарантировать, что обновления будут плавными и не вызовут никаких проблем в работе. Также приятно видеть постоянный прогресс в улучшении уровня безопасности Kubernetes по умолчанию, что делает новые кластеры более безопасными для операторов и пользователей.
Как защищать кластеры Kubernetes?
Aqua Security — крупнейшая компания, занимающаяся исключительно облачной безопасностью и защитой контейнеризации, и предоставляющая клиентам свободу для инноваций и ускорения цифровых преобразований. Платформа Aqua обеспечивает автоматизацию предотвращения, обнаружения и реагирования на протяжении всего жизненного цикла приложения для защиты сборки, облачной инфраструктуры и безопасных рабочих нагрузок, где бы они ни были развернуты.
Среди клиентов Aqua крупнейших в мире предприятия в сфере финансовых услуг, разработки ПО, средств массовой информации, производства и розничной торговли, с внедрением в широком диапазоне от on-premise до облачных провайдеров и современных технологических стеков, охватывающих контейнеры, бессерверные функции и облачные виртуальные машины.
Узнайте больше, закажите демо или тестирование платформы Aqua Security по этой ссылке.