Kubernetes

Продукт
Разработчики: Cloud Native Computing Foundation
Дата премьеры системы: июнь 2014 г
Дата последнего релиза: март 2019 г
Отрасли: Информационные технологии
Технологии: Средства разработки приложений

Содержание

Kubernetes — проект с открытым исходным кодом, предназначенный для управления кластером контейнеров Linux как единой системой. Kubernetes управляет и запускает контейнеры Docker на большом количестве хостов, а также обеспечивает совместное размещение и репликацию большого количества контейнеров. Проект был начат Google, а затем к нему подключились многие крупные ИТ-компании, включая Microsoft, Red Hat, IBM и Docker.

2019

HPE представила контейнерную платформу на базе Kubernetes

В ноябре 2019 года Hewlett Packard Enterprise (HPE) представила, как утверждает компания, первую на рынке контейнерную платформу корпоративного класса на базе Kubernetes. Решение получило название HPE Container Platform. Подробнее здесь.

Сила Open Sourсe: Как Kubernetes заставил VMware поменять архитектуру флагманского продукта

В ноябре 2019 года VMware объявила о выходе бета-версии своего нового проекта – Project Pacific, над которым компания работала около трех лет. Он предлагает набор средств для преобразования vSphere – флагманского продукта VMware – в нативную платформу для кластеров Kubernetes. Пока Project Pacific открыт для ограниченного круга заказчиков. Позже он должен стать доступен более широкому кругу клиентов, а затем - появиться в новых релизах vSphere. Подробнее здесь.

Поддержка Windows

В конце марта 2019 года вышла версия Kubernetes 1.14, в которая появилась полноценная поддержка Windows-контейнеров. Ранее такая функция была доступна только в тестовом режиме.

«
Kubernetes теперь официально поддерживает добавление узлов Windows в качестве рабочих узлов и планирование контейнеров Windows, что позволяет обширной экосистеме Windows-приложений использовать возможности нашей платформы, — говорится в сообщении разработчиков Kubernetes.
»

В платформе для приложений Kubernetes появилась поддержка Windows

Благодаря нововведению компаниям, у которых приложения работают и в Linux, и в Windows, больше не нужно устанавливать и управлять отдельными оркестраторами для управления рабочими нагрузками. До сих пор проект был ориентирован только на Linux.

В Red Hat назвали официальную поддержку Windows «кульминацией огромного объема работы за последний год».

Помимо поддержки Windows-узлов, платформа для автоматизации развертывания, масштабирования и управления контейнеризированными приложениями получили еще примерно три десятка новых возможностей. Среди наиболее важных стоит отметить то, что динамические отказоустойчивые кластеры Kubernetes теперь можно создавать с помощью привычных (в контексте кластеров с одним узлом) команд kubeadm (init и join). Другие изменения:

  • Для Windows-инсталляций появилась альфа-версия поддержки gMSA (Group Managed Service Account) — специальных учётных записей в Active Directory, которые могут использоваться и контейнерами.

  • Официальная поддержка CoreDNS

  • Поддержка больших страниц 

  • Обновились логотип kubectl и его документация 

  • kubectl научили копировать файлы, выбираемые с помощью wild card.

Kubernetes остается одним из самых популярных проектов на GitHub, у которого насчитывается более 6500 участников (на конец марта 2019 года). Популярность платформы обусловлена растущим интересом компаний к микросервисной архитектуре. На фоне высокого спроса поддержка Windows была делом времени.[1]

2018

Эксплоиты для уязвимости в Kubernetes

11 декабря 2018 года Securitylab сообщил, что новость о недавно обнаруженной уязвимости в Kubernetes серьезно всколыхнула ИБ-сообщество. На 11 декабря 2018 года появился уже целый ряд демо-эксплоитов для нее в совокупности с доступными инструкциями.

Уязвимость позволяет неавторизованному пользователю повысить свои привилегии и запускать команды для получения полного контроля над узлом. С помощью особым образом сконфигурированных запросов атакующий может установить связь с конечным сервером через сервер Kubernetes API. Настройки системы по умолчанию позволяют любому пользователю, как авторизованному, так и неавторизованному, отправлять запросы на обнаружение API, что существенно облегчает задачу злоумышленникам.

