DevSecOps Talks
前往频道在 Telegram
Рассказываем об актуальном в мире DevSecOps. Канал DevSecOps-команды "Инфосистемы Джет"
显示更多7 847
订阅者
+724 小时
+397 天
+10830 天
帖子存档
7 847
Инъекция PKI-сертификатов в pod при помощи HashiCorp Vault Agent Injector
Привет!
В статье приводится небольшой how2guide, посвященный тому, как можно «подставлять» PKI-сертификаты в pod с использованием Vault Injector. Включая PKI, которые НЕ были сгенерированы самим HashiCorp Vault.
Сам Injector представляет из себя Kubernetes Mutating Webhook, который подставляет данные в конфигурацию pod на основе указанных аннотаций (annotations), что позволяет ее изменять (mutate).
В статье рассмотрены следующие шаги:
🍭 Установка HashiCorp Vault
🍭 Создание сертификатов с использованием openssl, помещение их в хранилище Vault (pki secret engine)
🍭 Создание роли (role) и политики (policy) с указанием возможных действий ранее созданной роли
🍭 Настройка метода аутентификации Kubernetes
🍭 Тестирование собранной конфигурации на примере pod
Что хорошо – в статье есть не только сами команды, но и описание того, что именно делает Автор. Есть захочется повторить самостоятельно, то ссылку на repo с необходимыми материалами можно найти тут.
7 847
Несколько контейнеров в pod: различные patterns
Всем привет!
Обычно, когда слышишь о том, что в одном pod есть несколько контейнеров, то на ум приходят sidecar контейнеры и init-контейнеры (чуть реже). Однако, их несколько больше. Если обобщить, то основная задача приведенных ниже patterns – дать некоторый функционал приложению без непосредственного изменения исходного кода этого самого приложения.
Есть несколько patterns, которые применяются:
🍭 Ambassador. Пример – создание TLS-соединения за счет использования Nginx внутри pod, который будет терминировать трафик. В этом случае трафик до Nginx будет шифрован, а между Nginx и другими контейнерами внутри pod – нет.
🍭 Adapter. Пример – добавления контейнера, который будет выполнять роль Prometheus Exporter для ElasticSearch.
🍭 Sidecar. Пример – сбор логов в stdout, в случае если приложение не поддерживает такой формат предоставления логов и пишет все в файл.
🍭 Init. Запуск контейнера, который делает «предварительную работу» для запуска основного приложения.
Если тема вам интересна, то рекомендуем прочесть статью, в которой подробно разбираются рассмотренные выше patterns. Все наглядно, с примерами и ссылками на иные источники для более детального ознакомления с темой. Кстати, есть еще очень интересная статья от Google по этой тематике (небольшая, 6 страниц А4).
7 847
Прохождение Insekube CTF
Привет!
Insekube CTF - набор интерактивных заданий, реализация которых позволит получить заветный "флаг". Для каждого шага есть подсказки/намеки на то, как его можно реализовать.
В статье описаны шаги, которые предпринял Автор для прохождения Insekube CTF. Ресурс доступен, поэтому вы можете попробовать пройти СTF самостоятельно до прочтения статьи.
Путь решения CTF, предлагаемый Автором:
🍭 Enumeration и получение «хоть-какой-нибудь» информации о кластере
🍭 Reverse shell через уязвимость приложения, запущенного на кластере
🍭 Discovery: поиск уязвимых компонентов, которым стала Grafana
🍭 Подбор данных для эксплуатации уязвимости CVE-2021-43798 (Path Traversal) в Grafana для получения Token
🍭 Подготовка и запуск pod, содержащего hostPath и privileged с последующим «побегом» на node
Все достаточно детально описано, с примерами и пояснениями для самостоятельного воспроизведения.
7 847
IDE plugin Trivy для VS Code
Всем привет!
Проект Trivy продолжает активно развиваться, добавляются новые функции и улучшается опыт использования (user experience).
Если вы уже пользуетесь инструментом, то есть хорошие новости – существует plugin для VS Code, который позволяет использовать Trivy не выходя из дома не покидая привычную среду разработки.
Он позволяет запускать сканирования из IDE, а удобный Findings Explorer упростит процесс анализа ИБ-дефектов за счет структурирования результатов и «подсвечивания» проблемных участков.
P.S. О недавнем обновлении Trivy с новым функционалом мы писали тут.
7 847
Вопросы и задачки по DevOps
Привет!
По ссылке доступна подборка, в которой содержатся вопросы и упражнения по тематике DevOps. Если верить описанию repo, то сейчас в ней 2292 вопроса/упражнения!
Все удобно структурировано по тематикам, например:
🍭 Continuous Integration и Continuous
🍭 Delivery
🍭 Ansible
🍭 Git
🍭 Containers
🍭 Operating System и многое другое
Подборку можно использовать по-разному: узнать новое, проверить собственные силы, взять вопросы для собственного quiz на очередном meetup/hackathon для развлечения аудитории и многое другое!
7 847
ИБ-практики при использовании ArgoCD
Привет!
Еще одна неплохая обзорная статья про безопасность при использовании ArgoCD. Про общие практики использования ArgoCD, не имеющие отношения к ИБ мы писали тут.
Автор выделяет следующие области:
🍭 Use a dedicated project for the control plane. Рекомендации GitOps практик при управлении GitOps Control Plane ArgoCD
🍭 Argo resources are for Argo admins only. Ресурсы группы argoproj.io должны быть только в тех repo, которые принадлежат администратором ArgoCD
🍭 Delete the “default” project. Удаление «базового» проекта, создаваемого по умолчанию
🍭 Block ClusterRoleBindings in (most) projects. Управление доступом (least privilege) на уровне кластера
🍭 Narrow roles on remote clusters. Корректное управление доступом при управлении несколькими кластерами при помощи одного instance ArgoCD
🍭 Have a CVE response plan ready. Создание процесса управления уязвимостями
Для каждой из вышеуказанных тем приводится обоснование «почему это важно?» и советы о том, как это можно реализовать. Кстати, у самого проекта ArgoCD есть раздел, посвященный информационной безопасности.
7 847
Лабораторные работы по eBPF
Всем привет!
Если вы хотели познакомиться с технологией eBPF «поближе», но не знали с чего начать, то лабораторные работы от Isovalent могут вам подойти.
На текущий момент доступны следующие лабораторные работы:
🍭 Getting Started with Cilium OSS
🍭 Getting started with Isovalent Cilium Enterprise: Network Policies
🍭 Getting started with Isovalent Cilium Enterprise: Connectivity Visibility
🍭 Getting Started with eBPF
🍭 Security Observability with eBPF and Cilium Tetragon
Лабораторные работы имеют разный уровень сложности – от beginner до advanced. Для доступа к материалу надо указать немного информации о себе – ФИО, почта (можно указать персональную) и т.д. По времени – от 30 минут до 1 часа, теория и практика.
7 847
Возможное количество TCP-соединений
Всем привет!
Сегодняшний пост не совсем по тематике канала, но нам он показался интересным, особенно в качестве легкого пятничного чтива.
Началось все с того, что Автор видел множество размышлений в стиле: «Всего 65 536 TCP портов (2^16), значит только 65 536 клиентов могут установить соединение с 1 TCP-сервером».
Тогда как различные компании поддерживают миллионы соединений? Они обманывают? У них стоит много-много-много серверов и балансировка? «Что-то тут не так…» - подумал Автор и решил посчитать самостоятельно.
Ответ Автора – 2^48, а это очень большое число. Почему это так – описано в статье, основная суть в том, что для listening-порта входящие соединение не «поглощает/занимает» порт на сервере.
А если хочется проверить вручную, то и это возможно – Автор написал простенькую программу, при помощи которой можно реализовать PoC.
7 847
Инструкция: Cosign + Gatekeeper
Всем привет!
Подпись образов – важный аспект информационной безопасности, про который мы уже писали и не раз.
Если есть общее понимание, но хочется простой и понятной конкретики «А как сделать-то?», то рекомендуем обратить внимание на эту статью.
В ней детально (с примерами кода и конфигураций) объясняется следующее:
🍭 Создание job в CI-pipeline для подписи образа (в примере используется Tekton, но сам подход запросто можно адаптировать по ваши CI)
🍭 Создание ContsraintTemplate и самого Constraint для Gateeper с целью проверки валидности (наличия) подписи у образа
🍭 Настройка External Data Provider для Gatekeep, чтобы он умел «общаться» с Cosign. Для этого используется официальное решение от Sigstore – Cosign-Gatekeeper-Provider
🍭 Небольшой тест созданной конфигурации
В статье минимум «воды» и максимум конкретики, для наглядности приведены диаграммы взаимодействия компонент, используемых при реализации сценария
7 847
Troubleshooting Kubernetes
Привет!
Про эту схему мы уже писали, но… проект продолжает развиваться, что не может не радовать! Последнее обновление – от мая 2022 года.
Схему можно скачать в pdf или png формате для удобства. Кроме схемы есть описание, где можно посмотреть, как найти ошибку или на что обратить внимание для идентификации проблемы.
7 847
Безопасность Etcd
Всем привет!
Неплохая обзорная статья, посвященная безопасности Etcd. Сперва Автор описывает, что это такое, зачем она нужна, из каких компонентов состоит и как Etcd «связана» с Kubernetes.
После небольшой вводной части описываются значимые недостатки ИБ, которые могут быть реализованы в случае некорректной конфигурации:
🍭 client-cert-auth не используется, вследствие чего не проверяется валидность сертификатов при обращении к Etcd
🍭 Доступность порта 2379 «извне»
🍭 Использование SSRF уязвимости для получения доступа к Etcd
🍭 Утечка сертификата Etcd
Для каждого недостатка приводятся причины почему это плохо и к чему это может привести.
В продолжении статьи Автор описывает возможные векторы атак. Одним из них является компрометация токена, «привязанного» к Cluster Wide роли с дальнейшим его использованием при обращении к кластеру Kubernetes.
Завершают статью размышления Автора на тему того, как можно сделать лучше/более безопасно.
7 847
Cloud Native Threat Report от Aqua Security
Всем привет!
В приложении можно скачать отчет от Aqua Security, посвященный Cloud Native (апрель 2022).
Для получения данных ребята из Aqua использовали несколько подходов – собственная honeypot сеть, а также анализ общедоступных образов контейнеров.
Примеры того, что можно найти в отчете:
🍭 Фокус на атаки web-интерфейсов Kubernetes
🍭 Многие общедоступные образы содержат вредоносное ПО (например, mimikatz, metasploit и т.д.)
🍭 Supply chain атаки (что особенно «ярко» было выражено в 2021 году и продолжается в настоящее время) и т.д.
И, как обычно – статистика, ссылка на внешние источники и на «значимые» примеры, которые произошли за последнее время в ИБ-мире cloud native.
7 847
«Свежий» release Trivy: новые функции!
Всем привет!
Недавно вышла новая версия Trivy – v0.28.0. Одним из самых интересных нововведений стало сканирование… Kubernetes!
Теперь можно получать информацию об уязвимостях, применимых для сущностей, в составе которых используется образ, о ИБ-недостатках конфигурации сущностей K8S.
Кроме этого:
🍭 Добавлена поддержка SPDX формата при генерации SBOM (ранее был только CycloneDX)
🍭 Обновленный формат предоставления результатов по сканированию на ошибки в конфигурации – добавлена контекстая информация
🍭 Графические изменения в table output и другие нововведения
Подробнее можно прочитать в описании release и в сопутствующем changelog
7 847
Prometheus Certified Associate (PCA)
Всем привет!
18 мая была анонсирована новая сертификация, на этот раз посвященная Prometheus – PCA.
Согласно CNCF, PCA демонстрирует понимание кандидата лучших практик мониторинга cloud native приложений и инфраструктуры с использованием Prometheus.
Для успешного прохождения экзамена необходимо ответить на вопросы по следующим блокам:
🍭 Observability concepts (18%)
🍭 Prometheus Fundamentals (20%)
🍭 PromQL (28%)
🍭 Instrumentation and Exporters (16%)
🍭 Alerting and Dashboarding (18%)
Подробнее про содержание разделов можно прочесть по ссылке. Стоимость экзамена составляет 250$. Дополнительно – ссылка на новость о новой сертификации.
7 847
Practical Cloud Native Security with Falco
Всем привет!
В приложении доступна книжка (~ 129 страниц), посвященная использованию Falco для защиты Cloud Native приложений.
В книге раскрываются такие темы как:
🍭 Архитектура Falco, принципы работы
🍭 Источники данных для Falco и их обогащение
🍭 Использование Falco Filters
В книге достаточно много теории и практических примеров использования возможностей решения
7 847
Tetragon теперь open source
Всем привет!
На днях Isovalent (авторы Cilium) «выложили» проект Tetragon в открытый доступ, сделав его open source.
Tetragon – решение для защиты и повышения observability кластера Kubernetes, которая использует возможности технологии eBPF.
Решение позволяет не только собирать информацию, но и делать security enforcement, например для:
🍭 System calls
🍭 Networking
🍭 File System Read/Write
🍭 Многое другое
Очень рекомендуем почитать статью, т.к. в ней описаны возможности Tetragon и приводится сравнение с альтернативными вариантами реализации аналогичных задач (безопасность и observability) – SELinux, Application Instrumentation, Kernel Modules и т.д.
А если хочется быстро познакомиться с Tetragon, то в официальном repo есть детальный QuickStart Guide.
7 847
Custom Resource Definition и Open Policy Agent
Привет!
Про пользу Open Policy Agent (OPA) и ее реализации для Kubernetes – Gatekeeper написано достаточно много: от общей информации до набора готовых политик, которые можно использовать.
Если вы хотите написать политики самостоятельно и вам нужен простой tutorial, в котором просто и понятно описано что к чему?
Тогда эта статья может быть вам интересна. В ней автор разбирает такие темы как:
🍭 Основы REGO (на нем пишутся политики)
🍭 ConstraintTemplates – что это и зачем оно нужно
🍭 Constraint – как при помощи него можно управлять областью ContstaintTemplates
В завершении статьи – примеры того, как это можно использовать – от установки Gatekeeper до написания и тестирования собственных политик. Помимо этого, автор описывает «шаги», которые происходят «под капотом» для лучшего понимания происходящего.
7 847
Лучшие практики 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, при помощи которого можно автоматизировать проверку выполнения указанных рекомендаций.
现已上线!2025 年 Telegram 研究 — 年度关键洞察 
