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
Ваш Kubernetes работает на Cgroup v1 или на Cgroup v2?

Нет?! Не знаете?! А зря ...

В статье "Five Things to Prepare for Cgroup v2 with Kubernetes" авторы рассматривают:
- что такое Cgroup v2
- что это дает Kubernetes
- и как подготовить Kubernetes для запуска на Cgroup v2

Из некоторых преимуществ они выделяют:
- Container-aware OOM killer
- Rootless Kubernetes components (уже писал об этом тут)
- Complete utilization of eBPF

В общем с переходом на вторую версию и обслуживание и безопасность Kubernetes можно хорошенько подтянуть ;)
👍8
Крутая статья "Digging Into Runtimes – runc" про референсный Low-level runtime - runc.

MUST READ для всех кто работает с контейнерами и хочет понимать что такое контейнеризация на самом деле. runc это самый популярный Low level runtime и он точно есть в вашем Kubernetes ;)

В статье рассматриваются следующие аспекты работы runc:
- Generating an OCI configuration
- Creating root container
- Configuring runc-init with network interface
- Starting the root container
- Writable storage inside a container
- Pause and resume a container
- Inspect the current state of a container
- Checkpoint a container
- Executing a new process in an existing container
- Hooks
- Updating container resource limit
- Creating rootless container
- A word on security

Последние два раздела заслуживают особого внимания с точки зрения ИБ (хотя там все так или иначе касается изоляции и безопасности).

Все это сопровождается примерами и кодом.
👍12🤩1
По результатам вчерашнего опроса большинство опрошенных так или иначе для реализации Multi-Tenancy в Kubernetes используют подход Namespaces as a Service. Определённо, что для его грамотной реализации нужно использовать и управлять NetworkPolicy для сетевой изоляции и сегментации. Все ли у вас с этим хорошо?)

Одним из примеров/референсов может служить материал из статьи "Managing Network Policies for namespaces isolation on a multi-tenant Kubernetes cluster". В их случае они используют Hierarchical Namespace Controller (HNC) в сочетании с Terraform. При этом у них есть деление на компании, команды и сервисы.
👍2🔥1
Kubernetes CNI, работающие на базе iptables, при реализации NetworkPolicy используют тот же iptables, который понятно, как работает. А задумывались ли вы как NetworkPolicy реализуются в CNI что базируются на eBPF (тот же Cilium)?!

В статье "Cracking Kubernetes Network Policy" рассматривается как за менее чем 100 строчек на eBPF можно сделать простейшую реализацию NetworkPolicy! По сути, это скелет того, что доведено до ума в Cilium. В итоге очень крутой лонгрид с кишками сетевой работы!!!

MUST READ если хотите понять, как реализуются и работают NetworkPolicy на уровне eBPF.

P.S. А сегодня в 15:00 в зале «Селигер» на PHDays мы с коллегой расскажем доклад “NetworkPolicy — родной межсетевой экран Kubernetes” – приходите, слушайте или смотрите online.
👍12🔥4🥰2
Ребята из Trip.com в статье "First Step towards Cloud Native Security" делятся своим опытом работы с CiliumNetworkPolicy для контролирования доступа на L3/L4 как в Kubernetes, так и в legacy инфраструктуре. При этом они рассматривают следующие моменты характерные для крупных развертываний:
1) Управление политиками в условиях разных доступов и знаний у infra, dev, sec teams
2) AuN и AuZ при манипулировании политиками
3) Обработка cross-boundary доступов в Kubernetes multi-cluster
4) Управление legacy нагрузкой (на пример VM/BM/non-cilium-pods)
5) Вопрос производительности (Performance)
6) Logging, monitoring, alerting, observability и т.д.

Отдельно выделю - у ребят много кастома для решения этих моментов:
- Собственный kubernetes operator для поддержки multi-cluster
- Собственный Custom Resource - CiliumExternalResource (CER) похожий на CiliumExternalWorkload (CEW) для поддержки legacy инфраструктуры
- Использование dataplane-независимого ресурса AccessControlPolicy
- В CD платформе идет апрув запроса по цепочке: запрашивающая сторона, владелец ресурса и команды ИБ
- Обход ограничений идентификаторов через security relevant labels
- Кастомные патчи для Cilium для аудита политик и т.д.

P.S. Забавный факт сетевая обработка пакетов в Cilium идет быстрее если используется NetworkPolicy - без нее цепочка обработки длиннее ;)
🔥7👍1
KoolKits — это набор специализированных образов, базирующихся на ubuntu:20.04 и содержащих около 60 инструментов отладки, для интерактивной отладки distroless (и не только) образов с помощью команды kubectl debug, которая завязана на Ephemeral containers.

