uk
Feedback
DevSecOps Talks

DevSecOps Talks

Відкрити в Telegram

Рассказываем об актуальном в мире DevSecOps. Канал DevSecOps-команды "Инфосистемы Джет"

Показати більше
7 847
Підписники
+724 години
+397 днів
+10830 день
Архів дописів
Инъекция 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 с необходимыми материалами можно найти тут.

Несколько контейнеров в 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).

Прохождение Insekube CTF Привет! Insekube CTF - набор интерактивных заданий, реализация которых позволит получить заветный "флаг". Для каждого шага есть подсказки/намеки на то, как его можно реализовать. В статье описаны шаги, которые предпринял Автор для прохождения Insekube CTF. Ресурс доступен, поэтому вы можете попробовать пройти СTF самостоятельно до прочтения статьи. Путь решения CTF, предлагаемый Автором: 🍭 Enumeration и получение «хоть-какой-нибудь» информации о кластере 🍭 Reverse shell через уязвимость приложения, запущенного на кластере 🍭 Discovery: поиск уязвимых компонентов, которым стала Grafana 🍭 Подбор данных для эксплуатации уязвимости CVE-2021-43798 (Path Traversal) в Grafana для получения Token 🍭 Подготовка и запуск pod, содержащего hostPath и privileged с последующим «побегом» на node Все достаточно детально описано, с примерами и пояснениями для самостоятельного воспроизведения.

IDE plugin Trivy для VS Code Всем привет! Проект Trivy продолжает активно развиваться, добавляются новые функции и улучшается опыт использования (user experience). Если вы уже пользуетесь инструментом, то есть хорошие новости – существует plugin для VS Code, который позволяет использовать Trivy не выходя из дома не покидая привычную среду разработки. Он позволяет запускать сканирования из IDE, а удобный Findings Explorer упростит процесс анализа ИБ-дефектов за счет структурирования результатов и «подсвечивания» проблемных участков. P.S. О недавнем обновлении Trivy с новым функционалом мы писали тут.

Вопросы и задачки по DevOps Привет! По ссылке доступна подборка, в которой содержатся вопросы и упражнения по тематике DevOps. Если верить описанию repo, то сейчас в ней 2292 вопроса/упражнения! Все удобно структурировано по тематикам, например: 🍭 Continuous Integration и Continuous 🍭 Delivery 🍭 Ansible 🍭 Git 🍭 Containers 🍭 Operating System и многое другое Подборку можно использовать по-разному: узнать новое, проверить собственные силы, взять вопросы для собственного quiz на очередном meetup/hackathon для развлечения аудитории и многое другое!

ИБ-практики при использовании 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 есть раздел, посвященный информационной безопасности.

Лабораторные работы по 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 часа, теория и практика.

Возможное количество TCP-соединений Всем привет! Сегодняшний пост не совсем по тематике канала, но нам он показался интересным, особенно в качестве легкого пятничного чтива. Началось все с того, что Автор видел множество размышлений в стиле: «Всего 65 536 TCP портов (2^16), значит только 65 536 клиентов могут установить соединение с 1 TCP-сервером». Тогда как различные компании поддерживают миллионы соединений? Они обманывают? У них стоит много-много-много серверов и балансировка? «Что-то тут не так…» - подумал Автор и решил посчитать самостоятельно. Ответ Автора – 2^48, а это очень большое число. Почему это так – описано в статье, основная суть в том, что для listening-порта входящие соединение не «поглощает/занимает» порт на сервере. А если хочется проверить вручную, то и это возможно – Автор написал простенькую программу, при помощи которой можно реализовать PoC.

Инструкция: Cosign + Gatekeeper Всем привет! Подпись образов – важный аспект информационной безопасности, про который мы уже писали и не раз. Если есть общее понимание, но хочется простой и понятной конкретики «А как сделать-то?», то рекомендуем обратить внимание на эту статью. В ней детально (с примерами кода и конфигураций) объясняется следующее: 🍭 Создание job в CI-pipeline для подписи образа (в примере используется Tekton, но сам подход запросто можно адаптировать по ваши CI) 🍭 Создание ContsraintTemplate и самого Constraint для Gateeper с целью проверки валидности (наличия) подписи у образа 🍭 Настройка External Data Provider для Gatekeep, чтобы он умел «общаться» с Cosign. Для этого используется официальное решение от Sigstore – Cosign-Gatekeeper-Provider 🍭 Небольшой тест созданной конфигурации В статье минимум «воды» и максимум конкретики, для наглядности приведены диаграммы взаимодействия компонент, используемых при реализации сценария

