DevSecOps Talks – Telegram
DevSecOps Talks
7.43K subscribers
85 photos
94 files
1.23K links
Рассказываем об актуальном в мире DevSecOps. Канал DevSecOps-команды "Инфосистемы Джет"
Download Telegram
CI/CD Security

Всем привет!

По ссылке доступна большая статья (27 минут, если верить описанию), посвященная вопросам безопасности CI/CD Security.

Сперва Автор разбирает OWASP Top 10 CI/CD Security Risks, попутно описывая «почему это плохо» и «как это было проэксплуатировано» (примеры есть не везде).

Далее рассматриваются техники защиты – все, начиная от использования сканеров (SCA, SAST и т.д.) до безопасной настройкой самого конвейера и периодического аудита.

В статье много ссылок не только на примеры из жизни, но и на полезные материалы по теме для более глубокого изучения.
5👍4
SaltSecurity-Report-State_of_API_Security.pdf
455.8 KB
State of API Security

Всем привет!

В приложении доступен отчет от Salt Labs, посвященный вопросам информационной безопасности API.
Материал небольшой (~ 22 страницы), но весьма емкий.

Внутри можно найти:
🍭 Наиболее часто встречающиеся атаки на API
🍭 ИБ-проблемы, связанные с API
🍭 Использование средств защиты и их эффективность
🍭 Документирование API и его особенности

В завершение отчета можно найти примеры случаев из жизни (found in the wild), в которых описаны проблемы безопасности API. И, как обычно, на последней странице ссылки на полезные материалы по теме.
👌2
API Security: Awesome

Всем привет!

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

Внутри можно найти:
🍭 Книги
🍭 Всевозможные cheatsheets
🍭 Наборы требований/проверок (checklist)
🍭 Заведомо уязвимые приложения с небезопасным API
🍭 Перечень средств автоматизации
и многое другое

Подборка включает в себя как бесплатные / open source ресурсы, так и платные материалы. Точно можно подобрать то, что можно начать изучать в ближайшие выходные 😊
21 июня приглашаем вас на вебинар «Создание кластеров в платформе «Штурвал»

Наш партнер, российский разработчик ПО, компания «Лаборатория Числитель» продолжает серию онлайн-обзоров платформы управления контейнерами «Штурвал».

Темы третьего вебинара:
🔹Создание кластера на предварительно развернутых виртуальных машинах
🔹Создание кластера на платформе vSphere
🔹Создание кластера на отечественной платформе виртуализации

Демонстрацию решения проведут:
🔹Александр Краснов, технический директор «Лаборатории Числитель»
🔹Степан Чернов, архитектор «Инфосистемы Джет»

Вебинар будет интересен DevOps-инженерам и DevOps-администраторам.

Регистрация

Посмотреть первые два вебинара можно здесь:
▶️ «Штурвал». Начало работы
▶️ Первичная настройка платформы «Штурвал». Конфигурация провайдеров
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11🦄3🤡2❤‍🔥1👍1
Setting_Supply_Chain_Security_in_DevSecOps_ebook_Red_Hat_Developer.pdf
598.8 KB
A developer’s guide to supply chain security

Всем привет!
В приложении материал от Red Hat, посвященный software supply chain security. Авторы старались подойти к вопросу с точки зрения разработчиков. Поэтому в первой части документа много информации о том, «почему это надо делать».

Помимо этого, внутри можно найти рекомендации:
🍭 Управление доверенными образами контейнеров и библиотеками
🍭 Защита registry
, контроль размещения в нем компонентов
🍭 Защита исходного кода
🍭
Усиление защиты сборочного конвейера и не только

Материал небольшой (~ 21 страница), но содержит неплохой обзор практик обеспечения безопасности software supply chain и может быть использован совместно с материалами SLSA и CNCF.
Parlay: SBOM Enrichment

Всем привет!

Еще один интересный проект от Snyk Parlay. Его задача заключается в том, что добавить (обогатить) в Software Bill Of Materials (SBOM) как можно больше информации.

Для «обогащения»
используются такие ресурсы, как ecosyste.ms, Snyk и OpenSSF Scorecard. Работает крайне просто – даем SBOM «на вход» и «на выходе» получаем расширенную версию.

