k8s (in)security – Telegram
k8s (in)security
12.1K subscribers
1.01K photos
38 files
1.56K links
Канал о (не)безопасности Kubernetes + микросервисных, контейнеризированных приложений.

Ведет команда www.luntry.ru

Вопросы, идеи, предложения => @Qu3b3c

https://knd.gov.ru/license?id=673ddbc21039886b1d03b7ce&registryType=bloggersPermission
Download Telegram
version-checker это простенький инструмент для Kubernetes, который смотрит какие версии образов контейнеров запущены в кластере и на сколько они соответствуют последним версиям данного проекта. Тоесть позволяет очень просто контролировать актуальность используемых образов. Результаты проверки вывешиваются как Prometheus metrics, отображаются на dashboard и могут информировать об этом оператора.

При этом поддерживается порядочный набор registries:
- ACR
- Docker Hub
- ECR
- GCR (включая k8s.gcr.io)
- Quay
- Self Hosted (Docker V2 API совместимые реджистри типа artifactory и т.д.)
👍22
Kubernetes Security Technical Implementation Guide (STIG) документ с перечнем технических требований для безопасной настройки Kubernetes (1.16.7 и новее), подготовленный Defense Information Systems Agency (DISA) по заказу Department of Defense (DoD).

Самое ценное в архиве это U_Kubernetes_STIG_V1R6_Manual-xccdf.xml - в этой XML описаны все требования, действия для проверки и исправления! Еще один [1,2] замечательный материал от ребят из DoD по Kubernetes.

По сути это конкурент/аналог CIS Kubernetes Benchmark и в меньшей степени раскритикованного [1,2] документа "Kubernetes Hardening Guidance" от NSA с CISA.

Кстати, kube-bench уже имеет поддержку STIG для EKS ;)
👍9
На конференции OFFZONE 2022 в этом году у меня было аж два доклада и второй из них (видео и слайды) это "Безопасность Kubernetes: Фаза Deception" (первый - это мой `keynote`-доклад).

Мы в нашей команде Luntry любим смотреть на безопасность Kubernetes со всех сторон и под абсолютно разными углами. И в рамках данного доклада я рассмотрел как, защищая свой Kubernetes, можно повысить шансы на обнаружение злоумышленника за счет его обмана (deception)! При этом всем будем использовать всю специфику окружения и его встроенные механизмы - тут k8s открывает прям безграничные возможности как по мне.

Данный доклад будет полезен Red и Blue team, работающих с Kubernetes.

P.S. В комментариях можно предлагать свои идеи - я уверен, что в данном направлении можно придумать еще много всего интересного ;)
👍9
Буквально недавно открыл для себя https://www.kubernetes.dev/ - где очень удобно можно следить за Kubernetes Enhancement Proposals (KEPs) (также искать/копаться в них) и на страничке Release смотреть какие фичи появятся в новой версии (Enhancements Tracking Sheet) и в какие даты выйдет (kubernetes/sig-release v1.26 milestone).

Так, на пример, я/мы/все теперь могу намного проще следить за "KEP-2091: Add support for AdminNetworkPolicy resources". О нем я уже как-то писал тут, но с тех времен ресурс ClusterNetworkPolicy переименовали в AdminNetworkPolicy.
👍2🔥2🥰2
Недавно наткнулся на политику "Verify Image Check CVE-2022-42889" в постоянно расширяемой библиотеке политик Kyverno (уже 232 политики).

Она позволяет проверить есть ли в образе последняя нашумевшая уязвимость в Apache Commons Text library или нет и решить разрешить ли выкатку микросервиса с таким образом или нет.

Все это делается на основании информации из SBOM, которая предварительно генерируется в CI, а далее в самой политике прописываем где она лежит, в каком форма, название какого компонента нас интересует и какой версии.

За деталями реализации помимо самого примера для данной уязвимости будет полезно почитать разделы:
- Verify Images - проверка образов
- JMESPath - JSON язык запросов

Также можно обратить внимание на следующие политики связанные с работой с уязвимостями:
- "Require Image Vulnerability Scans" - есть скан на уязвимости не старше 1 недели
- "Check Tekton TaskRun Vulnerability Scan" - скан на уязвимости не содержит уязвимости с рейтингом больше 8.0
🔥5👍2🐳1
Сегодня в 11:00 (по Мск) я (от лица Luntry) в приятной компании буду участвовать в онлайн-конференции AM Live «Российский DevSecOps в условиях импортозамещения». По мне это прекрасная возможность послушать как различные вендоры, интеграторы и дистрибьюторы смотрят на вопрос DevSecOps.
👍11👎3🤔3🤩1
Вместе с командой сейчас работаем над добавлением в Luntry функциональности связанной с Compliance, а именно CIS Kubernetes Benchmark. Предварительно мы проанализировали множество OpenSource и коммерческих решений - первые на уровне кода и UI, вторые чисто на уровне UI. Остановимся на первых и обсудим к каким не утешительным выводам мы пришли. И так, обнаруженные проблемы:
- Отсутствие реализации проверок - идет как TODO или manual check
- Не полная реализация проверок - этот факт даже отмечается в комментариях (partial check)
- Отсутствие поддержки новых версий Kubernetes - для кого-то может быть новостью, но CIS Kubernetes Benchmark обновляется с новыми релизами Kubernetes.

