Cluster API (CAPI): что это и зачем?
Всем привет!
Есть много способов создать кластер Kubernetes! Можно воспользоваться
Если просто – то это проект, который позволяет декларативно управлять кластерами Kubernetes (создание, обновление, взаимодействие).
В статье описываются его ключевые «компоненты»:
🍭 Infrastructure providers
🍭 Bootstrap providers
🍭 Control Plane providers
Примечательно то, что, как и все в Kubernetes, этот перечень не является конечным и Вы можете расширить его самостоятельно. Например, если Вам потребуется автоматически создавать виртуальные машины в среде виртуализации, для которой нет готового provider.
Завершает статью небольшой пример использования CAPI для создания кластера в AWS.
Кстати, именно CAPI используется для управления кластерами в Edge Computing, о чем мы писали тут.
Всем привет!
Есть много способов создать кластер Kubernetes! Можно воспользоваться
kubeadm, можно – системами, которые позволяют создать кластер «по кнопке» или использовать возможности облачных провайдеров. А можно воспользоваться Cluster API!Если просто – то это проект, который позволяет декларативно управлять кластерами Kubernetes (создание, обновление, взаимодействие).
В статье описываются его ключевые «компоненты»:
🍭 Infrastructure providers
🍭 Bootstrap providers
🍭 Control Plane providers
Примечательно то, что, как и все в Kubernetes, этот перечень не является конечным и Вы можете расширить его самостоятельно. Например, если Вам потребуется автоматически создавать виртуальные машины в среде виртуализации, для которой нет готового provider.
Завершает статью небольшой пример использования CAPI для создания кластера в AWS.
Кстати, именно CAPI используется для управления кластерами в Edge Computing, о чем мы писали тут.
👍4❤1🔥1
Внедрение SAST в организации: опыт Trail of Bits
Всем привет!
Статья содержит описание 7 шагов, которые использовались в Trail of Bits при внедрении и масштабировании SAST-практики с использованием Semgrep.
Если кратко, то:
🍭 Поймите какие языки надо будет анализировать и выберите SAST // Далее все будет на примере Semgrep
🍭 Запустите Semgrep на небольшом проекте для оценки эффективности
🍭 Повторите предыдущий этап, используя разные наборы правил из Semgrep Registry
🍭 Адаптируйте наборы правил «под себя», чтобы повысить эффективность анализа
🍭 Создайте repo, в котором будете хранить наработки по собственным Semgrep-правилам
🍭 Евангелизм! Расскажите о том, что это такое, зачем это надо и какие были получены результаты всем заинтересованным
🍭 Внедрите Semgrep в CI-pipeline, настройте сканирования кодовой базы по расписанию и т.д.
На первый взгляд может показаться: «Кхм, да это же очевидно!». А разве это плохо? Возможно, у многих был подобный «алгоритм» в голове, но что-то «смущало». Однако, это вполне рабочий сценарий, который подтверждается и командой Trail of Bits.
Рекомендации, полезные советы практически каждому из этапов, ссылки на полезные материалы можно найти в статье. Еще там есть интересный раздел «Things I wish I’d known before I started using Semgrep» 😊
Всем привет!
Статья содержит описание 7 шагов, которые использовались в Trail of Bits при внедрении и масштабировании SAST-практики с использованием Semgrep.
Если кратко, то:
🍭 Поймите какие языки надо будет анализировать и выберите SAST // Далее все будет на примере Semgrep
🍭 Запустите Semgrep на небольшом проекте для оценки эффективности
🍭 Повторите предыдущий этап, используя разные наборы правил из Semgrep Registry
🍭 Адаптируйте наборы правил «под себя», чтобы повысить эффективность анализа
🍭 Создайте repo, в котором будете хранить наработки по собственным Semgrep-правилам
🍭 Евангелизм! Расскажите о том, что это такое, зачем это надо и какие были получены результаты всем заинтересованным
🍭 Внедрите Semgrep в CI-pipeline, настройте сканирования кодовой базы по расписанию и т.д.
На первый взгляд может показаться: «Кхм, да это же очевидно!». А разве это плохо? Возможно, у многих был подобный «алгоритм» в голове, но что-то «смущало». Однако, это вполне рабочий сценарий, который подтверждается и командой Trail of Bits.
Рекомендации, полезные советы практически каждому из этапов, ссылки на полезные материалы можно найти в статье. Еще там есть интересный раздел «Things I wish I’d known before I started using Semgrep» 😊
The Trail of Bits Blog
How to introduce Semgrep to your organization
Semgrep, a static analysis tool for finding bugs and specific code patterns in more than 30 languages, is set apart by its ease of use, many built-in rules, and the ability to easily create custom rules. We consider it an essential automated tool for discovering…
👍6❤3
Как заработать 20k $ на BugBounty от GitHub?
Всем привет!
Если Вы хотите стать частью увлекательнейшего путешествия в мир безопасности CI/CD – настойчиво рекомендуем прочесть эту статью.
В ней Автор рассказывает свою историю о том, как он получил доступ к инфраструктуре GitHub (да, именно его, а не к конкретному проекту X, который на нем размещается).
У GitHub есть особенность, связанная с hosted runners при использовании их вместе с public проектами: любой workflow имеет доступ к этому runner. В том числе, если запускать этот самый workflow через PR от fork’a проекта. Так уж вышло, что в репозитории самого GitHub тоже нашелся такой runner.
Но есть нюанс… Как «обойти» потребность в approval на запуск workflow? Стать contributor’ом! Например, «поправив запятую», сделать PR, merge – готово! Теперь не требуется какое-либо согласование.
Все готово для Poisoned Pipeline Execution. Поиск секретов, создание runner внутри runner для получения persistence, выбор оптимального времени для совершения атаки, «чистка следов», получение данных (например, учетные данные от vCenter)… И Автор смог «оставаться внутри» на протяжении 5 дней!!!
Ух, безумно захватывающе, поэтому очень и очень рекомендуем Вам прочесть это самостоятельно. Гарантируем, что Вы не пожалеете 😊 Расписан каждый шаг, приведены screenshot и пояснения для лучшего понимания того, что происходит.
В завершении Автор рассуждает на тему того, чем могла грозить подобная атака, будь она совершена не в «исследовательских целях» и что можно сделать для защиты.
P.S. Кстати, такое можно «провернуть» не только с GitHub – в завершении статьи есть еще пара примеров 😊
Всем привет!
Если Вы хотите стать частью увлекательнейшего путешествия в мир безопасности CI/CD – настойчиво рекомендуем прочесть эту статью.
В ней Автор рассказывает свою историю о том, как он получил доступ к инфраструктуре GitHub (да, именно его, а не к конкретному проекту X, который на нем размещается).
У GitHub есть особенность, связанная с hosted runners при использовании их вместе с public проектами: любой workflow имеет доступ к этому runner. В том числе, если запускать этот самый workflow через PR от fork’a проекта. Так уж вышло, что в репозитории самого GitHub тоже нашелся такой runner.
Но есть нюанс… Как «обойти» потребность в approval на запуск workflow? Стать contributor’ом! Например, «поправив запятую», сделать PR, merge – готово! Теперь не требуется какое-либо согласование.
Все готово для Poisoned Pipeline Execution. Поиск секретов, создание runner внутри runner для получения persistence, выбор оптимального времени для совершения атаки, «чистка следов», получение данных (например, учетные данные от vCenter)… И Автор смог «оставаться внутри» на протяжении 5 дней!!!
Ух, безумно захватывающе, поэтому очень и очень рекомендуем Вам прочесть это самостоятельно. Гарантируем, что Вы не пожалеете 😊 Расписан каждый шаг, приведены screenshot и пояснения для лучшего понимания того, что происходит.
В завершении Автор рассуждает на тему того, чем могла грозить подобная атака, будь она совершена не в «исследовательских целях» и что можно сделать для защиты.
P.S. Кстати, такое можно «провернуть» не только с GitHub – в завершении статьи есть еще пара примеров 😊
Adnan Khan's Blog
One Supply Chain Attack to Rule Them All - Poisoning GitHub's Runner Images
Preface
Let’s think for a moment what a nightmare supply chain attack could be. An attack that would be so impactful that it could be chained to target almost every company in the world. For an attacker to carry out such an attack they would need to insert…
Let’s think for a moment what a nightmare supply chain attack could be. An attack that would be so impactful that it could be chained to target almost every company in the world. For an attacker to carry out such an attack they would need to insert…
👍13❤6🔥4
Всем привет!
Мы бережно относимся к нашей аудитории и контенту, который вы здесь читаете.
Поэтому спрашиваем ваше мнение: хотите ли вы эпизодически видеть в нашем канале публикации с вакансиями из мира DevSecOps?
Голосуем до 22.01 23:59 (МСК)!
Мы бережно относимся к нашей аудитории и контенту, который вы здесь читаете.
Поэтому спрашиваем ваше мнение: хотите ли вы эпизодически видеть в нашем канале публикации с вакансиями из мира 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. Подробнее про него мы писали вот в этом посте.
Всем привет!
По ссылке можно найти подробный 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. Подробнее про него мы писали вот в этом посте.
Offensive Research
CICD-Goat Setup and Easy Challenge walkthrough (WhiteRabbit, MadHatter, Duchess)
An introduction to CICD-Goat.
👍5
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