На текущий момент есть поддержка:
- Node.js
- Python
- Java
- Go

Напомню, что Ephemeral containers в Alpha с 1.18 и в Beta с 1.23, где включены по умолчанию. Мотивация использования этого достаточно понятная. С точки зрения ИБ – уменьшаем attack surface и пространство для маневров атакующим, с сохранением удобства работы нашим разработчикам.

Сами авторы говорят, что они вдохновлялись такими проектами как kubespy и netshoot.
Давненько я не выступал в Санкт-Петербурге - все в Москве, да в Москве ...

Исправляюсь и выступлю 28 мая на митапе Three Amigos Talk с названием "Интегрированная безопасность в разработке, или Соблюдай технику безопасности!" у своих друзей из Ak Bars Digital. Речь на митапе пойдет как не трудно догадаться об интеграции безопасности в разработку - программа интересная!

Мой доклад называется «Shift Left Everywhere Security в каждый дом» и в нем я хочу подсветить один очень важный момент о котором часто забывают при внедрении у себя DevSecOps практик ;)

Регистрация и подробности всех докладов тут. Формат online + offline.

Как всегда, буду рад пообщаться!
🔥12👎2🥰1
Исследование "Kubernetes Privilege Escalation: Excessive Permissions in Popular Platforms". В нем авторы решили взять разные популярные решения (AKS, EKS, GKE, OCP, Antrea, Calico, Cilium, WeaveNet) - и посмотреть, как у них обстоят дела с правами.

По итогу:
- В 62.5% есть DaemonSets с мощными правами
- И в 50% побег из любого контейнера на Node приведет к полной компрометации кластера

Также они релизнули rbac-police, которая с помощью самобытных правил на Rego позволяет идентифицировать мощные права и пути повышения привилегий в Kubernetes кластере. Часть этих правил они еще добавили в Checkov, а еще в папке prevent они выложили пару политик для OPA Gatekeeper.

Я долго ломал голову почему нельзя было все эти правила сразу оформить в виде политик для Policy Engine - ведь так наиболее правильно и полезней, да и трудностей сделать это никаких нет. И потом понял, что rbac-police это развитие sa-hunter, который является скриптом для пентестеров!
👍12
Несколько дней назад стал доступен документ "Cloud Native Security Whitepaper" версии 2! Напомню, что версия 1 была выпущена в ноябре 2020. Это время индустрия не стояла на месте, а активно развивалась и документ требовал обновлений. В итоге, в него были добавлены следующие разделы:
- Threat Matrix for Containers
- Use case: Ransomware
- Secure Defaults
- Supply Chain Security
- GitOps
- Security Stack
- Use case: Securing Financial Institutions under EU regulations
- SSDF v1.1 Mapping (Secure Software Development Framework)

Если вы не знакомы с данным документом, то я настоятельно рекомендую вам исправить это недоразумение ;)
👍6
KubeClarity - инструмент для обнаружения и управления Software Bill Of Materials (SBOM), уязвимостей в образах контейнеров и файловой системы.

Cканы можно запускать как и для всего кластера, так и только в определённых namespaces. Есть фильтры при отображении результатов сканирования. Есть возможность делать сканы в private registries (aws, google cloud).

CLI несколько расширяет функциональность – можно использовать несколько сканеров (сейчас поддерживается Grype и Dependency-Track, обещают добавить поддержку и других), можно использовать разные генераторы SBOM (сейчас поддерживается Syft и Cyclonedx-gomod, обещают добавить поддержку и других)

Также есть интеграция с CIS Docker Benchmark, но в UI результаты посмотреть нельзя (есть в планах roadmap).

Есть ограничение – не поддерживается Docker Image Manifest V 2, Schema 2. А в качестве недостатка – сканер порождает Jobs не в своем namespaces, а там, где развернуто приложение …
👍9
Как активно для своих микросервисов в Kubernetes вы применяете securityContext.capabilities.drop.all ?
Final Results
18%
Очень активно
13%
50/50
14%
Очень неактивно
54%
Не применяем
Дискуссия!

По идее на прямую доступ к Kubernetes API никто не имеет (либо пользуются этим в исключительных случаях) и раскатывают все через Git (GitOps, GitOps operatos и т.д.). В общем Git является источником правды (root of trust). Хочешь что-то изменить - закомить сначала в Git, пройди все pipelines и только тогда попадай в Kubernetes.

Но в вопросах безопасности порой чрезвычайно важна скорость реакции, что приводит к необходимости обхода стандартных путей или их сокращению. И как следствие ломается концепция root of trust ... И системы становится в некотором плавающем, неопределенном состоянии, непонятным для всех команд, кто не в курсе этого (Dev, Ops, SRE и т.д.).