В итоге, запуская/используя тот или иной инструмент с этими проблемами вы получаете не корректную картину по своей инфраструктуре.

P.S. Не ленитесь читать код OpenSource проектов!
👍8
Статья "Understanding container images - The fundamentals" - очень хороший материал об устройстве образов контейнеров.

Тут нет ничего про безопасность, но чтобы обеспечивать безопасность - нужно понимать саму технологию (UnionFS, OverlayFS, CoW, OCI).

Это позволит и с умом подходить к поиску секретов в образах и правильно приоритеты расставлять для уязвимостей в разных слоях и осознано прийти к distroless образам ;)

P.S. А и да это может быть полезно при разборе инцидентов в контейнерах.
👍15🔥5🥰1
"Restructuring the Kubernetes Threat Matrix and Evaluating Attack Detection by Falco" это записки интерна на практике, который разбирался с безопасностью Kubernetes и игрался с Falco.

Основные темы статьи:
- Расширение/дополнение Threat matrix for Kubernetes от Microsoft методами атак что там отсутствуют - очень полезный раздел и картинка этого дополнения вынесена в начало поста.
- Рассказ про правила обнаружения в Falco - что автор туда дописал. Учтите, что чем больше правил/сигнатур использует движок, тем медленнее он работает и больше оверхеда дает.
- Способы обхода Falco - опять привет symbolic links. Еще про его обходы я писал тут, тут и тут.
- Понимание эффективности и ограничений возможностей Falco
🔥5
Инструмент KubeStalk позволяет обнаружить Kubernetes системы и связанные с ним компоненты путем сканирования списка IP адресов.

При этом для определения корректности детекта системы или доступа решение имеет набор сигнатур (plugins - JSON файлы) и там есть detector, который проверяет наличие определенной информации в ответе для проверки. На текущий момент в наличии:
- Kubernetes Version Disclosure
- Kubernetes Pod List Exposure
- Kubernetes Paths Exposure
- Kubernetes Web View Dashboard Exposure
- Kubernetes Resource Report Dashboard Exposure
- Kubernetes Operational View Dashboard Exposure
- Kubernetes Dashboard Exposure
- etcd Viewer Dashboard Exposure
- Unauthenticated etcd Exposure
- cAdvisor Metrics Web UI Dashboard Exposure

Все на python и легко расширяется ;)
👍9
На прошлой неделе прошел KubeCon + CloudNativeCon North America 2022 и уже доступны видео и слайды со специализированных сессий:
- Cloud Native SecurityCon NA 2022
- SigstoreCon NA 2022
- ServiceMeshCon NA 2022
- PrometheusDay NA 2022
- Kubernetes on Edge Day NA 2022
- Kubernetes AI Day NA 2022
- GitOpsCon NA 2022
- EnvoyCon NA 2022
- Cloud Native eBPF Day NA 2022
- Open Observability Day NA 2022
- Cloud Native Telco Day NA 2022
- Kubernetes Batch + HPC Day NA 2022
- KnativeCon NA 2022
- Cloud Native Wasm Day NA 2022
- BackstageCon NA 2022

Отдельно выделю появление новых сессий про Sigstore и Backstage, что говорит про тренды про подпись/аттестацию используемых артефактов и движение к специализированным порталам для разработчиков.

P.S. Видео с основной программы KubeCon + CloudNativeCon North America 2022 еще не доступно …
👌6🔥4👍1🤩1
Если вы собираетесь сделать так чтобы ваш Kubernetes кластер соответствовал требования PCI DSS, то вы ,конечно, в курсе, что PCI Security Standards Council выпустил документ "Guidance for Containers and Container Orchestration Tools". Также вы возможно видели ряд обзоров и анализов данного документа с маппингом на Kubernetes на моем канале тут и тут. Но исследователь Rory McCune пошел дальше и начал детально рассматривать каждую из тем.

На сегодняшний день из 16 тем уже автор рассмотрел 5:
- Authentication
- Authorization
- Workload Security
- Network Security
- PKI

