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

Всем привет!

Расширение продуктовой линейки Semgrep – к статическому анализатору (SAST) и анализатору open source компонентов (SCA) добавился еще один продукт – Semgrep Secrets.

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

Он обладает функционалом семантического анализа и возможностью проверки «использования» секрета. Это позволяет сократить количество "шума" в результатах.

Например:
🍭 Не только найти password, но и «понять», что он находится в параметрах new pg()
🍭 Найти переменные, которые передаются при установлении соединения с базой данных и убедиться, что переменные представляют из себя hardcoded string
🍭 Найти api-key и проверить, что он является активным и может быть использован

Все эти примеры и не только отлично описаны в статье. Единственный нюанс – решение доступно в public beta через запрос команде Semgrep. Станет ли он платным (как SCA) или будет доступен массам бесплатно (хотя бы частично) – пока непонятно.
👍1👀1
Vet: анализ open source

Всем привет!

Vet – молодой проект, цель которого – повышение безопасности при использовании open source компонентов.

Можно сказать, что это некоторый агрегатор, который:
🍭 Собирает общую информацию об open source компоненте
🍭 Собирает информацию из OpenSSF Scorecard
🍭 Получает информацию об уязвимостях с osv.dev и deps.dev

Далее, при помощи CEL-политик, осуществляется анализ для идентификации ИБ-дефектов. Можно «подключать» разные наборы правил : OSS Best Practices, CIS Benchmark, OpenSSF Scorecard, SLSA (в работе), MITRE (в работе).

Ознакомиться с документацией проекта можно по ссылке. Главное не забывать, что он все еще развивается, поэтому на некоторых вкладках информации не будет.
👍1
OWASP API Security Top 10, 2023: примеры

Всем привет!

По ссылке можно ознакомиться с наглядными примерами по Top-10 OWASP API Security, 2023.

Материал включает разбор:
🍭 API1:2023 - Broken Object Level Authorization
🍭 API2:2023 - Broken Authentication
🍭 API3:2023 - Broken Object Property Level Authorization
🍭 API4:2023 - Unrestricted Resource Consumption
🍭 API5:2023 - Broken Function Level Authorization
🍭 API6:2023 - Unrestricted Access to Sensitive Business Flows
🍭 API7:2023 - Server Side Request Forgery
🍭 API8:2023 - Security Misconfiguration
🍭 API9:2023 - Improper Inventory Management
🍭 API10:2023 - Unsafe Consumption of APIs

Для каждой уязвимости приводится как compliant, так и uncompliant пример реализации на .NET и Java, что позволяет лучше разобраться в том, что происходит.
2
Network Chaos Engineering в k8s

Всем привет!

Chaos Engineering довольно интересная дисциплина, в рамках которой осуществляется имитация событий, которые могут привести к существенным последствиям. Цель упражнения очень простая – получится ли быстро идентифицировать причину проблемы и также быстро ее устранить?

В статье команда Coroot демонстрирует использование Chaos Mesh для имитации следующих сценариев:
🍭 Network partitioning. Потеря всех пакетов от Сервиса А к Сервису Б
🍭 Network delay. Увеличение задержки при передаче данных
🍭 Packet loss. Потеря 30% пакетов, передаваемых от Сервиса А к Сервису Б

Особенно полезно, что в статье описана логика идентификации указанных событий. Подобные тесты могут быть полезны для тестирования ваших observability решений. Про сам Coroot мы писали тут (open source инструмент, позволяющий получить видимость того, что происходит в кластерах Kubernetes).
👍1
Security Insights Specification

Всем привет!

И снова материал от OpenSSF. На этот раз ребята решили, что информации в SECURITY.md и CONTRIBUTING.md не всегда достаточно и представили свой формат (увы, это yaml 😊)

Security Insights Specification представляет собой машиночитаемый файл, который, в том числе удобен и для человека.

Формат сгруппирован по следующим разделам:
🍭 Project Lifecycle
🍭 Contribution Policy
🍭 Documentation
🍭 Distribution Points
🍭 Security Artefacts и не только

По каждому разделу можно добавить релевантную информацию по ИБ. Например, указать какие инструменты используются для идентификации ИБ-дефектов или с кем можно (нужно) связаться в случае нахождения уязвимости. С полной версией спецификации можно ознакомиться в repo.
1
Kubernetes Explorer

Всем привет!

Мы уже не раз писали про невероятные материалы, которые подготавливает Ivan Velichko, доступные на сайте iximiuz.com.

Сегодня же хочется рассказать про его проект k’exp - Kubernetes Explorer. Он позволяет «изучать» и «наблюдать» за тем, что происходит внутри кластера.

