DevSecOps Talks – Telegram
DevSecOps Talks
7.44K subscribers
85 photos
94 files
1.22K links
Рассказываем об актуальном в мире DevSecOps. Канал DevSecOps-команды "Инфосистемы Джет"
Download Telegram
NPM Provenance и его использование

Всем привет!

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

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

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

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

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

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

Всем привет!

Будучи преисполненными в желании обеспечить безопасность в своем кластере kubernetes вы наверняка сталкивались с таким инструментом, как Kyverno.

Если нет, то:
Kyverno — это инструмент для управления конфигурацией и обеспечения соответствия в Kubernetes. Он позволяет определить правила и политики, которым должны соответствовать кластеры Kubernetes, и автоматически применять эти правила при изменении кластера.

В больших кластерах, и с большим количеством политик Kyverno пользователи могут столкнуться с замедлением работы api-server-а, а также с ограничением хранилища etcd.

И тут на выручку нам приходит новый проект от разработчиков Kyverno – Kyverno Reports Server! Он решает проблему масштабируемости отчетов о политике, сохраняя отчеты за пределами etcd - в реляционной базе данных PostgreSQL. Сервер отчетов достигает этого с помощью Kubernetes API aggregation layer, где он создает API-сервис, который принимает все запросы от локального сервера API и обрабатывает их. Сервер отчетов имеет доступ к реляционной базе данных, которую он использует для хранения отчетов.

Изучить детальнее можно по ссылке
Репозиторий: https://github.com/kyverno/reports-server
4🔥4👍3
Компрометация кластера Kubernetes: пример сценария

Всем привет!

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

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

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

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

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

Всем привет!

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

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

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

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

Статья направлена на изучение базовых принципов и используемых технологий анализа кода на примере JavaScript и может пригодиться тем, кто только начинает свой путь в этой области.
4
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$
👍4🔥1
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

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

Всем привет!

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

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

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

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

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

Для начала пути в мир DevSecOps – вполне себе! 😊
👍8
Совместим ли GitOps с Database Rollback?

Всем привет!

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

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

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

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

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

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

Всем привет!

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

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

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

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

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

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

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

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

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

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

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

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

P.S. А если не хочется читать статью, то все необходимое собрано в этом GitHub Repo 😊
👍6🔥3
Штурвал - community версия

Всем привет!

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

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

И важные ссылки:
🍭форма для получения лицензионного ключа
🍭чат community в Телеграм
🔥146🥰5💩5👀1
Kubernetes Endpoints: что это и зачем?

Всем привет!

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

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

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

В завершении статьи приводится демонстрация на примере простого Deployment и его Service, в котором рассматриваются описанные в статье сущности.
3
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. О разнице и ограничениях разных вариантов можно прочесть вот тут.

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

Всем привет!

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

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

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

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

В итоге получается очень неплохой минималистичный обзор, позволяющий быстро ввести кого-либо в курс дела.
👍2🔥21
ZTRA.pdf
8.5 MB
Zero Trust Reference Architecture для Kubernetes

Всем привет!

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

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

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

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

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

Всем привет!

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

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

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

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

Или для быстрого и краткого ознакомления с темой, чтобы «быть в курсе».
Snyk_SOOS_Report_2024.pdf
8 MB
The State of Open Source

Всем привет!

В приложении можно найти небольшой отчет (~ 12 страниц) от команды SNYK, посвященный вопросам безопасности Open Source.

Внутри есть информация о:
🍭 Отслеживании зависимостей (прямые, транзитивные)
🍭 Частоте изменений кодовой базы
🍭 Используемых практиках анализа кода и зависимостей
🍭 Случаях, связанных с Supply Chain Security
🍭 Соблюдении SLA и не только

Минимум текста, максимум графики и данные за 2023 и 2024 год.

В целом – достаточно хороший и информативный отчет, который можно быстро изучить.
👍3
Все любят Policy as Code, но не все любят Rego

Всем привет!

Policy as Code крайне удобный подход к управлению доступом, анализу выполнения корпоративных требований.

Он декларативен, его можно автоматизировать, конфигурационные файлы можно хранить в git, возможности (практически) безграничны.

Однако, есть и нюансы. В статье Автор описывает несколько примеров, связанных с Open Policy Language (OPA) и Zanzibar.

Если обобщить, то получается следующее:
🍭 Сложность. Написать базовые политики крайне просто, а что-то «поинтереснее» - уже сложно
🍭 Порог входа. Написание политик требует технических навыков
🍭 Дополнительные знания. Для корректной работы с Rego или Zanzibar потребуется изучить «еще одну область знаний»
🍭 Масштабируемость. При увеличении количества политик их тестирование и поиск ошибок в них становится затруднительным

В качестве решения Автор предлагает использовать абстракции более высокого уровня и low-code интерфейсы. Например, Permit (есть бесплатная Community версия).

Основная идея – создание простого drag and drop UI, с которым могут работать все пользователи. А вся «магия» остается «под капотом».

А что вы думаете по этому поводу? Стоит ли оно того или лучше все-таки выучить REGO или иной аналогичный инструмент?
1
Supply-Chain Firewall

Всем привет!

Тематика безопасности цепочки поставки ПО набирает обороты. За последние годы было множество информации о различных атаках – от базовых typosquatting до более продвинутых *-jacking и манипуляций с пакетными индексами и менеджерами.

Чтобы хоть как-то упростить жизнь, команда Datadog выпустила новый open source инструмент – Supply-Chain Firewall.

Его принцип работы очень похож на аналогичный firewall-механизм, применяемый в композиционном анализе:
🍭 Supply-Chain Firewall «перехватывает» команду пакетного менеджера
🍭 Анализирует пакеты, которые хотят установить (используются собственные данные Datadog и OSV.dev)
🍭 Принимает решение (Block, Confirm, Allow)

На текущий момент поддерживается pip и npm. А если вы используете Datadog, то логи о срабатываниях firewall можно смотреть прямо в ней за счет реализованной интеграции.

Ссылка на GitHub Repo проекта, в котором описана его установка и использование с примерами, доступна вот тут.
🔥51
Эксплуатация CSPT с использованием Evil Villain

Всем привет!

Недавно мы писали про Client Side Path Traversal (CSPT) – уязвимости, которая позволяет производить действия с файлами, используемыми клиентскими приложениями.

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

Сегодня предлагаем вашему вниманию продолжение! Небольшой guide от той же команды – как эксплуатировать CSPT с использованием Evil Villain.

В статье вы найдете:
🍭 Описание необходимого инструментария
🍭 Как идентифицировать и исследовать CSPT
🍭 Сбор дополнительной информации
🍭 Эксплуатация CSPT

Множество screenshots, примеров кода, комментариев и пояснений!

Кстати, очень рекомендуем блог Doyensec – там крайне много всего интересного 😊
Утилиты для валидации манифестов Kubernetes

Всем привет!

Одно из преимуществ IaC-подхода – возможность анализировать конфигурацию, которая будет применяться для реализации изменений.

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

Автор разбил материал на блоки:
🍭 Schema Validation – очепятки, ошибки с пробелами, несуществующие поля и т.д.
🍭 Custom Policies – утилиты, позволяющие проверять выполнение требований политик
🍭 Best Practices – анализ конфигурации на соответствие лучшим практикам
🍭 Dashboards – способы визуализации результатов, генерируемых некоторыми утилитами, описанными в статье

Получится такой вот «набор ссылок» на полезные утилиты, который разбавлен комментариями Автора и небольшими примерами (не для всех).
🔥2👍1