Например, в обход Git выкатили/изменили/откатили/... NetworkPolicy или политику PolicyEngine. (Я не говорю уж о способах, которые это делают совсем не явно для инфраструктуры)

Безопасность должна обеспечивать непрерывность работы бизнеса, а не палки в колеса.

Как вы думаете как это должно выглядишь правильно ?
👍1
Конкурс!

14 июня на конференции DevOpsConf 2022 в Москве я выступлю с докладом "SOAR в Kubernetes малой кровью". Благодаря организаторам у меня появилось возможность разыграть 1 online билет!

SOAR расшифровывается как Security Orchestration, Automation and Response. Это такой класс ИБ решений, который предназначен для оркестрации систем безопасности - автоматизировать типовые сценарии реагирования на события ИБ. Я данную тему поднимал уже не однократно [1,2,3,4,5].

На мой скромный взгляд в Kubernetes на базе его концепций (reconciliation loop, декларативная природа и т.д. ) можно построить не только self-control, self-healing, но и self-defence систему.

В комментариях для данного поста напишите сценарий в области ИБ в Kubernetes, который бы вам хотелось бы (или он уже у вас реализован) обрабатывать автоматизировано: случилось что-то и на это последовала какая-то реакция. Варианты принимаются до 03.06.2022. Выбирать буду я на свой субъективный взгляд ;)
🔥4👍21😁1
Trivy Operator PolicyReport Adapter - проект, предназначенный для перевода CustomResources от Trivy Operator (Не понял чем он отличается от Starboard-operator) в унифицированный формат PolicyReport и ClusterPolicyReport от Kubernetes Policy Working Group. Это позволяет использовать проект Policy Reporter для работы с различными результатами политик и сканов.

Таким образом в одном интерфейсе можно работать с:
- VulnerabilityReports
- ConfigAuditReports
- CISKubeBenchReports
- ComplianceReports
- И результатами работ того же Kyverno.

Все декларативно и при этом в одном интерфейсе.
👍7
Крутой GitHub репозитарий "Software Supply-Chain Security Reading List" - в общем все о Supply-Chain Security. Содержит следующие разделы:
- Policy - где это вообще требуется и описывается
- Incidents/Threats - уже случившиеся инциденты
- Solutions - решения из данной области
- Organizations - организации, занимающиеся данным вопросом
- Background - полезные материалы для понимания данной области
- Reports and summaries - различные документы и отчеты по данной теме

Тема хоть для многих и не столь актуальная сегодня (ввиду текущего уровня зрелости ИБ), но явно таковой станет.
🔥9👍3
Недавно мы с коллегой выступали на конференции с докладом "NetworkPolicy — родной межсетевой экран Kubernetes". Сейчас доступна запись и можно изучить ее и разобраться чем отличаются и что могут Native и Custom NetworkPolicy на базе Calico и Cilium.

+ раз и навсегда понять зачем не нужно в Kubernetes городить своих огородов из разных костылей и искать железку в стойку ;)

Приятного просмотра!
🔥14👍7
Если вы планировали провести эти выходные с пользой, то как раз для вас CNCF выложил записи докладов (+ слайды) с недавно прошедших своих сессий:
- KubeCon + CloudNativeCon Europe 2022
- ServiceMeshCon EU 2022
- Kubernetes on Edge Day EU 2022
- Kubernetes Batch + HPC Day EU 2022
- Cloud Native SecurityCon EU 2022
- Kubernetes AI Day EU 2022
- Cloud Native Wasm Day EU 2022
- FluentCon EU 2022
- KnativeCon EU 2022
- GitOpsCon EU 2022
- Cloud Native Telco Day EU 2022
- PrometheusDay EU 2022
- Cloud Native eBPF Day EU 2022

Обратите внимание, что доклады на тему security были не только на Cloud Native SecurityCon, но и в основной программе, и в других сессиях ;)

Наиболее интересные на мой взгляд доклады по security я выделю отдельно.
🔥19🥰3
Документация Kubernetes это все-таки кладезь полезных материалов. Сегодня хочу подсветить недавно появившуюся страничку "Role Based Access Control Good Practices". Она содержит:
- General good practice
- Kubernetes RBAC - privilege escalation risks
- Kubernetes RBAC - denial of service risks

Обязательно к чтению!
👏13
Mind map для Linux privilege escalation. Может быть полезно если нужно поднять привилегии в контейнере ;)
🔥19👍7
Как активно для своих микросервисов в Kubernetes вы используете distroless образы?
Final Results
6%
Очень активно
17%
50/50
22%
Очень неактивно
55%
Не применяем