Например:
🍭 Посмотреть на процесс создания ресурса
🍭 Увидеть, что происходит при изменении количества реплик
🍭 Получить информацию об объекте и не только

Информацию о том, как установить, настроить и использовать решение можно найти в GitHub Repo проекта. Кстати, можно и без установки - через Kubernetes Playground 😊
1👍1
Kuik: kube-image-keeper (cache для образов)

Всем привет!

Наверное, каждый сталкивался с неприятным сообщением: «You have reached your pull rate limit». Решение, на первый взгляд, достаточно очевидное – поднять собственный registry, в котором будет находиться все необходимое.

Но что если и этого недостаточно? Если, например, свой registry «откажет»? Или как уследить за всеми образами, которые должны там быть?

Размышляя над этими вопросами, команда Enix пришла к тому, что нужно создать image caching solution. Далее – все как обычно 😊 Посмотрев на то, что предлагает community, команда пришла к выводу (невероятно, но факт!), что надо делать свое.

Так появился kuik – kube-image-keeper, состоящий их трех основных частей:
🍭 Mutating webhook, добавляющий информацию об используемом реестре
🍭 Controller, который создает CachedImages CR
🍭 Другой controller, который скачивает образы из CachedImages CR

Таким образом у ребят получилось создать автоматизированное управление cache’ем для всех используемых образов.

Больше информации, включая детальное описание проблематики, различные архитектуры, которые попробовала команда, и описание процесса получения образов можно найти в статье. А если хочется попробовать kuik в действии, то его можно найти на GitHub.
👍3
Платформа «Штурвал» прошла сертификацию CNCF по Kubernetes!

Разработчик ПО «Лаборатория Числитель» стал участником сообщества Cloud Native Computing Foundation. Платформа «Штурвал» получила официальный международный статус Certified Kubernetes Software Conformance.

🔔Для прохождения сертификации поставщикам решений необходимо предоставить результаты тестирования своего продукта на соответствие требованиям CNCF. Сертификация гарантирует, что продукт поддерживает требуемые API и версии Kubernetes. Для компаний, которые используют Kubernetes, это означает, что их приложения будут совместимы с сертифицированным CNCF-дистрибутивом.

🚩Большинство ведущих мировых производителей корпоративного программного обеспечения и провайдеров облачных вычислений имеют сертифицированные предложения Kubernetes. Среди продуктов, сертифицированных CNCF по Kubernetes, — VMware Tanzu, Red Hat OpenShift, Rancher Kubernetes и другие.
🔥14👏6🥰3👍2🤡2🎉1💩1
Top System Programming Vulnerabilities

Всем привет!

По ссылке можно ознакомиться с еще одним top’ом уязвимостей. Про первую часть с примерами, характерными для API, мы писали тут.

Подборка включает в себя:
🍭 Buffer overflow
🍭 Pointer Initialization
🍭 Incorrect Type Conversion
🍭 Format String Vulnerability

Как и в первой подборке, в этой приводятся примеры того,«как не надо» делать и «как надо». В качестве «подопытных» рассматриваются языки: C++, C и Rust.
👍4
Kyverno: теперь не только для Kubernetes

Всем привет!

Небольшой пятничный пост с очень приятной новостью, если вы любите и используете Kyverno!

Одним из самых частых комментариев в сравнении Kyverno с OPA/Gatekeeper был примерно такой: «OPA работает со всем, а Kyverno позволяет анализировать только ресурсы Kubernetes!».

Теперь это не так! Недавно был анонсирован проект Kyverno JSON, который позволяет анализировать любые данные формата JSON!

Для этого есть:
🍭 CLI для анализа, например, в CI
🍭 REST API для принятия решений
🍭 Golang library для адаптации под собственные нужды

Сам проект находится в repo, документация доступна по ссылке. Кстати, в repo есть ссылка на playground, чтобы быстро попробовать «как это работает».
👍8👏21
SBOM Benchmark

Всем привет!

На сайте можно ознакомиться с перечнем решений, при помощи которых можно генерировать SBOM, а также с их условной «оценкой».

Оценка формируется на основании критериев:
🍭 NTIA-Minimum-Elements
🍭 Structural
🍭 Sharing
🍭 Quality и Semantic

Для каждого из представленных решений есть дополнительная информация: в каких спецификациях можно создать SBOM, поддерживаемые ими форматы и что может выступать в качестве «источника» для генерации (пакет, repo, образ контейнера и т.д.). Также можно предложить решение по генерации SBOM самому через соответствующую процедуру.
REGO: Основы

Всем привет!

SNYK анонсировал цикл статей, посвященных знакомству и использованию REGO – того самого языка, на котором пишутся политики для OPA.

Первая статья посвящена совсем-совсем основам и включает в себя:
🍭 Общее описание логики работы
🍭 Inputs и Rules
🍭 Queries
🍭 «Вычисление» правила и формирование результата