Troubleshooting Kubernetes Привет! Про эту схему мы уже писали, но… проект продолжает развиваться, что не может не радовать! Последнее обновление – от мая 2022 года. Схему можно скачать в pdf или png формате для удобства. Кроме схемы есть описание, где можно посмотреть, как найти ошибку или на что обратить внимание для идентификации проблемы.

Безопасность Etcd Всем привет! Неплохая обзорная статья, посвященная безопасности Etcd. Сперва Автор описывает, что это такое, зачем она нужна, из каких компонентов состоит и как Etcd «связана» с Kubernetes. После небольшой вводной части описываются значимые недостатки ИБ, которые могут быть реализованы в случае некорректной конфигурации: 🍭 client-cert-auth не используется, вследствие чего не проверяется валидность сертификатов при обращении к Etcd 🍭 Доступность порта 2379 «извне» 🍭 Использование SSRF уязвимости для получения доступа к Etcd 🍭 Утечка сертификата Etcd Для каждого недостатка приводятся причины почему это плохо и к чему это может привести. В продолжении статьи Автор описывает возможные векторы атак. Одним из них является компрометация токена, «привязанного» к Cluster Wide роли с дальнейшим его использованием при обращении к кластеру Kubernetes. Завершают статью размышления Автора на тему того, как можно сделать лучше/более безопасно.

Cloud Native Threat Report от Aqua Security Всем привет! В приложении можно скачать отчет от Aqua Security, посвященный Cloud Native (апрель 2022). Для получения данных ребята из Aqua использовали несколько подходов – собственная honeypot сеть, а также анализ общедоступных образов контейнеров. Примеры того, что можно найти в отчете: 🍭 Фокус на атаки web-интерфейсов Kubernetes 🍭 Многие общедоступные образы содержат вредоносное ПО (например, mimikatz, metasploit и т.д.) 🍭 Supply chain атаки (что особенно «ярко» было выражено в 2021 году и продолжается в настоящее время) и т.д. И, как обычно – статистика, ссылка на внешние источники и на «значимые» примеры, которые произошли за последнее время в ИБ-мире cloud native.

«Свежий» release Trivy: новые функции! Всем привет! Недавно вышла новая версия Trivyv0.28.0. Одним из самых интересных нововведений стало сканирование… Kubernetes! Теперь можно получать информацию об уязвимостях, применимых для сущностей, в составе которых используется образ, о ИБ-недостатках конфигурации сущностей K8S. Кроме этого: 🍭 Добавлена поддержка SPDX формата при генерации SBOM (ранее был только CycloneDX) 🍭 Обновленный формат предоставления результатов по сканированию на ошибки в конфигурации – добавлена контекстая информация 🍭 Графические изменения в table output и другие нововведения Подробнее можно прочитать в описании release и в сопутствующем changelog

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$. Дополнительно – ссылка на новость о новой сертификации.

Practical Cloud Native Security with Falco Всем привет! В приложении доступна книжка (~ 129 страниц), посвященная использованию Falco для защиты Cloud Native приложений. В книге раскрываются такие темы как: 🍭 Архитектура Falco, принципы работы 🍭 Источники данных для Falco и их обогащение 🍭 Использование Falco Filters В книге достаточно много теории и практических примеров использования возможностей решения

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.

Custom Resource Definition и Open Policy Agent Привет! Про пользу Open Policy Agent (OPA) и ее реализации для Kubernetes – Gatekeeper написано достаточно много: от общей информации до набора готовых политик, которые можно использовать. Если вы хотите написать политики самостоятельно и вам нужен простой tutorial, в котором просто и понятно описано что к чему? Тогда эта статья может быть вам интересна. В ней автор разбирает такие темы как: 🍭 Основы REGO (на нем пишутся политики) 🍭 ConstraintTemplates – что это и зачем оно нужно 🍭 Constraint – как при помощи него можно управлять областью ContstaintTemplates В завершении статьипримеры того, как это можно использовать – от установки Gatekeeper до написания и тестирования собственных политик. Помимо этого, автор описывает «шаги», которые происходят «под капотом» для лучшего понимания происходящего.

Лучшие практики 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, при помощи которого можно автоматизировать проверку выполнения указанных рекомендаций.

И та самая диаграмма от Ivan ☺️
И та самая диаграмма от Ivan ☺️

И та самая диаграмма от Ivan ☺️