Telegram Web
Большой ресерч от DataDog State of Cloud Security получил апдейт. Там есть два интересных момента, которые особо не подсвечивают облачные провайдеры:

1) Managed Kubernetes, запущенные по умолчанию увеличивают риск атаки
2) Опасные (привилегированные) IAM роли в Managed k8s увеличивают риск для pivot

Исследование проводилось на AWS, Azure и Google Cloud так что настоятельно рекомендуем с ним ознакомиться всем, кто имеет дело с этими облаками или просто интересуется облачной безопасностью.
👍173🔥2
Давненько у нас не было хардкорных постов про ядро и его эксплуатацию - исправляемся.

Встречайте статью "SELinux bypasses". Из данного материала вы узнаете:
- Что такое SELinux и как он реализован
- 6 способов его обхода

Да, в статье рассматривается все на пример ОС Android, но как вы знаете в Kubernetes мы тоже можем использовать SELinux и по сути он не чем не отличается.
🔥16👎21🥰1
В Cilium раскрыли очередную уязвимость – CVE-2024-47825: CIDR deny policies may not take effect when a more narrow CIDR allow is present.

Например, при использовании приведенных ниже политик трафик разрешен для 1.1.1.2, в то время как он должен быть запрещен:


apiVersion: cilium.io/v2
kind: CiliumClusterwideNetworkPolicy
metadata:
name: block-scary-range
spec:
endpointSelector: {}
egressDeny:
- toCIDRSet:
- cidr: 1.0.0.0/8
---
apiVersion: cilium.io/v2
kind: CiliumNetworkPolicy
metadata:
name: evade-deny
spec:
endpointSelector: {}
egress:
- toCIDR:
- 1.1.1.2/32
- toEntities:
- all


Так что если у вас есть сетевые политики в кластере, это еще не значит, что они работают =) Ну и про лейблы забывать также не стоит.

Всем хороших выходных!
👍11😨7🔥2
Начнем эту неделю с крутой статьи "Securing Continuous Delivery: Argo CD Threat Detection", которую написали наши постоянные читатели и любезно поделились ей с нами ;) От ребят ранее была и другая не менее интересная статья про Threat Detection в k8s, но вернемся к сегодняшней теме. В рамках данной стать рассматривается стратегия обнаружения угроз в ArgoCD. Если вы используете данный GitOps оператор, то он определённо играет ключевую роль у вас в кластере, так что стоит серьезно задуматься о его безопасности. И вот в статье приведено 12 полезных детектов для данной системы. Специалистам SOC обязательно к изучению! Так же из статьи можно узнать как вообще об устройстве ArgoCD, так и о его модели угроз, которая отдельна описана в замечательном документе "Argo CD End User Threat Model".
🔥18👍4🥰3
Scaling in the Clouds: Istio Ambient vs. Cilium – интересная статья-сравнение, опубликованная в блоге Istio инженером из Microsoft.

Istio был запущен в ambient mode с waypoint proxy в каждом namespace. Чтобы сделать сценарии похожими, в кластере с Cilium был включен WireGuard encryption, L7 proxies и Node Init, а также была применена L7 Cilium Network Policy в каждом namespace.

По итогам тестирования автор выяснил, что значительные проблемы в производительности у Cilium начинаются при работающих L7 политиках и включенном шифровании. Хотя Istio в то же время потреблял больше ресурсов.

С заметками автора можно ознакомиться тут.
👍10🔥61
30 октября на конференции SafeCode 2024 Autumn наша команда в лице Сергея Канибора представит доклад "Security observability в Kubernetes". Из доклада вы узнаете, как Luntry может помочь разработчикам, QA-специалистам, системным аналитикам, Ops/DevOps/DevSecOps, командам ИБ и SOC строить и поддерживать надежную и безопасную инфраструктуру.

Также на конференции наш коллега Анатолий Карпенко (Luntry) совместно с Алексеем Федулаевым (MTC Web Services) проведут воркшоп "Готовим контейнеры вкусно и полезно".
🔥12👍6🥰2
AWRBACS - это инструмент на Go предназначенный упростить аудит CRUD прав в Kubernetes RBAC. Подробнее об его истории и назначении можно узнать из статьи автора "AWRBACS: AWACS for RBAC".
👍11🔥43
Сегодня хотим поделиться крутым докладом от Rory McCuneCharting the Course: The History and Evolution of Kubernetes Security с недавно прошедшей конференции Kubernetes Community Days UK.