Каждый раздел содержит в себе примеры кода и крайне детальные пояснения. В конце авторы показывают, как этим можно воспользоваться либо с REGO Playground или через cli-утилиту. Если вы хотели погрузиться в эту тему, но не знали с чего начать – эта статья самое «то».

Следующие статьи серии будут посвящены более сложному синтаксису и правилам. Будем держать Вас в курсе!
🔥5👍1
MITRE SAF: Security Automation Framework

Всем привет!

MITRE SAF – проект, который представляет из себя как набор технологический решений, так и общий взгляд на выстраивание DevSecOps-практик.

Все структурировано по следующим разделам:
🍭 Plan. Создание и управление Security Baselines с использованием Vulcan
🍭 Harden. Реализация созданных Security Baselines с использованием Ansible, Terraform, Inspec
🍭 Validate. Проверка реализованных Security Baselines с использованием Inspec и других средств анализа
🍭 Normalize. Приведение результатов данных, полученных из разных средств анализа к единому виду – OASIS Heimdall Data Format (OHDF). Есть готовые «конвертеры» для GoSec, Nikto, SNYK, SonarQube, SARIF и не только (реализуется с использованием утилиты SAF-cli)
🍭 Visualize. Представление полученных данных в графическом виде с использованием Heimdall

Помимо инструментария на сайте можно ознакомиться с рекомендациями по реализации практик DevSecOps (согласно описанному выше подходу). Наборы библиотек для hardening или validate и много чего интересного.

Настоятельно рекомендуем Вам ознакомиться с сайтом и тем, что он предлагает ☺️ Такое не получится уместить в одном посте ☺️
🔥4👍1
Написание собственного Admission Webhook

Всем привет!

По ссылке доступна статья, в которой пошагово объясняется и демонстрируется как создать собственный Admission Webhook. Суть очень простая – проверка наличия Liveness Probes и Readiness Probes.

Автор предлагает следующие шаги для его Python-проекта:
🍭 Создание контейнера с REST API сервером, который будет обрабатывать запросы и содержать всю «логику»
🍭 Выпуск сертификатов, генерация caBundle
🍭 Создание Namespace, Secret, Deployment
🍭 Регистрация готового webhook через создание ValidatingWebhookConfiguration
🍭 Тестировние!

Может родиться вопрос: «Зачем все это нужно, если аналогичное можно реализовать на Kyverno / OPA Gatekeeper и реализовать быстро?». Все так, но реализуя это самостоятельно можно в разы лучше понять, что происходит «под капотом» и как оно устроено. А еще это очень весело! 😊
👍1
🧨22-23 ноября в Москве состоится большая конференция про сети и инфру IT Elements

🔎Мы нашли для вас интересные доклады по тематике DevOps от вендоров и представителей крупных компаний:

22.11
🔹DevNetOps. Автоматизация процесса эксплуатации и внедрения сети. Дискуссия

23.11
🔹Open Source Software в больших компаниях — Александр Краснов, технический директор платформы Штурвал, Лаборатория Числитель
🔹Эволюция инструментов автоматизации — Алексей Крылов, DevOps Competence Lead
🔹Deckhouse Kubernetes Platform: надежная инфраструктура Enterprise-уровня для ускорения бизнеса — Аксенов Константин, директор департамента разработки платформы Deckhouse, Флант
🔹Переход к platform engineering для инфраструктурных команд — Карапет Манасян, глава платформы разработки, MOEX Group
🔹Инфраструктурные платформы: взгляд бизнеса. Круглый стол
🔹Сквозь облака: Как инфраструктура становится кодом, а DevOps-платформа мостом к новым горизонтам — Александр Подмосковный, руководитель центра компетенций технологий взаимодействия с клиентом
🔹Infra as a Code: как мечтать, чтобы всё сбылось — Андрей Пономарев, ИТ-директор, МойОфис

Участие бесплатное, но надо успеть зарегистрироваться до 20 ноября.

Подробная программа, спикеры и регистрация на сайте конференции.
🔥7🥰2🤓2😎2👾2❤‍🔥1👏1
Обход Admission Controller через ephemeral containers

Всем привет!

В статье Автор предлагает рассмотреть возможный способ обхода Admission Controller (на примере OPA/Gatekeeper) с использованием Ephemeral Containers.

Алгоритм весьма простой:
🍭 Создание политик, которые запрещают устанавливать privileged: true для containers и initContainers, создание pod
🍭 Попытки модификации спецификации созданного pod для добавления ephemeralContainer. Безуспешные patch, edit, т.к. большинство спецификации pod является неизменяемым
🍭 Однако, kubectl debug сработает, а при более детальном рассмотрении окажется, что он использует тот же самый patch
🍭 Формирование запроса определенного вида и реализовать его с использованием curl. К pod будет добавлен ephemeralContainer, обладающий флагом privileged: true (при работающих политиках)

