DevSecOps Talks @devsecops_weekly Channel on Telegram

DevSecOps Talks

@devsecops_weekly


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

DevSecOps Talks (Russian)

DevSecOps Talks - канал для всех, кто интересуется безопасностью в разработке программного обеспечения. Под названием @"devsecops_weekly" скрывается команда DevSecOps от компании "Инфосистемы Джет", специализирующаяся на соблюдении принципов безопасности в DevOps-процессах. На канале вы найдете актуальные обсуждения, статьи, советы и рекомендации по теме DevSecOps. Члены команды делают обзоры актуальных тенденций в мире безопасности и делятся своими знаниями с подписчиками. Если вы хотите быть в курсе последних новостей и разработок в области безопасности DevOps, необходимо подписаться на DevSecOps Talks прямо сейчас!

DevSecOps Talks

06 Dec, 04:23


Минималистичное обучение по уязвимостям

Всем привет!

Небольшой пятничный пост, посвященный обучающим материалам. По ссылке доступен набор небольших «уроков», посвященных уязвимостям и недостаткам в ПО.

Например:
🍭OWASP Top 10, Web (куда без него)
🍭Logging and Monitoring
🍭Buffer Overflows
🍭Host Header Poisoning

Из плюсов подборка достаточно большая, материал подается просто и наглядно. Из минусов – только теория.

Как вариант, материал может пригодиться для вводных курсов специалистов,которые только начинают свое погружение в этот увлекательный мир.

Или для быстрого и краткого ознакомления с темой, чтобы «быть в курсе».

DevSecOps Talks

05 Dec, 04:25


Zero Trust Reference Architecture для Kubernetes

Всем привет!

В приложении – электронная книга (~ 68 страниц), в которой описана Zero Trust архитектура, которую Авторы предлагают реализовать в Kubernetes.

Для этого они предлагают использовать:
🍭 Emissary-ingress. Защита доступа извне
🍭 Linkerd. Контроль взаимодействия сервисов внутри
🍭 Cert-Manager. Управление множеством сертификатов, которые понадобятся
🍭 Polaris. Контроль политик и выполнения их требований

Само повествование линейно – от того, что такое Zero Trust и основных терминов, до погружения в предлагаемые технологии.

Авторы описывают почему они выбрали именно такой набор, приводят общее описание функционала и способы настройки для того, чтобы собрать все «воедино».

P.S. Кстати, все приложения, конфигурационные файлы и т.д., используемые в книге, можно найти в GitHub Repo (ссылка на него есть в книге 😊).

DevSecOps Talks

04 Dec, 04:27


Анализируем CVE

Всем привет!

Вроде нет ничего в мире ИБ более «знакомого», чем CVE (разве что КЦД 😊). Про них часто говорят, их разбирают и анализируют.

Однако, бывают случаи, когда надо просто и понятно объяснить, что это такое. Например, разработчику ПО, которого мы просим обновить библиотеку, чтобы устранить CVE-XXX-YYYY.

В статье от SNYK как раз содержится такой необходимый набор:
🍭 Получение информации о CVE
🍭 Анализ уровня критичности CVE
🍭 Изучение CWE, характерных для CVE. Разница между CVE и CWE
🍭 Возможность эксплуатации CVE
🍭 Стратегии по устранению уязвимости

Каждый блок разбирается на конкретной уязвимости, а именно: CVE-2020-8203 (prototype pollution в Lodash).

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

DevSecOps Talks

03 Dec, 04:30


Mend Renovate: автоматическое обновление зависимостей

Всем привет!

Mend Renovate – решение, которое позволяет идентифицировать устаревшие версии используемых библиотек и предлагает варианты по обновлению.

По умолчанию Renovate поддерживает более 90 пакетных менеджеров, включающих в себя как языки программирования, так и средства автоматизации управления ИТ-инфраструктурой.

Алгоритм работы весьма прямолинейный:
🍭 Сканирование репозиториев для идентификации пакетов и зависимостей
Проверка на наличие более свежей версии
🍭 Открытие PR (MR) на обновление с дополнительной информацией (Age, Adoption, Passing, Confidence)

Познакомиться с его работой поближе можно в статье. В ней Автор использует Renovate для управления Helm Charts. Описаны все шаги – от подключения GitHub Repo до создания PR на обновление Chart.

Renovate доступен в нескольких вариантах: CLI (open source), Community и Enterprise. О разнице и ограничениях разных вариантов можно прочесть вот тут.

И, конечно же, больше подробностей можно узнать в документации на решение, доступной по ссылке.

DevSecOps Talks

02 Dec, 04:25


Kubernetes Endpoints: что это и зачем?

Всем привет!

Endpoints играют важную роль в «жизни» Kubernetes – они помогают «связывать» Service с Pod для корректной работы приложений.

Но что это такое и как это работает изнутри? Если вам интересно разобраться, то эта статья может быть вам полезна.

Автор рассматривает:
🍭 Что такое Endpoint и как они работают (создание Service, создание Endpoint, обновление Endpoint)
🍭 Структура Endpoint с пояснениями
🍭 EndpointSlice, их роль, назначение и принцип работы

В завершении статьи приводится демонстрация на примере простого Deployment и его Service, в котором рассматриваются описанные в статье сущности.

DevSecOps Talks

29 Nov, 04:30


Штурвал - community версия

Всем привет!

Не можем остаться в стороне и не поделиться интересной новостью. Лаборатория Числитель выпустила community версию своей платформы контейнерной оркестрации - Штурвал.

В community версии есть:
🍭бесплатная лицензия с неограниченным сроком действия
🍭полный функционал, сопоставимый с коммерческой редакцией продукта
🍭управление до 10 воркерами любой конфигурации

И важные ссылки:
🍭форма для получения лицензионного ключа
🍭чат community в Телеграм

DevSecOps Talks

28 Nov, 04:31


Service Mesh: DIY

Здрасссссьте Всем привет!

Хотели разобраться в том, что такое Service Mesh? Тогда эти статьи (раз, два) могут вам понравиться. В них Автор предлагает создать свою собственную реализацию!

Конечно не для production ready окружений, но для обучающих целей точно сойдет!

Предлагается пройти вот такой путь:
🍭 Создание http-client и http-server
🍭 Реализация proxy для перехвата requests и responses
🍭 Добавление созданных сущностей в Deployment
🍭 Автоматизация предыдущего шага с использованием собственного Admission Controller

