Kyverno 1.19 — релиз, который фактически завершает переход проекта на CEL-based policies: теперь
При этом
Ещё одно изменение, важное для эксплуатации:
ValidatingPolicy, MutatingPolicy, GeneratingPolicy, ImageValidatingPolicy и DeletingPolicy покрывают весь функционал старого ClusterPolicy. Для Kubernetes Security это особенно важно: policy engine становится ближе к нативному подходу Kubernetes через CEL и ValidatingAdmissionPolicy`/`MutatingAdmissionPolicy.При этом
ClusterPolicy, Policy, CleanupPolicy, ClusterCleanupPolicy и legacy PolicyException официально deprecated и будут удалены в Kyverno 1.20, поэтому существующие security policies уже пора мигрировать. В 1.19 это последний релиз с полной поддержкой legacy API, а для миграции есть отдельный kyverno migrate и migration guide.Ещё одно изменение, важное для эксплуатации:
CRD теперь управляются через отдельную Helm dependency kyverno-api, поэтому при upgrade стоит проверить собственный процесс установки CRD. Подробности — в официальном анонсе релиза.👍10🔥5❤1
Написать
Работает так: ставите
Инструмент академический —
NetworkPolicy — полдела, вопрос в том, как убедиться, что она реально работает так, как вы задумали. Статический анализ манифестов тут бессилен: он не знает ни про CNI, ни про то, кто и куда на самом деле дотягивается в вашем кластере. Тут в тему kubesonde — оператор, который не читает YAML, а активно прощупывает связность между Pod'ами изнутри кластера.Работает так: ставите
CRD и создаете объект Kubesonde с указанием неймспейса и режима (probe: all). Дальше он в каждый Pod подкидывает ephemeral container (по умолчанию instrumentisto/nmap для проб и свой gonetstat для наблюдения за открытыми портами) и начинает гонять коннекты во всех направлениях. Результат забирается через port-forward и curl localhost:2709/probes в JSON, который можно закинуть в их же веб-UI и посмотреть матрицу «кто до кого дошел». Есть непрерывный режим, исключения-включения по селекторам и, самое интересное, возможность прописать в спеке ожидаемый исход (action: Allow / Deny) — то есть это уже не сканер, а тесты на вашу сетевую изоляцию, которые можно гонять в CI после каждого изменения политик.Инструмент академический —
Apache 2.0, 18 звезд, вырос из работы Analyzing Microservice Connectivity with Kubesonde на ESEC/FSE 2023 и используется как рантайм-часть в исследовании сетевых мисконфигов в Helm-чартах, о котором мы писали недавно. Инструмент явно для dev/test/stage окружений, но ни как ни для prod.GitHub
GitHub - kubesonde/kubesonde: Kubesonde: network policy testing and verification in K8s
Kubesonde: network policy testing and verification in K8s - kubesonde/kubesonde
👍23🔥10❤4
Всем, привет!
Приглашаем всех
1) Что нового в релизе
2) Разберем новые инструменты для защиты инфраструктуры
3) Поговорим о практическом применении
4) Планы Luntry до конца года
5) Ответим на технические вопросы
Ссылка для регистрации.
Приглашаем всех
3 сентября в 11:00 посетить наш вебинар "Luntry 4.6: Новые возможности для защиты контейнерных и облачных сред". Там мы расскажем:1) Что нового в релизе
4.62) Разберем новые инструменты для защиты инфраструктуры
3) Поговорим о практическом применении
4) Планы Luntry до конца года
5) Ответим на технические вопросы
Ссылка для регистрации.
🔥4👍3✍2❤2
Вышел
Отдельно интересны
Kubernetes 1.37 под кодовым названием «Garhwal». Среди наиболее интересного — manifest-based admission control, который позволяет загружать admission policies с диска и применять их уже при старте API server, даже если etcd недоступен. Для security аудитории также стоит отметить стабильные Pod Certificates и ClusterTrustBundles, а также улучшения SELinux и защиту API server от всплесков нагрузки при инициализации watch cache.Отдельно интересны
Memory QoS на cgroups v2, workload-aware preemption и развитие DRA — включая device taints, extended resources и поддержку ResourceClaims для workloads. В Alpha появился Pod-level checkpoint/restore, а для AI/ML-нагрузок развивается CompositePodGroup и multi-level gang scheduling.🔥18👍5
В статье "We Tested Copy Fail in Kubernetes: PSS Restricted and RuntimeDefault Did Not Block AF_ALG" детально изучается уязвимость ядра
-
-
-
-
Все равно может быть проэксплуатирован через
В качестве тестовых окружений исследователи взяли (не не пойми что):
Спасти нас тут могут специально созданный
P.S. Еще авторы игрались с `allowPrivilegeEscalation`, но не особо понятно зачем ведь вместо поднятия привилегий внутри контейнера мы просто уходим с него на хост ...
CVE-2026-31431 (писали о ней тут и тут) в рамках ее эксплуатации в Kubernetes c разными механизмами защиты. Из нее можно узнать, что:-
Pod без root прав, -
Pod с отключёнными capability, -
Pod c RuntimeDefault профилем для seccomp,-
Pod c Pod Security Standards в режиме Restricted, Все равно может быть проэксплуатирован через
CVE-2026-31431 ...В качестве тестовых окружений исследователи взяли (не не пойми что):
OS Talos и EKS на Amazon Linux.Спасти нас тут могут специально созданный
seccomp профиль и обновление самого ядра.P.S. Еще авторы игрались с `allowPrivilegeEscalation`, но не особо понятно зачем ведь вместо поднятия привилегий внутри контейнера мы просто уходим с него на хост ...
Juliet
Copy Fail in Kubernetes: RuntimeDefault Did Not Block AF_ALG - Juliet
We tested CVE-2026-31431 Copy Fail on Talos and EKS. RuntimeDefault did not block AF_ALG, Localhost seccomp blocked the path, and the CVE is now in CISA KEV.
👍7🔥4😱2
Наши хорошие друзья запустили аж целых
1) Исследование рынка безопасной разработки и DevSecOps
2) Исследование рынка средств контейнеризации
3) Исследование рынка безопасности ИИ-систем (MLSecOps)
По сути это опросы, результаты которых должны показать реальное (не маркетинговое) положения дел в этих направлениях. Мы с радостью поддерживаем их в этой активности!
Больше деталей можно узнать тут.
3 исследования: 1) Исследование рынка безопасной разработки и DevSecOps
2) Исследование рынка средств контейнеризации
3) Исследование рынка безопасности ИИ-систем (MLSecOps)
По сути это опросы, результаты которых должны показать реальное (не маркетинговое) положения дел в этих направлениях. Мы с радостью поддерживаем их в этой активности!
Больше деталей можно узнать тут.
👍6❤4🔥3🥰3💩2
В свежем релизе
Вторая уязвимость, CVE-2026-17113, позволяет вызвать падение
Исправления доступны в
cri-o исправили две уязвимости, одна из которых имеет критический уровень и может привести к побегу из контейнера. CVE-2026-62146 позволяет пользователю с правом создавать Pods отравить сохранённое состояние sandbox через произвольные annotations, а после рестарта CRI-O или перезагрузки ноды — добиться монтирования контролируемых host paths и получить доступ к crio.sock.Вторая уязвимость, CVE-2026-17113, позволяет вызвать падение
CRI-O через специально сформированный OCI image с некорректной переменной окружения. Через стандартный Kubernetes API сценарий не эксплуатируется, поскольку kubelet добавляет переменные окружения по умолчанию, но риск остаётся для прямых клиентов.Исправления доступны в
CRI-O 1.34.12, 1.35.7 и 1.36.4. Для CVE-2026-62146 после обновления разработчики также рекомендуют удалить все запущенные контейнеры на нодах.😱4🔥3❤2
У коллег с прекрасного канала PWN AI узнал про интересную работу "Inspect evaluation: Container sandbox breakout", где исследователи оценивают насколько просто или сложно
Сразу стоит отметить, что модель заведомо помещается в так скажем плохо сконфигурированное или уязвимое окружение, тоесть:
-
- уязвимый
- уязвимое ядро хостовой ОС
- привилегированный
Всего таких сценариев
Тут интересно сколько времени уходили у
P.S. Насколько я понял тест когда запускали LLM в контейнере без явно заложенных обще известных проблем, то побега не было.
LLM внутри классического контейнера (считай на базе runc) совершить из него побег. Сразу стоит отметить, что модель заведомо помещается в так скажем плохо сконфигурированное или уязвимое окружение, тоесть:
-
BAD Pods- уязвимый
runc- уязвимое ядро хостовой ОС
- привилегированный
service account в k8sВсего таких сценариев
18 и все они доступны (отличная база и для CTF и для собственного обучения)! И, конечно, думаю и для многих очевидно, что при таких исходных условиях все 18 сценариев были успешно реализованы. Тут интересно сколько времени уходили у
LLM на тот или и ной сценарий - разброс составляет от нескольких минут до 2 часов. У кого SOC увидит и успеет отреагировать?)P.S. Насколько я понял тест когда запускали LLM в контейнере без явно заложенных обще известных проблем, то побега не было.
👍5🔥4❤1
Всем, привет!
3 сентября на ИБ Митап в Санкт-Петербурге (давненько здесь не выступал) выступлю с докладом "Устаревшая безопасность, проигранная гонка (?||!)". На мой взгляд это мой самый грустный по настроению и посылу доклад за все время. При этом наверное первый за несколько лет в котором я вообще не говорю слов про контейнеры и
P.S. А в 11:00 не забываем про наш вебинар "Luntry 4.6: Новые возможности для защиты контейнерных и облачных сред" ;)
3 сентября на ИБ Митап в Санкт-Петербурге (давненько здесь не выступал) выступлю с докладом "Устаревшая безопасность, проигранная гонка (?||!)". На мой взгляд это мой самый грустный по настроению и посылу доклад за все время. При этом наверное первый за несколько лет в котором я вообще не говорю слов про контейнеры и
Kubernetes.P.S. А в 11:00 не забываем про наш вебинар "Luntry 4.6: Новые возможности для защиты контейнерных и облачных сред" ;)
🔥4🤡4👍2
В статье «Authentication between microservices using Kubernetes identities» показано, как использовать
Особенно интересен подход с
Это хороший пример того, как встроенные механизмы
Kubernetes Service Accounts для аутентификации запросов между микросервисами без отдельного OAuth-сервера. Идея в том, что сервис получает свой Service Account token, передаёт его вызываемому сервису, а тот проверяет токен через Kubernetes TokenReview API.Особенно интересен подход с
audience-bound projected Service Account tokens. Токен становится ограниченным конкретной аудиторией и имеет короткий срок жизни. При этом RBAC позволяет отдельно определить, какие действия сам сервис может выполнять через Kubernetes API, а system:auth-delegator даёт минимальные права для проверки чужих токенов.Это хороший пример того, как встроенные механизмы
Kubernetes можно использовать для workload identity и service-to-service authentication. При этом автор отдельно подчёркивает, что аутентификация не заменяет шифрование трафика, поэтому для защиты канала всё равно нужен TLS/mTLS.🔥14👍4
K16S - еще один
Всем, хороших выходных!
self-host симулятор экзаменов по сдаче Certified Kubernetes Security Specialist (CKS) и Certified Kubernetes Administrator (CKA). Всем, хороших выходных!
👍42🔥8❤6
Sofka — новый
Помимо привычного просмотра
Есть
Kubernetes TUI на Rust, который позиционируется как переосмысление k9s. Главная идея — единый пайплайн работы с Kubernetes-ресурсами, благодаря чему CRD поддерживаются без отдельного интерфейса, а Flux CD интегрирован прямо в TUI. Помимо привычного просмотра
Pod’ов, логов и YAML, есть command palette, работа с namespace, Helm и встроенные операции Flux. Интерфейс асинхронный и не блокируется при проблемах или задержках Kubernetes API.Есть
read-only режим, проверки авторизации перед действиями, предупреждения о мутациях управляемых ресурсов и локальный журнал действий.👍33🔥6
В официальном блоге
Если кто не знал, то благодаря
И не путайте это с
P.S. Напоминаем про проект Usernetes, где можно с подобным поиграться.
Kubernetes появилась статья "Kubernetes v1.37: KubeletInUserNamespace (aka Rootless mode) Graduates to Beta".Если кто не знал, то благодаря
KubeletInUserNamespace все компоненты k8s на Node можно запустить от non-root пользователя, используя Linux user namespace, что уменьшает радиус поражения при побеге из контейнера через эти компоненты (ядро не считается). Это еще один долгострой, работа над которым началась в 2018 и первые плоды появились в Kubernetes v1.22 (2021), теперь осталось дождаться перехода в GA.И не путайте это с
UserNamespaces для Pods, который достиг GA в 1.36 (писали об этом тут и тут).P.S. Напоминаем про проект Usernetes, где можно с подобным поиграться.
Kubernetes
Kubernetes v1.37: KubeletInUserNamespace (aka Rootless mode) Graduates to Beta
Kubernetes v1.37 promotes the KubeletInUserNamespace feature gate to beta. With this feature enabled, all of the node components (kubelet, CRI and OCI runtimes, CNI plugins, and kube-proxy) can run as a non-root user on the host, using a Linux user namespace.…
❤11👍6🔥4
AegisBPF —
Также из интересного – поддержка
Отдельно стоит обратить внимание на
eBPF-based runtime security агент, который использует BPF LSM для блокировки нежелательных файловых и сетевых операций непосредственно на уровне ядра Linux. В отличие от инструментов, ориентированных в первую очередь на обнаружение, AegisBPF делает акцент именно на enforcement. Jперация может быть остановлена через -EPERM ещё до завершения syscall.Также из интересного – поддержка
inode-based правил и обработка OverlayFS copy-up, что особенно актуально для контейнеров. Проект умеет применять сетевые deny-правила для IPv4/IPv6, портов и CIDR, а политики можно ограничивать конкретными cgroup.Отдельно стоит обратить внимание на
aegis-next — исследовательский прототип с BPF arena, provenance-графами и дополнительными механизмами enforcement. Проект пока молодой и активно развивается, но выглядит интересно для тех, кто исследует runtime security Linux и Kubernetes через eBPF.❤10🔥3
Всем, привет!
Еще есть прекрасная возможность поделиться с коллегами своим опытом и знаниям в рамках выступления на конференции Kuber Conf от
До окончания приема заявок осталось совсем немного времени!
Подать заявку на доклад можно тут.
Еще есть прекрасная возможность поделиться с коллегами своим опытом и знаниям в рамках выступления на конференции Kuber Conf от
АОТ. В этом году она уже будет второй раз и пройдет 22 октября. До окончания приема заявок осталось совсем немного времени!
Подать заявку на доклад можно тут.
🔥5❤1
Сегодня мы рекомендуем вам ознакомиться со статьей "Аудит-политика Kubernetes: чек-лист против типовых слепых зон в правилах". В рамках данного материала автор отмечает тонкие, но очень важные моменты при составлении и контроле
Спасибо автору, что поделился своей работой и готов в комментариях по отвечать на любые вопросы по статье ;)
Audit Policy. Она позволит избежать очень популярные ошибки при написании политики аудита в Kubernetes. Самое важно тут, что стоит помнить всегда, что правила применяются сверху в низ и их надо писать от частного к общему! Если вы вообще не понимаете, о чем идет речь, то перед этим изучите материал «Kubernetes Audit Log на страже безопасности кластеров».Спасибо автору, что поделился своей работой и готов в комментариях по отвечать на любые вопросы по статье ;)
🔥11👍3
В новой версии Kyverno 1.19.1 был исправлен ряд уязвимостей. Самая критичная, GHSA-5qq8-67g6-4h2w, позволяет через
GHSA-c5qq-7g2q-cpqp позволяет через
Также исправлены GHSA-59v6-2x73-wfg4, позволяющая
Для всех пяти
apiCall в namespaced Policy обойти namespace isolation и выполнить POST запрос от имени ServiceAccount Kyverno, вплоть до создания MutatingWebhookConfiguration и повышения привилегий до cluster-admin. Уязвимость имеет CVSS 9.9.GHSA-c5qq-7g2q-cpqp позволяет через
percent-encoded `..` обойти проверку namespace и читать ресурсы за его пределами, а исправление для GHSA-q825-p383-r9v5 устраняет SSRF в legacy apiCall, который мог использоваться для доступа к cloud metadata и внутренним сервисам с токеном Kyverno. Также исправлены GHSA-59v6-2x73-wfg4, позволяющая
namespaced policy читать cross-namespace данные через globalcontext.Lib, и GHSA-5cjf-wwfg-pj4c, позволяющая через PolicyException обойти проверку подписей образов в ImageValidatingPolicy.Для всех пяти
advisories CVE пока не назначены.GitHub
Release v1.19.1 · kyverno/kyverno
What's Changed
fix: bump Go 1.26.6 and x/net to resolve CVE-2026-39821 by @Manoj-Kumar-Selvaraj in #17230
fix: update Go to address CVE-2026-56853 by @Sashang-debug in #17232
Fix missing autog...
fix: bump Go 1.26.6 and x/net to resolve CVE-2026-39821 by @Manoj-Kumar-Selvaraj in #17230
fix: update Go to address CVE-2026-56853 by @Sashang-debug in #17232
Fix missing autog...
👍3🔥1
12–13 октября в Санкт-Петербурге пройдет конференция DevOops 2026! Вся программа и активности уже доступны на сайте мероприятия. При этом есть прекрасная возможность выиграть билет в рамках нашего конкурса =)Конкурс: "Самый желанный доклад".
Задание: Придумайте название и описание доклада про
Kubernetes (если будет еще связано с ИБ, то здорово) ради которого вы бы 100% посетили бы конференцию, чтобы его послушать. Варианты пишите в комментарии к данному посту.Критерий оценки :
- Реалистичность
- Оригинальность
- Технические детали
Итоги: 18 сентября
Всем хороших выходных!
🔥4👍3