Добавление прав в Kubernetes
Привет!
В одном из предыдущих постов мы писали про то, как предоставить доступ к кластеру Kubernetes (AuthN – authentication).
Закончилось все тем, что у пользователя нет никаких полномочий что-либо делать, ведь вопросы AuthZ (authorization) не были адресованы.
В продолжении Автор описывает, что из себя представляет ролевая модель Kubernetes на базе RBAC и как ее настроить.
Рассматриваются такие аспекты как:
🍭 Какие бывают роли?
🍭 Из чего состоит роль в Kubernetes?
🍭 Кому и как можно назначать роли?
🍭 Примеры, примеры и еще раз примеры
Статья достаточно базовая, но в ней все очень удобно собрано и детально объясняются очень значимые вещи, особенно с точки зрения информационной безопасности.
Ведь при наличии столь гибкой ролевой модели можно ошибиться. Например, предоставить повышенные привилегии или дать права не к тому ресурсу Kubernetes.
Привет!
В одном из предыдущих постов мы писали про то, как предоставить доступ к кластеру Kubernetes (AuthN – authentication).
Закончилось все тем, что у пользователя нет никаких полномочий что-либо делать, ведь вопросы AuthZ (authorization) не были адресованы.
В продолжении Автор описывает, что из себя представляет ролевая модель Kubernetes на базе RBAC и как ее настроить.
Рассматриваются такие аспекты как:
🍭 Какие бывают роли?
🍭 Из чего состоит роль в Kubernetes?
🍭 Кому и как можно назначать роли?
🍭 Примеры, примеры и еще раз примеры
Статья достаточно базовая, но в ней все очень удобно собрано и детально объясняются очень значимые вещи, особенно с точки зрения информационной безопасности.
Ведь при наличии столь гибкой ролевой модели можно ошибиться. Например, предоставить повышенные привилегии или дать права не к тому ресурсу Kubernetes.
Medium
Assign permissions to an user in Kubernetes. An overview of RBAC-based AuthZ in k8s
In this article, you will get an introduction to Kubernetes Authorization with RBAC and learn how to create roles and assign them to users.
🔥2
Vault plugin для ArgoCD
Привет!
По ссылке доступен plugin, который позволяет упростить получение секретов из Vault при использовании ArgoCD.
На текущий момент поддерживаются следующие типы Vault backends:
🍭 HashiCorp Vault
🍭 IBM Cloud Secrets Manager
🍭 AWS Secrets Manager
🍭 GCP Secret Manager
🍭 AZURE Key Vault
🍭 SOPS
🍭 Yandex Cloud Lockbox
🍭 1Password Connect
Ставится просто и быстро, а для инъекции секретов необходимо указать требуемые параметры в annotations для последующего извлечения секрета по пути.
О настройках определенных типов backend можно посмотреть в документации – все детально и с примерами.
Привет!
По ссылке доступен plugin, который позволяет упростить получение секретов из Vault при использовании ArgoCD.
На текущий момент поддерживаются следующие типы Vault backends:
🍭 HashiCorp Vault
🍭 IBM Cloud Secrets Manager
🍭 AWS Secrets Manager
🍭 GCP Secret Manager
🍭 AZURE Key Vault
🍭 SOPS
🍭 Yandex Cloud Lockbox
🍭 1Password Connect
Ставится просто и быстро, а для инъекции секретов необходимо указать требуемые параметры в annotations для последующего извлечения секрета по пути.
О настройках определенных типов backend можно посмотреть в документации – все детально и с примерами.
GitHub
GitHub - argoproj-labs/argocd-vault-plugin: An Argo CD plugin to retrieve secrets from Secret Management tools and inject them…
An Argo CD plugin to retrieve secrets from Secret Management tools and inject them into Kubernetes secrets - argoproj-labs/argocd-vault-plugin
👍2
Синхронизация ConfigMap/Secret между Namespace и не только
Всем привет!
Config Syncer (ранее – Kubed) – утилита, которая позволяет синхронизировать данные ConfigMap и/или Secret между namespace и/или cluster.
Для чего это может быть применимо?
Например, требуется, чтобы во всех или в нескольких namespaces был один и тот же Secret, который содержит данные для ImagePull. Или для распространения и поддержки в актуальном состоянии любых других ConfigMap/Secret, которые используются более чем одним namespace или cluster.
Небольшой сценарий использования представлен в документации:
🍭 Создается базовый (source) ConfigMap в Namespace “Demo”
🍭 К нему добавляется одна annotation:
🍭 В случае, если произойдет обновление (в примере меняют “leave” на “live” в блоке data), то ConfigMap обновится везде.
Возможна гибкая настройка Config Syncer: можно управлять перечнем namespace, которые будут получать ConfigMap/Secret, можно их удалять.
Об установке, параметрах конфигурации и иных сценариях использования можно прочитать в документации.
Всем привет!
Config Syncer (ранее – Kubed) – утилита, которая позволяет синхронизировать данные ConfigMap и/или Secret между namespace и/или cluster.
Для чего это может быть применимо?
Например, требуется, чтобы во всех или в нескольких namespaces был один и тот же Secret, который содержит данные для ImagePull. Или для распространения и поддержки в актуальном состоянии любых других ConfigMap/Secret, которые используются более чем одним namespace или cluster.
Небольшой сценарий использования представлен в документации:
🍭 Создается базовый (source) ConfigMap в Namespace “Demo”
🍭 К нему добавляется одна annotation:
kubed.appscode.com/sync: ""
🍭 После этого все namespace (как существующие, так и вновь созданные) получат этот ConfigMap🍭 В случае, если произойдет обновление (в примере меняют “leave” на “live” в блоке data), то ConfigMap обновится везде.
Возможна гибкая настройка Config Syncer: можно управлять перечнем namespace, которые будут получать ConfigMap/Secret, можно их удалять.
Об установке, параметрах конфигурации и иных сценариях использования можно прочитать в документации.
GitHub
GitHub - config-syncer/config-syncer: 🛡️ Kubernetes Config Syncer (previously kubed)
🛡️ Kubernetes Config Syncer (previously kubed). Contribute to config-syncer/config-syncer development by creating an account on GitHub.
👍1
CI/CD Goat (заведомо уязвимый CI/CD)
Привет!
Ребята из Cider Security подготовили repo, который позволяет провести небольшой CTF в CI/CD. «Испытуемое окружение» состоит из Gitea, Jenkins, LocalStack и Lighttpd.
В качестве «вдохновения» авторы использовали собственные наработки, посвященные уязвимостям, которые могут быть характерны для сборочного контура.
В CTF можно найти 10 challenges:
🍭 Insufficient Flow Control Mechanisms
🍭 Inadequate Identity and Access Management
🍭 Dependency Chain Abuse
🍭 Poisoned Pipeline Execution (PPE)
🍭 Insufficient PBAC (Pipeline-Based Access Controls)
🍭 Insufficient Credential Hygiene
🍭 Insecure System Configuration
🍭 Ungoverned Usage of 3rd Party Services
🍭 Improper Artifact Integrity Validation
🍭 Insufficient Logging and Visibility
Рекомендуем прочесть информацию на сайте Cider Security или на их GitHub про уязвимости в CI/CD. С одной стороны – полезно, с другой – может помочь при решении challenges
Привет!
Ребята из Cider Security подготовили repo, который позволяет провести небольшой CTF в CI/CD. «Испытуемое окружение» состоит из Gitea, Jenkins, LocalStack и Lighttpd.
В качестве «вдохновения» авторы использовали собственные наработки, посвященные уязвимостям, которые могут быть характерны для сборочного контура.
В CTF можно найти 10 challenges:
🍭 Insufficient Flow Control Mechanisms
🍭 Inadequate Identity and Access Management
🍭 Dependency Chain Abuse
🍭 Poisoned Pipeline Execution (PPE)
🍭 Insufficient PBAC (Pipeline-Based Access Controls)
🍭 Insufficient Credential Hygiene
🍭 Insecure System Configuration
🍭 Ungoverned Usage of 3rd Party Services
🍭 Improper Artifact Integrity Validation
🍭 Insufficient Logging and Visibility
Рекомендуем прочесть информацию на сайте Cider Security или на их GitHub про уязвимости в CI/CD. С одной стороны – полезно, с другой – может помочь при решении challenges
GitHub
GitHub - cider-security-research/cicd-goat: A deliberately vulnerable CI/CD environment. Learn CI/CD security through multiple…
A deliberately vulnerable CI/CD environment. Learn CI/CD security through multiple challenges. - cider-security-research/cicd-goat
👍9
Open source web scanners
Всем привет!
В repo собрана небольшая подборка по доступным OSS web-scanners.
Автор структурировал ее на блоки:
🍭 General Purpose Web Scanner (ZAP, Arachni, Hetty и т.д.)
🍭 Infrastructure Web Scanner (Nuclei, Nikto, Tsunami и т.д.)
🍭 Fuzzers / Brute Forcers (Dirsearch, Ffuf, Wfuzz и т.д.)
🍭 CMS Web Scanners (WPScan, Volnx, CMSScan)
🍭 API Web Scanners (Automatic API Attack Tool и Cherrybomb)
🍭 Specialized Scanners (SQLmap, Comix, XSSScrapy)
Удобно, что в самой repo есть информация о последнем commit, contributors и количестве «звездочек». Кроме того, есть несколько ссылок на аналогичные подборки от OWASP и не только
Всем привет!
В repo собрана небольшая подборка по доступным OSS web-scanners.
Автор структурировал ее на блоки:
🍭 General Purpose Web Scanner (ZAP, Arachni, Hetty и т.д.)
🍭 Infrastructure Web Scanner (Nuclei, Nikto, Tsunami и т.д.)
🍭 Fuzzers / Brute Forcers (Dirsearch, Ffuf, Wfuzz и т.д.)
🍭 CMS Web Scanners (WPScan, Volnx, CMSScan)
🍭 API Web Scanners (Automatic API Attack Tool и Cherrybomb)
🍭 Specialized Scanners (SQLmap, Comix, XSSScrapy)
Удобно, что в самой repo есть информация о последнем commit, contributors и количестве «звездочек». Кроме того, есть несколько ссылок на аналогичные подборки от OWASP и не только
GitHub
GitHub - psiinon/open-source-web-scanners: A list of open source web security scanners
A list of open source web security scanners. Contribute to psiinon/open-source-web-scanners development by creating an account on GitHub.
Анализ API-трафика
Всем привет!
Mizu – удобный инструмент, который позволяет анализировать API трафик микросервисных приложений для поиска ошибок (troubleshooting).
При помощи Mizu можно анализировать HTTP запросы, REST и gRPC API вызовы.
Решение обладает минималистичным web-интерфейсом, в котором собрана информация о запросах, представлены детали о Request/Response.
Еще одной возможностью Mizu является составление Service Dependency Map – наглядного графического представления о взаимодействии сервисов.
Как обычно, больше информации можно посмотреть в документации.
Всем привет!
Mizu – удобный инструмент, который позволяет анализировать API трафик микросервисных приложений для поиска ошибок (troubleshooting).
При помощи Mizu можно анализировать HTTP запросы, REST и gRPC API вызовы.
Решение обладает минималистичным web-интерфейсом, в котором собрана информация о запросах, представлены детали о Request/Response.
Еще одной возможностью Mizu является составление Service Dependency Map – наглядного графического представления о взаимодействии сервисов.
Как обычно, больше информации можно посмотреть в документации.
GitHub
GitHub - kubeshark/kubeshark: The API traffic analyzer for Kubernetes providing real-time K8s protocol-level visibility, capturing…
The API traffic analyzer for Kubernetes providing real-time K8s protocol-level visibility, capturing and monitoring all traffic and payloads going in, out and across containers, pods, nodes and clu...
Шифрование данных в etcd
Всем привет!
В статье представлен пример того, как можно шифровать секреты, хранимые в etcd (data at rest encryption).
Процедура достаточно простая:
🍭 Необходимо сгенерировать произвольный ключ, который будет использован для шифрования
🍭 Подготовить манифест для
🍭 «Активировать» флаг
🍭 Настроить необходимые mounts и готово! Все «вновь созданные секреты будут зашифрованы в etcd.
Что делать с теми, что уже были? Ответ можно найти в статье, также как и информацию по обновлению (ротации) используемого ключа шифрования.
Кстати, это еще и одна из рекомендаций – 1.2.30, прописанная в CIS Kubernetes Benchmark, v1.23. При помощи подобного подхода можно шифровать не только Secrets, но и другие ресурсы. Подробности описания компонентов манифеста можно посмотреть в документации.
Обратная процедура – «расшифровать все» проста: необходимо поместить параметр
Всем привет!
В статье представлен пример того, как можно шифровать секреты, хранимые в etcd (data at rest encryption).
Процедура достаточно простая:
🍭 Необходимо сгенерировать произвольный ключ, который будет использован для шифрования
🍭 Подготовить манифест для
kind: EncryptionConfiguration, указав в нем недавно созданный ключ🍭 «Активировать» флаг
--encryption-provider-config=%path/to/file% в манифесте kube-apiserver🍭 Настроить необходимые mounts и готово! Все «вновь созданные секреты будут зашифрованы в etcd.
Что делать с теми, что уже были? Ответ можно найти в статье, также как и информацию по обновлению (ротации) используемого ключа шифрования.
Кстати, это еще и одна из рекомендаций – 1.2.30, прописанная в CIS Kubernetes Benchmark, v1.23. При помощи подобного подхода можно шифровать не только Secrets, но и другие ресурсы. Подробности описания компонентов манифеста можно посмотреть в документации.
Обратная процедура – «расшифровать все» проста: необходимо поместить параметр
identity: {} первым в списке providersMedium
Rotating etcd Encryption Key In Kubernetes
If you are familiar with the architecture and components of a Kubernetes cluster, then you must already be aware of the fact that…
Генерация SBOM при помощи Trivy
Всем привет!
В статье описано, как можно генерировать SBOM при помощи Trivy. В начале приводится общая информация о том, что это такое, о форматах (SPDX/CycloneDX) и их отличиях.
Далее всего несколько команд, чтобы можно было:
🍭 Получить перечень пакетов:
На текущий момент времени Trivy позволяет генерировать SBOM только в формате CycloneDX.
Отдельно рекомендуем изучить
Всем привет!
В статье описано, как можно генерировать SBOM при помощи Trivy. В начале приводится общая информация о том, что это такое, о форматах (SPDX/CycloneDX) и их отличиях.
Далее всего несколько команд, чтобы можно было:
🍭 Получить перечень пакетов:
trivy -q image --ignore-unfixed --format json --list-all-pkgs %imagename%
🍭 Сделать из нее SBOM: trivy -q image --format cyclonedx %imagename%
В одной из последних версий процедуру еще больше упростили, добавив команду sbom (рекомендуем обновиться, если она отсутствует).На текущий момент времени Trivy позволяет генерировать SBOM только в формате CycloneDX.
Отдельно рекомендуем изучить
trivy sbom --help. Можно найти много интересного, например, --artifact-type, который позволяет создавать SBOM для image, fs, repo и archive или --severity, который позволит контролировать уязвимости, попадающие в выборкуAquasec
Software Supply Chain Security with Trivy: Generating SBOMs
Using the open source scanner Trivy, you can now generate SBOMs in the CycloneDX format to improve the software supply chain security of your applications
👍6
Поиск ошибок в Network Policy
Привет!
Network Policy – один из базовых ИБ инструментов, который позволяет контролировать трафик.
Однако, NetPol обладает некоторыми особенностями. Например, даже если политика была создана, не факт, что она работает. Отсутствуют журналы событий, генерируемых сетевыми политиками, что усложняет и без того не самую простую задачу поиска ошибок.
В статье Автор размышляет над тем, как максимально эффективно использовать этот инструмент:
🍭 Убедиться, что CNI поддерживает Network Policy. Да, функционал есть у большинства, но не у всех
🍭 Понять, что причина именно в Network Policy. Как вариант, просто убрать политику и посмотреть, сохраняется ли проблема или нет. Некоторые CNI генерируют GlobalNetworkPolicy, что также следует иметь ввиду
🍭 Проверка синтаксиса и корректности формирования структуры NetPol. Один «-» может очень многое изменить (см. пример с иллюстрацией в статье)
🍭 Управление labels при контроле трафика между Namespaces. Сетевые политики могут потерять свою эффективность, если они привязаны к labels, которые могут быть созданы/изменены пользователями. Один из возможных вариантов – использование
Привет!
Network Policy – один из базовых ИБ инструментов, который позволяет контролировать трафик.
Однако, NetPol обладает некоторыми особенностями. Например, даже если политика была создана, не факт, что она работает. Отсутствуют журналы событий, генерируемых сетевыми политиками, что усложняет и без того не самую простую задачу поиска ошибок.
В статье Автор размышляет над тем, как максимально эффективно использовать этот инструмент:
🍭 Убедиться, что CNI поддерживает Network Policy. Да, функционал есть у большинства, но не у всех
🍭 Понять, что причина именно в Network Policy. Как вариант, просто убрать политику и посмотреть, сохраняется ли проблема или нет. Некоторые CNI генерируют GlobalNetworkPolicy, что также следует иметь ввиду
🍭 Проверка синтаксиса и корректности формирования структуры NetPol. Один «-» может очень многое изменить (см. пример с иллюстрацией в статье)
🍭 Управление labels при контроле трафика между Namespaces. Сетевые политики могут потерять свою эффективность, если они привязаны к labels, которые могут быть созданы/изменены пользователями. Один из возможных вариантов – использование
kubernetes.io/metadata.name
В статье все очень хорошо структурировано и доступно описано, рекомендуем к прочтению. Кстати, в грядущей версии Kubernetes 1.24 добавят NetworkPolicyStatus, который должен немного упростить debug.Medium
Kubernetes — Debugging NetworkPolicy (Part 1)
For something as important as NetworkPolicy, debugging is surprisingly painful. There’s even a section in the documentation that is devoted…
Автоматическая генерация readme.md для helm charts
Всем привет!
Helm-docs – удобная утилита, которая позволяет автоматически генерировать документацию для helm charts в формате markdown.
Запускать можно по-разному:
🍭 В качестве pre-commit hook
🍭 Локально, с использованием исполняемого файла
🍭 С использованием образа контейнера
Можно изменять шаблон, который будет использован при работе утилиты. О том, как это сделать рассказано и показано в readme.md файле repo
Всем привет!
Helm-docs – удобная утилита, которая позволяет автоматически генерировать документацию для helm charts в формате markdown.
Запускать можно по-разному:
🍭 В качестве pre-commit hook
🍭 Локально, с использованием исполняемого файла
🍭 С использованием образа контейнера
Можно изменять шаблон, который будет использован при работе утилиты. О том, как это сделать рассказано и показано в readme.md файле repo
GitHub
GitHub - norwoodj/helm-docs: A tool for automatically generating markdown documentation for helm charts
A tool for automatically generating markdown documentation for helm charts - norwoodj/helm-docs
Переключение между K8S кластерами и namespace
Всем привет!
Возможно, что у вас есть несколько кластеров K8S или несколько namespace на 1-ом кластере.
«Переключаться» между ними не всегда удобно:
🍭 Да, есть возможность указать путь к kubeconfig в параметрах kubectl, но делать это надо каждый раз, что не очень удобно
🍭 Context! Да, можно. Да, работает. Но забывали вы хоть раз как оно там пишется?
🍭 С точки зрения namespace – аналогично. Наверное, хоть раз, да забывали передавать ключ
Именно для решения этих задач сделали 2 простые утилиты:
🍭 Kubectx – быстрое переключение между context
🍭 Kubens – быстрое переключение между namespace в пределах кластера
Наглядные примеры работы, описание и способы установки можно найти в repo
Всем привет!
Возможно, что у вас есть несколько кластеров K8S или несколько namespace на 1-ом кластере.
«Переключаться» между ними не всегда удобно:
🍭 Да, есть возможность указать путь к kubeconfig в параметрах kubectl, но делать это надо каждый раз, что не очень удобно
🍭 Context! Да, можно. Да, работает. Но забывали вы хоть раз как оно там пишется?
kubectl get contexts, kubectl use context, --current… В целом механизм крайне рабочий, но не всегда самый удобный🍭 С точки зрения namespace – аналогично. Наверное, хоть раз, да забывали передавать ключ
-n %namespace% и resource улетал «не туда». Поправимо, но все же…Именно для решения этих задач сделали 2 простые утилиты:
🍭 Kubectx – быстрое переключение между context
🍭 Kubens – быстрое переключение между namespace в пределах кластера
Наглядные примеры работы, описание и способы установки можно найти в repo
GitHub
GitHub - ahmetb/kubectx: Faster way to switch between clusters and namespaces in kubectl
Faster way to switch between clusters and namespaces in kubectl - ahmetb/kubectx
OPA-based политики в Starboard
Всем привет!
Starboard – open source проект Aqua Security, который позволяет сканировать образы контейнеров на наличие уязвимостей (Trivy), проводить анализ настроек кластера на соответствие лучшим практикам (Kube-Bench, Kube-Hunter) и анализировать манифесты запускаемых сущностей на кластере.
Ранее для последнего использовались Polaris и Conftest, однако, в одном из последних режимов была добавлена возможность использования OPA.
В видео представлен наглядный пример, демонстрирующий реализацию одного из базовых tutorials:
🍭 Создаем базовый deployment с Nginx
🍭 Starboard анализирует его при помощи «встроенных» OPA-политик
🍭 Создаем собственную OPA-политику, добавляем ее в качестве ConfigMap
🍭 Starboard начинает повторное сканирование. Либо при изменении ConfigMap, либо при изменении анализируемой сущности
В видео все подробно рассказано/показано, а для удобства используется Lens, к которой у Starboard есть "родной" plugin, о котором мы писали тут. С документацией на Starboard можно ознакомиться по ссылке.
Всем привет!
Starboard – open source проект Aqua Security, который позволяет сканировать образы контейнеров на наличие уязвимостей (Trivy), проводить анализ настроек кластера на соответствие лучшим практикам (Kube-Bench, Kube-Hunter) и анализировать манифесты запускаемых сущностей на кластере.
Ранее для последнего использовались Polaris и Conftest, однако, в одном из последних режимов была добавлена возможность использования OPA.
В видео представлен наглядный пример, демонстрирующий реализацию одного из базовых tutorials:
🍭 Создаем базовый deployment с Nginx
🍭 Starboard анализирует его при помощи «встроенных» OPA-политик
🍭 Создаем собственную OPA-политику, добавляем ее в качестве ConfigMap
🍭 Starboard начинает повторное сканирование. Либо при изменении ConfigMap, либо при изменении анализируемой сущности
В видео все подробно рассказано/показано, а для удобства используется Lens, к которой у Starboard есть "родной" plugin, о котором мы писали тут. С документацией на Starboard можно ознакомиться по ссылке.
YouTube
Starboard Built-in Configuration Audit Scanner Based on OPA Rego
In this video, we are going to show you how to get started with the Starboard Built-in Configuration Scanner.
Resources 📚
The documentation on Starboard Built-in Configuration Audit Scanner is here: https://aquasecurity.github.io/starboard/v0.15.4/configuration…
Resources 📚
The documentation on Starboard Built-in Configuration Audit Scanner is here: https://aquasecurity.github.io/starboard/v0.15.4/configuration…
👍5
Security Labs Research от Datadog
Всем привет!
Ребята из Datadog выложили в открытый доступ несколько лабораторных работ, посвященных Security.
На данный момент набор включает в себя только:
🍭 Dirty Pipe Container Breakout
🍭 Эксплуатация уязвимости CVE-2022-21449
🍭 Spring Core RCE (Spring4shell)
Для каждой лабораторной работы приводится описание эксплуатируемой уязвимости, PoC с использованием подготовленного exploit, набор необходимых конфигурационных файлов и перечень шагов для самостоятельного воспроизведения.
Надеемся, что «подборка» будет расширяться и напоминаем об использовании подобных материалов исключительно в образовательных целях.
Всем привет!
Ребята из Datadog выложили в открытый доступ несколько лабораторных работ, посвященных Security.
На данный момент набор включает в себя только:
🍭 Dirty Pipe Container Breakout
🍭 Эксплуатация уязвимости CVE-2022-21449
🍭 Spring Core RCE (Spring4shell)
Для каждой лабораторной работы приводится описание эксплуатируемой уязвимости, PoC с использованием подготовленного exploit, набор необходимых конфигурационных файлов и перечень шагов для самостоятельного воспроизведения.
Надеемся, что «подборка» будет расширяться и напоминаем об использовании подобных материалов исключительно в образовательных целях.
GitHub
GitHub - DataDog/security-labs-pocs: Proof of concept code for Datadog Security Labs referenced exploits.
Proof of concept code for Datadog Security Labs referenced exploits. - DataDog/security-labs-pocs
👍4
Сравнение Service Mesh
Всем привет!
По ссылке можно найти сравнение нескольких Service Mesh решений:
🍭 Istio
🍭 LinkerD
🍭 AWS App Mesh
🍭 Consul
🍭 Traefik Mesh
🍭 Kuma
🍭 Open Service Mesh
Как обычно, сперва приводится краткое описание того, что такое Service Mesh, приводится общая архитектура и задачи, решаемые технологией.
А в конце та самая табличка! А если вы нашли неточность или не согласны с мнением Авторов, то можно сделать PR вот сюда.
Всем привет!
По ссылке можно найти сравнение нескольких Service Mesh решений:
🍭 Istio
🍭 LinkerD
🍭 AWS App Mesh
🍭 Consul
🍭 Traefik Mesh
🍭 Kuma
🍭 Open Service Mesh
Как обычно, сперва приводится краткое описание того, что такое Service Mesh, приводится общая архитектура и задачи, решаемые технологией.
А в конце та самая табличка! А если вы нашли неточность или не согласны с мнением Авторов, то можно сделать PR вот сюда.
servicemesh.es
Service Mesh Feature Comparison — including Istio, Linkerd 2, AWS App Mesh, Consul, Maesh, Kuma, Open Service Mesh (OSM)
🔥2👍1
Kubernetes Goat v2
Всем привет!
Недавно вышел новый релиз проекта Kubernetes Goat – заведомо уязвимого кластера, на котором можно изучать аспекты ИБ K8S не только теоретически, но и практически.
Помимо этого, был подготовлен новый web site, на котором можно получить детальную информацию о проекте и лабораторных работах.
На текущий момент есть 20 (19,5, т.к. Tiller уже редко где используется, если используется вообще) лабораторных работ. Например:
🍭 Falco - Runtime security monitoring & detection
🍭 Secure network boundaries using Network Security Policies
🍭 RBAC least privileges misconfiguration
🍭 DIND (docker-in-docker) exploitation
🍭 Container escape to the host system и многое другое!
У каждой лабораторной есть исчерпывающее описание и детальные инструкции о том, как ее реализовать. Впрочем, если не «хотите подсматривать» - можно пройти все лабораторные самостоятельно.
И, как обычно, много общей полезной информации на тему контейнеров и оркестрации – от cheatsheet до ссылок на разные интересные ресурсы.
Всем привет!
Недавно вышел новый релиз проекта Kubernetes Goat – заведомо уязвимого кластера, на котором можно изучать аспекты ИБ K8S не только теоретически, но и практически.
Помимо этого, был подготовлен новый web site, на котором можно получить детальную информацию о проекте и лабораторных работах.
На текущий момент есть 20 (19,5, т.к. Tiller уже редко где используется, если используется вообще) лабораторных работ. Например:
🍭 Falco - Runtime security monitoring & detection
🍭 Secure network boundaries using Network Security Policies
🍭 RBAC least privileges misconfiguration
🍭 DIND (docker-in-docker) exploitation
🍭 Container escape to the host system и многое другое!
У каждой лабораторной есть исчерпывающее описание и детальные инструкции о том, как ее реализовать. Впрочем, если не «хотите подсматривать» - можно пройти все лабораторные самостоятельно.
И, как обычно, много общей полезной информации на тему контейнеров и оркестрации – от cheatsheet до ссылок на разные интересные ресурсы.
Madhuakula
Welcome to Kubernetes Goat | Kubernetes Goat
Interactive Kubernetes Security Learning Playground
👍6🔥1
Анализ GitHub при помощи OPA
Всем привет!
Зачастую, когда говорят OPA многие думают про Gatekeeper, который позволяет анализировать манифесты Kubernetes и принимать решения о возможности их применения.
Однако, OPA сама по себе является policy engine, который можно использовать не только для Kubernetes.
Одним из интересных проектов является Reposaur, который позволяет анализировать данные GitHub при помощи OPA-политик.
Например:
🍭 Отсутствие описания у repository
🍭 У request нет assignees
🍭 У request нет reviewers
🍭 Secret Scanning функционал не включен по умолчанию и другие
С полным перечнем проверок, доступных из коробки можно ознакомиться здесь. Если хочется написать свои собственные, то есть небольшой how to guide вот тут.
А если интересно, что еще можно делать при помощи OPA, рекомендуем обратить внимание на бесплатный online-курс по OPA от Styra Academy.
Всем привет!
Зачастую, когда говорят OPA многие думают про Gatekeeper, который позволяет анализировать манифесты Kubernetes и принимать решения о возможности их применения.
Однако, OPA сама по себе является policy engine, который можно использовать не только для Kubernetes.
Одним из интересных проектов является Reposaur, который позволяет анализировать данные GitHub при помощи OPA-политик.
Например:
🍭 Отсутствие описания у repository
🍭 У request нет assignees
🍭 У request нет reviewers
🍭 Secret Scanning функционал не включен по умолчанию и другие
С полным перечнем проверок, доступных из коробки можно ознакомиться здесь. Если хочется написать свои собственные, то есть небольшой how to guide вот тут.
А если интересно, что еще можно делать при помощи OPA, рекомендуем обратить внимание на бесплатный online-курс по OPA от Styra Academy.
GitHub
GitHub - reposaur/reposaur: Open source compliance tool for development platforms.
Open source compliance tool for development platforms. - reposaur/reposaur
👍6
liz-rice-what-is-ebpf.pdf
9.4 MB
Что такое eBPF?
Всем привет!
Если вам интересна тематика контейнеризации и обеспечения ее безопасности, то вы, наверняка, слышали аббревиатуру «eBPF».
eBPF расшифровывается как Extended Berkeley Packet Filter и, если понятнее не стало, рекомендуем прочитать книгу в приложении.
Liz Rice (автор множества отличных материалов по Container Security и не только) написала кратко и емко о том, что это за технология, как ее можно использовать для управления сетью, обеспечения безопасности и повышения observability.
Всем привет!
Если вам интересна тематика контейнеризации и обеспечения ее безопасности, то вы, наверняка, слышали аббревиатуру «eBPF».
eBPF расшифровывается как Extended Berkeley Packet Filter и, если понятнее не стало, рекомендуем прочитать книгу в приложении.
Liz Rice (автор множества отличных материалов по Container Security и не только) написала кратко и емко о том, что это за технология, как ее можно использовать для управления сетью, обеспечения безопасности и повышения observability.
👍2
Docker-slim: оптимизация и безопасность
Всем привет!
Docker-slim – проект, цель которого «уменьшить» размеры образов и повысить уровень информационной безопасности контейнеров. При этом требуется только запустить Docker-slim с уже имеющимися образами.
Работает он по следующему принципу:
🍭 Запускает «временный» контейнер из «толстого» образа и осуществляет инъекцию (инструментацию) сенсора. Задача сенсора – собирать всю информацию о «жизнедеятельности» контейнера
🍭 Взаимодействует с контейнером через http-probe. Альтернативный вариант – предоставление exec для «ручного» тестирования. Задача – создание аналога поведенческой модели: должно остаться только то, что используется
🍭 «Сборка» образа, который состоит только из необходимых элементов, и… приятный бонус! AppArmor и Seccomp профили, которые можно применять как к «тонкому», так и к «толстому» образам
Настоятельно рекомендуем ознакомиться с github-repo проекта и прочитать описание: функций и вариантов запуска очень и очень много. Кроме того, есть наглядные примеры, демонстрирующие работу Docker-slim
P.S. За превосходную диаграмму отдельное спасибо Ivan Velichko, про блог и канал которого мы уже писали.
Всем привет!
Docker-slim – проект, цель которого «уменьшить» размеры образов и повысить уровень информационной безопасности контейнеров. При этом требуется только запустить Docker-slim с уже имеющимися образами.
Работает он по следующему принципу:
🍭 Запускает «временный» контейнер из «толстого» образа и осуществляет инъекцию (инструментацию) сенсора. Задача сенсора – собирать всю информацию о «жизнедеятельности» контейнера
🍭 Взаимодействует с контейнером через http-probe. Альтернативный вариант – предоставление exec для «ручного» тестирования. Задача – создание аналога поведенческой модели: должно остаться только то, что используется
🍭 «Сборка» образа, который состоит только из необходимых элементов, и… приятный бонус! AppArmor и Seccomp профили, которые можно применять как к «тонкому», так и к «толстому» образам
Настоятельно рекомендуем ознакомиться с github-repo проекта и прочитать описание: функций и вариантов запуска очень и очень много. Кроме того, есть наглядные примеры, демонстрирующие работу Docker-slim
P.S. За превосходную диаграмму отдельное спасибо Ivan Velichko, про блог и канал которого мы уже писали.
GitHub
GitHub - slimtoolkit/slim: Slim(toolkit): Don't change anything in your container image and minify it by up to 30x (and for compiled…
Slim(toolkit): Don't change anything in your container image and minify it by up to 30x (and for compiled languages even more) making it secure too! (free and open source) - slimtoolkit/slim
👍5
Лучшие практики ArgoCD
Всем привет!
В статье приведены лучшие практики по использованию ArgoCD – инструмента, позволяющего автоматизировать процесс Continuous Deployment для Kubernetes.
Рассматривается следующее:
🍭 Disallow providing an empty retryStrategy
🍭 Ensure that Workflow pods are not configured to use the default service account
🍭 Ensure label part-of: argocd exists for ConfigMaps
🍭 Disable with DAG to set FailFast=false
🍭 Ensure Rollout pause step has a configured duration
🍭 Specify Rollout’s revisionHistoryLimit
🍭 Set scaleDownDelaySeconds to 30s to ensure IP table propagation across the nodes in a cluster
🍭 Ensure retry on both Error and TransientError
🍭 Ensure progressDeadlineAbort set to true, especially if progressDeadlineSeconds has been set
🍭 Ensure custom resources match the namespace of the ArgoCD instance
Для каждой рекомендации есть краткое обоснование почему так стоит делать или наоборот – почему так делать не надо, приводятся ссылки на полезную информацию.
В завершении статьи есть отсылка к Datree, при помощи которого можно автоматизировать проверку выполнения указанных рекомендаций.
Всем привет!
В статье приведены лучшие практики по использованию ArgoCD – инструмента, позволяющего автоматизировать процесс Continuous Deployment для Kubernetes.
Рассматривается следующее:
🍭 Disallow providing an empty retryStrategy
🍭 Ensure that Workflow pods are not configured to use the default service account
🍭 Ensure label part-of: argocd exists for ConfigMaps
🍭 Disable with DAG to set FailFast=false
🍭 Ensure Rollout pause step has a configured duration
🍭 Specify Rollout’s revisionHistoryLimit
🍭 Set scaleDownDelaySeconds to 30s to ensure IP table propagation across the nodes in a cluster
🍭 Ensure retry on both Error and TransientError
🍭 Ensure progressDeadlineAbort set to true, especially if progressDeadlineSeconds has been set
🍭 Ensure custom resources match the namespace of the ArgoCD instance
Для каждой рекомендации есть краткое обоснование почему так стоит делать или наоборот – почему так делать не надо, приводятся ссылки на полезную информацию.
В завершении статьи есть отсылка к Datree, при помощи которого можно автоматизировать проверку выполнения указанных рекомендаций.
www.datree.io
ArgoCD Best Practices You Should Know | Datree.io
In this article, we’ll explore some of the best practices of Argo that I've found and learn how we can validate our custom resources against these best practices.
👍3
Custom Resource Definition и Open Policy Agent
Привет!
Про пользу Open Policy Agent (OPA) и ее реализации для Kubernetes – Gatekeeper написано достаточно много: от общей информации до набора готовых политик, которые можно использовать.
Если вы хотите написать политики самостоятельно и вам нужен простой tutorial, в котором просто и понятно описано что к чему?
Тогда эта статья может быть вам интересна. В ней автор разбирает такие темы как:
🍭 Основы REGO (на нем пишутся политики)
🍭 ConstraintTemplates – что это и зачем оно нужно
🍭 Constraint – как при помощи него можно управлять областью ContstaintTemplates
В завершении статьи – примеры того, как это можно использовать – от установки Gatekeeper до написания и тестирования собственных политик. Помимо этого, автор описывает «шаги», которые происходят «под капотом» для лучшего понимания происходящего.
Привет!
Про пользу Open Policy Agent (OPA) и ее реализации для Kubernetes – Gatekeeper написано достаточно много: от общей информации до набора готовых политик, которые можно использовать.
Если вы хотите написать политики самостоятельно и вам нужен простой tutorial, в котором просто и понятно описано что к чему?
Тогда эта статья может быть вам интересна. В ней автор разбирает такие темы как:
🍭 Основы REGO (на нем пишутся политики)
🍭 ConstraintTemplates – что это и зачем оно нужно
🍭 Constraint – как при помощи него можно управлять областью ContstaintTemplates
В завершении статьи – примеры того, как это можно использовать – от установки Gatekeeper до написания и тестирования собственных политик. Помимо этого, автор описывает «шаги», которые происходят «под капотом» для лучшего понимания происходящего.
asankov.dev
Securing Kubernetes with Open Policy Agent
Build-in Kubernetes security is not enough for most organizations to enforce granular rules and policies to the workloads running in their clusters. That is why projects like OPA and Gatekeeper exist to help you achieve a higher level of Kubernetes security
👍1