Указанные шаги Автор реализует с использованием Golang. Код, пояснения и примеры, ссылки на конфигурационные файлы и используемый инструментарий – все это есть в статье для воспроизведения

P.S. А если не хочется читать статью, то все необходимое собрано в этом GitHub Repo 😊

DevSecOps Talks

27 Nov, 04:26


SAST: руководство для начинающих!

Всем привет!

Сегодня хотим поделиться с вами обзорной статьей про Static Application Security Testing. Сперва Автор кратко описывает что это такое, зачем оно нужно и почему это важно.

Далее – переходит к самому интересному, а именно – способам анализа, которые могут быть «под капотом» у анализатора

Рассматривается следующее:
🍭 «Grep»-техника (она же pattern-matching)
🍭 Control Flow Analysis
🍭 Data Flow Analysis
🍭 Taint Analysis

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

Помимо этого, есть краткое описание Enterprise и Open Source сканеров с указанием типов анализа, которые они поддерживают.

Завершают статью рекомендации о том, с чего можно начать реализацию практики статического анализа, как можно «бороться» с False Positive. И, конечно же, не обошлось без возможных областей использования машинного обучения для рассматриваемых задач.

В итоге получилось очень хорошее руководство для новичков, которые только начинают свой путь в SAST 😊

DevSecOps Talks

26 Nov, 04:26


Совместим ли GitOps с Database Rollback?

Всем привет!

GitOps – прекрасный подход, который позволяет реализовать декларативное управление состоянием программного обеспечения.

Реализовали новую функциональность? Не проблема. Операторы Kubernetes синхронизируют изменения и автоматически применят их в кластере. Что-то пошло не так? Не проблема. Всегда можно «откатиться на предыдущий commit и разбираться что пошло не так».

В теории все очень классно, но что можно наблюдать на практике? Для stateless приложений такой подход может работать очень хорошо, а что делать с stateful?

Например, с базами данных? Вот так «просто» обновить ее не получится, ведь помимо ПО, необходимого для функционирования базы есть еще и данные. И эти самые данные уже не получится «просто взять из системы контроля версий».

Именно этой проблеме посвящена статья. Авторы разбирают:
🍭 Up и Down- миграции, возможную проблематику их реализации
🍭 Возможности ArgoCD по реализации миграций, нюансы работы с rollback
🍭 Использование Atlas Operator для управление схемой (schema) БД, включая rollbacks

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

DevSecOps Talks

25 Nov, 04:27


DevSecOps Blueprint

Всем привет!

Сегодняшний материал подойдет всем, кто хочет начать свой путь в DevSecOps. DevSecOps BluePrint состоит из двух частей: Blueprint и Projects.

Первая часть посвящена теории. В ней собрана общая информация о том, что такое Application Security, безопасность SDLC, основы DevSecOps.

Вторая представляет из себя описание создания небольшой «лабораторной» для развития практических навыков.

Лабораторная включает в себя:
🍭 Docker
🍭 Gitea
🍭 Jenkins
🍭 Nexus
🍭 Security Tools (SonarQube, Trivy)
🍭 Monitoring Tools (Grafana, Prometheus)

Для каждого инструмента лабораторной приводится небольшая справка-инструкция о том, как его можно установить/запустить и первоначально настроить.

Для начала пути в мир DevSecOps – вполне себе! 😊

DevSecOps Talks

22 Nov, 04:30


Sealed Secret Web UI

Всем привет!

Если вы любите IaC подходы и храните конфигурацию в системе контроля версий, то рано или поздно встанет вопрос: «А что делать с Kubernetes Secretes?»

Ответом может стать утилита от Bitnami – Sealed Secrets (про нее мы писали тут). Если просто – то она создает «шифрованного двойника» секрета и позволяет разместить его в git-репозитории.

Сегодня же мы хотим рассказать вам про простую утилиту, которая позволяет сделать Web UI для Sealed Secrets.

Функционал минималистичен и прост:
🍭 Encode/Decode. (Де) кодирование строк в base64
🍭 Secrets. Получение всех Sealed Secrets в рамках Namespace
🍭 Seal. Шифрование Kubernetes Secret с созданием Sealed Secret
🍭 Validate. Проверка Sealed Secret

Ничего сверхъестественного, просто небольшое графическое представление информации, которое может немного упростить жизнь 😊

DevSecOps Talks

21 Nov, 04:28


Kyverno Certified Associate

Всем привет!

Недавно CNCF анонсировала еще одну сертификацию. На этот раз она посвящена Kyverno! Как обычно – для прохождения надо ответить на вопросы, сгруппированные по доменам.

А сами домены следующие:
🍭 Fundamentals of Kyverno
🍭 Installation, Configuration and Upgrades
🍭 Kyverno CLI
🍭 Applying Policies
🍭 Writing Policies (и тут все-все-все – от Validation до Cleanup)
🍭 Policy Management

Выглядит как полноценный обзор всего, что может Kyverno. Однако, сдать экзамен можно только начиная с января 2025, сейчас открыта лишь предварительная запись.

И да, увы, экзамен платный – 250$

DevSecOps Talks

20 Nov, 04:27


Статический анализ JavaScript

Всем привет!

По ссылке можно найти вводную статью, посвященную статическому анализу JavaScript-приложений, подготовленную Snyk.

Автор разбирает разделы:
🍭 Что такое статический анализ и зачем он нужен
🍭 Отличие статического анализа от динамического
🍭 Статический анализ для нужд Quality и Security
🍭 Введение в Abstract Syntax Tree (AST) и его использование в анализе ПО

Каждый из блоков рассматривается на минималистичном примере, к которому даются комментарии.

В качестве инструмента анализа упоминается Snyk и ESLint.

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

DevSecOps Talks

19 Nov, 04:26


Компрометация кластера Kubernetes: пример сценария

Всем привет!

В статье рассматривается возможный сценарий компрометации кластера Kubernetes. Про «подготовку» такого кластера можно почитать вот тут (чтобы контекст был более понятен).

Сама «лабораторная среда» содержит множество некорректных конфигураций, которыми сможет воспользоваться злоумышленник.

