DevSecOps Talks – Telegram
DevSecOps Talks
7.43K subscribers
85 photos
94 files
1.22K links
Рассказываем об актуальном в мире DevSecOps. Канал DevSecOps-команды "Инфосистемы Джет"
Download Telegram
Обход политики Kyverno через Kubernetes Finalizers

Всем привет!

Достаточно интересную уязвимость обнаружил Автор статьи. Все началось с того, что он решил написать политику, которая бы «выбирала» ресурсы с параметром deletionTimestamp (кто знает зачем такая политика, но…). В итоге оказалось, что Kyverno игнорирует подобные запросы.

Можно ли как-то использовать это? Чтобы ответить на этот вопрос надо понимать, что происходит при операции DELETE — это очень подробно и доступно описано в статье. И все равно поначалу ничего не получалось – изменить что-либо в .spec почти нельзя, а некоторые изменения и о вовсе игнорируются при удалении ресурса.

Однако, не все ограничивается pod и их «обертками». В итоге Автор остановился на Service и реализовал следующий алгоритм:
🍭 Создал вполне легитимный Service типа ClusterIP
🍭 Добавил несуществующий finalizer, чтобы удаление происходило бесконечно
🍭 В момент удаления изменил тип сервиса на NodePort. При этом блокирующая (Enforce) политика Kyverno не обратила на это внимание
🍭 Получил доступ через «созданный» NodePort

Таким образом, через finalizers успешно был реализован обход enforce-политики Kyverno. В версиях 1.10+ указанный недостаток уже устранен. Очень рекомендуем статью к прочтению, чтобы лучше разобраться в том, как работает Kubernetes и Kyverno ☺️
2🔥2
Обновление Sealed Secrets паролей в Kubernetes

Всем привет!

Sealed Secret – утилита, которая позволяет «запечатать» секрет таким образом, что его можно хранить в используемой VCS-системе не боясь компрометации.

Весьма удобно, например, для реализации GitOps-подхода. При применении подобного ресурса на кластере Kubernetes происходит операция unseal, которая «восстанавливает» требуемую информацию и все работает.

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

В статье автор подробно расписывает проблематику и сам процесс, включающий в себя:
🍭 Создание hash-значения нового пароля с использованием bcrypt
🍭 Генерация шаблона секрета для Kubernetes (k create secret –dry-run=client...)
🍭 «Запечатывание» созданного секрета с использованием kubeseal и применением --merge-into
🍭 Перезапуск целевого контейнера для обновления секрета внутри него

Представленный выше процесс описан Автором с максимальной детализацией: полный перечень шагов, все необходимые команды и комментарии о том, что происходит и на что обращать внимание.
1👍1🔥1
Интерактивные курсы по уязвимостям

Всем привет!

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

Доступно объяснение для следующих уязвимостей:
🍭 SQL Injection
🍭 XSS
🍭 Command Execution
🍭 User Enumeration
🍭 Open Redirects и другие

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

В дополнение можно рассмотреть аналогичные ресурсы от Snyk или Kontra. Да, бесплатно доступно не все, но все равно есть интересный материал.
3🔥3
Важные ИТ-концепты

Всем привет!

Сказать, что ИТ – активно развивающаяся сфера – не сказать ничего. Иногда хочется, чтобы «ИТ-горшочек перестал варить», хотя бы на пару месяцев. Это позволило бы успеть изучить интересующий предмет (да и то вряд ли).

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

Автор собрал 16 ИТ-концептов, которые крайне важны на его взгляд:
🍭 Load Balancer
🍭 API Gateway
🍭 Caching
🍭 Distributed File Systems
🍭 Mircoservices и другие

Для каждого концепта он привел описание – что это, зачем оно нужно и ключевые принципы работы технологии. Экспертом после прочтения не станешь, но лучше понимать происходящее – вполне!
👍4🔥2
Yet Another Kubernetes Security Checklist

Всем привет!

Говорят, что много checklist’ов в мире информационной безопасности не бывает. Наверное, Вы уже создали (или в процессе создания) своего. На тему безопасности Kubernetes.

Возможно, что из материала сегодняшнего поста Вы сможете взять себе что-то полезное. Автор рассматривает рекомендации по таким областям, как:
🍭 AuthN / AuthZ
🍭 Secrets
🍭 Cluster Configuration Security
🍭 Audit and Logging
🍭 Secure OS Configuration
🍭 Network Security
🍭 Secure Configuration of Workloads
🍭 Secure Image Build

Отличительной особенностью этой подборки является то, что приведено много «явных» действий, а не рекомендаций в стиле «за все хорошее, против всего плохого».
👍6
Моделирование угроз для Software Supply Chain

Всем привет!

OpenSSF продолжает радовать отличными наработками по безопасности цепочки поставки программного обеспечения. На этот раз – моделью угроз!

Для проработки материала была создана рабочая группа, которая решала задачу: «Как, с точки зрения потребителя, выстроить защиту против современных угроз ИБ, характерных для цепочки поставки ПО?».

Результатом стала Initial Threat Model, в которой отражены угрозы для:
🍭 Consumption of 3rd Party Code
🍭 Infrastructure Threats (Developer Machine, SCM, Build System, Build, Private Repository, Staging/Production Environment)

Материал все еще находится в стадии разработки (можно наблюдать в «real-time» режиме), но даже в таком виде содержит много интересных мыслей.
Microsoft Kubernetes Threat Matrix

Всем привет!

Продолжаем тематику моделирования угроз. Сегодняшний пост будет посвящен проекту Kubernetes Threat Matrix от Microsoft.

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

Он уже пережил несколько доработок, последняя из которых была в конце 2022 года. Добавили новые техники:
🍭 Static pods
🍭 Collecting data from pod
🍭 Container service account
🍭 Exposed sensitive interfaces

Помимо этого, реализован mapping между Kubernetes Threat Matrix и наработками MITRE ATT&CK. Еще одним удобством стал web-интерфейс, с которым можно ознакомиться по ссылке.
🔥2👏1
Gittuf: защита Git

Всем привет!

Еще один интересный и новый проект от OpenSSFgittuf! Он использует некоторые концепты The Update Framework (TUF) для того, чтобы повысить безопасность git-репозиториев.

Например:
🍭 Выступает в роли единой «точки доверия» для распространения публичных ключей. Например, верификация commit, подписей tags
🍭 Контролирует внесение изменений в ветку (branch) или в процесс создания tag
🍭 Управляет доступом к файлам. Например, какие пользователи могут вносить изменения в определенные файлы репозитория

Проект находится в стадии активной разработки, многое пока не реализовано. Согласно описанию – пока что это alpha и НЕ рекомендуется использовать ее в production-окружениях. С краткой документацией можно ознакомиться тут. Отдельно можно обратить внимание на roadmap продукта – если это будет реализовано, то получится весьма полезный инструмент.
👍2
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