Например, можно добавить информацию о Supplier, Licenses, ссылки на внешние ресурсы, имеющие отношение к рассматриваемому компоненту.

Если интересует информация от OpenSSF, то на текущий момент Parlay позволяет добавить только саму ссылку, без ее «содержания». С другой стороны, это уже неплохо – при помощи ссылки и Scorecard API можно получить желаемые данные.

Посмотреть проект
можно по ссылке на GitHub.
👍2🔥2
PASSWORD STORE

Pass - консольный парольный менеджер, который следует философии Unix и предоставляет возможность хранения паролей в виде обычных файлов, зашифрованных c помощью GPG.

Из плюсов хочется отметить:
🍭 Портируемость - Имеется поддержка большинства современных браузеров, ОС и мобильных платформ. Так же присутствует несколько графических утилит.
🍭 Легковесность - В установленном виде программа занимает чуть более 46 килобайт.
🍭 Простота установки - Вам всего лишь нужно сгенерировать пару ключей используя утилиту GNUPG и инициализировать password store.
🍭 Свобода - исходные коды проекта распространяются под лицензией GNU GPLv2+.

При этом, ваши пароли принадлежат только вам - вы можете хранить их как локально, так и используя GIT репозиторий, который может располагаться прямо у вас дома. Все данные хранятся в зашифрованном виде, так что можно не переживать за их сохранность.
А если ваш GIT репозиторий не смотрит в интернет, в pass реализован механизм, когда каждый добавленный пароль сопровождается коммитом в локальный репозиторий. Это помогает избежать конфликтов при синхронизации портативных устройств, живущих в отрыве от сервера.

Так же, Pass можно использовать для хранения секретов в CI фреймворке Buildbot.
👍4🔥3🥰2
Kubernetes Operator: Step by Step Guide

Всем привет!

В статье приведена детальная пошаговая инструкция о том, как создать собственный Kubernetes Operator с использованием Operator SDK. Задача создаваемого оператора простая – он будет хранить информацию о pod, которые не пересоздавались/обновлялись в течение заданного времени.

Статья начинается с краткого описания того, что такое Operator и зачем он нужен, что он делает и из каких «компонентов» состоит.

Дальше – интересней:
🍭 Перечень необходимых «зависимостей» (начиная от Golang и заканчивая «подопытным» кластером k8s)
🍭 Инициализация проекта с Operator SDK
Создание Custom Controller
🍭 Написание логики
ключевого процесса Operator’a – реконсиляции
🍭 Сборка
созданного Operator и его тестирование

Статья и правда step by step. Каждый шаг описывается Автором, приводится листинг (частичный) кода, который может быть полезен при самостоятельном воспроизведении материала. А для наглядности есть схема, в которой описан процесс работы Operator’a.
🔥4
Repo Jacking

Всем привет!

В статье описывается принципы работы одной из software supply chain attackRepo Jacking. Эта атака может привести к значительным последствиям.

При этом реализуется она относительно просто:
🍭 Допустим, что в коде есть зависимость на https://github.com/username/project
🍭 Представим, что username был изменен владельцем. Пока что все нормально
🍭 Но! Освободившийся username можно зарегистрировать «еще раз» и создать такой же «project», но уже с нужным вам содержанием.
В этом случае зависимость, указанная в коде, будет ссылаться не на исходный проект, а на созданный потенциальным злоумышленником.

Помимо описания самой атаки в статье можно найти информацию об условиях, когда она может быть реализована, а также результаты анализа GitHub Repo, потенциально уязвимых к Repo Jacking.

Кстати, подход к идентификации уязвимых Repo доступно описан в статье и весьма интересен -от сбора данных, до поиска unregistered user names!

Что делать и как быть? Все это можно найти внутри 😊 (не использовать прямые ссылки, делать version pinning и использовать lock files, скачивать зависимости и использовать их локально (vendoring)).

P.S. Сама статья от 2020 года. Если интересно что изменилось с тех пор – можно обратиться к этому материалу от 2023.
👍1
Callisto: binary analysis

Всем привет!

Callisto – небольшая утилита, которая позволяет искать уязвимости в binary-файлах. Скорее всего качество анализа будет невысоким, но сам подход достаточно интересный.

