В официальном блоге
В данном блоге прошлись по таким темам, как:
-
Материал из разряда
Kubernetes вышла статья "A Closer Look at NSA/CISA Kubernetes Hardening Guidance", которая является еще одним анализом, критикой, дополнением к нашумевшему документу Kubernetes Hardening Guidance от NSA/CISA.В данном блоге прошлись по таким темам, как:
-
Kubernetes Pod security
-- "Non-root" containers and "rootless" container engines
-- Immutable container filesystems
-- Building secure container images
-- Pod Security Policies
-- Hardening container engines
- Network Separation and Hardening
-- Network Policies
-- Resource Policies
-- Control Plane Hardening
-- Etcd
-- Kubeconfig Files
-- Secrets
- Log Auditing
-- Kubernetes API auditing
-- Streaming logs and auditing
-- Alert identification
- Upgrading and Application Security practices
Все очень грамотно и четко изложено и заключение очень правильное:"Finally, it is worth reiterating that not all controls in this guidance will make sense for all practitioners. The best way to know which controls matter is to rely on the threat model of your own Kubernetes environment."Материал из разряда
MUST READ!Kubernetes
A Closer Look at NSA/CISA Kubernetes Hardening Guidance
Disclaimer The open source tools listed in this article are to serve as examples only and are in no way a direct recommendation from the Kubernetes community or authors. Background USA's National Security Agency (NSA) and the Cybersecurity and Infrastructure…
Статья "A Practical Guide to the Different Compliance Kubernetes Security Frameworks and How They Fit Together"
Это сравнение популярных
В сравнении участвуют:
-
-
-
-
-
Это сравнение популярных
Kubernetes security и compliance фреймворков: чем они отличаются друг от друга, когда и что использовать, их основные цели и задачи, а также существующие вспомогательные инструменты для них.В сравнении участвуют:
-
CIS Kubernetes Benchmark - самый известный и у всех на слуху-
MITRE ATT&CK® Framework for Kubernetes - на самом деле тот что от Microsoft и уже обозреваемый мной-
PCI DSS Compliance for Kubernetes - притянут тут за уши, для привлечения внимания, так как в нем нет ничего Kubernetes специфик-
NIST Application Container Security Framework - это тот что NIST SP 800-190. -
NSA/CISA Kubernetes Hardening Guide - многострадательный документ, по которому уже прошлись раза два точно [1,2]Тут мне на глаза попался Hype Cycle for Application Security 2021 от не безызвестной
Каждый для себя может тут найти близкие ему классы
-
-
-
-
-
Всем хорошей пятницы и выходных!
Gartner =)Каждый для себя может тут найти близкие ему классы
application security решений - для читателей же данного канала скорее всего самое актуальное это:-
Container and Kubernetes Security - по сути нашли свое место в этом мире -
Service Mesh - уже на спаде волны хайпа-
DevSecOps - тут я не уверен, что все до сих пор понимают, что это и как это делается IMHO =)-
Policy-as-Code - находится только в самом начале волны хайпа-
Chaos Engineering - очень большие ожидания на волне хайпаВсем хорошей пятницы и выходных!
Forwarded from Security Wine (бывший - DevSecOps Wine) (Denis Yakimov)
Kubernetes Security Checklist and Requirements
В канале было много того, что касается безопасности ванильного Kubernetes, но, когда дело доходит до составления перечня требований или чеклиста для аудита, так или иначе приходится тратить время для сведения всего этого воедино. Чтобы упростить эту задачу мы зарелизили собственный чек-лист безопасности k8s: Kubernetes Security Checklist and Requirements 🎉
Здесь важно отметить,что этот чек-лист - это лишь один из путей повышения безопасности кластера. Этот путь самый сложный и во многом самый противоречивый и утрированный. Многое из того, что здесь есть, запросто может не подойти для вашей инфраструктуры в силу культуры или технических ограничений. Все это сделано с той целью, чтобы напомнить вам о тех мерах, про которые вы могли забыть, но для вас они подходят больше всего. PR'ы приветствуются!
Кстати, есть также версия на русском.
#k8s #ops
В канале было много того, что касается безопасности ванильного Kubernetes, но, когда дело доходит до составления перечня требований или чеклиста для аудита, так или иначе приходится тратить время для сведения всего этого воедино. Чтобы упростить эту задачу мы зарелизили собственный чек-лист безопасности k8s: Kubernetes Security Checklist and Requirements 🎉
Здесь важно отметить,что этот чек-лист - это лишь один из путей повышения безопасности кластера. Этот путь самый сложный и во многом самый противоречивый и утрированный. Многое из того, что здесь есть, запросто может не подойти для вашей инфраструктуры в силу культуры или технических ограничений. Все это сделано с той целью, чтобы напомнить вам о тех мерах, про которые вы могли забыть, но для вас они подходят больше всего. PR'ы приветствуются!
Кстати, есть также версия на русском.
#k8s #ops
GitHub
GitHub - Vinum-Security/kubernetes-security-checklist: Kubernetes Security Checklist and Requirements - All in One (authentication…
Kubernetes Security Checklist and Requirements - All in One (authentication, authorization, logging, secrets, configuration, network, workloads, dockerfile) - Vinum-Security/kubernetes-security-che...
На прошлой неделе отгремели KubeCon + CloudNativeCon North America 2021.
В этот раз тема безопасности раскрывалась не только в основной программе, но еще и в нескольких привычных, так и новых мини конференциях:
- Cloud Native eBPF Day
- Production Identity Day
- Supply Chain Security Con
- Cloud Native Security Con
Информации очень много - буду постепенно по мере ее изучения делиться с вами. Если есть какие-то пожелания/предпочтения, то пишите.
В этот раз тема безопасности раскрывалась не только в основной программе, но еще и в нескольких привычных, так и новых мини конференциях:
- Cloud Native eBPF Day
- Production Identity Day
- Supply Chain Security Con
- Cloud Native Security Con
Информации очень много - буду постепенно по мере ее изучения делиться с вами. Если есть какие-то пожелания/предпочтения, то пишите.
Стали доступны слайды очень классного доклада "Command and KubeCTL: Solar Wind’d Edition" о котором я писал некоторое время назад.
Смысл в том, что демонстрируется как атакующий может незаметно и полностью скомпрометировать
Отдельно выделю 10 слайд "Challenges of Pentesting K8s". Мне тут очень понравился пункт "Learning the nuances of these systems is an investment" - это мало кто пытается сделать и из-за этого и появляются такие
Смысл в том, что демонстрируется как атакующий может незаметно и полностью скомпрометировать
Kubernetes кластер в окружении, где есть и используются NetworkPolicy, Private registry, OPA Gatekeeper, Vault, Falco!Отдельно выделю 10 слайд "Challenges of Pentesting K8s". Мне тут очень понравился пункт "Learning the nuances of these systems is an investment" - это мало кто пытается сделать и из-за этого и появляются такие
misconfigurations. Существует много разных, хороших инструментов, но их мало просто установить их еще надо правильно настроить и обслуживать.Замечательная исследовательская статья "Abusing Registries For Exfil And Droppers", которая показывает, как пентестеры и злоумышленники могут использовать
1)
2)
Конечно, это не массовый случай и требует прав записи в
Для проведение данных манипуляций можно использовать инструменты dxf и scopeo.
В заключении статьи без внимания не остается и вопрос защиты с помощью
image registry для:1)
Arbitrary Blob Storage - использовать как секретное место хранения для чего-либо.2)
Exfiltration channel - использовать как канал коммуникации между различными средами и извлечения информации из инфраструктуры.Конечно, это не массовый случай и требует прав записи в
registry, но ситуации бывают разные, на пентестах можно встретить что угодно) Иметь ввиду такую возможность пентестерам будет полезно.Для проведение данных манипуляций можно использовать инструменты dxf и scopeo.
В заключении статьи без внимания не остается и вопрос защиты с помощью
Garbage Collection и Logging действий.Antitree
Abusing Registries For Exfil And Droppers
Продолжим атакующую тематику.
Если вы задавались вопрос что такое в Threat matrix for Kubernetes в тактике
Да, это уже
Со временем мы будем все чаще встречать атаки с использованием легитимных инструментов и механизмов - атакующий же тоже понимает как его ловят и что нужно делать чтобы не попадаться на это.
Если вы задавались вопрос что такое в Threat matrix for Kubernetes в тактике
Persistence означает техника Malicious Admission Controller, то статья "Creating Malicious Admission Controllers" даст вам короткой и простой ответ, да еще с примером кода на Go ;)Да, это уже
post-exploitation фаза и атакующему вообще не всегда требуется закрепляться в чужой инфраструктуре, но это возможно и делается не сложно. При этом если мне не изменяет память, то ни одно средство защиты для Kubernetes на текущий момент вообще не смотрит за наличием/появлением MutatingAdmissionWebhook. И это по идее не удивительно - сигнатуру на это не напишешь, а по умолчанию это ничего плохого не означает - те же Istio, Linkerd, Kyverno используют данный механизм.Со временем мы будем все чаще встречать атаки с использованием легитимных инструментов и механизмов - атакующий же тоже понимает как его ловят и что нужно делать чтобы не попадаться на это.
Исследование "Attacking and Securing CI/CD Pipeline" с конференции CODE BLUE 2021.
Внутри из полезного вы найдете:
- Common Threat Matrix for CI/CD Pipeline
- Рассказ о том, как они внутри компании отработали инцидент с
- Помимо матрицы угроз еще и набор
- Замечательную мысль: "If CD can deploy, it should be considered part of production."
В эту тему можно также вспомнить проект SLSA (
Внутри из полезного вы найдете:
- Common Threat Matrix for CI/CD Pipeline
- Рассказ о том, как они внутри компании отработали инцидент с
CodeCove - Помимо матрицы угроз еще и набор
mitigations - Замечательную мысль: "If CD can deploy, it should be considered part of production."
В эту тему можно также вспомнить проект SLSA (
Supply-chain Levels for Software Artifacts) и подход U.S. Air Force и Department of Defense (DoD) ,где все включая CI/CD pipline контейнерезировано и запущено в Kubernetes, чтобы ко всему применять одни и те же подходы по защите и контролю контейнеров и уменьшить blast radius.CVE-2021-25742: Ingress-nginx custom snippets allows retrieval of ingress-nginx serviceaccount token and secrets across all namespaces
Уровень:
Оказывается (я лично не знал) в аннотациях
Это наиболее критично для
Для защиты надо:
1) обновить
На счет эксплуатации пишут, что она: "Exploitation isn't that difficult, just takes a little fiddling."
Уровень:
High (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L)
Пользователь в Kubernetes с правами на создание Ingress ресурсов, может создать его со специально заданным custom snippet и получить доступ к serviceaccount token от ingress-nginx, а далее с его помощью уже получить доступ ко всем секретам во всех namespaces (при условии дефолтного RBAC у ingress-nginx). Ну естественно можно и другие вещи творить с этим serviceaccount token.Оказывается (я лично не знал) в аннотациях
custom snippet пользователь может задать произвольный код, который будет выполнен Nginx через Lua! Это наиболее критично для
multitenant окружений, где non-admin пользователи имеют права на создание Ingress ресурсов.Для защиты надо:
1) обновить
ingress-nginx до версии >= v0.49.1 или >= v1.0.1
2) выставить allow-snippet-annotations в ConfigMap в значении false На счет эксплуатации пишут, что она: "Exploitation isn't that difficult, just takes a little fiddling."
GitHub
CVE-2021-25742: Ingress-nginx custom snippets allows retrieval of ingress-nginx serviceaccount token and secrets across all namespaces…
Issue Details A security issue was discovered in ingress-nginx where a user that can create or update ingress objects can use the custom snippets feature to obtain all secrets in the cluster. This ...
Интересный доклад "Keeping Up with the CVEs! How to Find a Needle in a Haystack?" с Kubecon North America 2021 о том как
Что можно там полезного найти для себя:
- Понять крутость
- Ознакомиться с опросом коммунити на тему
- Уловить четкую мысль "Zero Trust == Secure in spite of CVEs"
- Узнать как разработчики
- Получить Software Bill of Materials (
- Как быть если
В общем будет интересно и полезно всем, кто устал от бесконечного вывода
Kubernetes в distroless образы переезжал и что вышло.Что можно там полезного найти для себя:
- Понять крутость
distroless образов- Ознакомиться с опросом коммунити на тему
Cloud Native Security (все результаты тут)- Уловить четкую мысль "Zero Trust == Secure in spite of CVEs"
- Узнать как разработчики
k8s подошли к задаче "Rebase Kubernetes Main Master and Node Images to Distroless/static"- Получить Software Bill of Materials (
SBOM) для Kubernetes 1.22.1 (прямая ссылка)- Как быть если
distroless для вас не вариант ...В общем будет интересно и полезно всем, кто устал от бесконечного вывода
CVE от Trivy/Clair/Anchore! И не забываем про мой прошлый цикл постов о сканировании образов ;)Пентестерам (на самом деле и не только) на заметку статья "Как открыть TCP-/UDP-сокет средствами командной оболочки bash". Может быть полезно, когда попали в контейнер и нужно поработать с сетью, а любимых
На помощь идут файловые устройства
А если вы хотите не оставлять такую лазейку в своих контейнерах с
netcat, curl и wget нет и поставить нельзя ... На помощь идут файловые устройства
/dev/tcp и /dev/udp ;)А если вы хотите не оставлять такую лазейку в своих контейнерах с
bash внутри, то надо собрать его без флага --enable-net-redirections.rus-linux.net
Как открыть TCP-/UDP-сокет средствами командной оболочки bash
В статье описывается механизм виртуальных устройств веб-сокетов командной оболочки bash
Интересно, а многие еще собирают образы в
А если вас удивляет сама постановка такого вопроса и что в этом плохого, то рекомендую почитать статью "Building Docker Images in Kubernetes Using Kaniko".
P.S. Или вам ближе buildah, BuildKit, BuildPacks, Img, PouchContainer?
P.S.S. Удобный скрипт kubectl-build
Kubernetes через проброс docker.sock unix socket внутрь контейнера или все уже перешли на Kaniko?)А если вас удивляет сама постановка такого вопроса и что в этом плохого, то рекомендую почитать статью "Building Docker Images in Kubernetes Using Kaniko".
P.S. Или вам ближе buildah, BuildKit, BuildPacks, Img, PouchContainer?
P.S.S. Удобный скрипт kubectl-build
Если вы планировали провести эти выходные с пользой, то как раз для вас
- KubeCon + CloudNativeCon North America 2021
- Cloud Native Security Conference North America 2021
- EnvoyCon North America 2021
- SupplyChainSecurityCon hosted by CNCF + CDF 2021
- Production Identity Day: SPIFFE + SPIRE North America 2021
- Cloud Native eBPF Day North America 2021
- GitOpsCon North America 2021
- Cloud Native DevX Day North America 2021
- ServiceMeshCon North America 2021
- Kubernetes AI Day North America 2021
- Cloud Native Wasm Day North America 2021
- FluentCon North America 2021
Всем хороших выходных!
P.S. Такой же playlist с
CNCF выложил записи докладов с недавно прошедших своих сессий KubeCon + CloudNativeCon North America 2021:- KubeCon + CloudNativeCon North America 2021
- Cloud Native Security Conference North America 2021
- EnvoyCon North America 2021
- SupplyChainSecurityCon hosted by CNCF + CDF 2021
- Production Identity Day: SPIFFE + SPIRE North America 2021
- Cloud Native eBPF Day North America 2021
- GitOpsCon North America 2021
- Cloud Native DevX Day North America 2021
- ServiceMeshCon North America 2021
- Kubernetes AI Day North America 2021
- Cloud Native Wasm Day North America 2021
- FluentCon North America 2021
Всем хороших выходных!
P.S. Такой же playlist с
KubeCon + CloudNativeCon Europe 2021Так как я занимаюсь не только темой
Разработчик пишет код, который далее упаковывается в контейнер и обворачивается в
Две статьи на эту тему “The Guide to Kubernetes Labels” и “Recommended Labels”.
При этом, общаясь с разными компаниями, я вижу очень разные картины (двух одинаковых компаний не встретить). У кого-то для выделения приложений используются отдельные
Как вы у себя выделяете и управляете приложениями?
security, но и observability, которая позволяет и ту же security строить от себя (а не от возможностей атакующих) и повышать realibility, и упрощать troubleshooting - тема организации приложений (applications) в Kubernetes кластере мне очень интересна. Разработчик пишет код, который далее упаковывается в контейнер и обворачивается в
Kubernetes ресурс. Для разработчика может быть workload минимальной единицей приложения и его зоной ответственности. Когда для SRE это может быть набор workloads с определенными метками.Две статьи на эту тему “The Guide to Kubernetes Labels” и “Recommended Labels”.
При этом, общаясь с разными компаниями, я вижу очень разные картины (двух одинаковых компаний не встретить). У кого-то для выделения приложений используются отдельные
namespaces, у кого-то это специальная annotations или labels.Как вы у себя выделяете и управляете приложениями?
Неожиданно для себя обнаружил, что 4 дня назад закончилась поддержка
Чтобы это не было неожиданностью, можно использовать проект endoflife.date, который отслеживает актуальность версий более 60 проектов, включая Kubernetes.
Старайтесь использовать только последние версии из поддерживаемых, чтобы вы всегда могли получить применить последние исправления и улучшения.
Kubernetes 1.19 (как летит время) и сейчас поддерживаются только 1.20, 1.21 и 1.22.Чтобы это не было неожиданностью, можно использовать проект endoflife.date, который отслеживает актуальность версий более 60 проектов, включая Kubernetes.
Старайтесь использовать только последние версии из поддерживаемых, чтобы вы всегда могли получить применить последние исправления и улучшения.
Все чаще сталкиваюсь с вопросом у клиентов: "Как сделать Kubernetes кластер, чтобы он соответствовал PCI DSS?"
Я уже эту тему немного поднимал [1,2,3], но со временем понял, что лучше всего это знают большие компании с большим количеством клиентов, а следовательно, и опытом в этой области. А кто под это подходят? Конечно, облачные провайдеры с
Так вы можете с этим ознакомится в их мануалах и документах:
- "PCI DSS compliance on GKE"
- "Architecting Amazon EKS for PCI DSS Compliance"
- "Introduction of an AKS regulated cluster for PCI-DSS 3.2.1"
P.S. И не забываем также о классном проекте Compliance Operator ;)
Я уже эту тему немного поднимал [1,2,3], но со временем понял, что лучше всего это знают большие компании с большим количеством клиентов, а следовательно, и опытом в этой области. А кто под это подходят? Конечно, облачные провайдеры с
managed Kubernetes! По сути, можно не ломать голову и не придумывать ничего с нуля, а подсмотреть как они к этому подходят и перенять к себе.Так вы можете с этим ознакомится в их мануалах и документах:
- "PCI DSS compliance on GKE"
- "Architecting Amazon EKS for PCI DSS Compliance"
- "Introduction of an AKS regulated cluster for PCI-DSS 3.2.1"
P.S. И не забываем также о классном проекте Compliance Operator ;)
Интересный плагин argocd-vault-plugin для
Его идея в том, что чтобы полностью соответствовать принципам
В итоге, плагин позволяет в классическом ресурсе
Подробнее можно посмотреть в видео или в слайдах данного выступления "Shh, It’s a Secret: Managing Your Secrets in a GitOps Way".
ArgoCD был представлен на последнем Kubecon.Его идея в том, что чтобы полностью соответствовать принципам
GitOps, необходимо чтобы и секреты находилось в репозитории. Но у классических ресурсов Secret есть проблема, что они содержат данные в base64 (считай в открытом виде), что естественно очень плохо для безопасности.В итоге, плагин позволяет в классическом ресурсе
Secret разместить не данные а placeholder для секретных данных, а уже при выкатки данного Secret ваш GitOps оператор в лице ArgoCD, возьмет соответствующие данные для заявленного placeholder из Secret Management tools и подставит их туда, таким образом, что Kubernetes и не заметит подмены ;)Подробнее можно посмотреть в видео или в слайдах данного выступления "Shh, It’s a Secret: Managing Your Secrets in a GitOps Way".