В докладе автор рассказывает о том как значительно улучшилась безопасность Kubernetes за последние 10 лет, а также о моментах на которые нужно и важно обращать внимание. Ко всему прочему автор не забывает упомянуть 4 "неисправимых" CVE в Kubernetes.
8🔥6👍1
6 ноября в 11:00 состоится онлайн-конференция AM LiveЗащита контейнерных сред”. Наша команда Luntry, примет участие и вместе с другими спикерами обсудит риски и средства защиты контейнерных сред.

Зарегистрироваться можно тут.
🔥8👍2😁1
Сегодня в центре нашего внимания статья "Exploring Google Cloud Default Service Accounts: Deep Dive and Real-World Adoption Trends". В рамках нее исследователи проанализировать права облачного Default Service Accounts в облаке GCP и в частности Google Kubernetes Engine (GKE). Материал будет полезен как клиентам данных систем, так и облачным провайдерам, чтобы своевременно предусмотреть и создать соответствующие механизмы безопасности. В частности тут речь идет про Workload Identity, про который мы уже неоднократно писали [1,2,3,4] на канале, но не встречали аналога в отечественных облаках.

P.S. В комментариях нас поправили - в Yandex данная фича уже появилась
👍7🔥2🥰21
7 ноября в 17:00 в рамках SOC Forum 2024 наша команда Luntry представит доклад “Kubernetes Audit Log в арсенале SOC”.

Там мы погрузимся в премудрости механизма Kubernetes Audit Log. Разберемся, какие там есть подводные камни и слепые зоны и как максимально от него получить пользу для обнаружения злоумышленников.

Выступление можно посмотреть как offline, так и online на сайте мероприятия.
🔥10👍6
Rory McCune, чьи исследования мы не раз упомянали на канале, начал новую серию статей – на этот раз, посвященную Kubernetes network security.

Первая статья из цикла – The Many IP Addresses of Kubernetes. В ней автор объясняет сложность сетевых IP-адресов в Kubernetes, где используются три основные IP-диапазона: адреса для Nodes, overlay сети для Pods и сети для Service. Также на примере разбирается как Kubernetes связывает IP на уровне ОС с помощью iptables, управляемых kube-proxy.
👍16🔥72🆒2
Начнем новую неделю с замечательного туториала "How to Build Smaller Container Images: Docker Multi-Stage Builds". Основная задача материала научить делать маленькие/тонкие и более безопасные образы для приложений. Одним из основных посылов является: "build and runtime images should also be completely separate!". Из статьи вы узнаете:

1) Как делать не надо.
2) Что такое Multi-Stage сборки
3) Примеры Multi-Stage сборки для Node.js, Go, Rust, Java, PHP
👍25🔥82
Тем временем, в предверии конференции KubeCon + CloudNativeCon NA 2024, вышла новая версия Kyverno1.13. Основных изменений не так много:

- добавлена поддержка подписей images, использующих sigstore bundle
- добавлена поддержка PolicyExceptions для ValidatingAdmissionPolicies сгенерированных из Kyverno политик (используя subrule validate.cel)

Также нельзя не упомянуть о ломающих изменениях:

1) С версии 1.13 у контроллеров Kyverno отобраны wildcard разрешения на просмотр всех ресурсов. Это изменение может повлиять на отчеты, а также на политики mutate и generate на пользовательских ресурсах, поскольку контроллер больше не сможет просматривать пользовательские ресурсы
2) CVE-2024-48921 позволяла пользователям с возможностью создавать PolicyExceptions обходить ClusterPolicy в конкретном неймспейсе.
👍8🔥32❤‍🔥1
Совсем недавно обновился учебный план для сертификата Kubernetes Security Specialist (CKS) (новая версия 1.31). Данный план в принципе может быт неким ориентиром по построению защиты у себя. Там есть разбивка на разделы:
- Cluster Setup
- Cluster Hardening
- System Hardening
- Minimize Microservice Vulnerabilities
- Supply Chain Security
- Monitoring, Logging and Runtime Security

