Продолжая тему атаки на цепочку поставок (
Автор пытается ответить на вопрос как можно обнаружить неизвестные уязвимости (
Предложенные идеи достаточно очевидные и очень простые. Обход рукописных правил
Мое виденье, что спасением здесь будет полное понимание нормального поведения вашего приложения (взаимодействие процессов, файловые операции и сетевые). Так или иначе образ собирается и тестируется на
supply chain), рекомендую обратить свое внимание на статью "Detecting zero days in software supply chain with static and dynamic analysis".Автор пытается ответить на вопрос как можно обнаружить неизвестные уязвимости (
0day) в пакетах и пакеты с backdoor'ами. И для статического обнаружения он предлагает использовать инструмент semgrep, а для динамического какой-либо трассировщик системных вызовов на базе eBPF, ptrace, strace и т.д.Предложенные идеи достаточно очевидные и очень простые. Обход рукописных правил
semgrep вообще не проблема - тут еще надо знать, что искать вообще. Относительно динамического детектирования лучше, но где уверенность что эта функциональность сработает на страте приложения?! Атакующий может знать примерное время работы контейнера и его код срабатывать по таймеру. А если срок жизни малый (статистика показывает, что таких сервисов хватает), то конечно, его код должен отработать в начале.Мое виденье, что спасением здесь будет полное понимание нормального поведения вашего приложения (взаимодействие процессов, файловые операции и сетевые). Так или иначе образ собирается и тестируется на
DEV, TEST, STAGE и уже далее PROD кластере. За это время тестов можно и понять нормальное поведение и аномальное.Telegram
k8s (in)security
В связи с нашумевшей атакой на SolarWinds очень остро стал вопрос с атаками на цепочку поставок (supply chain).
Давайте повернем это все в наш контекст - контекст приложений для Kubernetes. Что мы имеем:
1) Open Source код - а кто его сегодня не использует?…
Давайте повернем это все в наш контекст - контекст приложений для Kubernetes. Что мы имеем:
1) Open Source код - а кто его сегодня не использует?…
kubeaudit - разработка компании
Что и как проверять задается через конфигурационный файл.
Есть 3 режима:
1.
2.
3.
В
Найденные проблемы имеют 3 уровня важности:
Формат вывода в
Shopify, призванная помочь в аудите Kubernetes кластеров на предмет использования общих механизмов безопасности. Основная задача убедиться, что вы запускаете защищенные контейнеры в кластере. Что и как проверять задается через конфигурационный файл.
Есть 3 режима:
1.
Manifest mode: Аудит YAML файла ресурса2.
Local mode: Аудит ресурсов локально (для подключения использует kubeconfig)3.
Cluster mode: Аудит ресурсов из кластера (запущен внутри контейнера кластера)В
Manifest mode, инструмент может автоматически исправлять недостатки или в соответствии с вашими собственными правилами.Найденные проблемы имеют 3 уровня важности:
Error, Warning и Info. При этом можно гибко настраивать для каких контейнеров или подов какой уровень важности будет применяться.Формат вывода в
CLI режиме можно регулировать ("pretty", "logrus", "json"), но мне лично больше понравилось использовать данный проект как Go package и самостоятельно определять, как и что будетПоявилась новость о новой вредоносной компании направленной на
По оценке исследователей безопасности данная атака еще не имеет широкого распространения и находится только в стадии разработки/подготовки. Из интересного, вредоносный код несет с собой два OpenSource инструмента для поднятия привилегий и побега из контейнера: Peirates и BOtB.
По моей оценке:
1) Если у вас
2) Если вы видите и знаете, что у вас происходит внутри контейнеров, то такое поведение нельзя не заметить.
Kubernetes от небезызвестной группы TeamTNT. Начальный доступ получается через неправильную конфигурацию kubelet, позволяющую анонимный доступ. Так злоумышленники через kubelet API попадают в первый контейнер, который находится под управлением найденного kubelet и загружают туда вспомогательные инструменты. Далее уже вредоносный код (Hildegard) пытается как можно в большем количестве найти контейнеров в кластере и запустить через kubelet API в них майнеры.По оценке исследователей безопасности данная атака еще не имеет широкого распространения и находится только в стадии разработки/подготовки. Из интересного, вредоносный код несет с собой два OpenSource инструмента для поднятия привилегий и побега из контейнера: Peirates и BOtB.
По моей оценке:
1) Если у вас
kubelet торчит в интернет, то это game over.2) Если вы видите и знаете, что у вас происходит внутри контейнеров, то такое поведение нельзя не заметить.
Unit 42
Hildegard: New TeamTNT Cryptojacking Malware Targeting Kubernetes
Hildegard is a new malware campaign believed to originate from TeamTNT. It targets Kubernetes clusters and launches cryptojacking operations.
В России начинают возвращаться оффлайн мероприятия! И 10 февраля в Москве на международном форуме iFin-2021 (для банковского сектора) в секции (с очень пафосным названием) «ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ BIG DATA, AI, ОБЛАКОВ, OPEN API, РОБОТИЗАЦИИ, БИОМЕТРИИ, БЛОКЧЕЙНА В ФИНАНСОВОМ СЕКТОРЕ» я расскажу доклад "Kubernetеs: Незнание своей системы – злейший враг".
Описание доклада:
Буду очень рад как живому общению, так и вопросам по теме на самом мероприятии)
Описание доклада:
С переходом на микро сервисную архитектуру бизнес получил много преимуществ, но также и много новых вызовов. Большое количество взаимодействующих контейнеров в Kubernetes не только дают возможность гибкого, быстрого развития и масштабирования, но и ставят вопрос о то, как за этим наблюдать и контролировать, чтобы не разработчики не сломали, и злоумышленники не остались не замеченными. Незнание о происходящем в вашей инфраструктуре порождает отличные возможности как для сбоев, так и действий атакующих.
За основу для названия доклада я взял цитату известного специалиста по ИБ Bruce Schneier: “Complexity is the worst enemy of security, and our systems are getting more complex all the time.”Буду очень рад как живому общению, так и вопросам по теме на самом мероприятии)
forumifin.ru
Программа | Электронные финансовые услуги и технологии 2026 iFin-2026
iFin-2026, 3-4 февраля 2026 года, Москва, гостиница Рэдиссон Славянская
На прошлой неделе удалось посмотреть трансляцию доклада "HashiCorp Vault в k8s" на площадке DevOps Novosibirsk. Я не специалист по решению от
В рамках Q&A часто упоминался предыдущий доклад автора "Hashicorp Vault и как его готовить для разных команд". Для полной картины по работе с
Как всегда, стоит помнить то, что отлично работает в одной компании, может не заходить у вас и к выбору технологий стоит подходить очень внимательно. При этом технологии активно развиваются и как говорит сам автор в рамках доклада, что, когда они внедряли у себя, некоторых фичей вообще не было в том же
HashiCorp и доклад для меня был полезным. В нем рассказывается о нескольких возможных подходах для работы с секретами, их плюсы и минусы. Для нетерпеливых, в итоге внутри компании докладчика остановились на проекте bank-vaults, который работает через MutatingAdmissionWebhook. Одним из важных критериев при выборе подхода играло соответствие 12 факторам. В рамках Q&A часто упоминался предыдущий доклад автора "Hashicorp Vault и как его готовить для разных команд". Для полной картины по работе с
Vault его также рекомендуется посмотреть. После трансляции была интересная дискуссия про backup Vault (в записи ее нет) и работы с ним при необходимости. Актуальная проблема/задача особенно в рамках больших компаний.Как всегда, стоит помнить то, что отлично работает в одной компании, может не заходить у вас и к выбору технологий стоит подходить очень внимательно. При этом технологии активно развиваются и как говорит сам автор в рамках доклада, что, когда они внедряли у себя, некоторых фичей вообще не было в том же
Vault.YouTube
HashiCorp Vault в k8s
Kubernetes Failure Stories - очень классная компиляция публичных историй о сбоях/отказах/проблемах в
Безопасность и надежность вещи очень взаимосвязанные ;)
Kubernetes инфраструктурах. Истории связаны как с основными компонентами Kubernetes, так и со сторонними. При этом для каждого случая сразу выделено: involved - какие компоненты были замешаны и impact - к каким последствиям привело. Можно быстро и просто найти возможно похожую проблему, с которой столкнулись непосредственно вы или избежать подобных проблем в будущем.Безопасность и надежность вещи очень взаимосвязанные ;)
Смотрел вчера круглый стол «Нужно ли разработчику знать Kubernetes».
Участники в процессе этого пытались ответить на вопросы:
- В какой момент компания должна понять, что им необходим k8s?
- Какие зоны ответственности разработчиков и DevOps-ов при работе над проектом в Kubernetes?
- Что такое "знать Kubernetes"?
- В какой момент стоит задаться вопросом о необходимости умения использовать Kubernetes среднестатистическим разработчиком?
- Зачем перегружать разработчика инфой, когда можно просто дать ему кнопку?
Сразу скажу, что, к сожалению, порой обсуждение уходило совсем в другие темы и прыгали между ними. В конце, круглого стола поднимался вопрос и безопасности - отдельно выделю этот небольшой фрагмент.
Мое мнение по данной теме напишу в отдельном посте.
Участники в процессе этого пытались ответить на вопросы:
- В какой момент компания должна понять, что им необходим k8s?
- Какие зоны ответственности разработчиков и DevOps-ов при работе над проектом в Kubernetes?
- Что такое "знать Kubernetes"?
- В какой момент стоит задаться вопросом о необходимости умения использовать Kubernetes среднестатистическим разработчиком?
- Зачем перегружать разработчика инфой, когда можно просто дать ему кнопку?
Сразу скажу, что, к сожалению, порой обсуждение уходило совсем в другие темы и прыгали между ними. В конце, круглого стола поднимался вопрос и безопасности - отдельно выделю этот небольшой фрагмент.
Мое мнение по данной теме напишу в отдельном посте.
YouTube
Круглый стол «Нужно ли разработчику знать Kubernetes»
Обсудим, что должен знать о кластере Kubernetes разработчик, какие задачи и кто должен решать в кластере, и как уменьшить количество ресурсов необходимых для перехода на k8s.
Спикеры:
Марсель Ибраев, СТО Слёрм
Сергей Бондарев, Архитектор в Southbridge
Павел…
Спикеры:
Марсель Ибраев, СТО Слёрм
Сергей Бондарев, Архитектор в Southbridge
Павел…
Одним из вариантов для развития атаки (
Также очень важный момент, что это как правило сторонние инфраструктурные разработки и мало кто разбираются как они устроены - выполняют свою задачу, да и ладно. Но при этом они очень сильно влияю на ландшафт угроз и могут принести вред всей инфраструктуре. Не забывайте отслеживать и контролировать такие сервисы в своей инфраструктуре.
lateral movement) для атакующего в Kubernetes это поиск хорошего сервис аккаунта. Не поверите, но порой можно встретить прям вариант с God account. Этим как правило отличаются GitOps operator'ы, такие как Flux, ArgoCD и подобные. На скринах вы видите их ClusterRole. Важно понимать, что они тут только для примера и дело ими совсем не ограничивается!Также очень важный момент, что это как правило сторонние инфраструктурные разработки и мало кто разбираются как они устроены - выполняют свою задачу, да и ладно. Но при этом они очень сильно влияю на ландшафт угроз и могут принести вред всей инфраструктуре. Не забывайте отслеживать и контролировать такие сервисы в своей инфраструктуре.
Выскажусь на тему одного из прошлых постов «Нужно ли разработчику знать Kubernetes». Как показывает мой опыт общения с компаниями у которых уже используется
В каких-то компаниях уже выстроены зрелые процессы (их перестраивание не простое дело), и они могут позволить (или вынуждены) себе специалиста под определенную задачу и там разработчик может совсем ничего не знать про
В других компаниях можно наблюдать другую картина - там разработчики могут и сами свой сервис оформлять, выкатывать, отлаживать в кластере и отвечать за него в проде.
В том и том варианте есть как свои плюсы, так и минусы. Нужно иметь ввиду что это также отражается и на безопасности: обнаружение проблем, исправление проблем, мониторинг безопасности приложения и т.д.
Kubernetes все зависит от возможностей компании и ее процессов. И, по сути, кто-то идет по пути специализация, а кто-то диверсификации.В каких-то компаниях уже выстроены зрелые процессы (их перестраивание не простое дело), и они могут позволить (или вынуждены) себе специалиста под определенную задачу и там разработчик может совсем ничего не знать про
Kubernetes. В других компаниях можно наблюдать другую картина - там разработчики могут и сами свой сервис оформлять, выкатывать, отлаживать в кластере и отвечать за него в проде.
В том и том варианте есть как свои плюсы, так и минусы. Нужно иметь ввиду что это также отражается и на безопасности: обнаружение проблем, исправление проблем, мониторинг безопасности приложения и т.д.
Telegram
k8s (in)security
Смотрел вчера круглый стол «Нужно ли разработчику знать Kubernetes».
Участники в процессе этого пытались ответить на вопросы:
- В какой момент компания должна понять, что им необходим k8s?
- Какие зоны ответственности разработчиков и DevOps-ов при работе…
Участники в процессе этого пытались ответить на вопросы:
- В какой момент компания должна понять, что им необходим k8s?
- Какие зоны ответственности разработчиков и DevOps-ов при работе…
Очень классная исследовательская работа "Docker image history modification - why you can't trust `docker history`". Общая идея статьи показать, что история образа это всего лишь
Отдельное внимание уделяется инструменту от
Для корректного подтверждения подлинность образов
Я лично не знаю кто-либо использовал сравнение истории для определения аутентичности образов, но мало ли кто думал в этом направлении...
meatadata, которая также может быть изменена/подделана и не надо ей слепо доверять. И тут опять плавно возвращаемся к supply chain атакам.Отдельное внимание уделяется инструменту от
Google под названием container-diff. А потом демонстрируется (почти пошаговая инструкция) как можно подделать историю и данный инструмент не найдет отличий.Для корректного подтверждения подлинность образов
Docker, которые вы создаете или используете, лучше использовать их подпись (в Docker есть Docker Content Trust (DCT), а в Kubernetes, на пример, Notary в pipeline), а не данную metadata.Я лично не знаю кто-либо использовал сравнение истории для определения аутентичности образов, но мало ли кто думал в этом направлении...
justinsteven
Docker image history modification - why you can't trust `docker history`
👍1
Для тех, кто разбирается с проблемами работоспособности, возникающими с
Для этого на этот (да и на любой) может помочь исходный код ;) В данном файле собраны все (и это не правда)
Можно обратить внимание, что
workloads в Kubernetes такой ресурс как Events хорошо знаком (если забыли, то вспомните нижнюю часть вывода команды describe). Он очень полезен при решении проблем, но время от времени можно задаться вопросом, а какие они вообще бывают и о чем могут сообщить, предупредить ... Для этого на этот (да и на любой) может помочь исходный код ;) В данном файле собраны все (и это не правда)
Events с группировкой по категориям Container, Pod, Image, kubelet и других более мелких групп. К сожалению, там все-таки собрано не все — вот, на пример, событие Evicted описано в другом файле и сколько таких еще - не известно.Можно обратить внимание, что
Events относящихся к безопасности нет (по крайней мере в этом списке и я таких не знаю). Но было бы круто если бы они там появились — это прекрасное место для уведомления о runtime угрозах. При этот на сколько я понимаю сторонние решения могут взять это на себя и генерировать подобные сообщения, имея права работы с Events ресурсами.GitHub
kubernetes/pkg/kubelet/events/event.go at master · kubernetes/kubernetes
Production-Grade Container Scheduling and Management - kubernetes/kubernetes
Вернемся к теме «Нужно ли разработчику знать Kubernetes». Общаясь с компаниями, использующими
Команде, занимающейся ИБ, нужна так или иначе помощь тех же разработчиков. НО разумно можно задаться вопросом: а нужно ли это разработчикам вообще? В поисках, ответа на этот вопрос я набрел на очень интересную статью "Maximizing Developer Effectiveness", с которой рекомендую ознакомиться.
После прочтения я пришел к таким выводам: чем больше разработчик будет знать и понимать как об окружении (в нашем случае
Kubernetes (и не только), повсеместно наблюдаю такую картину, что специалистов по ИБ в разы меньше (естественно), чем людей, занятых в разработке и поддержки. А к этому еще летит большое количество правок, изменений и т.д в микросервисах. Контролировать, проверять, реагировать на все это небольшой команде очень тяжело ...Команде, занимающейся ИБ, нужна так или иначе помощь тех же разработчиков. НО разумно можно задаться вопросом: а нужно ли это разработчикам вообще? В поисках, ответа на этот вопрос я набрел на очень интересную статью "Maximizing Developer Effectiveness", с которой рекомендую ознакомиться.
После прочтения я пришел к таким выводам: чем больше разработчик будет знать и понимать как об окружении (в нашем случае
Kubernetes), так и о процессах других команд, которые на него могут повлиять (тот же отдел ИБ - сканерами, проверками), тем проще и быстрее он без посторонней помощи (сам в себе) может решать задачи. И на этом всем можно хорошо стоить как DevOps, так и DevSecOps культуру в рамках компании.Telegram
k8s (in)security
Выскажусь на тему одного из прошлых постов «Нужно ли разработчику знать Kubernetes». Как показывает мой опыт общения с компаниями у которых уже используется Kubernetes все зависит от возможностей компании и ее процессов. И, по сути, кто-то идет по пути специализация…
Forwarded from DevSecOps Talks
Привет!
Что общего у инструментации (instrumentation) и защиты контейнеров? На первый взгляд – ничего, но это только на первый ☺️
Про инструментацию очень мало статей на русском языке, а этот подход зачастую используется в интерактивных сканерах (Interactive Application Security Testing) и не только. Но интернет помнит! Есть статья 2013 года, в которой описаны такие вещи как:
🍭 Инструментация исходного кода
🍭 Инструментация байт-кода
🍭 Инструментация бинарного кода
🍭 Статическая бинарная инструментация
🍭 Динамическая бинарная инструментация
Скорее всего не все ссылки или указанные в статье инструменты доступны/поддерживаются. Но сам принцип, описанный в статье, остается!
Так при чем тут контейнеры? Все просто! Те, кто дочитают статью до конца увидят, что ее автор – D1g1 – основатель и бессменный лидер одного из лучших каналов по безопасности контейнеров - k8s (in)security 😊 Очень рекомендуем! Сами читаем и многое для себя узнаем!
👉 Ссылка на канал Дмитрия: https://news.1rj.ru/str/k8security
👉 Ссылка на статью Дмитрия: https://xakep.ru/2013/09/11/61232/
Что общего у инструментации (instrumentation) и защиты контейнеров? На первый взгляд – ничего, но это только на первый ☺️
Про инструментацию очень мало статей на русском языке, а этот подход зачастую используется в интерактивных сканерах (Interactive Application Security Testing) и не только. Но интернет помнит! Есть статья 2013 года, в которой описаны такие вещи как:
🍭 Инструментация исходного кода
🍭 Инструментация байт-кода
🍭 Инструментация бинарного кода
🍭 Статическая бинарная инструментация
🍭 Динамическая бинарная инструментация
Скорее всего не все ссылки или указанные в статье инструменты доступны/поддерживаются. Но сам принцип, описанный в статье, остается!
Так при чем тут контейнеры? Все просто! Те, кто дочитают статью до конца увидят, что ее автор – D1g1 – основатель и бессменный лидер одного из лучших каналов по безопасности контейнеров - k8s (in)security 😊 Очень рекомендуем! Сами читаем и многое для себя узнаем!
👉 Ссылка на канал Дмитрия: https://news.1rj.ru/str/k8security
👉 Ссылка на статью Дмитрия: https://xakep.ru/2013/09/11/61232/
Telegram
k8s (in)security
Канал о (не)безопасности Kubernetes + микросервисных, контейнеризированных приложений.
Ведет команда www.luntry.ru
Вопросы, идеи, предложения => @Qu3b3c
https://knd.gov.ru/license?id=673ddbc21039886b1d03b7ce®istryType=bloggersPermission
Ведет команда www.luntry.ru
Вопросы, идеи, предложения => @Qu3b3c
https://knd.gov.ru/license?id=673ddbc21039886b1d03b7ce®istryType=bloggersPermission
С марта к данному каналу подключатся два моих хороших товарища и мы постепенно начнём раскрывать тему безопасности managed Kubernetes. А именно Google Kubernetes Engine (GKE) и Amazon Elastic Kubernetes Service (EKS).
Возможно со временем рассмотрим и другие managed Kubernetes, но начнём с самых популярных, технически продвинутых (с точки зрения дополнительных сервисов и наработок как минимум) и где у нас уже есть определенная экспертиза.
Особое внимание, конечно, будет уделено Identity and Access Management (IAM) и другим особенностям характерным cloud provider’ам. Но также будем проводить сравнения, аналитику и анализ новостей, инструментов как для защиты, так и для атаки + свои мысли и идеи с проектов.
Если у вас есть какие-то идеи, предложения, пожелания, вопросы по данному направлению, то пишите в комментариях.
Возможно со временем рассмотрим и другие managed Kubernetes, но начнём с самых популярных, технически продвинутых (с точки зрения дополнительных сервисов и наработок как минимум) и где у нас уже есть определенная экспертиза.
Особое внимание, конечно, будет уделено Identity and Access Management (IAM) и другим особенностям характерным cloud provider’ам. Но также будем проводить сравнения, аналитику и анализ новостей, инструментов как для защиты, так и для атаки + свои мысли и идеи с проектов.
Если у вас есть какие-то идеи, предложения, пожелания, вопросы по данному направлению, то пишите в комментариях.
На канале также начнет появляться информацию о
В процессе разработки мы используем две бесплатные версии/модификации
- okd
- crc
Первый развернут на 5 нодах (3 мастера) и максимально приближен к оригинальному
Если вы захотите поизучать/поиграться с
RedHat OpenShift. Для разработки и тестирования у нас в лабе появилась и данная система - буду постепенно изучать и ее.В процессе разработки мы используем две бесплатные версии/модификации
OpenShift: - okd
- crc
Первый развернут на 5 нодах (3 мастера) и максимально приближен к оригинальному
RedHat OpenShift - на нем мы гоняем интеграционные, большие тесты. Второй более минималистичен (там нет мониторинга) развернут в несколько копий по 1 ноде - на них мы обычно гоняем быстрые, частые тесты. Если вы захотите поизучать/поиграться с
RedHat OpenShift - обратите внимание на эти дистрибутивы.okd.io
Kubernetes at Scale on any Infrastructure | OKD Kubernetes Platform
Bringing together 100+ components to provide comprehensive tooling for administrators and developers, we've made choices so you don't have to. Deploy in-cloud or on-prem and join a community embracing the latest in cloud emerging technologies.
Чтобы закрыть тему внутреннего тестирования и экспериментов в нашей команде - отвечу на вопрос что прилетал в личку. Как наша команда работает с
Для этого у нас есть внутренний инструмент, который в несколько кликов или через
На текущий момент можно выбрать:
-
-
-
-
-
И в ближайшее время добавится:
-
-
Это нам позволяет быстро тестировать наше решение, сторонние тулзы, проверять баги/уязвимости, проводить исследования и разные эксперименты на разных конфигурация.
Kubernetes?Для этого у нас есть внутренний инструмент, который в несколько кликов или через
CLI тулзу (она используется в CI\CD) поднимает Kubernetes кластер нужной конфигурации.На текущий момент можно выбрать:
-
foundation - выбор ОС для кластера (centos, debian, ubuntu, fedora, rhel)-
container_runtime - выбор container runtime (docker, containerd, crio)-
num_nodes - количество Node в кластере-
ttl - время жизни кластера-
kubernetes_version - версия Kubernetes (1.15-1.20)И в ближайшее время добавится:
-
cni - выбор сетевого плагина (calico, flannel, cilium, weave)-
service_mesh - при необходимости поставить сервисную сеть (istio, linkerd)Это нам позволяет быстро тестировать наше решение, сторонние тулзы, проверять баги/уязвимости, проводить исследования и разные эксперименты на разных конфигурация.
На прошлой неделе Google зарелизили GKE Autopilot. Это новый вид кластера в GKE, который подразумевает, что
А теперь к интересной нам части - что сделали с точки зрения безопасности
Nodes:
- Container optimized OS с заhardenin'ым ядром
- нет доступа к нодам - не видны в консоли, нет SSH
- Shielded GKE nodes
- Secure Boot
Runtime:
- priviledged mode убран
- ограниченные capabilities ("SETPCAP", "MKNOD", "AUDIT_WRITE", "CHOWN", "DAC_OVERRIDE", "FOWNER",
"FSETID", "KILL", "SETGID", "SETUID", "NET_BIND_SERVICE", "SYS_CHROOT", "SETFCAP"), отсутствует
- Seccomp профиль
- изменения в
-
- Workload Identity - SA внутри k8s работают, как облачный SA. Отсюда, нет завязки на SA из metadata API
Add-ons которые планируют добавить:
- Istio
- Confidential GKE Nodes
- Application-layer secrets encryption
- Binary authorisation
- RBAC Google Groups
- Network Policies
Из-за жестких runtime ограничений, большинство тулинга (логгинг, мониторинг, etc) не запустится на Autopilot. Но это обещают исправить. Предоставленная конфигурация позволяет избежать ряда атак на ваш кластер, но из-за этого он менее гибок (что так же верно и для
В целом, выглядит как то, что именно таким Kubernetes должен выглядеть by default. Если вас устраивает тулинг от Google Cloud в части логгинга и мониторинга, то Autopilot может стать хорошей заменой
data plane тоже управляется облаком. По сути, под собой это обвязка над Node Pools + Cluster Autoscaler + Admission Webhook, но теперь предоставляется SLA на поды 99.9%. У самого control plane SLA такой-же, как и у регионального кластера, что говорит о готовности решения для прода.А теперь к интересной нам части - что сделали с точки зрения безопасности
Nodes:
- Container optimized OS с заhardenin'ым ядром
- нет доступа к нодам - не видны в консоли, нет SSH
- Shielded GKE nodes
- Secure Boot
Runtime:
- priviledged mode убран
- ограниченные capabilities ("SETPCAP", "MKNOD", "AUDIT_WRITE", "CHOWN", "DAC_OVERRIDE", "FOWNER",
"FSETID", "KILL", "SETGID", "SETUID", "NET_BIND_SERVICE", "SYS_CHROOT", "SETFCAP"), отсутствует
CAP_NET_RAW!- Seccomp профиль
runtime/default
- запрещен hostPath, кроме /var/log
- запрещены host namespaces
Resources:- изменения в
kube-system не доступны-
cluster-admin не существует, только локальный админ внутри namespace- Workload Identity - SA внутри k8s работают, как облачный SA. Отсюда, нет завязки на SA из metadata API
Add-ons которые планируют добавить:
- Istio
- Confidential GKE Nodes
- Application-layer secrets encryption
- Binary authorisation
- RBAC Google Groups
- Network Policies
Из-за жестких runtime ограничений, большинство тулинга (логгинг, мониторинг, etc) не запустится на Autopilot. Но это обещают исправить. Предоставленная конфигурация позволяет избежать ряда атак на ваш кластер, но из-за этого он менее гибок (что так же верно и для
on-prem решения с теми же включенными опциями).В целом, выглядит как то, что именно таким Kubernetes должен выглядеть by default. Если вас устраивает тулинг от Google Cloud в части логгинга и мониторинга, то Autopilot может стать хорошей заменой
Standard cluster. В будущем с введением add-ons будет покрыт полный scope атак, начиная шифрованием памяти и заканчивая supply-chain атаками на образы.В рамках CNCF SIG Security группы есть отдельная рабочая группа по теме Software Supply Chain. Как написано в их репозитарии: "In cloud native deployments everything is software-defined, so there is increased risk when there are vulnerabilities in this area. If an attacker controls the supply chain, they can potentially reconfigure anything in an insecure way."
Поэтому ребята активно обсуждают и готовят материалы по данной теме. Так в черновом варианте вы уже сейчас можете посмотреть документ "Software Supply Chain Best Practices".
Также:
- У них же есть классная подборка "Catalog of Supply Chain Compromises" из реальных случаев
- У Google есть статья "Help secure software supply chains on Google Kubernetes Engine"
- А MITRE недавно опубликовало "Deliver Uncompromised: Securing Critical Software Supply Chains"
P.S. Посмотрите прошлые посты по данной теме [1,2,3]
Поэтому ребята активно обсуждают и готовят материалы по данной теме. Так в черновом варианте вы уже сейчас можете посмотреть документ "Software Supply Chain Best Practices".
Также:
- У них же есть классная подборка "Catalog of Supply Chain Compromises" из реальных случаев
- У Google есть статья "Help secure software supply chains on Google Kubernetes Engine"
- А MITRE недавно опубликовало "Deliver Uncompromised: Securing Critical Software Supply Chains"
P.S. Посмотрите прошлые посты по данной теме [1,2,3]