Вообще настоятельно рекомендую смотреть за данной серией постов, да и вообще за блогом автора. Он один из немногих, кто создает оригинальный контент в области Kubernetes безопасности.
🔥7👍4👏1
Организаторы конференции KazHackStan 2022 выложили в открытый доступ записи докладов с конференции и теперь можно посмотреть мой доклад "Специфика расследования инцидентов в контейнерах" (сами слайды тут).

Также отмечу очень крутой и для многих на этом канале полезный доклад своего хорошего товарища Эльдара "kyprizel" Заитова "Вызовы безопасной гибридной облачной инфраструктуры".

P.S. В комментариях можно задавать вопросы по докладам как мне, так и Эльдару ;)
👏6🔥2🤩2
Недавно наткнулся на вот такую забавную картинку. С первого или неопытного взгляда она может показаться просто юмористической. НО она под собой имеет и технический аспект связанный с Kubernetes.

Те кто смотрел мой доклад "Заметки путешественника между мирами: ИБ, ИТ" или был на моем тренинге знают о таком подходе к обеспечению безопасности как Moving target defense (MTD), который мне очень импонирует. А те кто внимательно читает мой канал могут вспомнить пост про Kubernetes operator под названием descheduler, который может помочь в реализации данного подхода.

Так что в каждой шутке есть доля шутки ;)
🔥17🤣5👍1👎1
Команда Kubernetes информирует, что в релизе 1.26 он не только поднаберет в весе, но и значительно скинет за счет отказа от поддержки Container Runtime Interface (CRI) версии v1alpha2. (В первый раз я дочитал сообщение до сюда и ужаснулся). В итоге, останется поддержка только версии v1. Я уверен, что такой отказ от legacy пойдет только на пользу системе.
🔥10👍1
Периодически компании обращаются с вопросом о возможности публиковать на данном канале вакансии связанные с `Kubernetes security`. И компаниям хочется помочь, и чтобы рекламы было минимум. Хочу узнать ваше мнение. Быть или не быть постам с вакансиями?
Final Results
25%
Нет
50%
Да, но с рядом условий/ограничений, чтобы было не часто
25%
Да
На скриншотах есть проблема!

Сегодня мы рассмотрим одну из популярнейших проблем при использовании политик от Policy Engine, что наша команда встречаем на своем опыте во время аудитов и пентестов Kubernetes кластеров.

Речь пойдет о политике, отвечающей за проверку разрешенных image registry. В OPA Gatekeeper обычно она базируется на ConstraintTemplate под названием K8sAllowedRepos, а в Kyverno на базе restrict-image-registries или advanced-restrict-image-registries (о них я писал тут).

Если вы не догадались, то проблема на скриншотах заключается в том, что в путях имен image registry отсутствует символ "/", без него данные политики достаточно просто обходить, подняв у себя домен желаемый_путь.evil.domen.com. Данные проверки обычно работают на базе инструкций startWith(), contains() и наш вредоносный домен будет удовлетворять данным требованиям ;)

Печально что эти примеры политик широко распространены в интернете и многие их бездумно копируют к себе. Будьте аккуратнее копируя из интернета =)
🔥13👍3😱3
Все кто занимается или задумывается о supply-chain безопасности в Kubernetes (и на самом деле не только в нем) знают проект Sigstore.

Но мало кто знает, что у данного проекта есть собственный admission controller под названием policy-controller, который может применять политики к ресурсам на основании supply-chain metadata от утилиты cosign. Единственное учтите, что эта часть проекта Sigstore новая и пока находится в активной стадии разработки.

Данный контроллер позволяет проверять:
- Подписи образов
- Аттестацию связанных с образом ресурсов (SBOM и т.д.)

Для всего это требуется создать свою политику, которая из себя представляет Custom Resource типа ClusterImagePolicy.

В этой политики можно описать:
- К каким образам и в каких namespaces, pods и из каких image registry это применяется
- Что проверить, например, подпись образа, наличие SBOM или его содержимое (логика пишется на CUE)!
- Реакцию warn|allow|deny (по умолчанию deny)

На скрине политика, что не пропустит образы с уязвимостью Text4Shell
👍4
Threat Model Examples - Github проект, представляющий из себе коллекцию различных примеров моделей угроз. Среди которых наиболее интересные нам:
- Kubernetes
- Docker
- Container
- Supply Chain
- Cloud Computing
- CI/CD Pipeline

Так почти все это было уже на данном канале, а здесь все собрано в одном месте - думаю, что многим не помешает, тем более что далеко не все тут с самого начала читают канал.

P.S. Сегодня в 16:00 пройдет онлайн-встреча Программного комитета конференции DevOps Conf 2023 с потенциальными спикерами и активистами. Участие свободное, только нужно зарегистрироваться. CFP уже открыто ;)