В своей работе Автор объединил следующее:
🍭 Декомпиляция binary файла с использованием Ghidra
🍭 Анализ полученных результатов – Semgrep
🍭 Валидация результатов при помощи GPT-3.5-Turbo

Пример того, как работает Callisto можно найти в repo проекта. Так же там присутствует информация о необходимых prerequisites для запуска утилиты и ключах, которые можно использовать.
👍21🔥1
Jsluice: анализ JavaScript файлов

Всем привет!

Jsluice существует в двух вариантаходин из них представляет собой CLI, а второйGolang Package. На случай, если вам вдруг захочется интегрировать ее возможности себе в проект 😊

Утилита позволяет анализировать JavaScript файлы и находить в них:
🍭 URLs и paths
🍭 Секреты
(по умолчанию только AWS, GCP, GitHub Keys и Firebase configurations, но можно расширять собственными patterns)
🍭 Syntax tree и не только

В repo дается отличное описание с примерами как и зачем можно использовать jsluice. А если хочется использовать Golang Package-версию, то есть детальное описание в документации пакета.
Validating Admission Policies

Всем привет!

В repo собраны политики, используемые утилитой Kubescape. Получился неплохой baseline набор, который можно использовать. Да, многие из них встречаются в различных статьях и материалах, но это не делает их менее правильными или нужными для использования.

Например, внутри есть политики про:
🍭 Управление ресурсами CPU/RAM
🍭 Наличие SSH-сервера внутри контейнера
🍭 Небезопасные Linux-capabilities
🍭 Naked Pods (Pod, не имеющие «обертки» в виде ReplicaSet, Deployment, Job и т.д.) и другие

Очень понравилось описание каждой политики. В нем содержится указание причины, из-за которой политику целесообразно применять; подверженные ресурсы; уровень значимости политики; параметры конфигурации (при наличии) и описание того, что именно делает политика.
🔥2
Рождение pod’a: что «внутри»?

Всем привет!

Еще одна статья из серии «что происходит под капотом?». Рассматривается процесс создания pod’a и вся та «магия», что осуществляется с помощью Kubernetes.

Расписываются следующие шаги
🍭 Написание манифеста, использование kubectl и client-side validation
🍭 AuthN
и AuthZ при обращении к kube-apiserver. Когда «подключается» Admission Control
🍭 Scheduling
(Node Selection, Filtering, Scoring, Final Selection, Binding and Assignment, Node Allocation)
🍭 Взаимодействие Kubelet, CRI и CNI для старта контейнера

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

Всем привет!

Много инструментов для поиска секретов не бывает! Поэтому предлагаем еще один – Deepsecrets. Особенно приятно, что этот инструмент от команды Avito!

Зачем нужен еще один сканер? Ответ можно найти в repo – вместо классического regex-подхода Deepsecrets использует семантический анализ, более эффективное использование энтропии и не только. Но все равно regex «внутри» есть 😊

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

Если хочется ознакомиться с историей создания инструмента, то можно прочесть отличную статью, описывающую проблематику поиска секретов от все той же команды Avito.
🔥4
Defending_CICD.PDF
817.2 KB
Defending CI/CD environments

Всем привет!

Свежий материал от NSA и CISA, посвященный безопасности окружений непрерывной сборки и доставки. Материал относительно небольшой (~23 страницы), но весьма полезный.

Внутри можно найти:
🍭 Attacks and Attack Surface. Небезопасный код, некорректные конфигурации, небезопасная обработка секретов и т.д.
🍭Threat Scenarios. Небольшое описание сценариев «что может пойти не так» и рекомендации по противодействию
🍭Hardening. Управление доступом, безопасность секретов, patch management, использование средств автоматизации проверок ИБ (SAST, DAST, SCA), журналирование и т.д.

Каждый раздел кратко детализируется, приводятся ссылки на дополнительные материалы для изучения. В качестве «бонуса» - mapping угроз CI/CD на матрицу MITRE ATT&CK.
👍2🔥2🐳1
Взаимодействие с ArgoCD через Golang

Всем привет!

В статье приводится пример того, как можно «общаться» с ArgoCD используя Golang. Начинается статья с подготовки необходимого окружения – запуск Minikube, установка ArgoCD, создание token для аутентификации в ArgoCD.

