11902
Канал о (не)безопасности Kubernetes + микросервисных, контейнеризированных приложений. Ведет команда www.luntry.ru Вопросы, идеи, предложения => @Qu3b3c https://knd.gov.ru/license?id=673ddbc21039886b1d03b7ce®istryType=bloggersPermission
В статье Kubernetes Troubleshooting: Fixing Pod Issues with Restricted UID in securityContext автор рассказывает о проблемах, с которыми он столкнулся при попытке запустить Pod в Kubernetes от имени непривилегированного пользователя с помощью параметра securityContext.runAsUser, используя образ nginx.
Попытки указать случайный UID или даже правильный (например, 101 для пользователя nginx) приводили к ошибкам доступа к файлам и директориям. Решение было найдено через использование initContainers, которые изменяют права на нужные каталоги до запуска основного контейнера, а также корректировку команды запуска, чтобы избежать операций, требующих root-доступа. Однако самым надёжным способом оказалось создание собственного Docker-образа с директивой USER и заранее подготовленными правами доступа.
В процессе автор подробно разобрал, как работает kubectl logs, как взаимодействуют kubelet и API-сервер, и как грамотно настроить безопасность в Kubernetes.
Ребята из AWS сделали Threat Technique Catalog для своего облака. Этот каталог явно вдохновлялся матрицей угроз от MITRE, но содержит как известные техники, так и те что обнаружил AWS CIRT. Всего представлено на сегодняшний день 70 техник.
На наш взгляд это может быть полезно не только тем кто живет в AWS, но и вообще в облаках (так или иначе все можно принести на свое облако) и самим облачным провайдерам, чтобы понимать где у них и их клиентов могут быть проблемы.
Сегодня у нас рубрика "А знали ли вы?".
А знали ли вы что в банке данных угроз безопасности информации от ФСТЭК на текущий момент 227 угроз и последние 5 (можно сказать самые последние добавленные) посвящены контейнерным угрозам!
- УБИ. 223 "Угроза несанкционированного доступа к контейнерам, предоставляющего пользователям расширенные привилегии"
- УБИ. 224 "Угроза нарушения целостности (подмены) контейнеров"
- УБИ. 225 "Угроза нарушения изоляции контейнеров"
- УБИ. 226 "Угроза внедрения вредоносного программного обеспечения в контейнеры"
- УБИ. 227 "Угроза модификации (подмены) образов контейнеров"
Конечно, тут далеко не все, но начало уже положено и радостно что нашу тему активно начинают везде добавлять и упоминать ;)
P.S. Честно сами узнали об этом совсем недавно пока помогали студентам в рамках нашей кураторской программы в процессе защит их дипломов. То есть не только мы помогаем и учим, но и сами учимся =)
Начнем неделю со статьи "ETCD Production setup with TLS", которая представляет из себя небольшую инструкцию по настройке ETCD.
Инструкция описывает построение защищенного 3-х нодового ETCD кластера, используя OpenSSL с полным TLS шифрованием (peer/client), управлением CA и настройкой systemd.
Хотим представить вашему вниманию Kubernetes security diagram (cheatsheet) (исходный код тут). Интересная попытка визаулизировать разные аспекты безопасности Kubernetes на одной диаграмме. Диаграмма развивается и дополняется - это можно заметить по странице проекта. При желании туда можно и контребьютить ;)
В одном из наших недавних постов мы уже рассказывали как мы сделали honeypot на базе Luntry. И вот недавно один из наших друзей поделился ссылкой на работу "HoneyKube: Designing and Deploying a Microservices-based Web Honeypot" (у данной работы и исходный код выложен на GitHub).
Чего-то супер примечательного и высоко технологичного там нет, но как само описание подхода и полученные результаты может быть интересно.
P.S. А сегодня-завтра можно пообщаться с нашей командой в рамках форума ITSEC, где будет отдельный поток по защите контейнеров ;)
В 2024 году мы писали про OCI-совместимый runtime для FreeBSD jails, а в 2025 уже второй день все только что и обсуждают нативную поддержку Linux контейнеров (видео, код 1 и 2) в macOS 26 =)
kubernetesMiracle это специально уязвимое тестовое приложение от ребят из 4rays, на котором можно как оттачивать свои атакующие навыки, так и тестировать используемые защитные меры и решение.
В приложении есть:
1) Уязвимый Wordpress с CVE-2019-9978
2) Мисконфиг в RBAC
3) Подмена образа в image registry
На этом БеКон 2025 была парочка замечательных релизов и одним из них является визуализация информационного сообщения ФСТЭК России 240/24/38 от Андрея Слепых. Можно изучить как саму карту, так и презентацию "Как соответствовать требованиям ФСТЭК, если у вас контейнеры и кластеры". И это будет полезно как тем кто идет на сертификацию, так и тем кто просто хочет повысить уровень безопасности своих микросервисных приложений.
Читать полностью…
Всем, привет!
Сегодня проходит наша конференци БеКон 2025. Старт уже совсем скоро.
Слайды докладов и возможность спросить вопросы будет тут @bekon_conf
Казалось – через kubectl debug можно довольно легко сбежать на Node (если на это есть соответствующие права):
kubectl debug node/desktop-control-plane -it --image=busybox
chroot /host
container runtime сокетом, можно получить такие ошибки:
ctr: failed to unmount /tmp/containerd-mount2094132404: operation not permitted: failed to mount /tmp/containerd-mount2094132404: operation not permitted
ephemeral container запускается с недостаточными привилегиями. И это можно исправить просто указав флаг --profile:
kubectl debug node/desktop-control-plane -it --image=busybox --profile=sysadmin
Rory McCune у себя в статье – Kubernetes Debug Profiles.kubectl debug можно передать параметр -n и тогда debug контейнер запустится в указанном неймспейсе. Особенно удобно поднимать его в kube-system, поскольку имя Pod будет что-то вроде node-debugger-desktop-control-plane-9gd7q и не привлечет много внимания, чего порой нужно добиться на пентесте.
Читать полностью…
Наверняка, если вы проводите пентесты, то попав в изолированное и/или non-root окружение, в первую очередь вы попытаетесь поднять себе привилегии. Скорее всего для этого вы будете использовать известный всем LinPEAS (он кстати тоже частично может помочь, если вы оказались в докер контейнере или Kubernetes Pod).
Однако, ребята из Hacktrics пошли дальше и сделали набор скриптов – CloudPEASS. Эта штука представляет из себя набор python скриптов для поднятия привилегий в облачных окружениях GCP, AWS и Azure.
Так что, если проводите пентесты в облаках, CloudPEASS – must have!
Недавно наши друзья из исследовательской команды 4rays у себя на канале опубликовали пост про "Безопасность локальных docker-реестров через механизм нотификаций" про отслеживание подозрительной активности в локальных docker-реестрах.
Честно мы (да думаю и многие) в данном направлении ранее даже не думали. В основном тут все сосредоточенны на:
- Вопросах аутентификации и авторизации
- Безопасной контролируемой сборке
- Registry Staging
- Защищенном registry
- Подписи образов
- Запуску только из разрешенного registry
- Запрет на push из prod кластера
- и т.д.
И действительно дополнительным уровнем можно еще добавить мониторинг за операциями работы с образами и их слоями. На пример, когда:
- используется не типичный user-agent
- работа проходит со странных адресов
- работа идет в нерабочее или не типичное время для данной операции
- имя образа не соответствует шаблону именования вашей компании
Кто-нибудь уже так делает или смотрел в эту сторону?
Совсем недавно, проходил очередной контест Pwn2Own. Примечательно, что организаторы ввели новую категорию AI с такими таргетами как:- Chroma
- Postgres pgvector
- Redis
- Ollama
- NVIDIA Triton Inference Server
- NVIDIA Container Toolkit
Да, в списке есть тот самый NVIDIA Container Toolkit для которого мы готовили эксплойт и выпускали статью на этот счет!
Исследователи из WIZ в рамках Pwn2Own нашли еще один баг в этом тулките. Официально ни присвоения CVE, ни патча еще не последовало.
Как обычно, после раскрытия 0-day в ходе соревнования Pwn2Own у вендоров есть 90 дней на подготовку и выпуск патча для своих продуктов, прежде чем Trend Micro Zero Day Initiative опубликует технические подробности.
Отдельно стоит отметить, что категория Cloud-Native/Container осталась без находок.
Почти месяц назад у Kyverno вышел новый релиз – 1.14.0. И это довольно значимый релиз, по скольку с него, можно сказать начинается новая веха в развитии этого Policy Engine. А именно – управление политиками стало более модульным, оптимизированным и мощным. Из крупных нововведений:
- два новых типа политики ValidatingPolicy и ImageValidatingPolicy
- улучшения и оптимизации при использовании CEL в политиках
- Policy exceptions теперь поддерживают CEL выражения
- улучшения kyverno CLI для валидации любых json-объектов
Более подробно об этом релизе и не только можно узнать в блоге Kyverno и в их документации.
Всем, привет!10 июля наша команда Luntry проведет вебинар на тему "Предотвращение Runtime угроз в контейнерах и Kubernetes". Расскажем и покажем как вообще можно не доводить дело до инцидентов и спать спокойно ;)
Зарегистрироваться можно тут.
Всем, хороших выходных!
В AIStore Operator от NVIDIA нашли уязвимость, связанную с избыточными привилегиями RBAC. Service Account, используемый оператором обладал правами на чтение и листинг секретов и конфигмап, что могло привести к раскрытию чувствительной информации.
Уязвимости присвоен CVE-2025-23260 и оценку 5.0 по CVSS(Medium).
Уязвимы все версии AIStore Operator до 2.3.0.
Сегодня расскажем про очередной новый оператор – Kubeconfig Operator.Kubeconfig Operator генерирует конфиги с ограничениями, которые можно гранулярно раздавать на уровне кластера. Оператор позволяет устанавливать конкретные ограничения в RBAC, namespace, а также устанавливать expiration time.
Может быть полезно, когда нет нормального Identity Provider, но дать доступ в кластер очень нужно.
В завершении недели Kubernetes преподносит нам ещё одну уязвимость – CVE-2025-4563: Nodes can bypass dynamic resource allocation authorization checks.
При использовании feature gates DynamicResourceAllocation атакующий на скомпрометированной Node может создать mirror pod, чтобы получить доступ к unauthorized dynamic resources, что потенциально может привести к повышению привилегий.
Уязвимости присвоен низкий уровень критичности по CVSS.
Затграгивает версии:- kube-apiserver: v1.32.0 - v1.32.5
- kube-apiserver: v1.33.0 - 1.33.1
Патчи доступны для:- kube-apiserver >= v1.32.6
- kube-apiserver >= v1.33.2
В качестве меры митигации предлагается выключить feature gate DynamicResourceAllocation.
Команда мейнтенеров Go выпустила патчи для версий golang 1.21.11 и 1.22.4, устраняющие состояние гонки симлинков при использовании os.RemoveAll, однако это проблема затронула и Kubernetes. Kubernetes Security Response Committee получил отчет о том, что эта проблема может быть использована в Kubernetes для удаления произвольных директорий на Node с правами root.
Проблема аффектит следующие версии Kubernetes:- <1.30.2
- <1.29.6
- <1.28.11
- <1.27.15
Исправления доступны в версиях:- 1.30.2+
- 1.29.6+
- 1.28.11+
- 1.27.15+
Интересно, что ни команда Go, ни команда Kubernetes не присвоила CVE для этой проблемы.
Начинаем эту неделю со статьи Top 15 Kubectl plugins for security engineers in 2025, в которой Sysdig предлагают неплохую подборку krew плагинов для Security инженеров.
Из интересного – есть детальная таблица, которая поможет понять поддерживается ли плагин на данный момент, возможно ли работать с новыми версиями K8s и какой Use Case может решить плагин.
Небольшая статья Am I Still Contained? от Rory McCune повествующая о том, что нельзя полагаться на инструменты, которые всегда работают так, как работали раньше.
Автор разбирает довольно старый инструмент amicontained (о котором мы не раз рассказывали на канале), который уже давно не обновлялся, и фиксит там проблему с определением системных вызовов IO_URING внутри контейнеров.
Новый работающий форк можно найти тут.
У инструмента ctrsploit, который будет полезен при проведении пентеста Kubernetes кластеров и о котором мы рассказывали на канале вышло очередное обновление! Автор расширил эксплоит пак и добавил туда сплойт для свежей CVE-2025-47290 под containerd.
Уязвимость позволяет модифицировать файловую систему хоста при скачивании специально скрафченного образа. С помощью ctrsploit можно собрать такой образ и модифицировать payload по необходимости.
Что примечательно, ранее в публичном доступе не было эксплойта под CVE-2025-47290. Уязвимость затрагивает только версию containerd 2.1.0.
Статья OPA memory usage considerations and lessons from our transition to Kyverno описывает реальный опыт при использовании OPA Gatekeeper для управления политиками в Kubernetes-кластерах и их переход на Kyverno. Основной проблемой при масштабировании кластеров стало высокое потребление памяти OPA, особенно при синхронизации большого количества объектов, таких как Pod’ы или CronJob’ы. Эти ограничения привели к увеличению нагрузку и ухудшению производительности, особенно в многопользовательских средах с высокой динамикой.
В поисках более эффективного решения команда перешла на Kyverno — нативный для Kubernetes механизм политик, который работает без необходимости синхронизировать данные и использует Kubernetes API в реальном времени. Этот подход позволил значительно снизить потребление памяти (в одном случае — с 8 ГБ до 2.7 ГБ) и упростить поддержку политик.
Всем, привет!
Уже завтра состоится конференция БеКон 2025!
Несколько небольших новостей:
1) Мы сделали черновой вариант настольной игры про контейнерную безопасность (130 карточек) и ее можно будет опробовать на стенде Luntry. Игра имеет и развлекательный, и обучающий характер. После правки баланса, опечаток и т.д. будет финальная версия - очень нужна обратная связь. В дальнейшем есть идеи и по дополнениям для новых карточек.
2) В рамках спикерпати будет огненный квиз от широко известных @IT_Friday и @tech_b0lt_Genona ;)
3) С утра будут доступны стикеры от нашего товарища cyberfolk, который выступал у нас в прошлом году. Успейте взять себе их с утра - их совсем немного.
4) Появился каталог мерча - можете заказать у друзей кто будет на конфе, если вы не сможете присутствовать
5) Все новости, анонсы, слайды (они по прежнему будут публиковаться сразу как докладчик выходит на сцену) будут доступны тут @bekon_conf ! В комментариях к слайдам можно спрашивать свои вопросы и докладчики после выступления ответят на них. Таким образом, это возможность задать свои вопросы для тех кто на конференции присутствовать не может.
BLAFS - инструмент для исключения из образов всего лишнего, не нужного, постороннего для оптимизации размера, уменьшения поверхности атаки и уменьшения количества CVE в образе.
Подробнее об инструменте можно узнать из его пейпера "The Cure is in the Cause: A Filesystem for Container Debloating".
В документе инструмент называется BAFFS (Bloat Aware File-System), но авторы потом переименовали и выложили по другому адресу. Для своей работы инструмент конвертирует образ контейнера в новый вид с новой ФС и уже с помощью нее понимает, что в образе не используется и можно выкинуть. Естественно для профилирования вам нужно запустить хорошие, полноценные unit tests/integration tests. Иначе профилирование будет не точное.
Идейно напоминает инструмент Slim/SlimToolKit/Mint (о нем писали тут), и о с ним также проводится сравнение. Классно что новая предложенная техника также может быть использована вместе с lazy load.
Всем, привет!
Если вы вчера пытались купить билет и у вас уже это не получилось, то спешим сообщить , что сегодня мы добавили еще небольшую партию билетов ;)
Всем, привет!
До конференции БеКон 2025 остается совсем немного времени и мы хотим сообщить что на площадке впервые будет представлен МЕРЧ store!
Часть нашего лимитированного мерча вы можете уже увидеть на этих фотках ;)
На нашем сайте в раздел Исследований стало доступно видео и слайды выступления "Стандарт безопасности контейнеров NIST 800 190 в 2025 году" с конференции Deckhouse Conf 2025.
P.S. Получив обратную связь по данной работе, мы продолжили работать над картой и в последствии выложим ее в открытый доступ.
Не так давно наш хороший товарищ и докладчик первого БеКон Дмитрий Путилин, хорошо известных в узких кругах Кубоводов, завел свой канал и выпустил невероятный материал Kubernetes The Hard Way на русском языке и с доскональным внимание к деталям.
Насколько детально там все рассматривается можно понять по прямому сравнению с Kubernetes The Hard Way от Kelsey Hightower.
В общем, это просто MUST HAVE материал для тех кто хочет реально понимать Kubernetes и стать крутым DevOps специалистом, а не ClickOps ;)