Автор проделывают следующий путь:
🍭 Получают reverse shell в Pod. Для этого используется supply chain атака с подменой requests на request` (typosquating)
🍭 Сбор первичной информации об окружении – какой runtime используется, что есть «внутри Pod», анализ полномочий ServiceAccount, из-под которой запущен Pod
🍭 Получение доступа к базе данных, используя роль Kubernetes, права которой только RO
🍭 Компрометация GitHub Runners / GitHub Actions и не только

Может показаться, что все подстроено. Отчасти – да, отчасти – нет, т.к. некорректные конфигурации в реальности встречаются чаще, чем хотелось бы. Поэтому некоторые из этих сценариев могут быть не совсем «теоретическими».

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

DevSecOps Talks

15 Nov, 05:09


NPM Provenance и его использование

Всем привет!

NPM Provenance – механизм, который позволяет «связать» опубликованный пакет с исходными кодами GitHub-Repository.

Казалось бы, это очень хороший функционал, который позволит усилить защиту против атак на цепочку поставки ПО.

Однако, насколько часто им пользуются? Размышления на эту тему можно найти в статье. Spoiler: хотелось бы больше 😊

Автор рассматривает:
🍭 Общие риски ИБ в модели ИБ NPM (отсутствие требований к наличию provenance, отсутствие требований к публикации пакетов и т.д.)
🍭 Возможные причины, почему Provenance не получил (ает) желаемого распространения
🍭 Как включить и как проверить тот самый Provenance
🍭 Общие рекомендации как для Package Maintainers, так и для Package Users

Все очень просто и кратко описано, что позволит лучше разобраться как и что работает.

Также статья затрагивает другую интересную тему, а именно: получение полной информации о ПО – от условного commit до того, что получает конечный пользователь. Но об этом как-нибудь в другой раз 😊

DevSecOps Talks

14 Nov, 04:28


Helmper: анализ образов Helm Chart

Всем привет!

Допустим, что у вас есть Helm Chart, образы из которого надо поместить в локальный реестр для дальнейшего использования.

С простыми Chart сделать это относительно не сложно, а со сложноустроенными – все может быть далеко не так тривиально.

Именно эту задачу (и не только!) помогает решить утилита Helmper. Она объединяет в себе Helm, Oras, Trivy, Copaсetic и Cosign.

Да, уже из «состава» видно, что умеет она чуть больше, а именно:
🍭 «Извлечение» образов из всех Helm Chart и их Sub Chart
🍭 Гибкое управление «импортом» образов – все или только новые
🍭 Анализ образов на наличие уязвимостей с Trivy
🍭 Устранение уязвимостей с использованием Copaсetic (детальнее про него мы писали тут)
🍭 Возможность подписи образов контейнеров и не только

Больше информации можно найти в repo и в документации на утилиту.

Важно: утилита находится в beta-стадии.
И, если вдруг вы захотите «устранять уязвимости автоматически» с Copaсetic не забывайте, что он создает новый слой сверху, что может увеличить размер образа.

DevSecOps Talks

13 Nov, 04:28


И еще немного про Kubernetes Operators

Всем привет!

Предлагаем вам еще одну статью, посвященную Kubernetes Operators. Если вы хотели побольше о них узнать, то она может быть полезна.

Сперва Автор раскрывает основные идеи – Current State, Target State, Reconcile Loop. Дальше, на примере Deployment, каждый из концептов и внутренняя «машинерия» раскрывается детальнее.

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

Далее – создание собственного контроллера с использованием Kubebuilder!

Автор приводит все шаги:
🍭 Подготовка шаблонов
🍭 Управление permissions при работе с (Sub) Resources
🍭 Настройка SetupWithManager и указание ресурса для reconcile
🍭 Описание той самой reconcile-логики (что надо сдедать в случае, если с ресурсом X произошло событие Y)
🍭 Работа с Finalizers и много всего еще

Очень-очень-очень-очень много пояснений, кода, различных схем и примеров из разных Kubernetes Operators.

Отличная статья для погружения в тему, рекомендуем!

DevSecOps Talks

12 Nov, 04:26


«Вредные советы» по безопасной разработке

Всем привет!

Обычно рассказывают про хорошие / лучшие практики по чему-либо. Безопасная разработка – не исключение.

Однако, все мы помним Григория Остера и его замечательные «Вредные советы». Которые весело читались и сохранялись в памяти на долгие годы.

Поэтому сегодня хотим рассказать про статью от CISA, в которой собраны такие вот "советы" по вопросам безопасности разрабатываемого ПО.

Например:
🍭 Использование memory unsafe languages (спорно, но)
🍭 Возможность добавления пользовательского ввода в SQL-запросы
🍭 Возможность добавления пользовательского ввода в команды ОС
🍭 Использование «чего-либо», обладающего известными уязвимостями и т.д.

Для каждого «совета» приводится описание и как делать «правильно». Да, выглядит «избито и банально», но, возможно, в такой трактовке лучше запомнится 😊

P.S. А если вы не знаете, кто такой Григорий Остер и что за «Вредные советы» - очень настойчиво рекомендуем ознакомиться 😊

DevSecOps Talks

11 Nov, 04:33


Основы сети и сетевая безопасность в Kubernetes

Всем привет!

Если вы хотите познакомиться с основами сетевого устройства Kubernetes и подходами по защите, то эта обзорная статья может вам подойти.

Команда Otterize описывает следующее:
🍭 Ключевые концепты (Kube-proxy, Service и их типы)
🍭 Network Policies и как их можно использовать
🍭 «Путешествие» пакета и то, как можно анализировать трафик на примере простого приложения
🍭 Создание Network Policy для вышеуказанного приложения с использованием Open Source наработок Otterize (о которых мы писали тут и тут)

Очень много схем, комментариев и примеров. Отдельно хочется отметить часть, связанную с «путешествием» пакета – Авторы разобрали все весьма подробно.

DevSecOps Talks

08 Nov, 05:17


Kubelab: интерактивные лабораторные по Kubernetes

Всем привет!

Самый простой способ что-то изучить – практика, практика и еще раз практика. Поэтому сегодня предлагаем вам познакомиться с проектом Kubelab.

Он позволяет реализовать «интерактивный Kubernetes-тренажер» локально и проходить различные задания.

Например:
🍭 Основы работы с Kubernetes (Networking, Storage, Jobs, RBAC и т.д.)
🍭 «Продвинутые» задания (выстраивание «цепочек» из того, что поясняется в «Основах»)

Для лабораторных есть подсказки или готовые решения, если не получилось сделать самостоятельно. Кроме этого, Kubelab обладает Web UI и редактором кода, чтобы упростить обучение.

Важно: проект еще достаточно «молодой», поэтому возможны различные нюансы, связанные с его работой

DevSecOps Talks

07 Nov, 04:27


Форензика в Kubernetes

Всем привет!

Продолжение истории с DFIR в контейнерах от Sysdig! Предыдущая статья закончилась на том, что это важно, интересно и полезно. Но, как и что делать – озвучено не было.

Именно этому и посвящена вторая статья! А именно – использованию функционала Checkpoint. Если просто – сохранению состояния контейнера в определенный момент времени для дальнейшего расследования.

В качестве примера команда Sysdig собирает Falco, Falco Sidekick, ArgoCD вместе, чтобы автоматически создавать Checkpoint в случае, если Falco обнаруживает нечто подозрительное.

Далее на реальном примере разбирается как можно проводить расследования в контейнерах и на что можно и нужно обращать внимание.

В завершении – полный перечень используемых инструментов и много ссылок «на почитать».

P.S. А если хочется материалов по теме на русском языке, то рекомендуем обратиться вот к этому докладу Сергея Канибора из команды Luntry – все по полкам! Да, 2022, но концепты не слишком сильно изменились 😊

DevSecOps Talks

06 Nov, 04:25


Gitlabcis: анализ GitLab на соответствие CIS

Всем привет!

Недавно GitLab представили собственную разработку – Gitlabcis.

Как нетрудно понять из названия он используется для того, чтобы проверять корректность конфигураций GitLab на соответствие одноименному CIS Benchmark.

Просто устанавливается, легко конфигурируется и быстро работает!

Из возможностей хотелось бы отметить:
🍭 Выдача результатов содержит Reason, в которой указано, почему настройка (не) соответствует требованиям
🍭 Есть возможность получения рекомендаций о том, как и что можно поправить (вплоть до «откройте XXX, выберите YYY и нажмите ZZZ)

Но не обошлось и без ограничений – реализовать автоматизированные проверки всего и вся не всегда просто/возможно. Все, что сейчас не реализовано, Авторы описали вот тут.

Больше подробностей, как обычно, в repo проекта и в официальной документации. А если вам хочется узнать roadmap развития утилиты, то он есть в статье из поста 😊

DevSecOps Talks

05 Nov, 04:28


DFIR в контейнерах: основы

Всем привет!

Digital Forensics и Incident Response (DFIR) – тема очень интересная, особенно, если дело касается контейнеров, которые обитают «в своем мире».

В статье команда Sysdig описывает, как и что можно делать, согласно методологии NIST (Computes Security Incident Handling Guide).

Рассматриваются шаги:
🍭 Preparation
🍭 Detection and Analysis
🍭 Containment Eradication and Recovery
🍭 Post-Incident Activity

Для каждого шага описывается его назначение и возможные способы автоматизации.

P.S. А если хочется узнать про это больше, то можно ознакомиться с докладом по DFIR, представленным командой Sysdig на CloudNative SecurityCon в 2023. Ссылка на него есть в начале статьи

DevSecOps Talks

02 Nov, 04:23


Observability в Kubernetes

Всем привет!

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

Для того, чтобы решить эту задачу можно использовать различные observability-инструменты, которые позволят получить ту самую «видимость».

Автор статьи предлагает «разбить» observability на 3 уровня:
🍭 Внешняя. Информация, связанная с user experience – время отклика, производительность и т.д.
🍭 Внутренняя. Метрики и логи, генерируемые системой
🍭 Операционная система. Отслеживание System Calls

Для каждого уровня Автор приводит несколько инструментов, которые могут пригодиться.

Из интересного еще то, что каждый уровень рассматривается с точки зрения нескольких ролей: Клиент, Разработчик, Platform-инженер, SRE и т.д.

DevSecOps Talks

01 Nov, 13:43


ℹ️ Материалы по NIST CSF на русском

NIST CSF на мой взгляд один из лучших фреймворков по управлению рисками кибербезопасности. Изначально целевая группа NIST CSF – критически важные объекты, новая же (v 2.0) структура стала адаптируемой и полезной для более широкого круга организаций.

Все материалы NIST CSF на английском, но энтузиасты перевели их на русский и поделились с киберсферой:
1️⃣ Перевод NIST CSF от Вячеслава Аксенова (itsec.by). Получилось довольно качественно, переведены даже картинки (приложил к посту)
2️⃣ Перевод методики оценки по NIST CSF от Дмитрия Шапошникова. Структура документа подготовлена для ее загрузки в BI для визуализации прогресса

Забираем в закладки)
#framework

DevSecOps Talks

01 Nov, 13:43


Наш друг ведет отличный канал по информационной безопасности в целом и по обновлениям различных стандартов в частности.

Не совсем по тематике DevSecOps, но вдруг кому-нибудь будет интересно :)

DevSecOps Talks

01 Nov, 04:29


Zizmor: анализ GitHub Actions

Всем привет!

GitHub Actions - не самое популярное решение в enterprise-компаниях, но вдруг информация в посте кому-нибудь пригодится.

Zizmor – CLI утилита, которая позволяет его анализировать и  находить ИБ-недостатки.

Важно(!): на текущий момент она находится в beta-стадии.

Как и практически любая CLI-утилита, Zizmor устанавливается просто и сразу готова к использованию.

При помощи нее можно найти:
🍭 Dangerous triggers
🍭 Excessive permissions
🍭 Hardcoded container credentials
🍭 Template injection и не только

Из приятного – может предоставлять отчеты как plain-текстом, так и в JSON/SARIF-форматах.

Больше информации, включая примеры использования, можно найти в документации.

DevSecOps Talks

31 Oct, 04:27


Эксплуатация software supply chain уязвимостей в Consul

Всем привет!

Сегодня предлагаем вам небольшую статью, в которой Авторы рассказывают о том, как им удалось найти dependency confusion в проекте Consul.

Началось все с того, что они обнаружили пакет, управление версиями для которого не осуществлялось. Да, был еще один конфигурационный файл, который это нивелировал. Однако, не все пакетные менеджеры смогли бы это «понять». Например, с pnpm могли возникнуть нюансы.

Продолжив исследование, команда нашла еще несколько подобных пакетов.  Оказалось, что они «свободны» и их можно «занять».

Именно это и сделали исследователи. Создали простой payload, который возвращает следующую информацию: hostname, whoami и path. После чего разместили пакет на общедоступном ресурсе.

И… это сработало! Спустя некоторое время команда получила pingback с информацией о «жертве». После успешного PoC пакет был удален, а команда HashiCorp («владельцы» Consul) внесли необходимые изменения.

Хорошо то, что хорошо заканчивается! Тем не менее это лишний раз подчеркивает важность и значимость обеспечения безопасности цепочки поставки ПО.

P.S. Информацию об уязвимых версиях и особенностях эксплуатации можно найти в статье.

DevSecOps Talks

30 Oct, 04:25


Использование LLM для Application Security, опыт
DryRun Security


Всем привет!

Наверное, каждый пробовал поместить если уж не исходный код, то результаты срабатываний *AST-решений в LLM с вопросом – «Что тут false, а что – true positive?»

До сих пор нет однозначной позиции (кроме надежды на silver bullet, которая теплеет внутри) о том, насколько именно LLM могут быть полезны в этом вопросе.

Сегодня предлагаем вам ознакомиться со статьей от DryRun Security, которые в течение года использовали разные LLM для того, чтобы оценить их «пригодность» для Application Security нужд.

Как обычно, началось все с недовольства работой *AST решений: много «шума», отсутствие понимания контекста, не самая высокая производительность, труднопонимаемые результаты для разработчиков и т.д.

Казалось бы, все это можно решить с использованием LLM. При этом получится отличный «переводчик» между AppSec и разработчиками.

Однако, команда все-таки столкнулась с нюансами
🍭 Не все LLM хорошо понимают «в код»
🍭 Результаты не всегда содержат информацию, позволяющую принять решение
🍭 Нюансы, связанные с конфиденциальностью (если используется внешняя LLM)
🍭 «Тренировка» модели процесс не конечный, его надо поддерживать, что не всегда просто

Поэтому реализовать концепт «отдали код – получили перечень уязвимостей» не будет работать. Но расстраиваться не стоит 😊

Если кратко, то использованием LLM может неплохо помочь Application Security, но с нюансами. Какими? Ответ вы найдете в статье 😊

P.S. А что вы думаете про использование LLM для описанных в посте целей? Можно ли на них полагаться или лучше не стоит?

DevSecOps Talks

29 Oct, 04:28


И тот самый Whitepaper (~ 40 страниц) ☺️

DevSecOps Talks

29 Oct, 04:27


Client-Side Path Traversal Playground

Всем привет!

По ссылке доступен GitHub-репозиторий, в котором можно найти Client-Side Path Traversal (CSPT) Playground, подготовленную ребятами из Doyensec.

CSPT – тип уязвимости, который позволяет злоумышленнику манипулировать файлами, используемыми клиентскими приложениями.

Да, они не так распространены, как их «старший брат» (Server-Side Path Traversal), но, тем не менее, результаты могут быть не самые приятные: от XSS до разглашения чувствительной информации.

С примерами можно ознакомиться в статье от Doyensec или в Whitepaper (отправим в следующем посте).

Сам же repo содержит 2 основных сценария:
🍭 CSPT to CSRF
🍭 CSPT to XSS

Для запуска необходимо лишь выполнить docker compose up, после чего перейти на http://localhost:3000 и начать исследование.

DevSecOps Talks

28 Oct, 04:28


Stateful Apps в Kubernetes: возможные способы реализации

Всем привет!

Интересная обзорная статья о том, как работать с Stateful Apps в Kubernetes. Начинается все с истории их возникновения, определенной потребностью нет-нет, да и сохранять состояние, вопреки stateless-идеологии.

Далее – интересней! Статья разбирает такие аспекты, как:
🍭 Принципы работы StatefulSets, их недостатки и подводные камни
🍭 Работа с PV и PVC – что может пойти не так и почему этим может быть сложно управлять
🍭 Использование Operators (на примере ClickHouse)

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

Завершает статью небольшой перечень Operators, которые можно использовать в случае, если необходимо реализовать Stateful App

P.S. А как вы считаете? Надо ли это делать или все же Kubernetes – это про Stateless подход?

DevSecOps Talks

25 Oct, 04:25


Защита ArgoCD в multi-tenant окружениях

Всем привет!

Еще одна статья, посвященная безопасности ArgoCD. Можно выделить два наиболее значимых аспекта – контроль того, куда можно устанавливать что-либо и контроль тех, кто может взаимодействовать с системой.

Далее Авторы описывают:
🍭 Контроль доступа к ресурсам ArgoCD с использованием policies
🍭 Контроль доступа к ресурсам Kubernetes c использованием Application Project

Завершает статью наглядный пример того, как все это можно реализовать на практике для двух команд.

Первая команда может только просматривать собственные Applications, вторая – просматривать/редактировать свои Applications и видеть Applications первой команды.

Дальше – детальные примеры того, как это можно настроить: screenshots, комментарии, конфигурационные файлы – все на месте 😊

DevSecOps Talks

24 Oct, 13:05


Сколько времени проходит между ударом по рукам и началом работы продукта на примере ZIIoT

Наши коллеги по цеху, ребята из «Лаборатории Числитель», выпустили пятый выпуск собственного видеоподкаста. Приглашенным гостем стал Максим Шалаев, главный архитектор платформы ZIIoT в ГК «Цифра».

✔️ Как разрабатывалась платформа ZIIoT и развивалась за последние три года
✔️ Кто целевая аудитория решения
✔️ С кем уже были реализованы проекты
✔️ Как устроена продуктовая команда и в чем особенности работы в промтехе

Ответы на эти и другие вопросы вы найдёте в записи подкаста.
Cмотрите на удобной для вас платформе:

📺 Rutube
📺 YouTube

DevSecOps Talks

24 Oct, 04:24


Kondense – управление мощностями в Kubernetes

Всем привет!

С использованием Kondense можно управлять вычислительными ресурсами workloads, запущенных в кластере Kubernetes.

«Устанавливается» он как Sidecar Container. После этого вычислительные ресурсы «целевого контейнера» будут меняться без необходимости его перезапуска.

Kondense обладает минималистичным набором настроек. Например:
🍭 Минимально допустимое количество потребляемых ресурсов
🍭 Максимально допустимое количество потребляемых ресурсов
🍭 Целевое значение memory pressure
🍭 «Коэффициенты изменения» вычислительных мощностей и не только

Если вам интересно прочитать о том, как Kondense «вычисляет» использование CPU и памяти, то это написано тут и тут.

DevSecOps Talks

23 Oct, 05:08


Minefield: работа со SBOM

Всем привет!

Bitbom Minefield – утилита, которая позволяет оптимизировать работу со SBOM за счет автоматизации отдельно взятых задач.

Глобально его функционал можно разделить на 3 категории:
🍭 Query. Гибкие пользовательские запросы для поиска необходимых данных
🍭 Leaderboard. Показывает узлы, которые наиболее часто встречаются в указанной query
🍭 Cache. Очень быстро кеширует данные и может с ними работать в offline-режиме 😊 Правда! Можно посмотреть на данные в repo

Помимо этого, он позволяет визуализировать информацию, полученную по результатам запроса.

Больше информации можно найти в repo проекта в официальной документации.

DevSecOps Talks

22 Oct, 04:27


Comprehensive container security guide от Sysdig

Всем привет!

Все так! По ссылке можно найти достаточно много информации по безопасности контейнеров, подготовленной командой Sysdig.

Команда структурировала все следующим образом:
🍭 По горизонтали – возможные действия для защиты – Prevent, Protect, Detect и Respond
🍭 По вертикали – «объекты» анализа и защиты – от Code до Container
🍭 На пересечении – практики, которые можно использовать

Далее для каждой практики представлено свое описание с примерами. Да, хоть статья и «вендорская» - явных отсылок к решениям Sysdig нет, материал «общего характера» (ну почти 😊).

Помимо этого, в статье очень много ссылок на другие полезные материалы по теме.

DevSecOps Talks

21 Oct, 04:29


Escalate, Bind и Impersonate в Kubernetes

Всем привет!

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

В статье описываются полномочия, использование которых может привести к не самым приятным последствиям.

Автор рассматривает:
🍭 escalate. Позволяет пользователям создавать и редактировать роли, даже если изначально у них не было таких полномочий
🍭 bind. Позволяет создавать и редактировать RoleBindng и ClusterRoleBinding
🍭 impersonate. Позволяет «выдавать себя» за кого-то другого

Для наглядности Автор создает простой ServiceAccount, которому назначается роль с возможностью get, watch, list для pods.

Далее он предоставляет указанные полномочия и показывает, как их можно «использовать» (не) по назначению для повышения привилегий.

Много примеров, экспериментов и пояснений. А в завершении – немного рекомендаций о том, как этим можно управлять – рекомендуем!

DevSecOps Talks

18 Oct, 12:24


Просто титаническая работа от wr3dmast3r!!! Крайне рекомендуем для изучения :)

DevSecOps Talks

18 Oct, 12:24


Рад представить вашему вниманию небольшой материал по теме безопасности фронтенда. В данном сборнике упомянуты многие темы, связанные с клиентскими атаками. Показаны примеры из Bug Bounty по ходу изучения и разобраны способы защиты от многих Client-Side уязвимостей 😊 😉

Например, вы подробнее познакомитесь с тем, как работают Same-Site, Cross-Site, Cross-Origin, Prototype Pollution, DOM Clobbering, CSS Injection, XSLeaks, а также узнаете о многих видах XSS. Вы также узнаете, как можно комбинировать уязвимости друг с другом, и поймете, почему клиентские уязвимости остаются актуальными по сей день 😘

Подробнее

DevSecOps Talks

18 Oct, 04:21


Анализ исходного кода с CodeTotal

Всем привет!

CodeTotal – open source решение, которое позволяет анализировать code snippet, файл или репозиторий исходного кода на предмет наличия уязвимостей в коде и конфигурационных файлах.

Есть минималистичный UI, в который надо поместить вышеуказанное, нажать кнопку и «Готово»! Да, вот так просто 😊

Все потому, что CodeTotal – ни что иное, как графическая «обертка» над проектом MegaLinter, который включает в себя поддержку более 100 средств анализа.

Например:
🍭 Bandit
🍭 Checkov
🍭 GitLeaks
🍭 Semgrep
🍭 Syft и многое другое

Помимо ИБ-сканеров MegaLinter «поддерживает» анализаторы, связанные с качеством кода и корректностью написания конфигурационных файлов.

Нюанс в том, что CodeTotal не поддерживается разработчиком (последний release был в августе 2023), а вот MegaLinter – вполне!

DevSecOps Talks

17 Oct, 04:26


Kobs: observability для Kubernetes

Всем привет!

Kobs – open source проект, который позиционируется, как «application-centric observability platform for Kubernetes and Cloud workloads».

Его функционал достаточно обширен:
🍭 Возможность работы с ресурсами (например, edit)
🍭 Получение терминала до ресурсов
🍭 Сбор metrics, logs и traces
🍭 Отображение topology (визуализация взаимосвязи компонентов приложения)
🍭 «Интеграция» с Prometheus и Istio для взаимодействия с ними через Kobs и не только

Вся информация отображается в наглядном UI, примеры которого можно найти в repo проекта или на сайте.

Кроме того, Kobs можно «расширять» через plugins, часть из которых поставляется «уже из коробки» (Kiali,  Jaeger, Jira и т.д.).

Информацию об архитектуре, способе установке и первичной настройки решения можно найти по ссылке.

DevSecOps Talks

16 Oct, 04:25


ASPM for Dummies

Всем привет!

Если вы хотите узнать чуть больше про такой класс решений, как Application Security Posture Management (ASPM), то книга в приложении может пригодиться.

В ней Автор рассказывает про:
🍭 Зачем нужны ASPM решения
🍭 Общий функционал, характерный для ASPM
🍭 Как понять, нужна ли вам подобная система
🍭 На что обращать внимание при выборе подходящей

Книга небольшая, ~ 35 страниц. Ответов на вопрос «Как?» вы не найдете, но «Что?» и «Зачем?» - вполне.

P.S. Материал хоть и «вендорский», но явный маркетинг в нем отсутствует и описываются общие вещи и принципы.

DevSecOps Talks

15 Oct, 04:27


Замена StatefulSets на Custom Operator: опыт Timescale

Всем привет!

На протяжении некоторого времени команда Timescale использовала StatefulSets для того, чтобы управлять клиентскими database pods и их volumes.

Однако, у StatefulSets есть ряд неудобств, например: «неизменность» VolumeClaimTemplate; нюансы, связанные с изменением размера Volume; особенности работы Rolling Update и не только (больше информации можно найти в статье).

Из-за вышеописанных причин команда решила заменить «стандартные» StatefulSets на собственные, которые они назвали PatroniSets. И, конечно же, не обошлось без собственного Kubernetes Operator’a.

Ребята определили набор требований:
🍭 Новый ресурс должен быть прямой заменой StatefulSets с «бесшовной миграцией»
🍭 Он должен понимать контекст PostgreSQL/Patroni: кто есть «главный»
🍭 CR должен быть полностью декларативен
🍭 Любые действия должны быть направлены на сокращение времени простоя. Например, в HA варианте реплика обновляется первой
🍭 Он должен управлять всеми изменения Volumes и не только

После определения требований команда начала разработку собственного оператора. Логика его работы и подводные камни, с которыми столкнулись в Timescale при его разработке - все это можно найти в статье.

В результате PatroniSets начали использовать для новых сервисов в феврале 2024 года. Спустя некоторое время команда убедилась в работоспособности концепта и готова переводить на него существующие сервисы.

DevSecOps Talks

14 Oct, 07:00


Netfetch: анализ сетевых политик Kubernetes

Всем привет!

Netfetch – утилита, которая позволяет проанализировать контроль сетевого трафика в кластере Kubernetes при помощи Network Policies.

С использованием Netfetch можно:
🍭 Получить сведения о pods, на которые не распространяются сетевые политики
🍭 Визуализировать информацию о pods и network policies в интерактивной карте
🍭 Создать Network Policies в случае их отсутствия
🍭 Просканировать определенную политику, чтобы получить информацию о pods, на которые она «действует» и не только

Nefetch представляет из себя CLI-утилиту и интерактивный dashboard, который отображает информацию, описанную выше.

Утилита работает со следующими видами Network Policies: Native, Cilium и Calico.

Больше информации – примеры использования, демонстрация возможностей и внешний вид UI – все это можно найти в repo проекта.

DevSecOps Talks

11 Oct, 04:27


Application Security Handbook

Всем привет!

По ссылке можно найти Application Security Handbook, которая является «логическим продолжением» Application Security Cheat Sheet (о которой мы писали тут).

Внутри собрана информация о:
🍭 AuthN/Z
🍭 Cookie Security
🍭 File upload
🍭 Input validation
🍭 Session Management и не только

Handbook не «привязан» к какому-либо языку. Каждый раздел содержит набор рекомендаций о том, что стоит делать и о том, чего лучше избегать.

Например, перечень «точек входа», которые надо контролировать: параметры запросов, HTTP-заголовки, Cookies, тело запроса и т.д.

Материал минималистичен: в нем нет «воды», только набор рекомендаций по тематикам, описанным выше.

Может пригодиться при создании собственной базы знаний по безопасной разработке 😊

DevSecOps Talks

10 Oct, 10:40


Как AppSec и разработке понять друг друга? И от чего предстоит защищаться?

Выясним на SafeCode Meetup №3 от конференции SafeCode и Positive Technologies. 

📆 22 октября в Москве, в 19:00.

Доклады в программе:

Юрий Паликшанов из Альфа-Банка поделится опытом перевода с AppSec-овского на разработческий — как договориться, чтобы исправить уязвимости и писать безопасный код в будущем.
Алексей Морозов из Samokat.Tech покажет примеры свежих нетривиальных уязвимостей и способы от них защититься.

После каждого доклада у вас будет возможность задать вопросы спикерам — за лучшие вопросы к каждому докладу подарим билеты на конференцию SafeCode 2024 Autumn.

Для участия нужно зарегистрироваться.

Добавляйте событие в календарь, чтобы ничего не пропустить.

DevSecOps Talks

10 Oct, 05:19


Атаки на GitHub Workflows и способы защиты от них

Всем привет!

В очередном отличном материале от OpenSSF рассматриваются возможные векторы атак на GitHub Workflows и рекомендации по защите.

Авторы проанализировали сценарии:
🍭 Запуск недоверенного кода в привилегированных Workflows
🍭 Внедрение вредоносного кода
🍭 Выпуск вредоносных релизов
🍭 Небезопасное использование cache и не только

В начале статьи приводятся основные термины – что понимается под Privileged Workflow, какие события могут запустить Workflow, что считать недоверенными данными и т.д.

Далее для каждого вектора приводится его «логическое описание», примеры реализации и способы по устранению недостатков. С пояснениями, кодом и примерами

DevSecOps Talks

09 Oct, 05:09


DepFuzzer! И это не то, что вы думаете!

Всем привет!

Использование open source для разработки ПО – данность, с которой мало кто будет спорить. С этим согласны и Авторы статьи.

Сперва в ней разбирается «по верхам» управление пакетами для Golang, Python, Rust и Node.JS. Например, откуда «берутся» пакеты, рассматриваются форматы файлов, в которых содержится перечень используемых пакетов (package.json, requirements.txt и т.д.) с кратким описанием.

После этого кратко разбирается процесс установки пакетов на примере Node.JS. И зачем все это нужно?

Для того, чтобы лишний раз подсветить вопросы ИБ, характерные для Supply Chain Security 😊. Например – dependency confusion.

И именно для решения этой проблемы ребята сделали собственную утилиту – DepFuzzer. Нет, это не fuzzer в классическом понимании и можно «немного расслабиться» 😊

Его задача – искать те самые dependency confusion для рассматриваемых в посте языков программирования.

В статье описана логика работы утилиты и примеры ее использования. А если нужен исходный код, то его можно найти в repo.

P.S. Утилита достаточно «свежая», поэтому многого от нее на текущий момент ожидать не стоит. Но интересно посмотреть, во что она может развиться 😊

DevSecOps Talks

08 Oct, 04:27


IDOR: где и как их можно найти?

Всем привет!

IDOR представляет из себя достаточно «популярную» уязвимость, которая встречается в WEB-приложениях и/или API. Грубо говоря IDOR, позволяет обращаться к некоему объекту (будь то файл или запись в базе данных) без надлежащей проверки возможности и прав доступа.

В статье собрана информация о том, где чаще всего можно встретить указанные уязвимости.

Например:
🍭 Parameter Pollution
🍭 «Модификация» передаваемых JSON-объектов
🍭 Изменение методов (например, с GET на POST)
🍭 Использование устаревших версий API
🍭 IDOR «второго порядка» и не только

В статье приводится краткое пояснение к каждому методу.

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

DevSecOps Talks

07 Oct, 04:32


GitOps с использованием Argo Rollouts

Всем привет!

Argo Rollouts – проект, который позволяет реализовать blue/green или canary/progressive deployment в Kubernetes.

Он заменяет стандартный Kubernetes контроллер на свой собственный – Rollout – который как раз и упрощает некоторые процедуры и расширяет функционал Kubernetes.

В статье Автор рассматривает следующие варианты:
🍭 Автоматизация Blue/Green deployment
🍭 Анализ успешности обновления (например, с использованием Prometheus)

Помимо манифестов, в статье приведено пошаговое описание процесса обновления.

А для тестирования возможностей Argo Rollouts можно воспользоваться вот этим приложением.

DevSecOps Talks

04 Oct, 04:23


Git Undo: не совершая непоправимое!

Всем привет!

Легкий пятничный пост-шпаргалка для тех, кто только осваивается в git и «боится нажать что-то не то, чтобы это не сломалось».

Например, вы хотите «отменить» изменения сделанные локально, случайно сделали commit не в ту ветку, случайно удалили ветку… Всякое бывает! Особенно, когда вы только начинаете работать с этим мощным инструментом.

В статье приведены 13 команд, которые могут помочь:
🍭 «Отмена» всевозможных изменений (локальных, удаленных)
🍭 «Перенос» commit в другую ветку
🍭 Просмотр старых commits
🍭 Восстановление «чего-то» удаленного и не только

Да, для тех, кто знаком и хорошо владеет git - ничего нового, а новичкам может быть крайне полезно. Как минимум, чтобы «не бояться сделать что-то не так»

DevSecOps Talks

03 Oct, 04:25


Supply Chain Security: угрозы и способы защиты

Всем привет!

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

Внутри прилагаемого файла можно найти информацию:
🍭 Атакуемый компонент, способ воздействия
🍭 Пример реализации (качественный)
«Требования» к атакующему (prerequisites)
🍭 Потенциальное воздействие (impact)
🍭 Способы предотвращения
🍭 Способы обнаружения и прослеживаемости (traceability)

Команда провела просто колоссальную работу по моделированию угроз на всех этапах: от Source Code Repository до Production Cluster.

Все разложено по полочкам и отлично структурировано, рекомендуем!

P.S. Материал от 2022 года, но не теряет актуальности. А если хочется получить чуть больше информации по некоторым аспектам – рекомендуем прочесть вот эту статью.

DevSecOps Talks

02 Oct, 09:31


Коммитить нельзя сканировать: как мы боремся с секретами в коде

Всем привет!

Да, мы обещали не беспокоить вас более новостями о CyberCamp 2024, но не могли «пройти мимо»! Буквально в последний момент к составу спикеров присоединился Александр Карпов из команды VK!

В докладе Александр расскажет захватывающую историю: «Поиск секретов в исходном коде в масштабах VK — непростая задача. Мы предлагаем вам послушать, как мы ее решали, чтобы при случае применить полученные знания на практике.

Что будет в докладе:
🛡 Выбор оптимальной точки «контроля» секретов — сравнение pre-commit, web и server side hook
🛡 Комплексная архитектура решения — описание основных компонентов, связь с AppSec-экосистемой VK
🛡 Доработка Gitleaks — почему нас не устраивал вариант «из коробки» и что мы доделали сами»

Приходите, будет интересно и полезно! CyberCamp 2024 начнется уже в четверг этой недели!

P.S. Напоминаем, что следить за CyberCamp «в прямом эфире» можно в официальном TG-канале. Никакой рекламы, только информация о мероприятии, заданиях и ИБ 😊

DevSecOps Talks

02 Oct, 04:28


Application Security Cheat Sheet!

Всем привет!

По ссылке можно найти «сборник cheat sheets», посвященных Application Security. Cheat sheet – это небольшая «шпаргалка», в которой содержится «выжимка» по некоторой теме.

Что есть внутри:
🍭 Контейнеры. Основные принципы технологии, способы «побега»
🍭 Linux. Немного про основы и bash tips
🍭 Мобильные приложения. iOs и Android
🍭 Web Application. Cookie Security, CORS, Race Condition и многое другое

Можно найти сведения как об атаках, так и о способах защиты. Из плюсов – cheat sheets, как правило, весьма «конкретные и явные», из минусов – теорию и понимание основ с них поиметь сложно (а это важно 😊).

DevSecOps Talks

30 Sep, 04:24


Контроль целостности образов в Kubernetes

Всем привет!

Контроль целостности образов, запускаемых в кластере Kubernetes – важный аспект безопасности цепочки поставки (Supply Chain Security).

В статье Автор предлагает реализовать его с использованием нескольких Open Source решений: Cosign, Kyverno и HashiCorp Vault.

Получается следующая схема:
🍭 Cosign подписывает образ в CI/CD
🍭 Ключ, используемый для подписи, хранится HashiCorp Vault
🍭 Kyverno проверяет наличие и валидность подписи перед тем, как запустить образ. Также она контролирует, что образ «извлекается» из доверенного источника

Как все это настроить, какие политики нужны для Vault и Kyverno, как это «соединить вместе» - очень детально описано в статье. С примерами и комментариями Автора 😊

DevSecOps Talks

27 Sep, 04:33


Безопасность Kubernetes: руководство новичка!

Всем привет!

Сегодня хотим предложить вам чтение на выходные! Статья про безопасность Kubernetes для начинающих, ~ 30 минут для прочтения.

Начинается все с постепенного погружения: что такое Kubernetes, из каких компонентов он состоит и зачем они нужны, какие задачи выполняют. Что такое ConfigMaps, Secrets, Volumes, Namespaces и т.д.

Дальше Автор углубляется в вопросы ИБ:
🍭 Общие концепты. Вопросы, связанные с AuthN/Z, использование Admission Controller, Pod Security, RBAC и т.д.
🍭 Векторы атак. Примеры тактик и техник, с «привязкой» к этапам kill chain
🍭 Реагирование и расследование. Набор рекомендаций для идентификации событий ИБ, характерных для сред контейнерной оркестрации

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

DevSecOps Talks

26 Sep, 04:25


Как контейнер устроен «внутри»?

Всем привет!

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

Если упростить, то контейнер это:
🍭 Один или несколько процессов, выполняемых пользователем (Processes)
🍭 Он изолирован от ОС, на которой запущен (Namespaces)
🍭 Также он ограничен в доступных ресурсах (Cgroups)
🍭 У него есть собственная файловая система, независимая от ОС, на которой он запущен (Chroot)

Да, описание не совсем корректное и его можно улучшить, но оставим его для упрощения восприятия.

В статье Автор описывает что такое Processes, Namespaces, Cgroups и Chroot. Далее он предлагает создать «аналог контейнера» с использованием Golang: код и комментарии на месте.

Создание идет «по нарастающей» - от простого вывода в stdout до «изоляции и ограничения» с использованием Namespaces и Cgroups.