DevSecOps Talks – Telegram
DevSecOps Talks
7.44K subscribers
85 photos
94 files
1.22K links
Рассказываем об актуальном в мире DevSecOps. Канал DevSecOps-команды "Инфосистемы Джет"
Download Telegram
Service Account Token: что это и зачем?

Во многих рекомендациях по ИБ можно встретить фразу о том, что надо отключать auto mount для Service Account Token. Но зачем и что это такое? Если просто, то это token, который используется при аутентификации запросов в kube-apiserver.

В статье хорошо структурирован материал, посвященный этой теме:
🍭 Формат Service Account Token
, какую информацию он в себе содержит
🍭 Важные поля token, как их можно использовать при проведении аналитики
🍭 Как они генерируются, кто это делает?
🍭 Как менялся «срок жизни» такого token
от версии к версии k8s

А в завершении статьи можно узнать, что поменялось в версии 1.24 и почему это только «плюс» для информационной безопасности. Статья небольшая и крайне наглядная, рекомендуем!
👍4
Learning CodeQL

Всем привет!

По мнению Автора статьи, CodeQL – не просто инструмент, которым надо научиться пользоваться. Это язык программирования, инструмент и экосистема, которые вместе позволяют создать нечто очень мощное в плане анализа кода.

Чтобы научиться его использовать Автор собрал собственный learning path и материалы, которые в этом помогут.

Они содержат:
🍭 Language tutorials
🍭 Public Workshops
🍭 Staging Workshops
🍭 CTFs
🍭 Blogs
🍭 GitHub Security Lab Slack

В каждом разделе приводятся ссылки на материалы, где можно получить дополнительную информацию или попрактиковаться в лабораторных работах или playgrounds.
1
Kured: «перезагрузка» Kubernetes

Всем привет!

Kured – DaemonSet, который позволяет управлять перезагрузкой узлов кластера. Например, когда такое действие диктуется потребностями операционной системы.

Работает по следующему принципу:
🍭 Наблюдает за флагом, определяющим потребность в перезагрузке
🍭 Контролирует перезагрузку – one node at a time
🍭 Cordon, drain, reboot, uncordon

Доступна поддержка различных версий k8s и большое количество параметров конфигурации. Больше информации (установка, настройка, использование и т.д.) можно найти в документации на проект.
👍2
User namespaces и безопасность k8s

Всем привет!

В Kubernetes v1.25 была добавлена поддержка (alpha) user namespaces. Их можно использовать, например, для уменьшения последствий при «побеге из контейнера» или более безопасно предоставлять полномочия конкретному pod.

В статье приводится общая информация, которая поможет начать погружение в тематику. В ней рассматривается:
🍭 Mapping между UID на узлах кластера и в контейнерах
🍭 «Разграничение» полномочий между контейнером и узлами кластера
🍭 Перечень ограничений, которые присутствуют в v1.25 (все еще alpha feature)

В завершении статьи (приложениях) приводится информация о user namespaces в Docker и “decision tree” – графическое пояснение того, когда user namespaces могут применяться, а когда могут возникнуть сложности.
Building Kubernetes Operator: Awesome

Всем привет!

Бывает так, что при работе с Kubernetes возникает мысль о написании собственного operator. Например, если чего-то не хватает или тот функционал, что есть не совсем решает задачу и хочется большего.

Тема, безусловно, интересная и не самая простая. Возможно, что не будет понятно «за что браться». Предлагаем Вам awesome-подборку, которая может стать опорой в освоении Kubernetes Operators за счет структурирования данных.

Она включает в себя:
🍭 Courses and Tutorials
🍭 Books
(платные)
🍭 Videos
🍭 Operator Frameworks

Надеемся, что этот материал хотя бы немного упростит для Вас погружение в этот интересный мир ☺️
👍4🔥1
Curio: анализ sensitive data

Всем привет!

Герой сегодняшнего поста – Curio! Это статический анализатор, который помогает идентифицировать sensitive data в исходном коде. Поддерживается 122 типа данных: пароли, pin, email, номера кредитных карт, информация о сертификациях и т.д. Анализ происходит с использованием регулярных выражений.

