DevSecOps Talks
Відкрити в Telegram
Рассказываем об актуальном в мире DevSecOps. Канал DevSecOps-команды "Инфосистемы Джет"
Показати більше7 841
Підписники
+724 години
+347 днів
+10030 день
Архів дописів
7 846
Использование OPA для AuthZ
Всем привет!
Если Вам нравится Kubernetes, то Вы, вероятно, сталкивались с таким проектом, как Gatekeeper. Он представляет из себя Admission Webhook, основанный на Open Policy Agent (OPA), который может принимать решения, основываясь на входных данных.
Однако, возможности OPA гораздо шире. В качестве примера Автор рассматривает ее в качестве «внешнего» сервиса, который реализуется авторизацию в простом проекте на Spring Boot. Суть проста – пользователь может запрашивать свою зарплату и зарплату своих подчиненных.
Автор проделал следующее:
🍭 Написал код приложения. В качестве механизма авторизации – "стандартные" возможности технологий
🍭 Использование OPA в качестве инструмента авторизации
🍭 Реализация API Gateway – добавление AuthN
Каждый из примеров реализации приложения отлично описан, есть исходные коды и комментарии. В качестве «бонуса» - диаграмма последовательностей, в которой наглядно описан процесс и его «трансформация» в зависимости от способа реализации.
P.S. Если Вам интересно зачем потребовалось делать сторонний "сервис" - ответ есть в статье ☺️
7 846
Capacity Management в Kubernetes
Всем привет!
В статье рассматриваются сущности, которые могут быть использованы для capacity management в Kubernetes.
Не можем не согласиться с автором статьи, что capacity management в Kubernetes - тема очень сложная. На первый взгляд может казаться, что кластер сам управляет распределением ресурсов между pod'ами, но по факту это не так - до тех пор пока вы не сделаете соответствующие конфигурации ваших ресурсов. Не имея грамотно настроенного управления ресурсами можно получить большое количество веселых (и не очень) эффектов, вплоть до остановки узла из-за одного нагруженного контейнера.
Об этом в статье подробно описано:
🍭 Requests и Limits, LimitRange
🍭 QoS: BestEffort, Burstable, Guaranteed, как они назначаются (в том числе по умолчанию), как осуществляется управление приоритетами
🍭 Horizontal/Vertical Pod Autoscaler
🍭 Cluster Autoscaler и не только
Для каждой сущности приводится описание и наглядное графическое представление принципов ее работы. Отлично подойдет для понимания и/или систематизации знаний.
7 846
Like a hacker! :)
Всем привет!
Вы когда-нибудь видели в фильмах, как true hackers "ломают системы" и генерируют код с невероятной скоростью?
Если Вы уже так умеете – низкий поклон! А если нет, но очень хочется обрести такой навык, пусть даже на время… Ответ есть!
Все просто:
🍭 Открываем ссылку на полноэкранный режим
🍭 Делаем невероятно серьезное/злое/решительное лицо
🍭 Начинаем «бить по клавишам» (да, можно произвольно)
🍭 Voila! Новый exploit «готов»!
Такой вот «пятничный» пост ☺️ Желаем всем отлично отдохнуть в предстоящие праздники и до встречи!!!
7 846
Kubernetes: networking, основные термины
Привет!
В интернете много статей, посвященных основам сетевого взаимодействия в Kubernetes. Некоторые были и на нашем канале. Особенностью их, зачастую, является то, что рассматриваются различные виды Service и их назначение.
Отличие сегодняшнего материала в том, что затрагивается большее количество терминов:
🍭 Ingress. Контроль внешнего трафика к приложению и обратно
🍭 DNS (и CoreDNS в частности). Обнаружение и взаимодействие pods через resolve Services
🍭 Probes (Liveness, Readiness, Startup). Контроль состояния pod на различных этапах его жизненного цикла
🍭 Netfilter и IPTables. Контроль сетевого трафика с использованием Network Policy
🍭 IPVS. Возможности балансировки, предоставляемые ядром Linux
🍭 Proxy (Kubectl, Kube). Создание туннеля между рабочей станцией и kube-apiserver; управление Kubernetes Services
🍭 Envoy. «Продвинутые» возможности по контролю трафика и балансировке
🍭 Container Network Interface (CNI). Управление сетью Kubernetes
В статье все описано простым и понятным языком. Материал может помочь в понимании концептов тем, кто только начинает знакомство с этой потрясающей технологией!
7 846
Monokle: работа с YAML
Всем привет!
Monokle – решение, которое упрощает работу с YAML и позволяет ускорить подготовку манифестов и/или найти ошибки.
При помощи Monokle можно:
🍭 Просматривать существующие манифесты. Доступна интеграция с git и с кластерами k8s
🍭 Preview ресурсов, сгенерированных при помощи Helm и Kustomize
🍭 Применять изменения для обновления ресурсов в кластере k8s
🍭 «Сравнивать» конфигурацию ресурсов, в том числе с той, что есть в кластере k8s
🍭 Создавать ресурсы из предустановленных шаблонов и не только
Monokle обладает интерактивным web-интерфейсом, в котором удобно осуществлять описанные выше операции. Больше подробностей можно посмотреть в небольшом overview (ссылка на ролик есть в repo) или в документации.
7 846
Curio: анализ sensitive data
Всем привет!
Герой сегодняшнего поста – Curio! Это статический анализатор, который помогает идентифицировать sensitive data в исходном коде. Поддерживается 122 типа данных: пароли, pin, email, номера кредитных карт, информация о сертификациях и т.д. Анализ происходит с использованием регулярных выражений.
На текущий момент поддерживается Ruby, SQL, OpenAPI, GraphL и Protobuf. В планах – PHP, Java, C#, Go и Python.
В Curio есть набор правил, которые используются для анализа. Например:
🍭 Указание email в логах
🍭 Наличие проверки длины пароля
🍭 Использование шифрования при использовании cookie и многие другие
Больше информации можно найти в документации. В repo есть небольшой demo ролик, где показаны результаты работы утилиты.
7 846
Building Kubernetes Operator: Awesome
Всем привет!
Бывает так, что при работе с Kubernetes возникает мысль о написании собственного operator. Например, если чего-то не хватает или тот функционал, что есть не совсем решает задачу и хочется большего.
Тема, безусловно, интересная и не самая простая. Возможно, что не будет понятно «за что браться». Предлагаем Вам awesome-подборку, которая может стать опорой в освоении Kubernetes Operators за счет структурирования данных.
Она включает в себя:
🍭 Courses and Tutorials
🍭 Books (платные)
🍭 Videos
🍭 Operator Frameworks
Надеемся, что этот материал хотя бы немного упростит для Вас погружение в этот интересный мир ☺️
7 846
User namespaces и безопасность k8s
Всем привет!
В Kubernetes v1.25 была добавлена поддержка (alpha) user namespaces. Их можно использовать, например, для уменьшения последствий при «побеге из контейнера» или более безопасно предоставлять полномочия конкретному pod.
В статье приводится общая информация, которая поможет начать погружение в тематику. В ней рассматривается:
🍭 Mapping между UID на узлах кластера и в контейнерах
🍭 «Разграничение» полномочий между контейнером и узлами кластера
🍭 Перечень ограничений, которые присутствуют в v1.25 (все еще alpha feature)
В завершении статьи (приложениях) приводится информация о user namespaces в Docker и “decision tree” – графическое пояснение того, когда user namespaces могут применяться, а когда могут возникнуть сложности.
7 846
Kured: «перезагрузка» Kubernetes
Всем привет!
Kured – DaemonSet, который позволяет управлять перезагрузкой узлов кластера. Например, когда такое действие диктуется потребностями операционной системы.
Работает по следующему принципу:
🍭 Наблюдает за флагом, определяющим потребность в перезагрузке
🍭 Контролирует перезагрузку – one node at a time
🍭 Cordon, drain, reboot, uncordon
Доступна поддержка различных версий k8s и большое количество параметров конфигурации. Больше информации (установка, настройка, использование и т.д.) можно найти в документации на проект.
7 846
Learning CodeQL
Всем привет!
По мнению Автора статьи, CodeQL – не просто инструмент, которым надо научиться пользоваться. Это язык программирования, инструмент и экосистема, которые вместе позволяют создать нечто очень мощно в плане анализа кода.
Чтобы научиться его использовать Автор собрал собственный learning path и материалы, которые в этом помогут.
Они содержат:
🍭 Language tutorials
🍭 Public Workshops
🍭 Staging Workshops
🍭 CTFs
🍭 Blogs
🍭 GitHub Security Lab Slack
В каждом разделе приводятся ссылки на материалы, где можно получить дополнительную информацию или попрактиковаться в лабораторных работах или playgrounds.
7 846
Service Account Token: что это и зачем?
Во многих рекомендациях по ИБ можно встретить фразу о том, что надо отключать auto mount для Service Account Token. Но зачем и что это такое? Если просто, то это token, который используется при аутентификации запросов в kube-apiserver.
В статье хорошо структурирован материал, посвященный этой теме:
🍭 Формат Service Account Token, какую информацию он в себе содержит
🍭 Важные поля token, как их можно использовать при проведении аналитики
🍭 Как они генерируются, кто это делает?
🍭 Как менялся «срок жизни» такого token от версии к версии k8s
А в завершении статьи можно узнать, что поменялось в версии 1.24 и почему это только «плюс» для информационной безопасности. Статья небольшая и крайне наглядная, рекомендуем!
7 846
Trivy: анализ k8s на соответствие CIS и NSA
Всем привет!
Trivy – проект от Aqua Security, который смело можно назвать швейцарским ножом в мире контейнерной защиты. Не самый редкий гость в нашем канале, мы неоднократно рассказывали о его возможностях.
Начиналось все со сканера образов контейнеров на наличие уязвимостей и постепенно «обрастало» функционалом.
Сейчас Trivy умеет:
🍭 Анализировать образы контейнеров на наличией уязвимостей
🍭 Анализировать бинарные файлы на наличие уязвимостей
🍭 Генерировать SBoM
🍭 Анализировать RBAC k8s
🍭 Анализировать манифесты k8s на соответствие лучшим практикам и это еще не все
В декабре 2022 года Trivy и чуть позже Trivy Operator получили еще одну «способность» - анализировать кластеры k8s на соответствие CIS и NSA. Тот самый функционал, который был в Kube-Bench (еще одном проекте Aqua Security).
Подробнее о запуске и возможностях Trivy и Trivy Operator по анализу конфигураций кластеров k8s можно прочесть в статье.
7 846
Анализ полномочий в Kubernetes
В приложении доступен отчет о Palo Alto, посвященный анализу полномочий в кластерах Kubernetes. Материал содержит много интересной информации, включая перечень «Powerful Permissions» (описание которых можно найти в приложении).
Авторы разделили «Powerful Permissions» на группы:
🍭 Manipulate AuthN/Z. Полномочия, которые обладают возможностью privilege escalation by design или могут быть использованы для impersonate
🍭 Acquire Tokens. Полномочия, которые прямо или косвенно могут быть использованы для получения Service Account Tokens
🍭 RCE. При помощи полномочий этой группы можно воздействовать на pods и/или nodes
🍭 Steal Pods. Полномочия, позволяющий управлять pods
🍭 MitM. Полномочия, которые могут помочь в совершении man in the middle attack
В отчете есть немного статистики, рассуждения о возможностях популярных решений с точки зрения полномочий и способы анализа ролевой модели k8s с использованием rbac-police и Checkov.
7 846
Capital: приложение с уязвимым API
Всем привет!
В repo можно найти Capital – приложение, разработанное Checkmarx, обладающее уязвимым API (в соответствии с OWASP Top-10 для API).
В приложении можно найти:
🍭 Broken Function Level Authorization
🍭 Broken Object Level Authorization
🍭 Broken User Authentication
🍭 Improper API Management
🍭 Excessive Data Exposure
🍭 Improper Assets Management
🍭 Lack of Resources and Rate Limiting
🍭 Security Misconfigurations
🍭 Injection
🍭 Mass Assignment
🍭 Security Misconfiguration
🍭 Insufficient Logging
Подробнее об истории разработки, примерах атак и о приложении в целом можно прочесть в статье.
7 846
(Не) использование Sealed Secrets
Всем привет!
Если Вы читали про управление секретами, то скорее всего сталкивались с подходом/решением Sealed Secrets. Суть проста – не хранить секреты в git в открытом виде. Вместо этого – шифруем данные и voila! Теперь, даже если что-либо компрометируют, то все равно данные зашифрованы.
У такого подхода есть свои плюсы, но есть и недостатки, которые Автор приводит в статье. Например:
🍭 Сложности/неудобства управления структурой repo при большом количестве разных окружений, каждое из которых обладает своими секретами
🍭Секреты все равно «там». Да, зашифрованы, но все равно «что-то смущает»
🍭Secret 0. Ключ от всех остальных ключей все равно остается ключом
🍭Есть опции получше!
Причины, которые стоят за каждым из тезисов описаны Автором в статье. А что Вы думаете по поводу Sealed Secrets: нормальное решение или и правда – есть опции получше?
7 846
HashiCorp Hermes: управление документацией
Всем привет!
И без того не маленький портфель решений HashiCorp дополнил еще один инструмент – Hermes! Его назначение в том, чтобы управлять документацией: искать, изучать, согласовывать, «архивировать» и т.д.
Пока что поддерживается только работа с Google Workspace. Решение позволяет:
🍭 Просматривать недавние и/или недавно обновленные документы
🍭 Искать документы, получать информацию о статусе (WIP, In Review, Approved, Archived)
🍭 Фильтровать документы (Тип, Статус, Продукт/Область, Владелец)
🍭 Формировать запрос(ы) на согласование (Request Review) и не только
Небольшой обзор решения можно посмотреть в youtube-ролике, прикрепленному к статье. И, что самое классное – решение open source! Ознакомиться с GitHub Repo проекта можно по ссылке.
7 846
Kubernetes Load Testing
Всем привет!
В статье собран набор open source инструментов, которые могут пригодиться для нагрузочного тестирования кластеров k8s. Есть удобная сортировка – от basic да advanced.
Примеры рассматриваемых в статье решений:
🍭 k6s. Позволяет писать тестовые скрипты на JS, что может сократить порог входа
🍭 kube-burner. Stress-testing. Отличается от многих аналогов тем, что не ставится в кластер, а стоит «сбоку»
🍭 hey. Небольшая утилита, которая может генерировать запросы к web-приложению
🍭 kube-monkey. «Реализация» Chaos Monkey (Netflix) Для Kubernetes
🍭 JMeter. Java-проект, обладающий не только CLI, но и web-интерфейсом. Позволяет, в том числе, «записывать» действия пользователей для последующего создания тестов
Описание инструментов, не попавших в preview, ссылки на их GitHub, больше информации и примеров можно найти непосредственно в статье.
7 846
Hacking and Securing Docker Containers
Всем привет!
В приложении доступна книга (~119 страниц), посвященная вопросам безопасности Docker-контейнеров.
Содержание:
🍭 Общая информация о том, что такое контейнеры, образы, как их создавать, хранить и т.д.
🍭 Обзор cgroups, namespaces, изоляции
🍭 Атакующие техники: privilege escalation, container escape, writing to kernel space, exploit docker API и т.д.
🍭 Защитные техники: управление уязвимостями, hardening, AppArmor и т.д.
В книге много примеров, результатов работы команд и практических действий.
7 846
Метрики k8s
Всем привет!
В статье собран набор из 18 метрик, которые можно собирать с кластера и его узлов для troubleshooting и оптимизации производительности.
Метрики сгруппированы по разным уровням абстракции: Node, Namespace, Deployment, Pod, Control Plane.
Примеры:
🍭 Node. Memory/Disk Pressure, NotReady
🍭 Namespace. Number of expected pods
🍭 Deployment. Pod creation/deletion rate
🍭 Pod. OOMKilled pods, Too many restarts, Pod running on right node
🍭 Control Plane. Latency in pod creation, Kubelet state
Для каждой метрики Автор дает описание почему это нужно и какие выводы относительно метрики можно сделать.
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
