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

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

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

https://knd.gov.ru/license?id=673ddbc21039886b1d03b7ce&registryType=bloggersPermission
Download Telegram
Все слайды и видеозаписи докладов с конференции БеКон 2024!

Изучайте, учитесь и делайте свои контейнерные инфраструктуре безопаснее вместе с нами!
🔥30👍109🥰4❤‍🔥3
SAPwned: SAP AI vulnerabilities expose customers’ cloud environments and private AI artifacts – интересная статья от исследователей из WIZ, в которой они описывают полную цепочку захвата Kubernetes кластера.

Интересно, что изначально пользователи SAP AI могли создавать собственные нагрузки, используя Argo Workflow, но они были строго ограничены по securityContext и сети с помощью Istio.

Но простой трюк со сменой UID на 1337 (об этом мы рассказывали тут) позволил ресерчерам обойти сетевые ограничения, насканить сеть, найти AWS token, получить пользовательские данные из S3 хранилища и захватить кластер целиком через Unauthenticated Helm Tiller.
👍14🔥2😁2
Как-то мы спрашивали Вас про ваше отношение к публикации на данном канале вакансий связанных чисто с Kubernetes security. И большинство высказалось положительно на этот счет.

Мы хорошо понимаем актуальность данной темы, высокий спрос на данных специалистов и все сложности поиска специалистов данного направления. В контексте этого настоятельно рекомендуем ознакомиться со слайдами и видеозаписью доклада "Почему защитой k8s должно заниматься целое подразделение?" от Артема Мерец с прошедшего БеКон 2024.

При этом у нас тут собрана как раз та самая целевая аудитория: кто-то только начинает делать первые шаги в данной области, кто-то уже давно защищает кластера в своих компаниях, кто-то давно занимается разворачиваем и сопровождением K8s и хочется заняться ИБ, кто-то давно работает в SOC и хочет немного сменить фокус и т.д.

Мы решили помочь компаниям в поисках таких специалистов и публиковать вакансии, направленные на специалистов по безопасности Kubernetes (это строгое ограничение). По всем вопросам можно писать контакту указанному в профиле.
👍35
Крутой лонгрид "Attacking Pipeline". 8 типов атак с различными сценариями представлены по шагам с рекомендациями по обеспечению безопасности (и все это с понятными примерами)!

Рассмотренные атаки:
- Control of common registry
- Direct PPE (d-PPE)
- Indirect PPE (i-PPE)
- Public PPE
- Changes in repository
- Inject in Artifacts
- User/Services credentials
- Typosquatting docker registry image
🔥164🥰1
Авито в поиске талантливого специалиста, который возьмёт на себя лидерство в направлении безопасности Kubernetes.

В компании выстроен зрелый процесс безопасной разработки, включающий в себя статический и динамический анализ приложений, поиск секретов и персональных данных, анализ зависимостей и множество других решений для максимально быстрого и точного обнаружения проблем.

Уже собралась крутая команда, состоящая из AppSec, Security BP, команды разработки и для полного счастья нужен инженер по безопасности k8s.

Что предстоит делать?

⭐️ Строить основные процессы безопасности Kubernetes
⭐️ Разрабатывать и внедрять механизмы защиты от основных угроз для контейнерных сред (OWASP TOP 10 Kubernetes/Docker)
⭐️ Консультировать и обучать DevOps и администраторов по настройкам безопасности

Почему Авито?

🔥 Классифайд №1 в мире по версии сервиса SimilarWeb
🔥 Огромная распределённая инфраструктура
🔥 Можно работать как в комфортных офисах в Москве, Санкт-Петербурге, Самаре, Казани или в коворкинге в Ереване, так и полностью удалённо
🔥 Достойная заработная плата (до 500 000 руб)
🔥 Дико флексим на team-get-together

Откликайтесь
👍15👎12😁7🔥2
Классный исследователь безопасности и по совместительству подписчик нашего телеграм канала Luis Toro Puig совсем недавно выступил на конференции EuskalHack с воркшопом Kubernetes Security Fundamentals. Доклад затронул, наверное, все самые базовые темы в направлении Kubernetes Security.

100 must-have слайдов можно найти тут.
🔥17👍8👏2
Недавно, читая нововведения в 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🔥63
Вышла версия 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 можно посмотреть тут.
👍14🔥32
Продолжим тему сетевой безопасности. И если вам интересно куда и как развивается механизм сетевого ограничения в 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👍31🥰1
Вышла третья статья из цикла Kubernetes Security Fundamentals и в этот раз про Authorization (первая была про API Security и о ней мы писали тут, а вторая про Authentication и почитать про неё можно тут).

Автор кратко разбирает как работают и в чем основные преимущества и недостатки Kubernetes authorization modules, а также рассказывает как устроена авторизация в других компонентах KubernetesKubelet, Scheduler и Controller Manager.
👍132🔥1🥰1
Для того чтобы блокировать операции над subresources, вроде pods/exec или pods/portforward, необходимо внести некоторые изменения в конфигруацию вебхуков PolicyEngine. А именно – добавить операцию CONNECT. По умолчанию этой операции нет, и если её не добавить соответствующая политика на запрет использования pods/exec или pods/portforward просто не будет работать.

Но есть и хорошие новости. Если вы используете Kyverno и применяете политику, где задействован такой subresource (для контроля которого нужна операция CONNECT), то Kyverno автоматически пропатчит конфиг своего вебхука и добавит туда нужную операцию.

Про необходимость использования операции CONNECT мы рассазывали тут.
👍14🔥4🥰2
В статье "Authentication and Authorization with ISTIO and OPA on Kubernetes" рассказывается как можно накрутить Authentication и Authorization между сервисами, запущенными в Kubernetes кластере на базе Istio (с использованием RequestAuthentication и AuthorizationPolicy) и OPA.

К использованию OPA пришлось прибегнуть из-за некоторых ограничений Istio, выраженных в отсутствии поддержки regex as path rule.

P.S. – всем хороших выходных!
👍14🔥5🥰21
Как вы можете помнить, начиная 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👍72
Если вы не знаете, почему Kubernetes не управляет пользователями, то статья с одноименным названием "Why Kubernetes doesn’t manage users?" для вас.

В статье рассказывается о преимуществе такого подхода, а также как можно завести пользователей в кластер с помощью external connectors:

- OIDC
- LDAP
- Webhooks and Custom Auth Plugins
👍113🔥3
Сегодня хотим поделиться небольшой утилитой 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🔥32😢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.

Ознакомиться с самой тулзой можно по ссылке тут. Узнать, то как и где её можно применять можно здесь.
🔥18👍81
На просторах Github мы наткнулись на репозиторий KubernetesCRInjection. Он определенно будет полезен, если вы пишите свой Kubernetes controller и хотите избежать возможных уязвимостей еще на стадии его проектирования.

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

Примеры того как можно классифицировать такие инъекции и реальные примеры таких уязвимостей можно в репозитории.
🔥13👍52
Сегодня выходит 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.
👍21🔥54👎1
Небольшая тулза kube-audit-viewer будет вам полезна, если вы собираете Kubernetes Audit Log и хотите удобно их просматривать. По сути это простое веб-приложение, которое принимает на вход файл с логами (через параметр -logfile) и рендерит их на странице в браузере. Также присутствует функционал с простым поиском.

P.S – да, может быть не совсем красиво и удобно, но это лучше чем ничего.
🔥9👍4👎21🤮1