Postgres-оператор с возможностью управления postgres extensions на лету.
Всем привет!👋
Сегодня мы хотим затронуть такую интересную тему, как базы данных в кластерах Kubernetes. Существует множество "За" и "Против" такого подхода, однако последнее время все чаще можно встретить статьи и записи докладов, в которых рассказаны реальные кейсы успешного использования баз данных в Kubernetes. Во многом это стало доступным благодаря операторам Kubernetes, которые упрощают процесс создания и управления инстансами БД в кластерах. И сегодня мы поговорим про еще один оператор:
Представляем вам Tembo - Postgres-оператор, написанный на Rust!
В основе оператора лежит другой, давно полюбившийся и считающийся одним из лучших CloudNativePG. Казалось бы, зачем писать еще один оператор, основанный на уже имеющемся?🤔 Но разработчики добавили несколько интересных концепций, которые, как нам кажется, многим будут полезны. А именно:
🎹 Концепция Stacks: заранее сконфигурированные и оптимизированные образы postgres для самых распространенных случаев
🎹 Возможность добавления postgres extensions на лету из репозитория Trunk! Вот уж, пожалуй, одна из самых полезных возможностей оператора! Теперь не нужно каждый раз пересобирать образ, если вдруг потребовалось добавить какое-то расширение!
Стоит ли использовать базы данных в Kubernetes для продакшена - вопрос по прежнему открытый, но в любом случае, рекомендуем подробнее почитать и может быть даже попробовать этот оператор!
Всем привет!👋
Сегодня мы хотим затронуть такую интересную тему, как базы данных в кластерах Kubernetes. Существует множество "За" и "Против" такого подхода, однако последнее время все чаще можно встретить статьи и записи докладов, в которых рассказаны реальные кейсы успешного использования баз данных в Kubernetes. Во многом это стало доступным благодаря операторам Kubernetes, которые упрощают процесс создания и управления инстансами БД в кластерах. И сегодня мы поговорим про еще один оператор:
Представляем вам Tembo - Postgres-оператор, написанный на Rust!
В основе оператора лежит другой, давно полюбившийся и считающийся одним из лучших CloudNativePG. Казалось бы, зачем писать еще один оператор, основанный на уже имеющемся?🤔 Но разработчики добавили несколько интересных концепций, которые, как нам кажется, многим будут полезны. А именно:
🎹 Концепция Stacks: заранее сконфигурированные и оптимизированные образы postgres для самых распространенных случаев
🎹 Возможность добавления postgres extensions на лету из репозитория Trunk! Вот уж, пожалуй, одна из самых полезных возможностей оператора! Теперь не нужно каждый раз пересобирать образ, если вдруг потребовалось добавить какое-то расширение!
Стоит ли использовать базы данных в Kubernetes для продакшена - вопрос по прежнему открытый, но в любом случае, рекомендуем подробнее почитать и может быть даже попробовать этот оператор!
👍6🔥2🥰2
Всем привет!
Рынок DevSecOps в РФ не стоит на месте и стремительно развивается!!!
В связи с этим у нас появился вопрос – «А чего, на Ваш взгляд, сейчас не хватает больше всего?» (если говорить по автоматизацию).
Поэтому мы сделали простой опрос, который просим пройти и сделать repost, чтобы получить более точные данные (насколько это возможно для статистики 😊)
Рынок DevSecOps в РФ не стоит на месте и стремительно развивается!!!
В связи с этим у нас появился вопрос – «А чего, на Ваш взгляд, сейчас не хватает больше всего?» (если говорить по автоматизацию).
Поэтому мы сделали простой опрос, который просим пройти и сделать repost, чтобы получить более точные данные (насколько это возможно для статистики 😊)
👍6
Получение образа из Dockerhub: как оно происходит?
Всем привет!
Еще одна обзорная статья, которая позволяет чуть глубже погрузиться в то, что «происходит под капотом». Допустим, была запущена команда
Что произойдет дальше? Откуда образ появится на узле? Кто это делает? Что, помимо самого образа, хранится в реестре? Как работает layer cache и как определяются слои, которые уже есть?
Если вам интересно найти ответы – они есть в статье, включая удобные диаграммы последовательности между Runtime и Registry.
Завершает статью достаточно забавный разбор, связанный с
Конечно, результат будет уже другой и понятно почему, но все равно интересно посмотреть на диаграммы взаимодействия и количество совершаемых запросов.
Всем привет!
Еще одна обзорная статья, которая позволяет чуть глубже погрузиться в то, что «происходит под капотом». Допустим, была запущена команда
kubectl run pod –image=myimage.Что произойдет дальше? Откуда образ появится на узле? Кто это делает? Что, помимо самого образа, хранится в реестре? Как работает layer cache и как определяются слои, которые уже есть?
Если вам интересно найти ответы – они есть в статье, включая удобные диаграммы последовательности между Runtime и Registry.
Завершает статью достаточно забавный разбор, связанный с
ErrImagePull: Too Many Requests от Dockerhub. Чтобы такого не допустить, устанавливается Private Proxy Cache Registry. Количество запросов к Dockerhub замеряется снова.Конечно, результат будет уже другой и понятно почему, но все равно интересно посмотреть на диаграммы взаимодействия и количество совершаемых запросов.
Medium
Exploring OCI Container Registries by Use Case: Pull a Public Image from Kubernetes
Pull A Public Container Image
👍8❤2
Цепочка повышения привилегий в GKE
Всем привет!
Статья от Unit42 (Palo Alto) описывает сценарий повышения привилегий до уровня Cluster Admin в GKE.
Есть несколько допущений. Первое: злоумышленник уже обладает доступом к кластеру Kubernetes. Как именно? – ответ на этот вопрос не является частью статьи. Второе: на кластере установлен и используется Anthos (вариация Istio от Google).
Что дальше? Все достаточно просто! Сценарий, следующий:
🍭 Эксплуатация уязвимостей в контейнерах FluentBit. Это нужно, т.к. в GKE у него есть mount к
🍭 Поиск token’a Anthos и его дальнейшее использование для создания
🍭 Предоставление создаваемому
🍭 Повтор «трюка» с FluentBit для получения token’a только что созданного
Завершает статью набор советов и рекомендаций, позволяющих запретить / сильно осложнить реализацию того, что написано выше. Все, как обычно – контроль доступа, контроль конфигураций, устранение избыточных полномочий и контроль изменений. Вроде бы просто, но на деле это не совсем так, особенно на большим масштабах 😊
Всем привет!
Статья от 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Завершает статью набор советов и рекомендаций, позволяющих запретить / сильно осложнить реализацию того, что написано выше. Все, как обычно – контроль доступа, контроль конфигураций, устранение избыточных полномочий и контроль изменений. Вроде бы просто, но на деле это не совсем так, особенно на большим масштабах 😊
Unit 42
Dual Privilege Escalation Chain: Exploiting Monitoring and Service Mesh Configurations and Privileges in GKE to Gain Unauthorized…
Two issues in Google Kubernetes Engine (GKE) create a privilege escalation chain. We examine second-stage attacks which exploit the container environment.
👍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 страницы), который мы направим в следующем посте.
Всем привет!
Команда Escape провела исследование 1 миллиона доменов в интернете, с целью поиска чувствительной информации. В итоге ребятам удалось найти 18 000 API Token, использование 41% которых могло нанести вред организациям
Для этого ребята воспользовались алгоритмом:
🍭 Разработка специализированного web spider с использованием Golang
🍭 Анализ полученных данных осуществлялся с использованием собственной разработки Escape
🍭 Выбор целей для анализа на основе сведений от Majestic Million
🍭 Использование Kubernetes для управления нагрузкой на получившуюся системы – одновременно работали 150 instance’ов
🍭 69 часов на сбор информации, 189.466.870 URL, получение заветных API Token
Больше подробностей про исследование можно найти в отчете от Escape (~ 23 страницы), который мы направим в следующем посте.
Escape DAST - Application Security Blog
How we discovered over 18,000 API secret tokens
Our security team scanned 189.5M URLs and found more than 18,000 exposed API secrets. Explore the methodology.
👍5❤1
State of API Security 2024 - API Secret Sprawl.pdf
5.2 MB
И тот самый отчет 😊
Cvemap: обогащение информации об уязвимостях
Всем привет!
Год от года уязвимостей становится все больше и без того непростой процесс их устранения становится еще более сложным.
По этой причине появляются проекты, основная задача которых упростить процесс расстановки приоритетов в устранении уязвимостей. Реализуется это за счет консолидации информации из разных источников с целью предоставления пользователя достаточного (по возможности) количества данных для принятия решений.
Одним из таких проектов стал Cvemap. Он агрегирует информацию из таких источников как:
🍭 Known Exploited Vulnerability Catalog (KEVC). Информация о наличии exploit для уязвимости
🍭 Exploit Prediction Scoring System (EPSS). Оценка вероятности эксплуатации уязвимости
🍭 Proof of Concept (POCs). Примеры того, как можно эксплуатировать уязвимость
🍭 Nuclei Templates и не только. Наличие шаблонов поиска уязвимости с использованием Nuclei
Вся эта информация может упростить процесс управления уязвимостями. С исходным кодом проекта, а так же примерами его запуска можно ознакомиться в GitHub Repo.
Всем привет!
Год от года уязвимостей становится все больше и без того непростой процесс их устранения становится еще более сложным.
По этой причине появляются проекты, основная задача которых упростить процесс расстановки приоритетов в устранении уязвимостей. Реализуется это за счет консолидации информации из разных источников с целью предоставления пользователя достаточного (по возможности) количества данных для принятия решений.
Одним из таких проектов стал Cvemap. Он агрегирует информацию из таких источников как:
🍭 Known Exploited Vulnerability Catalog (KEVC). Информация о наличии exploit для уязвимости
🍭 Exploit Prediction Scoring System (EPSS). Оценка вероятности эксплуатации уязвимости
🍭 Proof of Concept (POCs). Примеры того, как можно эксплуатировать уязвимость
🍭 Nuclei Templates и не только. Наличие шаблонов поиска уязвимости с использованием Nuclei
Вся эта информация может упростить процесс управления уязвимостями. С исходным кодом проекта, а так же примерами его запуска можно ознакомиться в GitHub Repo.
ProjectDiscovery
Announcing cvemap from ProjectDiscovery — ProjectDiscovery Blog
Security professionals are constantly on guard against cyber threats, especially given the rising number and sophistication of attacks. However, there's a less obvious, yet increasingly alarming "enemy" in cybersecurity: the surge in reported Common Vulnerabilities…
❤6👍4
В чем отличие между Docker контейнерами и подами в Kubernetes?
Всем привет!
Может показаться, что ответ на этот вопрос очевидный: мы привыкли к тому, что поды - это просто абстракция над контейнерами. Однако это не совсем так...
В этой интерактивной статье автор детально изучает что же на самом деле происходит при запуске контейнеров и подов, и отвечает на некоторые интересные вопросы:
🎹 Какие linux namespaces создаются при запуске Docker контейнеров и подов Kubernetes?
🎹 Как контейнеры и поды работают с Linux cgroups?
🎹 Можно ли запустить настоящий Kubernetes под без Kubernetes?
Статья будет интересна как начинающим DevOps инженерам, так и продвинутым специалистам, которые хотят детально знать, что же происходит в операционной системе "под капотом". А так же на сайте много других полезных обучающих статей!
Всем привет!
Может показаться, что ответ на этот вопрос очевидный: мы привыкли к тому, что поды - это просто абстракция над контейнерами. Однако это не совсем так...
В этой интерактивной статье автор детально изучает что же на самом деле происходит при запуске контейнеров и подов, и отвечает на некоторые интересные вопросы:
🎹 Какие linux namespaces создаются при запуске Docker контейнеров и подов Kubernetes?
🎹 Как контейнеры и поды работают с Linux cgroups?
🎹 Можно ли запустить настоящий Kubernetes под без Kubernetes?
Статья будет интересна как начинающим DevOps инженерам, так и продвинутым специалистам, которые хотят детально знать, что же происходит в операционной системе "под капотом". А так же на сайте много других полезных обучающих статей!
iximiuz Labs
Docker Containers vs. Kubernetes Pods - Taking a Deeper Look | iximiuz Labs
Can a Kubernetes Pod be created with plain Docker commands? Learn the difference between Containers and Pods by exploring how they are implemented under the hood.
👍12🔥6🥰2❤1
Kubernetes: как усложнить себе жизнь?
Всем привет!
Статьи о том, как «делать не надо» иногда полезнее тех, в которых рассматриваются лучшие практики и советы о том, как и что лучше сделать.
В статье Автор предлагает рассмотреть следующие anti-patterns:
🍭 Отсутствие Request для ресурсов
🍭 Недостаток мониторинга и журналирования
🍭 Очень привилегированные контейнеры (когда зачастую этого не требуется, но так проще «стартовать»)
🍭 Использование namespace Default для создания ресурсов
🍭 Не использование
🍭 Не использование
Для каждого «вредного совета» Автор описывает почему так делать не стоит, а также приводит примеры того, «как правильно».
Если совсем просто – Kubernetes не волшебная технология и не делает все самостоятельно, очень во многом ему надо «помогать», чтобы он работал так, как хочется пользователям.
Всем привет!
Статьи о том, как «делать не надо» иногда полезнее тех, в которых рассматриваются лучшие практики и советы о том, как и что лучше сделать.
В статье Автор предлагает рассмотреть следующие anti-patterns:
🍭 Отсутствие Request для ресурсов
🍭 Недостаток мониторинга и журналирования
🍭 Очень привилегированные контейнеры (когда зачастую этого не требуется, но так проще «стартовать»)
🍭 Использование namespace Default для создания ресурсов
🍭 Не использование
PodDisruptionBudget🍭 Не использование
podAntiAffinity и не толькоДля каждого «вредного совета» Автор описывает почему так делать не стоит, а также приводит примеры того, «как правильно».
Если совсем просто – Kubernetes не волшебная технология и не делает все самостоятельно, очень во многом ему надо «помогать», чтобы он работал так, как хочется пользователям.
👍10🔥3❤1🤩1
Обновление Testing Handbook и правил Semgrep
Всем привет!
Trail of Bits продолжают радовать своими наработками, которыми они делятся с сообществом. Testing Hanbook (о котором мы писали тут) был расширен разделом по CodeQL.
В нем можно найти:
🍭 Installation and first steps
🍭 Advanced usage
🍭 Continuous integration
🍭 Additional resources
Кроме этого, команда поделилась 30-ю правилами для Semgrep. Они позволяют анализировать
Подробнее про правила можно почитать в статье, а ознакомиться с ними в GitHub Repo.
Всем привет!
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.
Testing Handbook
Introduction
The automated testing handbook is a resource that guides developers and security professionals in configuring, optimizing, and automating many of the static and dynamic analysis tools we use at Trail of Bits.
❤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 стратегии.
Всем привет!
Читая статьи про безопасность Kubernetes чаще всего можно встретить упоминание важности RBAC, сетевой изоляции и Network Policy, использования Admission Controller для анализа манифестов с целью дальнейшего принятия решения о возможности создания ресурса и много чего еще.
Однако, крайне редко где-то упоминается очень сильная возможность Kubernetes – контролируемый scheduling, который, в том числе, может быть полезен и ИБ. Самый простой пример – сокращение поверхности атаки (если критичное отделено от не критичного) и затруднение lateral movement.
Команда Doyensec в своей статье разбирает возможные способы управления выбором целевых узлов:
🍭 nodeSelector
🍭 nodeName
🍭 (Anti) Affinity
🍭 Taints and Tolerations
🍭 Создание собственного Scheduler
Для каждого из рассмотренных способов приводятся его сильные и слабые стороны, а также комментарии про то, кто «выиграет», если в конфигурации будет указано сразу несколько вариантов «фильтрации».
В завершении статьи предоставляются рекомендации о том, на что стоит обратить внимание при создании собственной security-oriented scheduling стратегии.
👍5🔥4❤2
Валидация API Token
Всем привет!
Leakey – bash скрипт, который позволит проверить валидность учетных данных (API Token), полученных, например, при проведении penetration test или при проведении reconnaissance.
«Внутри» уже есть проверки для:
🍭 Slack
🍭 GitHub
🍭 GitLab
🍭 Microsoft Azure и много чего еще
Если чего-то не хватает, то функционал можно просто расширить. Потребуется лишь дописать конфигурацию в файл
Всем привет!
Leakey – bash скрипт, который позволит проверить валидность учетных данных (API Token), полученных, например, при проведении penetration test или при проведении reconnaissance.
«Внутри» уже есть проверки для:
🍭 Slack
🍭 GitHub
🍭 GitLab
🍭 Microsoft Azure и много чего еще
Если чего-то не хватает, то функционал можно просто расширить. Потребуется лишь дописать конфигурацию в файл
signatures.jsonGitHub
GitHub - rynosec/LEAKEY: LEAKEY is a bash noscript which checks and validates for leaked credentials. The idea behind LEAKEY is to…
LEAKEY is a bash noscript which checks and validates for leaked credentials. The idea behind LEAKEY is to make it highly customizable and easy to add checks for new services. - rynosec/LEAKEY
👍8
Kubernetes OWASP Top 10: Comprehensive Guide
Всем привет!
По ссылке доступен массивный разбор (~ 23 минуты чтения) практик обеспечения информационной безопасности Kubernetes, описанных в OWASP Top 10.
Рассматриваются такие области, как:
🍭 Misconfigurations
🍭 RBAC: control and audit
🍭 Network Segmentation
🍭 Logging and monitoring и не только
Каждый раздел детально описывается: приводятся примеры и лучшие практики, способы как можно выполнять рекомендации. Дополнительно Автор описывает утилиты, которые могут быть использованы для автоматизации. Например,
Материал может стать как отличным началом пути в обеспечении ИБ Kubernetes, так и источником «чего-то нового».
Всем привет!
По ссылке доступен массивный разбор (~ 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. А что Вы думаете по этому поводу?
Всем привет!
Недавно был представлен проект Glasskube, позиционирующий себя как пакетный менеджер для Kubernetes.
Основной задачей, которую он призван решить, является помощь в установке ПО и поддержании его в актуальном состоянии. Сделать это можно как с использованием GUI, так и с использованием CLI.
Пока что с использованием Glasskube можно установить 4 пакета:
🍭 Cert Manager
🍭 Ingress Nginx Controller
🍭 Kubernetes dashboard
🍭 Cyclops
Из планов – добавление популярных инструментов: Prometheus, Velero, GitLab, KeyCloak, HashiCorp Vault и т.д. Если в голове сразу появился вопрос – «Хм, у меня есть Helm, зачем мне Glasskube?», то у ребят есть ответ на это.
С одной стороны выглядит интересно, с другой – не очень понятно зачем нужно подобное ПО в уже и без того плотной «экосистеме» Kubernetes. А что Вы думаете по этому поводу?
GitHub
GitHub - glasskube/glasskube: 🧊 The next generation Package Manager for Kubernetes 📦 Featuring a GUI and a CLI. Glasskube packages…
🧊 The next generation Package Manager for Kubernetes 📦 Featuring a GUI and a CLI. Glasskube packages are dependency aware, GitOps ready and can get automatic updates via a central public package re...
👍9❤1
Анализ безопасности GitHub Actions
Всем привет!
Герой сегодняшнего поста – Raven – open source утилита, которая позволяет анализировать ИБ в GitHub Actions.
Работает по следующему алгоритму:
🍭 Скачивает данные о CI-конвейере
🍭 Обрабатывает полученные данные и помещает их в Neo4j базу данных
🍭 Обрабатывает полученные данные с использованием запросов. Ознакомиться с ними можно тут
🍭 Предоставляет отчет о проделанной работе
С его помощь можно идентифицировать уязвимости типа Injection, например: Issue, Pull Request, Workflow Run и CodeSee. По каждой из указанных уязвимостей в repo проекта можно ознакомиться с описанием, принципом работы и способами противодействия.
В завершении
Всем привет!
Герой сегодняшнего поста – Raven – open source утилита, которая позволяет анализировать ИБ в GitHub Actions.
Работает по следующему алгоритму:
🍭 Скачивает данные о CI-конвейере
🍭 Обрабатывает полученные данные и помещает их в Neo4j базу данных
🍭 Обрабатывает полученные данные с использованием запросов. Ознакомиться с ними можно тут
🍭 Предоставляет отчет о проделанной работе
С его помощь можно идентифицировать уязвимости типа Injection, например: Issue, Pull Request, Workflow Run и CodeSee. По каждой из указанных уязвимостей в repo проекта можно ознакомиться с описанием, принципом работы и способами противодействия.
В завершении
readme.md можно найти Hall of Fame – перечень проектов, в которых были найдены недостатки, включая такие проекты как Docker-Slim и OpenSSF ScorecardGitHub
GitHub - CycodeLabs/raven: CI/CD Security Analyzer
CI/CD Security Analyzer. Contribute to CycodeLabs/raven development by creating an account on GitHub.
❤1
Безопасность CI/CD: обзор
Всем привет!
Легкая пятничная статья, посвященная безопасности CI/CD. Авторы, без погружения в детали, разбирают наиболее важные моменты.
В статье можно найти информацию:
🍭 О том, что такое CI/CD pipeline
🍭 Какие риски ИБ могут быть реализованы в случае недостаточного контроля
🍭 Почему безопасность CI/CD это важно
🍭 Какие есть лучшие практики, которые можно использовать
Хоть в статье и нет деталей, зато есть много ссылок на реальные инциденты или материалы, детализирующие вопросы обеспечения ИБ CI/CD
Всем привет!
Легкая пятничная статья, посвященная безопасности CI/CD. Авторы, без погружения в детали, разбирают наиболее важные моменты.
В статье можно найти информацию:
🍭 О том, что такое CI/CD pipeline
🍭 Какие риски ИБ могут быть реализованы в случае недостаточного контроля
🍭 Почему безопасность CI/CD это важно
🍭 Какие есть лучшие практики, которые можно использовать
Хоть в статье и нет деталей, зато есть много ссылок на реальные инциденты или материалы, детализирующие вопросы обеспечения ИБ CI/CD
Cycode
CI/CD Pipeline Security: Best Practices Beyond Build and Deploy - Cycode
CI/CD pipelines have become the foundation on which all DevOps processes are built. They are also under attack.
👍11
Управление уязвимостями в образах контейнеров
Всем привет!
В ИБ-мире средств контейнеризации и контейнерной оркестрации очень много интересных тем – от того, как правильно настроить кластер, до обеспечения runtime-защиты запущенных контейнеров.
Зачастую, специалисты начинают свой путь в рассматриваемой сфере с управления уязвимостями(оставим за скобками насколько нужно на этом фокусироваться) .
Для того, чтобы структурировать знания, предлагаем Вам обратить внимание на статью. Сперва Авторы разбирают общую терминологию, а дальше углубляются в вопросы управления уязвимостями в образах контейнеров.
Рассматриваются:
🍭 Base Images
🍭 Enterprise Images
🍭 Application и Builder Images
🍭 Custom Of The Shelf (COTS), образы, получаемы от Vendor
Далее Авторы обращают внимание на вопросы, характерные для patch management. В завершении статьи рассматриваются лучшие «точки встраивания» сканеров для идентификации уязвимостей, а также потенциальные сложности, с которыми скорее всего придется столкнуться.
Всем привет!
В ИБ-мире средств контейнеризации и контейнерной оркестрации очень много интересных тем – от того, как правильно настроить кластер, до обеспечения runtime-защиты запущенных контейнеров.
Зачастую, специалисты начинают свой путь в рассматриваемой сфере с управления уязвимостями
Для того, чтобы структурировать знания, предлагаем Вам обратить внимание на статью. Сперва Авторы разбирают общую терминологию, а дальше углубляются в вопросы управления уязвимостями в образах контейнеров.
Рассматриваются:
🍭 Base Images
🍭 Enterprise Images
🍭 Application и Builder Images
🍭 Custom Of The Shelf (COTS), образы, получаемы от Vendor
Далее Авторы обращают внимание на вопросы, характерные для patch management. В завершении статьи рассматриваются лучшие «точки встраивания» сканеров для идентификации уязвимостей, а также потенциальные сложности, с которыми скорее всего придется столкнуться.
DZone
Patch Management and Container Security
This article explores the importance of keeping things secure in container systems, specifically by managing patches and dealing with vulnerabilities.
🔥7👍2
Подделка signed commit в GitHub
Всем привет!
В небольшой статье Автор описывает интересный bug, благодаря которому можно было подделывать signed commit в GitHub от имени любого пользователя.
К сожалению, Автор не описывает что именно натолкнуло его на эту мысль, но он решил исследовать GitHub Enterprise Server путем деобфускации исходного кода Ruby.
Это позволило ему лучше понять процесс того, что происходит «под капотом» и какая последовательность действий осуществляется.
Проанализировав одну функцию Автор заметил, что поле с именем author commit'a проверяется регулярным выражением:
Однако, такая «регулярка» никак не отреагирует на… «пустого» пользователя.
Таким образом, добавив несколько полей с author (первое из которых – пустое) проверка «срабатывает», пропускает строку и использует следующее значение по списку.
На текущий момент времени уязвимость устранена(да-да, изменением регулярного выражения 😊) , а больше деталей можно найти в статье.
Всем привет!
В небольшой статье Автор описывает интересный bug, благодаря которому можно было подделывать signed commit в GitHub от имени любого пользователя.
К сожалению, Автор не описывает что именно натолкнуло его на эту мысль, но он решил исследовать GitHub Enterprise Server путем деобфускации исходного кода Ruby.
Это позволило ему лучше понять процесс того, что происходит «под капотом» и какая последовательность действий осуществляется.
Проанализировав одну функцию Автор заметил, что поле с именем author commit'a проверяется регулярным выражением:
/\Aauthor (.+?) <(.+)>/Однако, такая «регулярка» никак не отреагирует на… «пустого» пользователя.
Таким образом, добавив несколько полей с author (первое из которых – пустое) проверка «срабатывает», пропускает строку и использует следующее значение по списку.
На текущий момент времени уязвимость устранена
Smitop
Forging signed commits on GitHub
Creating fake signed commits
👍11❤1😁1
Kubernetes Control Plane as a Pods
Всем привет!
Сегодня уже никого не удивишь большим количеством кластеров Kubernetes в одной компании. Кластера могут создаваться под конкретные среды (dev, test, prod) или под каждую команду разработчиков. Для этого придумали много способов автоматизации процесса подготовки кластеров, такие, как Cluster API. А сегодня мы хотим представить вам еще одну, хоть и не новую уже, концепцию: Hosted Control Plane.
Встречайте Kamaji!
Kamaji предлагает размещать Control Plane в подах, вместо отдельных машин и использовать концепцию операторов для управления множеством control plane'ов.
Основные преимущества, которые выделяют разработчики:
🎹 Быстрое время развертывания кластеров (Control Plane готов принимать трафик в среднем через 16 секунд)
🎹 Оптимизированное обновление. (Обновление версии Kubernetes в среднем проходит за 10 секунд и используются Blue/Green deployments что бы избежать различия в версиях)
🎹 Автоматический скейлинг подов в зависимости от использования кластера
🎹 Возможность использования не только etcd, но и MySQL или PostgreSQL.
Это далеко не полный список того, что предлагает это решение! Но для каких целей оно может использоваться?
🎹 Построение решений типа PaaS
🎹 Создание большого количества private managed Kubernetes services
🎹 Гибридные развертывания (Control Plane в облаке, а workers в частном дата центре)
...и многое другое!
Решение получилось достаточно интересным, а если вам хочется подробнее познакомиться с концепцией Hosted Control Plane in Kubernetes, рекомендуем почитать статью от авторов этого проекта!
Также можно подробнее почитать про термин Multi-tenancy в официальной документации.
Всем привет!
Сегодня уже никого не удивишь большим количеством кластеров Kubernetes в одной компании. Кластера могут создаваться под конкретные среды (dev, test, prod) или под каждую команду разработчиков. Для этого придумали много способов автоматизации процесса подготовки кластеров, такие, как Cluster API. А сегодня мы хотим представить вам еще одну, хоть и не новую уже, концепцию: Hosted Control Plane.
Встречайте Kamaji!
Kamaji предлагает размещать Control Plane в подах, вместо отдельных машин и использовать концепцию операторов для управления множеством control plane'ов.
Основные преимущества, которые выделяют разработчики:
🎹 Быстрое время развертывания кластеров (Control Plane готов принимать трафик в среднем через 16 секунд)
🎹 Оптимизированное обновление. (Обновление версии Kubernetes в среднем проходит за 10 секунд и используются Blue/Green deployments что бы избежать различия в версиях)
🎹 Автоматический скейлинг подов в зависимости от использования кластера
🎹 Возможность использования не только etcd, но и MySQL или PostgreSQL.
Это далеко не полный список того, что предлагает это решение! Но для каких целей оно может использоваться?
🎹 Построение решений типа PaaS
🎹 Создание большого количества private managed Kubernetes services
🎹 Гибридные развертывания (Control Plane в облаке, а workers в частном дата центре)
...и многое другое!
Решение получилось достаточно интересным, а если вам хочется подробнее познакомиться с концепцией Hosted Control Plane in Kubernetes, рекомендуем почитать статью от авторов этого проекта!
Также можно подробнее почитать про термин Multi-tenancy в официальной документации.
GitHub
GitHub - clastix/kamaji: Kamaji is the Hosted Control Plane Manager for Kubernetes.
Kamaji is the Hosted Control Plane Manager for Kubernetes. - clastix/kamaji
👍6🔥4🥰2❤1
WIZ_k8s_4Dummies.pdf
3.5 MB
Kubernetes Security for dummies
Всем привет!
Еще одна электронная книга (~52 страницы) от Wiz, на этот раз посвященная защите контейнеров (предыдущая описывала концепт CNAPP и про нее мы писали тут).
Содержание книги состоит из разделов:
🍭 Living in a Cloud-Native World
🍭 Securing Kubernetes
🍭 Securing Containers
🍭 Keeping Kubernetes Compliant
🍭 Implementing a Container Security Solution
🍭 Ten Kubernetes Security Best Practices
Книга, хоть и не содержит детальных how to, но дает хорошее общее представление о том, на что обращать внимание при проработке концепции защиты кластеров Kubernetes
Всем привет!
Еще одна электронная книга (~52 страницы) от Wiz, на этот раз посвященная защите контейнеров (предыдущая описывала концепт CNAPP и про нее мы писали тут).
Содержание книги состоит из разделов:
🍭 Living in a Cloud-Native World
🍭 Securing Kubernetes
🍭 Securing Containers
🍭 Keeping Kubernetes Compliant
🍭 Implementing a Container Security Solution
🍭 Ten Kubernetes Security Best Practices
Книга, хоть и не содержит детальных how to, но дает хорошее общее представление о том, на что обращать внимание при проработке концепции защиты кластеров Kubernetes
🔥8❤3👍3