uk
Feedback

Не попадись на ботовода! Telemetrio знаходить і позначає такі канали мітками 👉 Хочеш бачити мітку, оформляй підписку

DevSecOps Talks

DevSecOps Talks

Відкрити в Telegram

Рассказываем об актуальном в мире DevSecOps. Канал DevSecOps-команды "Инфосистемы Джет"

Показати більше
8 070
Підписники
Немає даних24 години
+47 днів
+3330 днів
Архів дописів
Управление уязвимостями в образах контейнеров Всем привет! В ИБ-мире средств контейнеризации и контейнерной оркестрации очень много интересных тем – от того, как правильно настроить кластер до обеспечения runtime-защиты запущенных контейнеров. Зачастую, специалисты начинают свой путь в рассматриваемой сфере с управления уязвимостями (оставим за скобками насколько нужно на этом фокусироваться). Для того, чтобы структурировать знания, предлагаем Вам обратить вниманием на статью. Сперва Авторы разбирают общую терминологию, а дальше углубляются в вопросы управления уязвимостями в образах контейнеров. Рассматриваются: 🍭 Base Images 🍭 Enterprise Images 🍭 Application и Builder Images 🍭 Custom Of The Shelf (COTS), образы, получаемы от Vendor Далее Авторы обращают внимание на вопросы, характерные для patch management. В завершении статьи рассматриваются лучшие «точки встраивания» сканеров для идентификации уязвимостей, а также потенциальные сложности, с которыми скорее всего придется столкнуться.

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

Анализ безопасности 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

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. А что Вы думаете по этому поводу?

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, так и источником «чего-то нового».

Валидация API Token Всем привет! Leakey – bash скрипт, который позволит проверить валидность учетных данных (API Token), полученных, например, при проведении penetration test или при проведении reconnaissance. «Внутри» уже есть проверки для: 🍭 Slack 🍭 GitHub 🍭 GitLab 🍭 Microsoft Azure и много чего еще Если чего-то не хватает, то функционал можно просто расширить. Потребуется лишь дописать конфигурацию в файл signatures.json

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 стратегии.

Обновление 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.

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

В чем отличие между Docker контейнерами и подами в Kubernetes? Всем привет! Может показаться, что ответ на этот вопрос очевидный: мы привыкли к тому, что поды - это просто абстракция над контейнерами. Однако это не совсем так... В этой интерактивной статье автор детально изучает что же на самом деле происходит при запуске контейнеров и подов, и отвечает на некоторые интересные вопросы: 🎹 Какие linux namespaces создаются при запуске Docker контейнеров и подов Kubernetes? 🎹 Как контейнеры и поды работают с Linux cgroups? 🎹 Можно ли запустить настоящий Kubernetes под без Kubernetes? Статья будет интересна как начинающим DevOps инженерам, так и продвинутым специалистам, которые хотят детально знать, что же происходит в операционной системе "под капотом". А так же на сайте много других полезных обучающих статей!

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

И тот самый отчет 😊

Как найти 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 страницы), который мы направим в следующем посте.

Цепочка повышения привилегий в 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 Завершает статью набор советов и рекомендаций, позволяющих запретить / сильно осложнить реализацию того, что написано выше. Все, как обычно – контроль доступа, контроль конфигураций, устранение избыточных полномочий и контроль изменений. Вроде бы просто, но на деле это не совсем так, особенно на большим масштабах 😊

Получение образа из Dockerhub: как оно происходит? Всем привет! Еще одна обзорная статья, которая позволяет чуть глубже погрузиться в то, что «происходит под капотом». Допустим, была запущена команда kubectl  run pod –image=myimage. Что произойдет дальше? Откуда образ появится на узле? Кто это делает? Что, помимо самого образа, хранится в реестре? Как работает layer cache и как определяются слои, которые уже есть? Если вам интересно найти ответы – они есть в статье, включая удобные диаграммы последовательности между Runtime и Registry. Завершает статью достаточно забавный разбор, связанный с ErrImagePull: Too Many Requests от Dockerhub. Чтобы такого не допустить, устанавливается Private Proxy Cache Registry. Количество запросов к Dockerhub замеряется снова. Конечно, результат будет уже другой и понятно почему, но все равно интересно посмотреть на диаграммы взаимодействия и количество совершаемых запросов.

На рынке РФ мне больше всего не хватает…
Anonymous voting

Всем привет! Рынок DevSecOps в РФ не стоит на месте и стремительно развивается!!! В связи с этим у нас появился вопрос – «А чего, на Ваш взгляд, сейчас не хватает больше всего?» (если говорить по автоматизацию). Поэтому мы сделали простой опрос, который просим пройти и сделать repost, чтобы получить более точные данные (насколько это возможно для статистики 😊)

Postgres-оператор с возможностью управления postgres extensions на лету. Всем привет!👋 Сегодня мы хотим затронуть такую интересную тему, как базы данных в кластерах Kubernetes. Существует множество "За" и "Против" такого подхода, однако последнее время все чаще можно встретить статьи и записи докладов, в которых рассказаны реальные кейсы успешного использования баз данных в Kubernetes. Во многом это стало доступным благодаря операторам Kubernetes, которые упрощают процесс создания и управления инстансами БД в кластерах. И сегодня мы поговорим про еще один оператор: Представляем вам Tembo - Postgres-оператор, написанный на Rust! В основе оператора лежит другой, давно полюбившийся и считающийся одним из лучших CloudNativePG. Казалось бы, зачем писать еще один оператор, основанный на уже имеющемся?🤔 Но разработчики добавили несколько интересных концепций, которые, как нам кажется, многим будут полезны. А именно: 🎹 Концепция Stacks: заранее сконфигурированные и оптимизированные образы postgres для самых распространенных случаев 🎹 Возможность добавления postgres extensions на лету из репозитория Trunk! Вот уж, пожалуй, одна из самых полезных возможностей оператора! Теперь не нужно каждый раз пересобирать образ, если вдруг потребовалось добавить какое-то расширение! Стоит ли использовать базы данных в Kubernetes для продакшена - вопрос по прежнему открытый, но в любом случае, рекомендуем подробнее почитать и может быть даже попробовать этот оператор!

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. Подробнее про него мы писали вот в этом посте.

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