На текущий момент поддерживается Ruby, SQL, OpenAPI, GraphL и Protobuf. В планах – PHP, Java, C#, Go и Python.

В Curio есть набор правил, которые используются для анализа. Например:
🍭 Указание email в логах
🍭 Наличие проверки длины пароля
🍭 Использование шифрования при использовании cookie и многие другие

Больше информации можно найти в документации. В repo есть небольшой demo ролик, где показаны результаты работы утилиты.
👍2
Monokle: работа с YAML

Всем привет!

Monokle – решение, которое упрощает работу с YAML и позволяет ускорить подготовку манифестов и/или найти ошибки.

При помощи Monokle можно:
🍭 Просматривать существующие манифесты. Доступна интеграция с git и с кластерами k8s
🍭 Preview ресурсов, сгенерированных при помощи Helm и Kustomize
🍭 Применять изменения для обновления ресурсов в кластере k8s
🍭 «Сравнивать» конфигурацию ресурсов, в том числе с той, что есть в кластере k8s
🍭 Создавать ресурсы из предустановленных шаблонов и не только

Monokle обладает интерактивным web-интерфейсом, в котором удобно осуществлять описанные выше операции. Больше подробностей можно посмотреть в небольшом overview (ссылка на ролик есть в repo) или в документации.
🔥2👍1
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

В статье все описано простым и понятным языком. Материал может помочь в понимании концептов тем, кто только начинает знакомство с этой потрясающей технологией!
🔥5👍1
Like a hacker! :)

Всем привет!

Вы когда-нибудь видели в фильмах, как true hackers "ломают системы" и генерируют код с невероятной скоростью?

Если Вы уже так умеете – низкий поклон! А если нет, но очень хочется обрести такой навык, пусть даже на время… Ответ есть!

Все просто:
🍭 Открываем ссылку на полноэкранный режим
🍭 Делаем невероятно серьезное/злое/решительное лицо
🍭 Начинаем «бить по клавишам»
(да, можно произвольно)
🍭 Voila! Новый exploit «готов»!

Такой вот «пятничный» пост ☺️ Желаем всем отлично отдохнуть в предстоящие праздники и до встречи!!!
👍8😁6
Capacity Management в Kubernetes

Всем привет!

В статье рассматриваются сущности, которые могут быть использованы для capacity management в Kubernetes.

Не можем не согласиться с автором статьи, что capacity management в Kubernetes - тема очень сложная. На первый взгляд может казаться, что кластер сам управляет распределением ресурсов между pod'ами, но по факту это не так - до тех пор пока вы не сделаете соответствующие конфигурации ваших ресурсов. Не имея грамотно настроенного управления ресурсами можно получить большое количество веселых (и не очень) эффектов, вплоть до остановки узла из-за одного нагруженного контейнера.

Об этом в статье подробно описано:
🍭 Requests и Limits, LimitRange
🍭 QoS: BestEffort, Burstable, Guaranteed, как они назначаются (в том числе по умолчанию), как осуществляется управление приоритетами
🍭 Horizontal/Vertical Pod Autoscaler
🍭 Cluster Autoscaler и не только

Для каждой сущности приводится описание и наглядное графическое представление принципов ее работы. Отлично подойдет для понимания и/или систематизации знаний.
👍2🥰1
Использование OPA для AuthZ

Всем привет!

Если Вам нравится Kubernetes, то Вы, вероятно, сталкивались с таким проектом, как Gatekeeper. Он представляет из себя Admission Webhook, основанный на Open Policy Agent (OPA), который может принимать решения, основываясь на входных данных.

Однако, возможности OPA гораздо шире. В качестве примера Автор рассматривает ее в качестве «внешнего» сервиса, который реализует авторизацию в простом проекте на Spring Boot. Суть проста – пользователь может запрашивать свою зарплату и зарплату своих подчиненных.

Автор проделал следующее:
🍭 Написал код приложения. В качестве механизма авторизации – "стандартные" возможности технологий
🍭 Использование OPA в качестве инструмента авторизации
🍭 Реализация API Gateway – добавление AuthN

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

P.S. Если Вам интересно зачем потребовалось делать сторонний "сервис" - ответ есть в статье ☺️
👍2👏1
ArgoCD Architectures

Привет!

ArgoCD один из популярных инструментов для реализации Continuous Delivery/Deployment и подхода GitOps.

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

Рассматриваются подходы:
🍭 Hub and Spoke. Один ArgoCD Instance управляет множеством k8s кластеров
🍭 Standalone. Один ArgoCD Instance на k8s кластер
🍭 Spilt-Instance. Аналогично Hub and Spoke, однако компоненты ArgoCD «разнесены» (некоторые находятся на управляемых k8s кластерах)
🍭 Control Plane. «Гибридный» вариант (Hub and Spoke + Standalone), с единой «консолью управления»

Для каждого подхода приводится его описание, (не) целесообразность использования, а также сильные и не очень стороны. А если Вам хочется немного прочитать про преимущества и недостатки в ИБ при реализации Hub and Spoke / Standalone моделей, то можно обратиться к этой статье.
👍2
OWASP API Security: 2023

Всем привет!

Недавно обновился OWASP API Security. Информацию по новой версии (release candidate) можно найти по ссылке.

Рассматривается следующие ИБ-дефекты:
🍭 Broken object level authorization
🍭 Broken authentication
🍭 Broken object property level authorization
🍭 Unrestricted resource consumption
🍭 Broken function level authorization
🍭 Server side request forgery
🍭 Security misconfiguration
🍭 Lack of protection from authentication threats
🍭 Improper assets management
🍭 Unsafe consumption of APIs

Описание
(пока что) доступно только на английском языке.
👍5🤔1
DevOps Roadmap 2023

Всем привет!

Иногда спрашивают с чего начать погружение в DevOps или есть ли какой-то «Путь», который стоит пройти и тогда все, «готово»? Даже если опустить философию и софистику, то единого (универсального) ответа на этот вопрос нет.

Однако, время от времени попадаются вот такие вот Roadmap, в которых люди дают собственный взгляд на то, «как это может быть».

В подборке Автор разбил Путь на следующие этапы: начиная от изучения git и заканчивая Software Engineering Practices.

Для каждого из них есть ссылки на полезные материалы (статьи и книги, зачастую бесплатные), которые помогут в изучении. А есть ли у Вас любимый Roadmap или Вы считаете, что все это – бесполезно и надо как-то иначе?
👍2🤣1
GitGuardianSecretManagementMM.pdf
621.8 KB
Secret Management Maturity Model

Всем привет!

В приложении документ, в котором отражена точка зрения GitGuardian о процессе управления секретами и его возможном развитии.

Рассматриваются такие области, как:
🍭 Development Environment
🍭 Source code management
🍭 CI/CD pipelines & artifacts
🍭 Runtime environment
🍭 Kubernetes

Для каждой области расписывается 5 уровней зрелости – от «Uninitiated» до «Expert». Документ небольшой (~ 30 страниц). Помимо непосредственно модели, в нем описывается важность тематики и рассуждения на тему «почему серебряной пули не существует».
👍2
Милые девушки!!! 🥰🥰🥰

У вас есть потрясающий дар.
Вы умеете делать так, что все вокруг вас становится лучше, уютнее, «теплее» и гармоничнее. Самое классное, что «предмет» не важен. Это может быть «уголок» в доме, а может – контур безопасной разработки, который вы помогаете реализовать😊

Конечно, это далеко не все ваши замечательные стороны и особенности. Однако, если постараться написать обо всем (что в целом невозможно) – получился бы слишком длинный пост.

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

- Ваша редакция DevSecOps Talks
Please open Telegram to view this post
VIEW IN TELEGRAM
11🔥5🤡4👍3🤮2🍓1
CIS GitHub Benchmark v1.0.0.pdf
2.2 MB
CIS GitHub Benchmark

Всем привет!

В феврале 2023 года семейство CIS Benchmark пополнилось еще одним. На этот раз для GitHub. По структуре документ напоминает CIS Software Supply Chain Security Guide от 2022 года, про который мы писали тут.