Дальше начинается самое интересное:
🍭 Приводится структура Golang-проекта, который будет создаваться
🍭 Создание Client для взаимодействия с ArgoCD сервером
🍭 Получение перечня кластеров
🍭 Создание project
в ArgoCD и не только

В заключение приводится пример минималистичной программы, которая подключается к ArgoCD серверу, создает проект, отображает его ID, удаляет его и показывает все доступные кластеры. Таким образом получается продемонстрировать подготовленные наработки.
1
SR-IOV Network metrics exporter

Если вдруг так сложилось, что вы используете K8s на bare-metal, да и еще в полной мере пользуетесь функциональностью SR-IOV на сетевых картах, то возникает вопрос, как же все мониторить?

Kubernetes Network Plumbing Working Group, разработчики SR-IOV Network Operator и Multus MetaCNI недавно выложили в сеть экспортер метрик, позволяющий полноценно снимать метрики с VF интерфейсов.

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

https://github.com/k8snetworkplumbingwg/sriov-network-metrics-exporter
👍3🔥2🥰1
Приглашаем вас 18 июля в 16:00 присоединиться к online-митапу наших партнеров: Зачем «Марлин» повстречал «Штурвал»?

Две российские компании-разработчики — «Лаборатория Числитель» и «Высокие цифровые технологии» — решили объединить усилия и представить на рынок надежное решение для ускорения процесса разработки приложений и сокращения Time to Market для бизнеса.

📈 Платформенное решение «Марлин», построенное на микросервисной архитектуре, позволяет снизить стоимость разработки на 40%, структурировать и автоматизировать все необходимые процессы, высвобождая ресурсы разработчика непосредственно для написания кода. А контейнерная платформа «Штурвал» выступает в роли надежного звена по управлению контейнерами, обеспечивая высокий уровень доступности и информационной безопасности.

🔗 В связке «Марлин» и «Штурвал» — это решение, готовое выполнить задачи быстрой и безопасной разработки и эксплуатации контейнеризированных приложений на всем жизненном цикле. Поэтому на мероприятии спикеры продемонстрируют «Марлин» и «Штурвал» в действии и на примере реальной производственной задачи в компании ВСК.

На online Meetup поговорят:
▪️ о безопасной разработке и эксплуатации приложений средствами «Марлин» и «Штурвал»;
▪️ бесшовной миграции без потери функционала;
▪️ стандартах деплоя, готовом конвейере разработки;
▪️ совместной поддержке решения.

Регистрация
👍7❤‍🔥4🔥2
Channel photo updated
Krossboard: k8s resource usage analysis

Всем привет!

Krossboard – средство аналитики и визуализации, которое позволяет получать информации о потреблении ресурсов множеством кластеров Kubernetes централизованно.

При помощи решения можно:
🍭 Сбор данных с кластеров. Информация о container, pod, node с каждого кластера собирается раз в 5 минут
🍭 Аналитика. Удобные dashboards, которые предоставляют информацию о потреблении ресурсов по namespace, cluster и globally
🍭 Отчетность. Krossboard обладает REST API, при помощи которого можно скачивать отчеты в CSV или JSON

Устанавливается и настраивается очень просто. Правда, в качестве Secret ему необходим Kubeconfig для доступа к целевым кластерам. Инструкцию о том, как сделать Kubeconfig с минимальными правами и перечень этих самых прав можно найти в repo проекта.
👍5
Webhook: проверка электронной подписи

Всем привет!

Webhookинтеграционный механизм, который повсеместно используется в разработке и DevSecOps. Это удобно, просто и быстро.

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

В статье Авторы от SNYK проводят простую демонстрацию:
🍭 Создают небольшой webhook-receiver на базе Node.js
🍭 Направляют запрос при помощи Postman. Контроля подписи нет, запрос выполняется
🍭 Настраивают webhook в GitHub
🍭 Изменяют логику работы приложения, добавляя анализ электронной подписи webhook
🍭 Повторяют аналогичный тест. На этот раз выполняется только «разрешенный» запрос, для всех остальных – 401

Примеры кода и пояснения, а также рекомендации как повысить уровень информационной безопасности при использовании webhook можно найти в статье.
👍71