Исправление для уязвимости существует, однако, как отметил исследователь из Twistlock Ариэль Зеливански (Ariel Zelivansky), его «невозможно применить без того, чтобы не сломать что-то в кластере». Единственный надежный способ защититься от атак – обновить Kubernetes до версии 1.10.11, 1.11.5, 1.12.3 или 1.13.0-rc.1.

Вскоре после обнаружения уязвимости Зеливански написал простой скрипт на Ruby для атаки на агрегатор metrics-server, используемый для мониторинга ресурсов ЦП и RAM контейнера (metrics-server использует функцию расширений для сервера API). В опубликованном им видео показано, как эксплоит позволяет получить информацию о модулях из всех пространств имен в кластере. Скрипт может быть выполнен из любого модуля и работает при условии развертывания metrics-server и дефолтной конфигурации.

5 декабря, всего через два дня после раскрытия уязвимости, свой PoC-эксплоит опубликовала на GitHub компания Gravitational. Инструмент представляет собой утилиту для проверки наличия уязвимости в кластере Kubernetes. Однако, как предупредили разработчики, утилита может выдавать «некорректные результаты при определенных обстоятельствах».

Третий эксплоит был представлен пользователем Twitter под псевдонимом Vincent. Изначально с его помощью неавторизованный пользователь мог похитить информацию из модуля etcd-kubernetes, где по умолчанию хранятся критически важные данные[2].

Первая серьезная уязвимость

В декабре 2018 года стало известно о первой серьезной уязвимости Kubernetes. Поскольку эта платформа оркестровки контейнеров стала популярной, появление «дыр» в ее защите был делом времени, отмечает портал ZDNet.

Серьезность уязвимости, получившей обозначение CVE-2018-1002105, была оценена 9,8 баллов из 10 возможных по шкале CVSS. Используя эту брешь, хакеры могли установить соединение с API внутреннего сервера (backend) при помощи специально подготовленного сетевого запроса, а затем отправлять произвольные запросы самому бэкэнду. Уязвимые установки Kubernetes позволяли проделать все это, используя учетные данные TLS для API-сервера. Об этой проблеме сообщили в компании Rancher Labs, предлагающей решение вида «Kubernetes как услуга» (Kubernetes-as-a-Service).

В Kubernetes найдена первая серьезная уязвимость

По словам экспертов, неавторизованные запросы через установленное соединение неотличимы от авторизованных в серверных журналах, поэтому не существует простого способа проверки: использует ли кто-то эту уязвимость. Через нее можно внедрять вредоносный код или красть конфиденциальные данные, а также подрывать работу приложений и служб предприятий, защищенных брандмауэром.

Для устранения необходимо обновить Kubernetes до версий 1.10.11, 1.11.5, 1.12.3 и 1.13.0 или хотя бы блокировать анонимный доступ к API при помощи опции anonymous-auth=false, а также аннулировать права на выполнение операций exec/attach/portforward.[3]

Примечания



ПРОЕКТЫ (1) ИНТЕГРАТОРЫ (1) РЕШЕНИЕ НА БАЗЕ (2)
СМ. ТАКЖЕ (94)


Подрядчики-лидеры по количеству проектов

За всю историю
2017 год
2018 год
2019 год
Текущий год

Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров

За всю историю
2017 год
2018 год
2019 год
Текущий год

  Oracle (3, 4)
  IBM (2, 3)
  Диасофт (Diasoft) (2, 2)
  Abbyy Россия (Аби) (2, 2)
  Haulmont (Хоулмонт) (2, 2)
  Другие (14, 16)

Распределение базовых систем по количеству проектов, включая партнерские решения

За всю историю
2017 год
2018 год
2019 год
Текущий год

  CUBA.platform - 2 (1, 1)
  Hyperledger Fabric - 2 (2, 0)
  IBM API Connect - 2 (2, 0)
  Java - 2 (2, 0)
  Diasoft MeNext - 2 (1, 1)
  Другие 18

  Apache Spark - 2 (2, 0)
  ABBYY FineReader Engine - 1 (1, 0)
  Microsoft.NET Framework - 1 (1, 0)
  Nvidia Isaac - 1 (1, 0)
  АК БАРС Банк: API - 1 (1, 0)
  Другие 4