Отдельно выделим следующие моменты:
1) Необходимость NetworkPolicy встречается сразу в нескольких разделах
2) "Minimize host OS footprint (reduce attack surface)" <- специализированные OS
3) "Minimize base image footprint" <- про тонкие/минималистичные образы
4) "Perform behavioral analytics to detect malicious activities" <- обнаружение по поведению, а не правилам
5) "Use Kubernetes audit logs to monitor access" <- доклад об этом сегодня от нас на SOC Forum ;)
👍18🔥32❤‍🔥1
Продолжая тематику Kubernetes Network Security, Rory McCune представил новую заметку в своем блоге – Exploring A Basic Kubernetes Network Plugin.

Статья объясняет, как в Kubernetes кластере Pods получают IP-адреса через сетевые плагины, соответствующие спецификации CNI. В примере используется kind с плагином kindnetd.

Конфигурация сети хранится в файле 10-kindnet.conflist, где указаны IP-диапазоны для каждого узла. Для маршрутизации трафика между подами на разных узлах kindnetd создает записи в таблице маршрутизации. В завершение автор отмечает, что работа с сетью в Kubernetes может быть сложной и зависит от выбранного сетевого плагина.
👍10🔥42
Очень крутая статья "Kubernetes: The Road to 1.0" о том как все начиналось! Из материала можно узнать о следующих этапах появление Kubernetes:
1) Опыт эксплуатации оркестраторов Borg и Omega с 2009 по 2013
2) Ранняя разработка API контейнерного продукта в 2H2013
3) Подготовка к запуску в 1H2014
4) Финишная реализация устройства в 2H2014
5) Запуск в 2015

Напомним только что:
- 7 июня 2014 вышел initial релиз Kubernetes
- 10 июля 2015 вышел Kubernetes версии 1

И есть отдельный документальный фильм про Kubernetes.
🔥104❤‍🔥2👍1🥰1
12 ноября на конференции DevOops 2024 наша команда Luntry выступит с докладом “Латаем огрехи в образах приложений до рантайма, во время и после”, расскажем как сделать использование образов безопасными.

Внесем изменения на уровне самого образа, применяя модификации слоев с помощью docker-squash, mint и т. д. «Подкрутим» рантайм на уровне операционной системы и Kubernetes: AppArmor, capabilities, управление привилегиями и другие «ручки». Рассмотрим наблюдение за аномальным поведением контейнеров в рантайм.
🔥16👍5💩1
Как думаете, насколько опасна такая Role?


apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: pod-exec-view-role
rules:
- apiGroups: [""]
resources: ["pods/exec"]
verbs: ["get"]


Если вы думали, что только Role/ClusterRole с правами create – pods/exec может позволить пользователю делать exec в Pod, то вы ошибались. Благодаря особенностям работы Websockets, прав get – pods/exec будет достаточно, чтобы выполнять команды в Pod.

Что ещё более интересно, так это то, что такое поведение уже было давно в Kubernetes, но вы могли его не заметить, поскольку по умолчанию для exec использовался SPDY протокол, а не Websockets. О проблеме известно с 2019 года!

Чтобы получить exec при правах get – pods/exec, например, можно воспользоваться wscat:


wscat -s "base64url.bearer.authorization.k8s.io.$token, base64.channel.k8s.io" -n -c 'wss://192.168.99.100:8443/api/v1/namespaces/default/pods/testpod/exec?container=testpod&command=sh&stdout=true&stderr=true&stdin=true&tty=true'


Однако, начиная с версии Kubernetes 1.31 для операций attach, exec и port-forward теперь по умолчанию используется Websockets, а это значит, что прав get – pods/exec будет достаточно, чтобы выполнять команды в Pod.

Нельзя не упомянуть свежую заметку Rory McCuneWhen is read-only not read-only?, в которой он рассказал об этой особенности.
1🔥37🤔3👍21🥰1
Сегодня начался KubeCon + CloudNativeCon North America 2024, а значит что нас ждет море интересных докладов и анонсов. Ряд из больших анонсов уже были сделаны в преддверии конференции. Нам бы отдельно хотелось выделить:

1) Релиз containerd 2.0 (1.0 была выпущена 7 лет назад) - тут наконец есть стабильная поддержка user namespaces.

2) Istio Ambient Mode (то что работает без sidecar) достиг статуса General Availability в версии v1.24, что заняло у него чуть больше 2-х лет.

P.S. В комментариях можно поделится докладами, которые вам наиболее интересны с данного мероприятия.
🔥11👍64
2025/07/13 22:51:22
Back to Top
HTML Embed Code: