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

Мы бережно относимся к нашей аудитории и контенту, который вы здесь читаете.

Поэтому спрашиваем ваше мнение: хотите ли вы эпизодически видеть в нашем канале публикации с вакансиями из мира DevSecOps?

Голосуем до 22.01 23:59 (МСК)!
👍36👎1
Хотите ли вы эпизодически видеть в нашем канале публикации с вакансиями из мира DevSecOps?
Final Results
65%
Хочу
18%
Не хочу
17%
Воздержусь
CI/CD Goat: writeup!

Всем привет!

По ссылке можно найти подробный writeup на тему решения задач уровня «Easy» проекта CI/CD Goat.

Автор исследует следующие сценарии:
🍭 White Rabbit. Извлечение конфиденциальной информации через Direct Poisoned Pipeline Execution, D-PPE (с доступом на изменение конфигурационного файла конвейера).
🍭 Mad Hatter. Извлечение конфиденциальной информации через Indirect Poisoned Pipeline Execution, I-PPE (без доступа на изменение конфигурационного файла конвейера, но с доступом к файлам, которые им используются).
🍭 Duchess. Извлечение конфиденциальной информации из-за отсутствия «гигиены безопасности» при удалении информации из Git.

Скриншоты, комментарии, объяснения – все на месте! 😊

P.S. CI/CD Goat – уязвимое приложение, которое может быть использовано в обучающих целях для изучения OWASP Top-10 CI/CD Security. Подробнее про него мы писали вот в этом посте.
👍5
Postgres-оператор с возможностью управления postgres extensions на лету.

Всем привет!👋

Сегодня мы хотим затронуть такую интересную тему, как базы данных в кластерах Kubernetes. Существует множество "За" и "Против" такого подхода, однако последнее время все чаще можно встретить статьи и записи докладов, в которых рассказаны реальные кейсы успешного использования баз данных в Kubernetes. Во многом это стало доступным благодаря операторам Kubernetes, которые упрощают процесс создания и управления инстансами БД в кластерах. И сегодня мы поговорим про еще один оператор:

Представляем вам Tembo - Postgres-оператор, написанный на Rust!

В основе оператора лежит другой, давно полюбившийся и считающийся одним из лучших CloudNativePG. Казалось бы, зачем писать еще один оператор, основанный на уже имеющемся?🤔 Но разработчики добавили несколько интересных концепций, которые, как нам кажется, многим будут полезны. А именно:

🎹 Концепция Stacks: заранее сконфигурированные и оптимизированные образы postgres для самых распространенных случаев
🎹 Возможность добавления postgres extensions на лету из репозитория Trunk! Вот уж, пожалуй, одна из самых полезных возможностей оператора! Теперь не нужно каждый раз пересобирать образ, если вдруг потребовалось добавить какое-то расширение!

Стоит ли использовать базы данных в Kubernetes для продакшена - вопрос по прежнему открытый, но в любом случае, рекомендуем подробнее почитать и может быть даже попробовать этот оператор!
👍6🔥2🥰2
Всем привет!

Рынок DevSecOps в РФ не стоит на месте и стремительно развивается!!!

В связи с этим у нас появился вопрос – «А чего, на Ваш взгляд, сейчас не хватает больше всего?» (если говорить по автоматизацию).

Поэтому мы сделали простой опрос, который просим пройти и сделать repost, чтобы получить более точные данные (насколько это возможно для статистики 😊)
👍6
Получение образа из Dockerhub: как оно происходит?

Всем привет!

Еще одна обзорная статья, которая позволяет чуть глубже погрузиться в то, что «происходит под капотом». Допустим, была запущена команда kubectl  run pod –image=myimage.

Что произойдет дальше? Откуда образ появится на узле? Кто это делает? Что, помимо самого образа, хранится в реестре? Как работает layer cache и как определяются слои, которые уже есть?

Если вам интересно найти ответы – они есть в статье, включая удобные диаграммы последовательности между Runtime и Registry.

Завершает статью достаточно забавный разбор, связанный с ErrImagePull: Too Many Requests от Dockerhub. Чтобы такого не допустить, устанавливается Private Proxy Cache Registry. Количество запросов к Dockerhub замеряется снова.

Конечно, результат будет уже другой и понятно почему, но все равно интересно посмотреть на диаграммы взаимодействия и количество совершаемых запросов.
👍82
Цепочка повышения привилегий в GKE

Всем привет!

Статья от Unit42 (Palo Alto) описывает сценарий повышения привилегий до уровня Cluster Admin в GKE.

Есть несколько допущений. Первое: злоумышленник уже обладает доступом к кластеру Kubernetes. Как именно? – ответ на этот вопрос не является частью статьи. Второе: на кластере установлен и используется Anthos (вариация Istio от Google).

Что дальше? Все достаточно просто! Сценарий, следующий:
🍭 Эксплуатация уязвимостей в контейнерах FluentBit. Это нужно, т.к. в GKE у него есть mount к /var/lib/kubelet/pods и, как следствие, доступ к ServiceAccount Tokens
🍭 Поиск token’a Anthos и его дальнейшее использование для создания pod в namespace kube-system
🍭 Предоставление создаваемому pod роли clusterrole-aggregation-controller, обладающий повышенными привилегиями
🍭 Повтор «трюка» с FluentBit для получения token’a только что созданного pod

Завершает статью набор советов и рекомендаций, позволяющих запретить / сильно осложнить реализацию того, что написано выше. Все, как обычно – контроль доступа, контроль конфигураций, устранение избыточных полномочий и контроль изменений. Вроде бы просто, но на деле это не совсем так, особенно на большим масштабах 😊
👍5
Как найти 18 000 API Token в интернете?

Всем привет!

Команда Escape провела исследование 1 миллиона доменов в интернете, с целью поиска чувствительной информации. В итоге ребятам удалось найти 18 000 API Token, использование 41% которых могло нанести вред организациям (большинство из них было в JS коде).

Для этого ребята воспользовались алгоритмом:
🍭 Разработка специализированного web spider с использованием Golang
🍭 Анализ полученных данных осуществлялся с использованием собственной разработки Escape
🍭 Выбор целей для анализа на основе сведений от Majestic Million
🍭 Использование Kubernetes для управления нагрузкой на получившуюся системы – одновременно работали 150 instance’ов
🍭 69 часов на сбор информации, 189.466.870 URL, получение заветных API Token

Больше подробностей про исследование можно найти в отчете от Escape (~ 23 страницы), который мы направим в следующем посте.
👍51
Cvemap: обогащение информации об уязвимостях

Всем привет!

Год от года уязвимостей становится все больше и без того непростой процесс их устранения становится еще более сложным.

По этой причине появляются проекты, основная задача которых упростить процесс расстановки приоритетов в устранении уязвимостей. Реализуется это за счет консолидации информации из разных источников с целью предоставления пользователя достаточного (по возможности) количества данных для принятия решений.

Одним из таких проектов стал Cvemap. Он агрегирует информацию из таких источников как:
🍭 Known Exploited Vulnerability Catalog (KEVC). Информация о наличии exploit для уязвимости
🍭 Exploit Prediction Scoring System (EPSS). Оценка вероятности эксплуатации уязвимости
🍭 Proof of Concept (POCs). Примеры того, как можно эксплуатировать уязвимость
🍭 Nuclei Templates и не только. Наличие шаблонов поиска уязвимости с использованием Nuclei

Вся эта информация может упростить процесс управления уязвимостями. С исходным кодом проекта, а так же примерами его запуска можно ознакомиться в GitHub Repo.
6👍4
В чем отличие между Docker контейнерами и подами в Kubernetes?

Всем привет!

Может показаться, что ответ на этот вопрос очевидный: мы привыкли к тому, что поды - это просто абстракция над контейнерами. Однако это не совсем так...

В этой интерактивной статье автор детально изучает что же на самом деле происходит при запуске контейнеров и подов, и отвечает на некоторые интересные вопросы:

🎹 Какие linux namespaces создаются при запуске Docker контейнеров и подов Kubernetes?
🎹 Как контейнеры и поды работают с Linux cgroups?
🎹 Можно ли запустить настоящий Kubernetes под без Kubernetes?

Статья будет интересна как начинающим DevOps инженерам, так и продвинутым специалистам, которые хотят детально знать, что же происходит в операционной системе "под капотом". А так же на сайте много других полезных обучающих статей!
👍12🔥6🥰21
Kubernetes: как усложнить себе жизнь?

Всем привет!

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

В статье Автор предлагает рассмотреть следующие anti-patterns:
🍭 Отсутствие Request для ресурсов
🍭 Недостаток мониторинга и журналирования
🍭 Очень привилегированные контейнеры (когда зачастую этого не требуется, но так проще «стартовать»)
🍭 Использование namespace Default для создания ресурсов
🍭 Не использование PodDisruptionBudget
🍭 Не использование podAntiAffinity и не только

Для каждого «вредного совета» Автор описывает почему так делать не стоит, а также приводит примеры того, «как правильно».

Если совсем просто – Kubernetes не волшебная технология и не делает все самостоятельно, очень во многом ему надо «помогать», чтобы он работал так, как хочется пользователям.
👍10🔥31🤩1
Обновление Testing Handbook и правил Semgrep

Всем привет!

Trail of Bits продолжают радовать своими наработками, которыми они делятся с сообществом. Testing Hanbook (о котором мы писали тут) был расширен разделом по CodeQL.

В нем можно найти:
🍭 Installation and first steps
🍭 Advanced usage
🍭 Continuous integration
🍭 Additional resources

Кроме этого, команда поделилась 30-ю правилами для Semgrep. Они позволяют анализировать Ansible, Java, Kotlin, Shell-скрипты и не только. Например, можно искать попытки загрузки чего-либо через http`\`ftp, отключение проверки SSL и много всего еще.

Подробнее про правила можно почитать в статье, а ознакомиться с ними в GitHub Repo.
2👍2
Kubernetes: security-oriented scheduling стратегии

Всем привет!

Читая статьи про безопасность Kubernetes чаще всего можно встретить упоминание важности RBAC, сетевой изоляции и Network Policy, использования Admission Controller для анализа манифестов с целью дальнейшего принятия решения о возможности создания ресурса и много чего еще.

Однако, крайне редко где-то упоминается очень сильная возможность Kubernetes – контролируемый scheduling, который, в том числе, может быть полезен и ИБ. Самый простой пример – сокращение поверхности атаки (если критичное отделено от не критичного) и затруднение lateral movement.

Команда Doyensec в своей статье разбирает возможные способы управления выбором целевых узлов:
🍭 nodeSelector
🍭 nodeName
🍭 (Anti) Affinity
🍭 Taints and Tolerations
🍭 Создание собственного Scheduler

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

В завершении статьи предоставляются рекомендации о том, на что стоит обратить внимание при создании собственной security-oriented scheduling стратегии.
👍5🔥42
Валидация API Token

Всем привет!

Leakey – bash скрипт, который позволит проверить валидность учетных данных (API Token), полученных, например, при проведении penetration test или при проведении reconnaissance.

«Внутри» уже есть проверки для:
🍭 Slack
🍭 GitHub
🍭 GitLab
🍭 Microsoft Azure и много чего еще

Если чего-то не хватает, то функционал можно просто расширить. Потребуется лишь дописать конфигурацию в файл signatures.json
👍8
Kubernetes OWASP Top 10: Comprehensive Guide

Всем привет!

По ссылке доступен массивный разбор (~ 23 минуты чтения) практик обеспечения информационной безопасности Kubernetes, описанных в OWASP Top 10.

Рассматриваются такие области, как:
🍭 Misconfigurations
🍭 RBAC: control and audit
🍭 Network Segmentation
🍭 Logging and monitoring и не только

Каждый раздел детально описывается: приводятся примеры и лучшие практики, способы как можно выполнять рекомендации. Дополнительно Автор описывает утилиты, которые могут быть использованы для автоматизации. Например, Kube-Bench, OPA, Prometheus, KubeView, RBAC Audit и еще много всего.

Материал может стать как отличным началом пути в обеспечении ИБ Kubernetes, так и источником «чего-то нового».
🔥6👍3
Glasskube: пакетный менеджер для Kubernetes

Всем привет!

Недавно был представлен проект Glasskube, позиционирующий себя как пакетный менеджер для Kubernetes.

Основной задачей, которую он призван решить, является помощь в установке ПО и поддержании его в актуальном состоянии. Сделать это можно как с использованием GUI, так и с использованием CLI.

Пока что с использованием Glasskube можно установить 4 пакета:
🍭 Cert Manager
🍭 Ingress Nginx Controller
🍭 Kubernetes dashboard (кто бы знал зачем)
🍭 Cyclops

Из планов – добавление популярных инструментов: Prometheus, Velero, GitLab, KeyCloak, HashiCorp Vault и т.д. Если в голове сразу появился вопрос – «Хм, у меня есть Helm, зачем мне Glasskube?», то у ребят есть ответ на это.

С одной стороны выглядит интересно, с другой – не очень понятно зачем нужно подобное ПО в уже и без того плотной «экосистеме» Kubernetes. А что Вы думаете по этому поводу?
👍91
Анализ безопасности GitHub Actions

Всем привет!

Герой сегодняшнего поста – Raven – open source утилита, которая позволяет анализировать ИБ в GitHub Actions.

Работает по следующему алгоритму:
🍭 Скачивает данные о CI-конвейере
🍭 Обрабатывает полученные данные и помещает их в Neo4j базу данных
🍭 Обрабатывает полученные данные с использованием запросов. Ознакомиться с ними можно тут
🍭 Предоставляет отчет о проделанной работе

С его помощь можно идентифицировать уязвимости типа Injection, например: Issue, Pull Request, Workflow Run и CodeSee. По каждой из указанных уязвимостей в repo проекта можно ознакомиться с описанием, принципом работы и способами противодействия.

В завершении readme.md можно найти Hall of Fame – перечень проектов, в которых были найдены недостатки, включая такие проекты как Docker-Slim и OpenSSF Scorecard
1
Безопасность CI/CD: обзор

Всем привет!

Легкая пятничная статья, посвященная безопасности CI/CD. Авторы, без погружения в детали, разбирают наиболее важные моменты.

В статье можно найти информацию:
🍭 О том, что такое CI/CD pipeline
🍭 Какие риски ИБ могут быть реализованы в случае недостаточного контроля
🍭 Почему безопасность CI/CD это важно
🍭 Какие есть лучшие практики, которые можно использовать

Хоть в статье и нет деталей, зато есть много ссылок на реальные инциденты или материалы, детализирующие вопросы обеспечения ИБ CI/CD
👍11
Управление уязвимостями в образах контейнеров

Всем привет!

В ИБ-мире средств контейнеризации и контейнерной оркестрации очень много интересных тем – от того, как правильно настроить кластер, до обеспечения runtime-защиты запущенных контейнеров.

Зачастую, специалисты начинают свой путь в рассматриваемой сфере с управления уязвимостями (оставим за скобками насколько нужно на этом фокусироваться).

Для того, чтобы структурировать знания, предлагаем Вам обратить внимание на статью. Сперва Авторы разбирают общую терминологию, а дальше углубляются в вопросы управления уязвимостями в образах контейнеров.

Рассматриваются:
🍭 Base Images
🍭 Enterprise Images
🍭 Application и Builder Images
🍭 Custom Of The Shelf (COTS), образы, получаемы от Vendor

Далее Авторы обращают внимание на вопросы, характерные для patch management. В завершении статьи рассматриваются лучшие «точки встраивания» сканеров для идентификации уязвимостей, а также потенциальные сложности, с которыми скорее всего придется столкнуться.
🔥7👍2