В чем же разница? Ответ прост – иной api endpoint, который как раз и позволит модифицировать спецификацию контейнера через curl запрос. В завершении статьи Автор рассказывает, что необходимо добавить в политике Gatekeeper, чтобы вышеописанное не получилось.
👍3
REGO: логические операторы и сообщения

Всем привет!

Продолжение материалов от SNYK, посвященных использованию REGO (про первую часть мы писали тут).

На этот раз Авторы знакомят с такими концептами, как:
🍭 Multiple queries: объединение различных rules для оценки данных
🍭 Настройка и использование значений по умолчанию
🍭 Добавление сообщений к результатам работы правил

Вторая часть, как и первая богата на примеры, пояснения и исходный код для самостоятельного повторения (которое также можно реализовать локально или с использованием REGO Playground)
Descheduler в Kubernetes

Всем привет!

Descheduler – полезный механизм, который позволяет реализовать rescheduling запущенных на кластере нагрузок (интересно, почему его не назвали Rescheduler). Это может быть полезно, например, при добавлении узлов кластера, чтобы не ждать перезапуска приложений, а оптимизировать нагрузку на вычислительные ресурсы для уже запущенных нагрузок.

В статье Автор описывает основные концепты механизма:
🍭 Назначение, примеры использования, возможности установки
🍭 Архитектура, ключевые компоненты и сущности (Evictor, Strategy)
🍭 Логика работы и то, на основании чего Descheduler принимает решение о том, что нагрузку надо перенести и условия, которые этому предшествуют

В завершении статьи Автор приводит небольшой пример: Descheduler настраивается с использованием Strategy RemovePodsHavingTooManyRestarts со значением равным 5. После – запускаем «нестабильный» pod и наблюдаем за работой Descheduler «вживую».

Отдельно ознакомиться со всеми доступными Strategy и нюансами их использования можно в документации.
👍3🔥1
CVE Half-Day Watcher

Всем привет!

Новый инструмент от Aqua Security, который позволять получать максимально (ну почти) раннюю информацию о наличии CVE в анализируемых проектах (еще до того, как для них официально вышел патч).

Работает относительно просто: сопоставляет данные, получаемые из NVD API о недавно опубликованных CVE с их GitHub Reference.

Название свое проект получил, т.к. он находится где-то посередине между 0-day (когда maintainer не знает об уязвимости) и 1-day (когда maintainer узнал по уязвимости).

Пример того, как это работает и зачем это нужно – можно найти в статье от Aqua, в которой рассматривается timeline истории Log4Shell.

На текущий момент проект все еще находится на стадии «proof of concept», но будет развиваться и «обрастать» новым функционалом и возможностями.
👍51
Устройство и логика работы Kubelet

Всем привет!

Очень часто можно найти статьи, посвященные логике работы Kubernetes и его “control plane” компонентов. Реже встречаются статьи, посвященные тому, как работает Kubelet.

Исправляем это недоразумение! В статье описывается архитектура Kubelet, включающая в себя такие компоненты, как:
🍭 Pod Lifecycle Event Generator (PLEG)
🍭 PodWorkers, PodManager
🍭 PodAdmitHandlers
🍭 PluginManager и не только

Для каждого ключевого компонента описывается его назначение. В завершении статье Автор делает небольшой анализ исходного кода Kubelet (нет, не по информационной безопасности) на предмет того, что происходит «под капотом» и как указанные выше компоненты работают между собой.
👍5🔥4
Повышение привилегий в Kubernetes

Всем привет!

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

Автор рассматривает следующие возможности:
🍭 Pod Creation. В целом, в этом нет ничего «опасного», если контролируется манифест создаваемого pod’a и гарантируется, что используется «валидный образ». Однако, если это не так, то можно реализовать несколько сценариев по повышению привилегий
🍭 Read Secrets. Бесконтрольный доступ к секретам никогда не бывает хорошей практикой. В любой системе, в том числе и в Kubernetes
🍭 Bind Roles. Назначение большего количества полномочий, чем требуется
🍭 Escalate Existing Roles. Добавление больших прав к существующей роли
🍭 Impersonate. Возможность отправки запросов к kube-apiserver от более привилегированной роли

Для каждой из вышеописанной возможности приводятся некоторые сценарии с примерами как этим можно воспользоваться.

Минимально-необходимым уровнем защиты от описанных в статье сценариев является корректная настройка ролевой модели Kubernetes и использование Admission Controller с необходимыми политиками контроля
👍5