Документ содержит информацию, сгруппированную следующим образом:
🍭 Source Code
🍭 Build Pipelines
🍭 Dependencies
🍭 Artifacts
🍭 Deployment

Всего ~268 страниц.
Желаем Вам приятного изучения и использования! ☺️

P.S. Для тех, кто не знаком - CIS Benchmarks предназначен для предоставления набора рекомендаций по конфигурированию рассматриваемых технологий с целью повышения ИБ. В конце документа приведен удобный чек-лист по рассмотренным проверкам
👍3
Kubernetes Controllers: For, Owns, Watches

Всем привет!

В сети не всегда просто найти хорошую статью про написание собственных Kubernetes Operators/Controllers. Особенно, если интересует не «общая картинка», а какие-то частности.

В статье Автор разбирает разницу между конструкциями for(), owns() и get() при регистрации controller через SetupWithManager.

Для этого рассматривается пример:
🍭 Создается Custom Resource
🍭 Controller узнает об этом и создает pod (nginx:latest), присваивает ему labelfoo:bar
🍭 Controller должен гарантировать наличие указанных label. Т.е. add/update/delete не должны «срабатывать»

Далее расписывается логика реконсиляции controller’a. Наглядно описывается как можно это реализовать не делая еще один Controller, который бы смотрел за каждым pod и его labels – как раз тот самый owns().

В завершении – описание функции watches(), которая лежит в основе for() и owns(). В статье много примеров и кода для собственного воспроизведения примера.

P.S. Про awesome подборку написания Kubernetes Operators мы писали тут.
DevOps Conf 2023, 13 марта

Всем привет!

Сегодня и завтра будет проходить конференция «DevOps Conf 2023», приходите пообщаться с нами вживую, поболтать про DevSecOps ☺️ Или о рыбалке 🤔

Кроме поболтать можно:
🍭Послушать небольшие доклады, посвященные Trivy и SRIOV/DPDK в k8s // 13:30 и 15:40 соответственно
🍭 Пройти тест Тьюринга – вопросы от людей и нейросети!
🍭 Попробовать микросервисные молекулярные коктейли в баре «Контейнер»

Ещё Саша Краснов из команды нашего Партнера - "Лаборатории Числитель" расскажет про "Декларативное управление конфигурацией узлов Kubernetes в масштабе" в зале №4 // 15:50 – 16:40

Ждем Вас! ☺️☺️☺️
👍9👏6🔥5
DevOps Conf 2023, 14 марта

Первый день конференции благополучно завершился! Бар «Контейнер» продолжает свою работу согласно расписанию!

Приходите к нам, как и вчера можно:
🍭 Послушать небольшие доклады, посвященные SRIOV/DPDK в k8s и Trivy // 13:30 и 15:40 соответственно
🍭 Пройти тест Тьюринга – вопросы от людей и нейросети!
🍭 Попробовать микросервисные молекулярные коктейли в баре «Контейнер»

Если Вы уже были на нашем стенде, то предлагаем присоединиться к круглому столу «DevOps в Enterprise. Вендорские решения vs Open Source vs Outsource», который проведет Юрий Семенюков в Митапошной // 11:10 – 12:40

Завершает конференцию Павел Яньков и его доклад «Гид автостопщика по HashiCorp Vault»! // 17:00 - 17:50, Зал 2

Приходите, задавайте вопросы, пишите понравилось ли Вам в комментариях! До встречи! ☺️☺️☺️
👍10🔥5👏5
Nosey Parker: поиск секретов

Всем привет!

Nosey Parker – небольшая утилита, которая позволяет искать секреты. По факту – open source версия утилиты, используемой Praetorian. «Старшая версия» обладает ML-аналитикой для более точной идентификации секретов.

Open source версия:
🍭 Позволяет анализировать файлы, директории, git-историю
🍭 Группирует все findings
для сокращения «шума» и дедупликации
🍭 Работает достаточно быстро

Под капотом – набор из регулярных выражений в количестве 95 patterns. Как вариант – можно посмотреть, что есть «внутри» и использовать логику для расширения используемых Вами решений или попробовать Nosey Parker.
👍1