Недавно, читая нововведения в
Так вот первым поддерживать данный ресурс (обсуждение в
Напомним, что работа над этим ресурсом идет в рамках SIG Network, а именно Network Policy API Meeting в рамках KEP-2091: Add support for AdminNetworkPolicy resources.
И пока это все изучали наткнулись еще на один ресурс над которым идет работа -
P.S. Еще в документах можно встретить TenancyNetworkPolicy ;)
P.S.S. А еще
Red Hat OpenShift 4.16
, наше внимание привлекло "Secure OpenShift cluster networking with Admin Network Policy". Для тех кто ранее с этим не сталкивался то речь идет о ресурсе AdminNetworkPolicy
(ранее известном как GlobalNetworkPolicy
), который является нативной реализацией clusterwide
вариации NetworkPolicy
! В Calico
для этого есть кастомнный ресурс GlobalNetworkPolicy
, а в Cilium
есть CiliumClusterwideNetworkPolicy
и в Antrea
это ClusterNetworkPolicy
.Так вот
OpenShift
на CNI OVN-Kubernetes
сталCalico
и тоже самое в Cilium
и в kube-ovn
пока просто идут)! Также поддержка (уже как год) этого ресурса есть в Antrea
!Напомним, что работа над этим ресурсом идет в рамках SIG Network, а именно Network Policy API Meeting в рамках KEP-2091: Add support for AdminNetworkPolicy resources.
И пока это все изучали наткнулись еще на один ресурс над которым идет работа -
BaselineAdminNetworkPolicy
. Его идея в следующем: "An BaselineAdminNetworkPolicy (BANP) resource will help the administrators set baseline security rules that describes default connectivity for cluster workloads, which CAN be overridden by developer owned NetworkPolicies if needed."P.S. Еще в документах можно встретить TenancyNetworkPolicy ;)
P.S.S. А еще
NetworkPolicy v2
=)👍12🔥6❤3
Вышла версия
- Поддержка диапазона портов в
-
-
- Добавлена поддержка
-
-
Полный
Cilium 1.16.0
и со стороны security
там достаточно изменений:- Поддержка диапазона портов в
Network Policy
-
Network Policy Validation Status
. С помощью kubectl describe cnp
можно узнать является ли сетевая политика Cilium валидной или нет-
Control Cilium Network Policy Default Deny behavior
. Благодаря параметру EnableDefaultDeny
можно управлять поведением стандартной запрещающей политики.- Добавлена поддержка
CiliumCIDRGroups
в egress
правилах в политиках.-
Load "default" Network Policies from Filesystem
. Помимо привычной раскатки политик через kubectl apply
, теперь их можно подсовывать напрямую из FS
.-
Support to Select Nodes as Target of Cilium Network Policies
. С помощью новых селекторов ToNodes/FromNodes
трафик может быть разрешен или запрещен на основе лейблов target Node
.Полный
changelog
можно посмотреть тут.GitHub
Release 1.16.0 · cilium/cilium
We are excited to announce the Cilium 1.16.0 release. A total of 2969 new commits have been contributed to this release by a growing community of over 750 developers and over 19300 GitHub stars! 🤩
...
...
👍14🔥3❤2
Продолжим тему сетевой безопасности. И если вам интересно куда и как развивается механизм сетевого ограничения в
- "AdminNetworkPolicy: A New Kubernetes-Native API for Comprehensive Cluster-Wide Network Security" с
-"Network Policy: The Future of Network Policy with AdminNetworkPolicy" с
Kubernetes
, то вам определённо стоит ознакомится с двумя докладами от ребят что непосредственно работают над этим:- "AdminNetworkPolicy: A New Kubernetes-Native API for Comprehensive Cluster-Wide Network Security" с
Kubecon 2023
-"Network Policy: The Future of Network Policy with AdminNetworkPolicy" с
Kubecon 2024
🔥9👍3❤1🥰1
Вышла третья статья из цикла
Автор кратко разбирает как работают и в чем основные преимущества и недостатки
Kubernetes Security Fundamentals
и в этот раз про Authorization (первая была про API Security
и о ней мы писали тут, а вторая про Authentication
и почитать про неё можно тут).Автор кратко разбирает как работают и в чем основные преимущества и недостатки
Kubernetes authorization modules
, а также рассказывает как устроена авторизация в других компонентах Kubernetes
– Kubelet, Scheduler и Controller Manager
.👍12❤2🔥1🥰1
Для того чтобы блокировать операции над
Но есть и хорошие новости. Если вы используете Kyverno и применяете политику, где задействован такой subresource (для контроля которого нужна операция
Про необходимость использования операции
subresources
, вроде pods/exec
или pods/portforward
, необходимо внести некоторые изменения в конфигруацию вебхуков PolicyEngine
. А именно – добавить операцию CONNECT
. По умолчанию этой операции нет, и если её не добавить соответствующая политика на запрет использования pods/exec
или pods/portforward
просто не будет работать.Но есть и хорошие новости. Если вы используете Kyverno и применяете политику, где задействован такой subresource (для контроля которого нужна операция
CONNECT
), то Kyverno
автоматически пропатчит конфиг своего вебхука и добавит туда нужную операцию.Про необходимость использования операции
CONNECT
мы рассазывали тут.GitHub
[Bug] PodPortForwardOptions · Issue #5345 · kyverno/kyverno
Kyverno Version 1.7.3 Kubernetes Version 1.21.x Kubernetes Platform Other (specify in description) Kyverno Rule Type Validate Description Hello! I'm already using a blocking policy for exec and...
👍13🔥4🥰2
В статье "Authentication and Authorization with ISTIO and OPA on Kubernetes" рассказывается как можно накрутить
К использованию
P.S. – всем хороших выходных!
Authentication
и Authorization
между сервисами, запущенными в Kubernetes
кластере на базе Istio
(с использованием RequestAuthentication
и AuthorizationPolicy
) и OPA
.К использованию
OPA
пришлось прибегнуть из-за некоторых ограничений Istio
, выраженных в отсутствии поддержки regex as path rule
.P.S. – всем хороших выходных!
👍13🔥5🥰2❤1
Как вы можете помнить, начиная c
Вендоры
Неплохое демо
Kubernetes 1.26
, появились Validating Admission Policies
. По сути, это такая еще одна замена PolicyEngine
, где правила описываются на языке CEL
. Но главным преимуществом, по сравнению с классическими PolicyEngine
, является то, что данные для валидации не отправляются на вебхук, а сразу обрабатываются под капотом у Kubernetes
.Вендоры
PolicyEngine
тоже не сидят сложа руки, и Gatekeeper, начиная с версии 1.13
, и Kyverno
, начиная с версии 1.11
начали поддерживать VAP
. Так например, в крайнем релизе Kyverno 1.12
, добавили поддержку PolicyReport
для VAP
.Неплохое демо
Managing Validating Admission Policies (VAP) через Gatekeeper
можно посмотреть тут.🔥15👍7❤2
Если вы не знаете, почему
В статье рассказывается о преимуществе такого подхода, а также как можно завести пользователей в кластер с помощью
Kubernetes
не управляет пользователями, то статья с одноименным названием "Why Kubernetes doesn’t manage users?" для вас.В статье рассказывается о преимуществе такого подхода, а также как можно завести пользователей в кластер с помощью
external connectors
:- OIDC
- LDAP
- Webhooks and Custom Auth Plugins
👍10❤3🔥3
Сегодня хотим поделиться небольшой утилитой
Саму тулзу можно посмотреть здесь, а в видео Adding Certificates to Container Images with Incert | Chainguard можно посмотреть какие проблемы она решает и как работает.
incert
, которая позволяет в одну команду изменить docker image
, добавить в него CA
сертификат и запушить обновленный образ в registry
. Например, так:
$ incert -image-url=mycompany/myimage:latest -ca-certs-file=/path/to/cacerts.pem -dest-image-url=myregistry/myimage:latest
Саму тулзу можно посмотреть здесь, а в видео Adding Certificates to Container Images with Incert | Chainguard можно посмотреть какие проблемы она решает и как работает.
👍22🔥7👎3🥰1
Совсем недавно компания
- Обеспокоенность в мисконфигурациях продолжает снижаться из года в год. Тем не менее мисконфиги – это по прежнему одна из основных и частых проблем в безопасности
- Уязвимостей с каждым годом становится только больше. Их нужно правильно триажить и приоритезировать
- Большинство респондентов ответило, что за последний год хотя бы раз сталкивались с инцидентами в рантайме
- Большая часть организаций признают ценность
RedHat
выпустила 30-ти страничный отчёт "The state of Kubernetes security report 2024 edition". В нём довольно много цифр и статистики, но самое важное из этого:- Обеспокоенность в мисконфигурациях продолжает снижаться из года в год. Тем не менее мисконфиги – это по прежнему одна из основных и частых проблем в безопасности
Kubernetes
кластеров (наши аудиты тому подтверждение)- Уязвимостей с каждым годом становится только больше. Их нужно правильно триажить и приоритезировать
- Большинство респондентов ответило, что за последний год хотя бы раз сталкивались с инцидентами в рантайме
- Большая часть организаций признают ценность
DevSecOps
и способствуют сотрудничеству между DevOps
и командами безопасности👍13🔥3❤2😢1
В Лас-Вегасе прошла ежегодная конференция
В докладе исследователи представили новый инструмент
Ознакомиться с самой тулзой можно по ссылке тут. Узнать, то как и где её можно применять можно здесь.
Black Hat USA 2024
и среди множества интересных докладов наш глаз зацепил доклад – Traceeshark - Interactive System Tracing & Runtime Security using eBPF (слайды и видео к сожалению пока недоступны).В докладе исследователи представили новый инструмент
traceeshark
, а если быть точнее, то плагин для Wireshark
. Traceeshark
позволяет импортировать события, генерируемые tracee
в Wireshark
для дальнейшего анализа – например, kernel-level events
и behavioral detections
вместе с сетевым трафиком. Также этот плагин имеет возможность записывать Tracee events
, также как это сделано с сетевыми пакетами в Wireshark
.Ознакомиться с самой тулзой можно по ссылке тут. Узнать, то как и где её можно применять можно здесь.
Blackhat
Black Hat USA 2024
🔥18👍8❤1
На просторах
Когда мы имеем дело с уязвимым
Примеры того как можно классифицировать такие инъекции и реальные примеры таких уязвимостей можно в репозитории.
Github
мы наткнулись на репозиторий KubernetesCRInjection. Он определенно будет полезен, если вы пишите свой Kubernetes controller
и хотите избежать возможных уязвимостей еще на стадии его проектирования.Когда мы имеем дело с уязвимым
Kubernetes controller
нужно понимать что, злоумышленники могут контролировать определенные пользовательские ресурсы и внедрять вредоносные полезные нагрузки, которые могут вызвать вредоносное поведение, когда контроллер анализирует, обрабатывает, хранит кастомные ресурсы или генерирует другие связанные ресурсы.Примеры того как можно классифицировать такие инъекции и реальные примеры таких уязвимостей можно в репозитории.
GitHub
GitHub - Esonhugh/KubernetesCRInjection: Here is a common vulnerability when Kubernetes Controller designed.
Here is a common vulnerability when Kubernetes Controller designed. - Esonhugh/KubernetesCRInjection
🔥13👍4❤2
Сегодня выходит
1) KEP-24 - Поддержка механизма
2) KEP-2535 - Обеспечение безопасного доступ к образам с
3) KEP-4193 - Контролирование анонимного доступа к
4) KEP-4193 - улучшение жизненного цикла
5) KEP-3908 -
6) KEP-4601 -
7) KEP-3962 - добавление встроенных
А все изменения можно посмотреть в 1.31 Enhancements Tracking.
Kubernetes
версии 1.31
и это значит самое время посмотреть какие улучшения в аспектах ИБ [1,2] он нам принесет.1) KEP-24 - Поддержка механизма
AppArmor
в Kubernetes
ушло в Stable
2) KEP-2535 - Обеспечение безопасного доступ к образам с
IfNotPresent image pull policy
3) KEP-4193 - Контролирование анонимного доступа к
endpoints
. На пример, к healthz
, livez
и readyz
анонимно обращаться можно, а к другим нельзя даже при разрешениях RBAC
.4) KEP-4193 - улучшение жизненного цикла
Bound Service Account Token
5) KEP-3908 -
kube-apiserver
может вызывать сторонний external key server
для JWT
подписи. Теперь есть поддержка сторонних identity providersё и signing services
.6) KEP-4601 -
field
и label selectors
для авторизации. Возможность более гранулированного доступа к ресурсам (но кажется это только для системных компонентов и не влияет на RBAC
).7) KEP-3962 - добавление встроенных
Mutating Admission Policies
А все изменения можно посмотреть в 1.31 Enhancements Tracking.
ARMO
Kubernetes 1.31: Key Security Enhancements You Should Know
Explore key security improvements in Kubernetes 1.31, including AppArmor support, enhanced secret management for a more secure platform, and more
👍21🔥5❤4👎1
Небольшая тулза kube-audit-viewer будет вам полезна, если вы собираете
P.S – да, может быть не совсем красиво и удобно, но это лучше чем ничего.
Kubernetes Audit Log
и хотите удобно их просматривать. По сути это простое веб-приложение, которое принимает на вход файл с логами (через параметр -logfile
) и рендерит их на странице в браузере. Также присутствует функционал с простым поиском.P.S – да, может быть не совсем красиво и удобно, но это лучше чем ничего.
🔥9👍4👎2❤1🤮1
В официальном блоге
С версии
1)
2)
3)
Так что уже нужно задуматься об апгрейде своих кластеров, хостовой ОС и рантаймов на
Kubernetes
с релизом версии 1.31
вышла статья "Kubernetes 1.31: Moving cgroup v1 Support into Maintenance Mode", указывающая на очень важный эволюционный момент.С версии
1.31
поддержка cgroup v1
переведена в maintenance mode
. Это означает:1)
Feature Freeze
: Никаких новых фич не будет добавляться с поддержкой cgroup v1
2)
Security Fixes
: Критические исправления безопасности будут доставляться до cgroup v1
реализации3)
Best-Effort Bug Fixes
: Основные баги могут быть исправлены если это возможно, но некоторые проблемы могут остаться нерешенными.Так что уже нужно задуматься об апгрейде своих кластеров, хостовой ОС и рантаймов на
cgroup v2
, если вы еще об этом не позаботились ;)Kubernetes
Kubernetes 1.31: Moving cgroup v1 Support into Maintenance Mode
As Kubernetes continues to evolve and adapt to the changing landscape of container orchestration, the community has decided to move cgroup v1 support into maintenance mode in v1.31. This shift aligns with the broader industry's move towards cgroup v2, offering…
👍15🔥3❤1👎1
Когда-то на канале мы рассказывали о фишке, которая может быть полезна при пентесте в
Но, начиная с версии
P.S – тут может помочь
Kubernetes
окружении – получение адресов всех сервисов в Kubernetes через dig
:
dig SRV +short any.svc.cluster.local
Но, начиная с версии
CoreDNS 1.9
(вышла около двух лет назад) эту возможность выпилили. А значит в свежих версиях Kubernetes этот трюк точно не будет работать.P.S – тут может помочь
k8spider
, про который мы рассказывали в одном из предыдущих постов.👍11❤5🔥4
На портале
-
-
-
- общие моменты про сканирование образов,
Также есть небольшая практика, где нужно немного пошаманить с
На все про все нужно минут
TryHackMe
есть раздел/направление "K8s Best Security Practices", который как не трудно догадаться целенаправленно посвящен безопасности Kubernetes
(если честно, то совсем малой части). Из тем там покрывается:-
Service Accounts
-
RBAC
-
API
Запросы- общие моменты про сканирование образов,
SecurityContext
и безопасность etcd
Также есть небольшая практика, где нужно немного пошаманить с
RBAC
. На все про все нужно минут
10
(если не читать теорию) ;)3👍22🔥6❤5
На конференции OFFZONE 2024 наша команда Luntry совместно с нашим хорошим товарищем Николаем Панченко (Ведущий специалист обеспечения безопасности
Тема побегов из контейнеров в
Данное выступление в некотором роде развитие выступления "Container escapes: Kubernetes edition" c ZeroNights 2021 ;)
K8s
и Cloud
, T-Банк) представит доклад "Побеги из контейнеров: Kubernetes 2024 edition".Тема побегов из контейнеров в
K8s
не нова. Ввиду эволюции экосистемы и инструментов IT
в кластере появляются новые возможности. Но новые возможности, как известно, порождают новые уязвимости! Это ведет к тому, что в инфраструктуре K8s
появляется возможность эксплуатации новых векторов атак для побега из контейнера. При этом старые векторы также стабильно присутствуют и не дают о себе забывать. В рамках доклада мы на примерах рассмотрим векторы для побегов, которые стоит знать, помнить и учитывать в 2024
году.Данное выступление в некотором роде развитие выступления "Container escapes: Kubernetes edition" c ZeroNights 2021 ;)
🔥17✍3❤3👍1
HashiCorp Vault
для интеграции с Kubernetes
использует например такие механизмы как Vault Secrets Operator
. Но, к сожалению, Vault
не умеет шифровать секреты перед их записью в etcd
. Если вы хотели попробовать это у себя, то vault-kubernetes-kms в помощь.KMS
плагин запускается как Static Pod
, создает unix socket
и получает запросы на шифрование через kubeapi
. Затем плагин использует ключ шифрования Vault transit
и отправляет их обратно kubeapi
, который затем сохраняет зашифрованный ответ в etcd
.Основные фичи:
- поддержка
Vault Token, AppRole authentication
- поддержка
KMS Plugin v1 & v2
- автоматическое обновление токенов для предотвращения истечения срока действия токенов
1👍27🔥4❤2
Наш хороший товарищ
Среди рассматриваемых побегов, следующие сценарии:
1) с помощью
2) с помощью
3) с помощью
4) с помощью
5) с помощью
6) с помощью
Также у Алексея есть вебинары "Атаки на CICD", "Безопасность Docker. Ультимативный гайд по харденингу Docker", "Введение в безопасность Docker".
P.S. Про побеги из контейнеров особенно актуально в преддверии нашего доклад на OFFZONE 2024 ;)
P.S.S. Если вы что-то создаете по тематике канала, то не стесняйтесь это присылать!
Алексей Федулаев
недавно провел замечательный вебинар "Побеги из контейнеров / Docker Escape", который можно посмотреть на его канале и к которому идет сопроводительный репозитарий со всеми инструкциями и исходными кодами!Среди рассматриваемых побегов, следующие сценарии:
1) с помощью
SYS_ADMIN
2) с помощью
SYS_PTRACE
3) с помощью
SYS_MODULE
4) с помощью
DAC_READ_SEARCH
5) с помощью
DAC_OVERRIDE
6) с помощью
docker soсket
внутри контейнераТакже у Алексея есть вебинары "Атаки на CICD", "Безопасность Docker. Ультимативный гайд по харденингу Docker", "Введение в безопасность Docker".
P.S. Про побеги из контейнеров особенно актуально в преддверии нашего доклад на OFFZONE 2024 ;)
P.S.S. Если вы что-то создаете по тематике канала, то не стесняйтесь это присылать!
YouTube
Побеги из контейнеров / Docker Escape
Мы рассмотрим различные методы, которые злоумышленник может использовать, чтобы сбежать из контейнера Docker, а также проанализируем необходимые шаги для успешного побега. Мы обсудим причины возникновения таких уязвимостей и обсудим, какие меры можно принять…
4👍26🔥9❤3😁2💩2