Объяснение sidecar pattern на примере Istio
Всем привет!
По ссылке можно найти подробную статью, в которой объясняется принцип работы sidecar pattern на примере известного Service Mesh – Istio.
Затрагиваются такие темы как:
🍭 Описание sidecar pattern, плюсы такого подхода
🍭 Манипуляции с iptables через sidecar
🍭 Детально разбираются Istio rules с описание того зачем они нужны и что делают
🍭 Рассматриваются вопросы traffic routing (inbound/outbound) и не только
В статье много схем, примеров, диаграмм и описания того, как и что работает. Рекомендуем к изучению!
P.S. Единственное чего не хватает в статье – недостатков sidecar pattern. Об этом можно почитать тут, заодно посмотреть на разные подходы к управлению трафиком в среде контейнерной оркестрации и о достаточно интересной идее Cilium.
Всем привет!
По ссылке можно найти подробную статью, в которой объясняется принцип работы sidecar pattern на примере известного Service Mesh – Istio.
Затрагиваются такие темы как:
🍭 Описание sidecar pattern, плюсы такого подхода
🍭 Манипуляции с iptables через sidecar
🍭 Детально разбираются Istio rules с описание того зачем они нужны и что делают
🍭 Рассматриваются вопросы traffic routing (inbound/outbound) и не только
В статье много схем, примеров, диаграмм и описания того, как и что работает. Рекомендуем к изучению!
P.S. Единственное чего не хватает в статье – недостатков sidecar pattern. Об этом можно почитать тут, заодно посмотреть на разные подходы к управлению трафиком в среде контейнерной оркестрации и о достаточно интересной идее Cilium.
Jimmy Song
Understanding the Sidecar Injection, Traffic Intercepting & Routing Process in Istio | Jimmy Song
Learn the sidecar pattern, transparent traffic intercepting and routing in Istio.
👍2👏1
Управление доступом к Kubernetes с помощью Paralus
Всем привет!
Paralus – open source решение, которое позволяет управлять доступом к кластерам Kubernetes. «Поставляется» с CLI, UI и API.
При помощи решения можно:
🍭 Управлять правами доступа к кластеру «на лету» с использованием «штатных ролей». Ролевую модель можно расширять
🍭 Объединять пользователей в группы и более гранулярно настраивать права доступа (включая права на конкретные namespace)
🍭 Настраивать SSO с использованием OIDC (решение протестировали с GitHub, GitLab и не только)
🍭 Собирать информацию о «системных изменениях» (кто и что делал в Paralus) и сведения о командах
В целом решение выглядит как нечто продуманное и интересное. Возможностей много, если Вам показалось интересно – рекомендуем почитать документацию, которая достаточно подробная. Осталось только поставить и протестировать ☺️
Всем привет!
Paralus – open source решение, которое позволяет управлять доступом к кластерам Kubernetes. «Поставляется» с CLI, UI и API.
При помощи решения можно:
🍭 Управлять правами доступа к кластеру «на лету» с использованием «штатных ролей». Ролевую модель можно расширять
🍭 Объединять пользователей в группы и более гранулярно настраивать права доступа (включая права на конкретные namespace)
🍭 Настраивать SSO с использованием OIDC (решение протестировали с GitHub, GitLab и не только)
🍭 Собирать информацию о «системных изменениях» (кто и что делал в Paralus) и сведения о командах
kubectl (например, %username% делал запрос на get secrets)В целом решение выглядит как нечто продуманное и интересное. Возможностей много, если Вам показалось интересно – рекомендуем почитать документацию, которая достаточно подробная. Осталось только поставить и протестировать ☺️
GitHub
GitHub - paralus/paralus: All-in-one Kubernetes access manager. User-level credentials, RBAC, SSO, audit logs.
All-in-one Kubernetes access manager. User-level credentials, RBAC, SSO, audit logs. - paralus/paralus
👍2
Использование ChaosMesh на примерах
Привет!
В блоге Flant есть отличная статья (и не только эта), посвященная использованию ChaosMesh! Если кто не в курсе, ChaosMesh – инструмент для воссоздания практик Chaos Engineering. Практик, при которых все может (и должно) пойти не так: «отвалился» доступ Клиентов к приложению, «упал» продуктовый сервер, изменилась конфигурация %чего-либо% в промышленном окружении…
В статье кратко описывается установка, обзор интерфейса, рекомендации по использованию (в том числе для «начинающих»).
И, конечно же, самое интересное! Тесты:
🍭 Допустим, перезагрузка node. Почему бы и нет
🍭 Отказы в работе PostgreSQL и RabbitMQ. Можно и такое! Притом разными способами
🍭 Тестирование сети! Да! Задержки, потери пакетов…
В итоге получился обзор инструмента и как его можно использовать. Или просто учиться и разбираться что к чему. В любом случае не рекомендуем воссоздавать тесты, описанные в статье на промышленных окружениях.
P.S. Это не первая статья Flant по теме ChaosMesh. Небольшое сравнение open source решений для chaos engineering можно найти по ссылке.
Привет!
В блоге Flant есть отличная статья (и не только эта), посвященная использованию ChaosMesh! Если кто не в курсе, ChaosMesh – инструмент для воссоздания практик Chaos Engineering. Практик, при которых все может (и должно) пойти не так: «отвалился» доступ Клиентов к приложению, «упал» продуктовый сервер, изменилась конфигурация %чего-либо% в промышленном окружении…
В статье кратко описывается установка, обзор интерфейса, рекомендации по использованию (в том числе для «начинающих»).
И, конечно же, самое интересное! Тесты:
🍭 Допустим, перезагрузка node. Почему бы и нет
🍭 Отказы в работе PostgreSQL и RabbitMQ. Можно и такое! Притом разными способами
🍭 Тестирование сети! Да! Задержки, потери пакетов…
В итоге получился обзор инструмента и как его можно использовать. Или просто учиться и разбираться что к чему. В любом случае не рекомендуем воссоздавать тесты, описанные в статье на промышленных окружениях.
P.S. Это не первая статья Flant по теме ChaosMesh. Небольшое сравнение open source решений для chaos engineering можно найти по ссылке.
Palark
Attaining harmony of chaos in Kubernetes with Chaos Mesh
Our recent experience with Chaos Mesh as a way to test an application run in Kubernetes for various disruptive scenarios.
👍6
CTF от Snyk!
Всем привет!
Snyk анонсировали свой новый CTF, зарегистрироваться на который можно бесплатно. Само мероприятие пройдет 9-ого ноября. Можно участвовать самостоятельно, но лучше собрать команду до 5-и человек. Время проведения: с 16:00 до 22:00 (по Мск).
Что будет на CTF:
🍭 16 challenges (pwn, web, crypto, forensics)
🍭 Призы (не очень понятно какие, но какая разница! 😊)
🍭 Атмосфера (обычно мероприятия Snyk очень продуманны и интересны)
Если Вы никогда не участвовали в CTF, но очень хочется попробовать, то Snyk организовывает CTF 101 Workshop, который пройдет 2-ого ноября.
Решения заданий также будут опубликованы после завершения CTF. Для всех или только для зарегистрированных пользователей – пока непонятно, поэтому рекомендуем зарегистрироваться.
Всем привет!
Snyk анонсировали свой новый CTF, зарегистрироваться на который можно бесплатно. Само мероприятие пройдет 9-ого ноября. Можно участвовать самостоятельно, но лучше собрать команду до 5-и человек. Время проведения: с 16:00 до 22:00 (по Мск).
Что будет на CTF:
🍭 16 challenges (pwn, web, crypto, forensics)
🍭 Призы (не очень понятно какие, но какая разница! 😊)
🍭 Атмосфера (обычно мероприятия Snyk очень продуманны и интересны)
Если Вы никогда не участвовали в CTF, но очень хочется попробовать, то Snyk организовывает CTF 101 Workshop, который пройдет 2-ого ноября.
Решения заданий также будут опубликованы после завершения CTF. Для всех или только для зарегистрированных пользователей – пока непонятно, поэтому рекомендуем зарегистрироваться.
Snyk
Fetch the Flag CTF by Snyk & John Hammond - CTF Security Challenges Event | Snyk
Fetch the Flag CTF with Snyk & John Hammond - Level up your security skills in 20+ hands-on Capture the Flag security challenges. Compete and win prizes at Fetch the Flag CTF.
👍7
A Guide to Improving Security Through Infrastructure-as-Code
Всем привет!
По ссылке доступна большая обзорная статья, посвященная обеспечению ИБ при/с использованием подхода *-as-Code.
Статья содержит следующие разделы:
🍭 Что такое Infrastructure-as-Code (IaC)
🍭 Моделирование угроз (STRIDE, MITRE, CIS, материалы производителей средств защиты)
🍭 Управление доступом
🍭 Интеграция проверок в CI/CD (средства анализа конфигураций – Checkov, tfsec, KICS и другие)
🍭 Policy-as-Code (OPA, куда же без нее 😊)
🍭 Управление конфигурациями (средства конфигурирования и проверки реализованных конфигураций)
🍭 Мониторинг и контроль configuration drift
🍭 Зрелость IaC, уровни и их описание
В статье много отсылок к облачным средам, но описанные подходы и практики могут быть полезны и в «локальных» окружениях. Помимо описания общих подходов и практик в статье приводятся ссылки на материалы по теме и на средства автоматизации.
Всем привет!
По ссылке доступна большая обзорная статья, посвященная обеспечению ИБ при/с использованием подхода *-as-Code.
Статья содержит следующие разделы:
🍭 Что такое Infrastructure-as-Code (IaC)
🍭 Моделирование угроз (STRIDE, MITRE, CIS, материалы производителей средств защиты)
🍭 Управление доступом
🍭 Интеграция проверок в CI/CD (средства анализа конфигураций – Checkov, tfsec, KICS и другие)
🍭 Policy-as-Code (OPA, куда же без нее 😊)
🍭 Управление конфигурациями (средства конфигурирования и проверки реализованных конфигураций)
🍭 Мониторинг и контроль configuration drift
🍭 Зрелость IaC, уровни и их описание
В статье много отсылок к облачным средам, но описанные подходы и практики могут быть полезны и в «локальных» окружениях. Помимо описания общих подходов и практик в статье приводятся ссылки на материалы по теме и на средства автоматизации.
NCC Group Research Blog
A Guide to Improving Security Through Infrastructure-as-Code
Modern organizations evolved and took the next step when they became digital. Organizations are using cloud and automation to build a dynamic infrastructure to support more frequent product release…
👍3
Semgrep Supply Chain
Всем привет!
Have you ever gotten a "critical vulnerability in dependency" alert and when you look at it, it's something like “XML parser vulnerability in some buried transitive library that you actually use for parsing JSON and therefore aren’t affected by at all?”
Думаем, что это случалось и случалось не один раз. Одна из проблем анализа уязвимых open source компонентов – насколько они и правда уязвимы в конкретном ПО?
Возможно, что уязвимые методы и вовсе не используются. Да, в любом случае лучше обновиться до версии, где уязвимостей вообще нет или нет значимых. Но это дополнительное время и не всегда возможно и, как показывает практика, не всегда нужно.
Именно для решения этой задачи – «is it reachable?» - и был придуман Semgrep Supply Chain, который позволит расставить приоритеты и подсветить, что реально важно.
На текущий момент поддерживаются следующие языки: (GA) Go, JavaScript/TypeScript, Python, and Ruby, (Beta) Java.
Единственным «недостатком» является то, что решение платное. Однако, чтобы опробовать его «в деле» можно попробовать получить 100 дней trial-использования (но это не точно).
Всем привет!
Have you ever gotten a "critical vulnerability in dependency" alert and when you look at it, it's something like “XML parser vulnerability in some buried transitive library that you actually use for parsing JSON and therefore aren’t affected by at all?”
Думаем, что это случалось и случалось не один раз. Одна из проблем анализа уязвимых open source компонентов – насколько они и правда уязвимы в конкретном ПО?
Возможно, что уязвимые методы и вовсе не используются. Да, в любом случае лучше обновиться до версии, где уязвимостей вообще нет или нет значимых. Но это дополнительное время и не всегда возможно и, как показывает практика, не всегда нужно.
Именно для решения этой задачи – «is it reachable?» - и был придуман Semgrep Supply Chain, который позволит расставить приоритеты и подсветить, что реально важно.
На текущий момент поддерживаются следующие языки: (GA) Go, JavaScript/TypeScript, Python, and Ruby, (Beta) Java.
Единственным «недостатком» является то, что решение платное. Однако, чтобы опробовать его «в деле» можно попробовать получить 100 дней trial-использования (но это не точно).
It's time to ignore 98% of dependency alerts. Introducing Semgrep Supply Chain.
Based on the Semgrep engine, Semgrep Supply Chain finds reachable vulnerable dependencies in your code
🔥5👍1
Управление доступом к k8s с использованием Teleport
Привет!
Хорошая обзорная статья, посвященная Teleport и возможности его использования для предоставления доступа разработчикам к кластерам k8s через интеграцию с GitHub. Вполне подойдет, если вы хотите познакомиться с инструментом.
Первая часть статьи посвящена общим вопросам:
🍭 Что такое Teleport, что есть identity-based control
🍭 Возможности Teleport по анализу действий, совершаемых в кластере
🍭 Способы предоставления безопасного доступа, существующие интеграции
Вторая часть – демо! С большим количеством примера, настроек и конфигурации:
🍭 Установка Teleport, создание первого пользователя
🍭 Настройка GitHub SSO
🍭 Настройка доступа пользователя к кластеру k8s
🍭 Просмотр действий, совершенных в кластере пользователем
В целом получился отличный how-to-guide для знакомства с решением. Конечно, больше информации о возможностях Teleport и не только можно получить из документации.
Привет!
Хорошая обзорная статья, посвященная Teleport и возможности его использования для предоставления доступа разработчикам к кластерам k8s через интеграцию с GitHub. Вполне подойдет, если вы хотите познакомиться с инструментом.
Первая часть статьи посвящена общим вопросам:
🍭 Что такое Teleport, что есть identity-based control
🍭 Возможности Teleport по анализу действий, совершаемых в кластере
🍭 Способы предоставления безопасного доступа, существующие интеграции
Вторая часть – демо! С большим количеством примера, настроек и конфигурации:
🍭 Установка Teleport, создание первого пользователя
🍭 Настройка GitHub SSO
🍭 Настройка доступа пользователя к кластеру k8s
🍭 Просмотр действий, совершенных в кластере пользователем
В целом получился отличный how-to-guide для знакомства с решением. Конечно, больше информации о возможностях Teleport и не только можно получить из документации.
👍3
HashiCorp Developer
Всем привет!
Материалы HashiCorp можно назвать одними из лучших. Много документации, видео-уроков, tutorials и лабораторных работ.
И они продолжают радовать и делать материалы удобнее и доступнее для community. В июне 2022 года был запущен (beta) сайт HashiCorp Developer.
Он собрал в себе все необходимые материалы по продуктам HashiCorp:
🍭 Vault
🍭 Terraform
🍭 Nomad
🍭 Vagrant и другие
Очень удобно, когда все под рукой, все лаконично и интуитивно понятно. Отличный ресурс для знакомства с решениями Hashi и не только.
Всем привет!
Материалы HashiCorp можно назвать одними из лучших. Много документации, видео-уроков, tutorials и лабораторных работ.
И они продолжают радовать и делать материалы удобнее и доступнее для community. В июне 2022 года был запущен (beta) сайт HashiCorp Developer.
Он собрал в себе все необходимые материалы по продуктам HashiCorp:
🍭 Vault
🍭 Terraform
🍭 Nomad
🍭 Vagrant и другие
Очень удобно, когда все под рукой, все лаконично и интуитивно понятно. Отличный ресурс для знакомства с решениями Hashi и не только.
HashiCorp Developer
Explore HashiCorp product documentation, tutorials, and examples.
🔥4👍2
Сравнение Semgrep и CodeQL
Всем привет!
По ссылке можно найти достаточно объемное сравнение популярных инструментов анализа исходного кода для идентификации ИБ-дефектов – Semgrep и CodeQL.
Рассматривались такие критерии сравнения, как:
🍭 Поддержка языков программирования
🍭 «Глубина» анализа, работа lexer/parser
🍭 Pre/post опции сканирования (исключения, фильтрация, отключение проверок и т.д.)
🍭 Правила
🍭 Управление ИБ-дефектами («собственные» возможности, интеграции с ticketing systems и т.д.)
🍭 Время сканирования
По каждой из групп в сравнении приводятся примеры и некоторые benchmark по производительности.
Всем привет!
По ссылке можно найти достаточно объемное сравнение популярных инструментов анализа исходного кода для идентификации ИБ-дефектов – Semgrep и CodeQL.
Рассматривались такие критерии сравнения, как:
🍭 Поддержка языков программирования
🍭 «Глубина» анализа, работа lexer/parser
🍭 Pre/post опции сканирования (исключения, фильтрация, отключение проверок и т.д.)
🍭 Правила
🍭 Управление ИБ-дефектами («собственные» возможности, интеграции с ticketing systems и т.д.)
🍭 Время сканирования
По каждой из групп в сравнении приводятся примеры и некоторые benchmark по производительности.
Doyensec
Comparing Semgrep and CodeQL
Recently, a client of ours asked us to put R2c’s Semgrep in a head-to-head test with GitHub’s CodeQL. Semgrep is open source and free (with premium options). CodeQL “is free for research and open source” projects and accepts open source contributions to its…
👍2
PCI Compliance for Kubernetes in detail: Part 2 - Authorization
Всем привет!
Обзорная статья от Rory McCune, посвященная анализу требований PCI Compliance for Kubernetes и Authorization в частности.
Рассматриваются:
🍭 Принцип минимальных привилегий
🍭 Корректное использование групп
🍭 Контроль предоставления доступа, проведение периодических аудитов выданных прав
К каждому из вышеуказанных требований Rory добавляет собственные рассуждения. Получается коротко, емко и информативно.
В целом, в этой части стандарта описаны простые и понятные требования, которые применимы не только к Kubernetes и являются «образующими» (т.е. без них почти везде никуда). А реализация таких требований точно повысит степень защищенности кластера. Особенностью Kubernetes может быть способ реализации указанных требований и не самая прозрачная ролевая модель.
P.S. С общими рассуждениями Rory про PCI Compliance for Kubernetes и про первую его часть, Authentication, можно познакомиться тут и тут соответственно.
Всем привет!
Обзорная статья от Rory McCune, посвященная анализу требований PCI Compliance for Kubernetes и Authorization в частности.
Рассматриваются:
🍭 Принцип минимальных привилегий
🍭 Корректное использование групп
🍭 Контроль предоставления доступа, проведение периодических аудитов выданных прав
К каждому из вышеуказанных требований Rory добавляет собственные рассуждения. Получается коротко, емко и информативно.
В целом, в этой части стандарта описаны простые и понятные требования, которые применимы не только к Kubernetes и являются «образующими» (т.е. без них почти везде никуда). А реализация таких требований точно повысит степень защищенности кластера. Особенностью Kubernetes может быть способ реализации указанных требований и не самая прозрачная ролевая модель.
P.S. С общими рассуждениями Rory про PCI Compliance for Kubernetes и про первую его часть, Authentication, можно познакомиться тут и тут соответственно.
raesene.github.io
PCI Compliance for Kubernetes in detail - Part 2 - Authorization
👍3
Аутентификация в Kubernetes: основы
Всем привет!
Во многих стандартах, требованиях, рекомендациях и т.д. можно встретить вполне понятное требование по контролю аутентификации. Первое что приходит на ум – пароль, ключевая фраза, токен или еще что-либо, что пользователь вводит для подтверждения своей «личности».
В Kubernetes все несколько иначе и выполнение требования «в лоб» может породить больше вопросов, чем ответов.
Чтобы со всем разобраться и понять, что же происходит «под капотом» рекомендуем ознакомиться со статьей, в которой на базовом примере
🍭 Кто может делать запросы к api-server
🍭 Какие способы аутентификации доступны и что реализовано «из коробки»
🍭 Можно ли изменять «стратегии» аутентификации
🍭 Разрешено ли одновременно использовать несколько способов аутентификации в одном кластере
Каждый из этих вопросов детально описывается в статье, приводятся примеры для лучшего понимания. А в завершении статьи приводятся рекомендации относительно того, какой из механизмов аутентификации лучше использовать, почему и какими недостатками он обладает.
Всем привет!
Во многих стандартах, требованиях, рекомендациях и т.д. можно встретить вполне понятное требование по контролю аутентификации. Первое что приходит на ум – пароль, ключевая фраза, токен или еще что-либо, что пользователь вводит для подтверждения своей «личности».
В Kubernetes все несколько иначе и выполнение требования «в лоб» может породить больше вопросов, чем ответов.
Чтобы со всем разобраться и понять, что же происходит «под капотом» рекомендуем ознакомиться со статьей, в которой на базовом примере
curl https://api-server-address:6443/api/v1/namespaces объясняется что к чему:🍭 Кто может делать запросы к api-server
🍭 Какие способы аутентификации доступны и что реализовано «из коробки»
🍭 Можно ли изменять «стратегии» аутентификации
🍭 Разрешено ли одновременно использовать несколько способов аутентификации в одном кластере
Каждый из этих вопросов детально описывается в статье, приводятся примеры для лучшего понимания. А в завершении статьи приводятся рекомендации относительно того, какой из механизмов аутентификации лучше использовать, почему и какими недостатками он обладает.
Learnk8s
User and workload identities in Kubernetes
In this article you will explore how users and workloads are authenticated with the Kubernes API server
👍6
Dependency Confusion
Всем привет!
Dependency Confusion – одна из «популярных» уязвимостей 2021 года. Суть ее достаточно проста. Допустим есть локальная библиотека
Для проведения PoC реализации Dependency Confusion ребята из Doyensec создали Confuser – утилиту, которая автоматизирует часть этапов (на примере
Работает она по следующему сценарию:
🍭 Поиск пакетов, которых нет в публичных репозиториях
🍭 Создание payload используя особенности
С подробностями, включая сложности поиска и особенности эксплуатации Dependency Confusion, можно ознакомиться в статье (рекомендуем к прочтению), а сам Confuser доступен вот тут.
Если до сих пор не верится, что такое встречается в «реальном мире» - можно прочесть статью «Researcher hacks over 35 tech firms in novel supply chain attack». В ней описано, как Alex Birsan заработал $130,000 на bug-bounty программах, эксплуатируя эту самую уязвимость.
P.S. Напоминаем про то, что это лучше не повторять. Статья исключительно для образовательных целей и лучшего понимания того, как и что может произойти
Всем привет!
Dependency Confusion – одна из «популярных» уязвимостей 2021 года. Суть ее достаточно проста. Допустим есть локальная библиотека
«libone» версии 1, которая разработана в Компании N. Злоумышленник может сделать свою версию библиотеки с таким же наименованием и разместить ее в публичном репозитории. А версию указать выше, чем у той библиотеки, что есть в локальном репозитории Компании N. Возможны сценарии, когда сборщик будет использовать более старшую версию, а значит ту, что создал злоумышленник.Для проведения PoC реализации Dependency Confusion ребята из Doyensec создали Confuser – утилиту, которая автоматизирует часть этапов (на примере
npm).Работает она по следующему сценарию:
🍭 Поиск пакетов, которых нет в публичных репозиториях
🍭 Создание payload используя особенности
npm и install hooks
🍭 Передача информации обратно в сторону злоумышленника - callbacksС подробностями, включая сложности поиска и особенности эксплуатации Dependency Confusion, можно ознакомиться в статье (рекомендуем к прочтению), а сам Confuser доступен вот тут.
Если до сих пор не верится, что такое встречается в «реальном мире» - можно прочесть статью «Researcher hacks over 35 tech firms in novel supply chain attack». В ней описано, как Alex Birsan заработал $130,000 на bug-bounty программах, эксплуатируя эту самую уязвимость.
P.S. Напоминаем про то, что это лучше не повторять. Статья исключительно для образовательных целей и лучшего понимания того, как и что может произойти
Doyensec
Dependency Confusion
On Feb 9th, 2022 PortSwigger announced Alex Birsan’s Dependency Confusion as the winner of the Top 10 web hacking techniques of 2021. Over the past year this technique has gained a lot of attention. Despite that, in-depth information about hunting for and…
👍1
Kubectl-Ice
Всем привет!
Kubectl-ice – plugin для kubectl, которые может быть полезен для получения информации о контейнерах и поиска ошибок.
Он может:
🍭 Показывает все контейнеры в namespace («обычные», init, ephemeral)
🍭 Может показать перечень всех образов контейнеров, которые используются в namespace
🍭 Отобразить информацию по всем SecurityContext и POSIX cabapilities
🍭 Информацию об используемых ресурсах контейнерами
🍭 Сведения о mount, которые используются контейнерами и не только
Доступна фильтрация данных и отображение в различных форматах. В repo можно найти небольшой demo-ролик, в котором наглядно показано, как можно использовать kubectl-ice.
Всем привет!
Kubectl-ice – plugin для kubectl, которые может быть полезен для получения информации о контейнерах и поиска ошибок.
Он может:
🍭 Показывает все контейнеры в namespace («обычные», init, ephemeral)
🍭 Может показать перечень всех образов контейнеров, которые используются в namespace
🍭 Отобразить информацию по всем SecurityContext и POSIX cabapilities
🍭 Информацию об используемых ресурсах контейнерами
🍭 Сведения о mount, которые используются контейнерами и не только
Доступна фильтрация данных и отображение в различных форматах. В repo можно найти небольшой demo-ролик, в котором наглядно показано, как можно использовать kubectl-ice.
GitHub
GitHub - NimbleArchitect/kubectl-ice: Kubectl-ice is an open-source tool for Kubernetes users to monitor and optimize container…
Kubectl-ice is an open-source tool for Kubernetes users to monitor and optimize container resource usage. Features include usage breakdowns for pods and containers, making scaling and optimization ...
🔥1
Trivy vs Trivy-Operator
Всем привет!
На первый взгляд может показаться, что Trivy и Trivy-Operator это одно и тоже. Разница лишь в том, что Trivy-Operator запускается в качестве operator’a в кластере, а Trivy работает локально. Но это не совсем так.
В статье приводится основная разница между этими решениями. Если кратко, то Trivy-Operator использует Trivy в качестве сканера. При большом желании можно «подключить» свой сканер, для этого надо реализовать несколько интерфейсов.
Так в чем же разница?
🍭 Trivy передает результат в терминал, можно делать выгрузку в различных форматах, в т.ч. json. Результаты работы Trivy-Operator представляют из себя Custom Resources Kubernetes
🍭 Разный объем результатов, что отчасти связано с ограничением по умолчанию на запись в etcd в размере 1,5 MB.
🍭 Trivy запускается локально (на рабочей станции, в CI/CD). Trivy-Operator «устанавливается» на кластер и анализирует сущности по мере их создания и на периодической основе.
Таким образом, можно сказать, что Trivy более удобный инструмент для анализа в моменте разработки, а Trivy-Operator – на момент эксплуатации.
Всем привет!
На первый взгляд может показаться, что Trivy и Trivy-Operator это одно и тоже. Разница лишь в том, что Trivy-Operator запускается в качестве operator’a в кластере, а Trivy работает локально. Но это не совсем так.
В статье приводится основная разница между этими решениями. Если кратко, то Trivy-Operator использует Trivy в качестве сканера. При большом желании можно «подключить» свой сканер, для этого надо реализовать несколько интерфейсов.
Так в чем же разница?
🍭 Trivy передает результат в терминал, можно делать выгрузку в различных форматах, в т.ч. json. Результаты работы Trivy-Operator представляют из себя Custom Resources Kubernetes
🍭 Разный объем результатов, что отчасти связано с ограничением по умолчанию на запись в etcd в размере 1,5 MB.
🍭 Trivy запускается локально (на рабочей станции, в CI/CD). Trivy-Operator «устанавливается» на кластер и анализирует сущности по мере их создания и на периодической основе.
Таким образом, можно сказать, что Trivy более удобный инструмент для анализа в моменте разработки, а Trivy-Operator – на момент эксплуатации.
Aquasec
Vulnerability Scanning: Trivy vs the Trivy Operator
Comparison of open source Trivy vs integrable Trivy Operator for vulnerability scanning of images, repositories, K8s cluster, IaC, secrets, and more
👍5
Arbitrary command execution через… Snyk CLI
Всем привет!
Интересная статья от Imperva, в которой рассказано о том, как команда нашла CVE-2022-40764, эксплуатация которой позволяет реализовать «arbitrary command execution» при использовании Snyk CLI.
Статья читается как небольшой детектив и на одном дыхании! Получился примерно такой путь:
🍭 Monkey patch для Snyk CLI с целью журналирования значимых NodeJS действий (например, доступ к файлам, запуск shell)
🍭 Да, все так, оказалось, что shell запускается! Дальнейшее исследование привело к идентификации причины: файл
Реализацию подобной атаки выполнить сложно. Однако, у Snyk есть VS Code plugin, который использует CLI для автоматического сканирования кода при открытии IDE. Остается только сделать так, чтобы пользователь открыл «интересующий» код в VS Code. PoC-ролик, примеры monkey patch, payload’ов и код обработки поля
Команда Snyk, в свою очередь, достаточно оперативно устранила дефект и выпустила соответствующий патч 😊
Всем привет!
Интересная статья от Imperva, в которой рассказано о том, как команда нашла CVE-2022-40764, эксплуатация которой позволяет реализовать «arbitrary command execution» при использовании Snyk CLI.
Статья читается как небольшой детектив и на одном дыхании! Получился примерно такой путь:
🍭 Monkey patch для Snyk CLI с целью журналирования значимых NodeJS действий (например, доступ к файлам, запуск shell)
🍭 Да, все так, оказалось, что shell запускается! Дальнейшее исследование привело к идентификации причины: файл
vendor.json и поле ignore
🍭 Первый payload, подготовленной командой не сработал из-за особенностей «обработки» значения, указанного в поле ignore
🍭 А вот второй… уже позволил запустить калькулятор на рабочей станции пользователя!Реализацию подобной атаки выполнить сложно. Однако, у Snyk есть VS Code plugin, который использует CLI для автоматического сканирования кода при открытии IDE. Остается только сделать так, чтобы пользователь открыл «интересующий» код в VS Code. PoC-ролик, примеры monkey patch, payload’ов и код обработки поля
ignore можно увидеть в статье.Команда Snyk, в свою очередь, достаточно оперативно устранила дефект и выпустила соответствующий патч 😊
Blog
How Scanning Your Projects for Security Issues Can Lead to Remote Code Execution | Imperva
UPDATE: Snyk has recently addressed 2 additional vulnerabilities we have reported to them, CVE-2022-24441 and CVE-2022-22984, affecting versions of Snyk CLI before XXX, which leads to arbitrary code execution when scanning untrusted Maven or Gradle projects.…
👍2🔥1
Kubernetes Security Profiles Operator
Привет!
Основная задача Security Profile Operator – сделать использование и управление SELinux, AppArmor и Seccomp профилями более простыми и удобными для пользователей. Предысторию его появления можно узнать в этом RFC.
Он представляет из себя Operator, который управляет Custom Resources, с которыми можно ознакомиться тут.
Обладает следующими возможностями:
🍭 Создание профилей через CRD
🍭 Применение профилей для Pod
🍭 Автоматическая генерация профилей (частично, пока только для Seccomp)
Для лучшего ознакомления с Security Profile Operator, вариантами запуска, возможностями и принципами работы рекомендуем ознакомиться со статьей. Roadmap дальнейшего развития проекта представлен в repo в виде диаграммы ☺️
P.S. А В этом repo можно найти очень-очень-очень много AppArmor профилей
Привет!
Основная задача Security Profile Operator – сделать использование и управление SELinux, AppArmor и Seccomp профилями более простыми и удобными для пользователей. Предысторию его появления можно узнать в этом RFC.
Он представляет из себя Operator, который управляет Custom Resources, с которыми можно ознакомиться тут.
Обладает следующими возможностями:
🍭 Создание профилей через CRD
🍭 Применение профилей для Pod
🍭 Автоматическая генерация профилей (частично, пока только для Seccomp)
Для лучшего ознакомления с Security Profile Operator, вариантами запуска, возможностями и принципами работы рекомендуем ознакомиться со статьей. Roadmap дальнейшего развития проекта представлен в repo в виде диаграммы ☺️
P.S. А В этом repo можно найти очень-очень-очень много AppArmor профилей
GitHub
GitHub - kubernetes-sigs/security-profiles-operator: The Kubernetes Security Profiles Operator
The Kubernetes Security Profiles Operator. Contribute to kubernetes-sigs/security-profiles-operator development by creating an account on GitHub.
👍3
Совместное использование Snyk и ArgoCD
Всем привет!
В статье приводится tutorial, который позволит анализировать приложения, контролируемые ArgoCD при помощи Snyk.
Последовательность действий:
🍭 Создание приложения в ArgoCD
🍭 Настройка PreSync Hook в ArgoCD, который будет запускать анализ запускаемых сущностей при помощи Snyk
🍭 Просмотр результатов: в ArgoCD и в консоли Snyk
В целом такой подход можно использовать не только со Snyk а с любым другим инструментом анализа, который Вы используете.
Всем привет!
В статье приводится tutorial, который позволит анализировать приложения, контролируемые ArgoCD при помощи Snyk.
Последовательность действий:
🍭 Создание приложения в ArgoCD
🍭 Настройка PreSync Hook в ArgoCD, который будет запускать анализ запускаемых сущностей при помощи Snyk
🍭 Просмотр результатов: в ArgoCD и в консоли Snyk
В целом такой подход можно использовать не только со Snyk а с любым другим инструментом анализа, который Вы используете.
Snyk
Secure your application from Argo CD to Kubernetes | Snyk
How to use Snyk for application security in GitOps, focusing on the popular Kubernetes-native Argo CD tool.
👍4
Seccomp в Kubernetes: 7 базовых вещей
Всем привет!
Использование Secure Compute Mode (Seccomp) позволит сократить поверхность атаки за счет возможности ограничения/разрешения syscalls, которые могут быть «запущены». Базовый профиль содержит несколько основных блоков:
Частично ответ на это есть в подробной статье от Paulo Gomes, в которой он раскрывает важные аспекты, про которые не стоит забывать, например:
🍭 Устанавливайте
🍭 Назначайте Seccomp профиль на уровне Container, а не Pod (статья 2019 года, возможно причина уже не актуальна)
🍭 Используйте default профили только в экстренных случаях. Лучше напишите свои
🍭 Запускайте Seccomp в режиме аудита для «тонкой настройки». Да, так можно
🍭 Whitelisting лучше, чем Blacklisting
Для каждого рассмотренного совета Paolo приводит аргументацию, почему предложенный вариант является оптимальным и несколько примеров. Отличная статья, чтобы начать изучение Seccomp.
P.S. В документации Docker можно ознакомиться с обоснованием того, почему тот или иной syscall «заблокировали» и он не попал в Seccomp профиль.
Всем привет!
Использование Secure Compute Mode (Seccomp) позволит сократить поверхность атаки за счет возможности ограничения/разрешения syscalls, которые могут быть «запущены». Базовый профиль содержит несколько основных блоков:
defaultAction – действие, которое будет применено «по умолчанию», architectures (syscalls могут обладать разными id в зависимости от архитектуры), syscalls – перечень системных вызовов. Но как его правильно «приготовить»?Частично ответ на это есть в подробной статье от Paulo Gomes, в которой он раскрывает важные аспекты, про которые не стоит забывать, например:
🍭 Устанавливайте
allowPrivilegeEscalation в значение false. Да, это влияет на Seccomp. Как именно – описано в статье🍭 Назначайте Seccomp профиль на уровне Container, а не Pod (статья 2019 года, возможно причина уже не актуальна)
🍭 Используйте default профили только в экстренных случаях. Лучше напишите свои
🍭 Запускайте Seccomp в режиме аудита для «тонкой настройки». Да, так можно
🍭 Whitelisting лучше, чем Blacklisting
Для каждого рассмотренного совета Paolo приводит аргументацию, почему предложенный вариант является оптимальным и несколько примеров. Отличная статья, чтобы начать изучение Seccomp.
P.S. В документации Docker можно ознакомиться с обоснованием того, почему тот или иной syscall «заблокировали» и он не попал в Seccomp профиль.
Medium
Seccomp in Kubernetes — Part I: 7 things you should know before you even start!
The first of a series on how to land great seccomp profiles in a SecDevOpsy way without resorting to magic or sorcery. First the internals!
Seccomp в Kubernetes: создание профиля
Привет!
Вторая часть статьи от Paolo Gomes, посвященная Seccomp! В ней Paolo рассуждает на тему того, как можно создать whitelist-профили и как решить самую значимую задачу – определить, какие именно syscalls используются приложением.
С точки зрения Paolo есть несколько способов получить желаемый перечень. Каждый из них обладает своими недостатками, но вместе все может сработать.
Например:
🍭 Использование strace для получения syscalls, используемых командой
🍭 Анализ приложения для сбора всех syscalls. Paolo сделал PoC для программного обеспечения, разрабатываемого на golang
🍭 Запуск Seccomp в режиме «аудита» (
🍭 Brute force! Да, тот самый «подход в лоб»: разрешаем все и удаляем, пока не найдем нужное состояние. Или наоборот – отбираем все и разрешаем по одному, наблюдая изменения в ошибках
В завершении статьи приводится описание подхода, который использует рассмотренные способы вместе для создания наиболее полного и точного профиля. Подход реализуется на конкретном примере, с применением средств автоматизации, все расписано по шагам.
P.S. Кстати, Paolo один из разработчиков Kubernetes Profile Operator, про который мы писали тут.
P.P.S. Еще один популярный инструмент, который позволяет генерировать Seccomp-профили (и не только) – Docker Slim.
Привет!
Вторая часть статьи от Paolo Gomes, посвященная Seccomp! В ней Paolo рассуждает на тему того, как можно создать whitelist-профили и как решить самую значимую задачу – определить, какие именно syscalls используются приложением.
С точки зрения Paolo есть несколько способов получить желаемый перечень. Каждый из них обладает своими недостатками, но вместе все может сработать.
Например:
🍭 Использование strace для получения syscalls, используемых командой
🍭 Анализ приложения для сбора всех syscalls. Paolo сделал PoC для программного обеспечения, разрабатываемого на golang
🍭 Запуск Seccomp в режиме «аудита» (
"defaultAction": "SCMP_ACT_LOG")🍭 Brute force! Да, тот самый «подход в лоб»: разрешаем все и удаляем, пока не найдем нужное состояние. Или наоборот – отбираем все и разрешаем по одному, наблюдая изменения в ошибках
В завершении статьи приводится описание подхода, который использует рассмотренные способы вместе для создания наиболее полного и точного профиля. Подход реализуется на конкретном примере, с применением средств автоматизации, все расписано по шагам.
P.S. Кстати, Paolo один из разработчиков Kubernetes Profile Operator, про который мы писали тут.
P.P.S. Еще один популярный инструмент, который позволяет генерировать Seccomp-профили (и не только) – Docker Slim.
Medium
Seccomp in Kubernetes — Part 2: Crafting custom seccomp profiles for your applications
The second of a series on how to land great seccomp profiles for your workloads without resorting to magic or sorcery.
👍2
Kubernetes Storage: Basics
Всем привет!!!
Хорошая обзорная статья про то, что такое Storage в Kubernetes, зачем они нужны, какие они бывают и в чем между ними разница.
В статье разбираются следующие моменты:
🍭 hostPath и почему лучше не использовать его, а обратить внимание на NFS
🍭 ConfigMap/Secret as Volume и как с их использованием можно передать данные в Pod
🍭 PersistentVolume (PV) и PersistentVolumeClaim (PVC) – что это, какие VolumeTypes, AccessModes и RetainPolicy бывают
🍭 Dynamic Provisioning, зачем нужен StorageClass и как все это связано с PV и PVC
Примеры, код манифестов, диаграммы для упрощения восприятия, ссылки на полезные материалы – все на месте и хорошо структурировано.
Статья очень базового уровня, и поясняет основные понятия и механизмы проброса persistent storage в кластер Kubenetes.
Из статьи понятно, что хорошо и просто живется лишь тем, кто в облаках ☺️ Для тех, кто "на земле" - рекомендуется посмотреть в сторону NFS. Мы со своей стороны при этом рекомендуем не забывать, что в NFS нет никакого встроенного механизма квотирования ресурсов, и может случиться так, что один контейнер занимает всю шару.
Поэтому соблюдайте осмотрительность, и посмотрите в сторону специализированных CSI от производителей внешних СХД, если вдруг такая задача у вас возникнет.
Всем привет!!!
Хорошая обзорная статья про то, что такое Storage в Kubernetes, зачем они нужны, какие они бывают и в чем между ними разница.
В статье разбираются следующие моменты:
🍭 hostPath и почему лучше не использовать его, а обратить внимание на NFS
🍭 ConfigMap/Secret as Volume и как с их использованием можно передать данные в Pod
🍭 PersistentVolume (PV) и PersistentVolumeClaim (PVC) – что это, какие VolumeTypes, AccessModes и RetainPolicy бывают
🍭 Dynamic Provisioning, зачем нужен StorageClass и как все это связано с PV и PVC
Примеры, код манифестов, диаграммы для упрощения восприятия, ссылки на полезные материалы – все на месте и хорошо структурировано.
Статья очень базового уровня, и поясняет основные понятия и механизмы проброса persistent storage в кластер Kubenetes.
Из статьи понятно, что хорошо и просто живется лишь тем, кто в облаках ☺️ Для тех, кто "на земле" - рекомендуется посмотреть в сторону NFS. Мы со своей стороны при этом рекомендуем не забывать, что в NFS нет никакого встроенного механизма квотирования ресурсов, и может случиться так, что один контейнер занимает всю шару.
Поэтому соблюдайте осмотрительность, и посмотрите в сторону специализированных CSI от производителей внешних СХД, если вдруг такая задача у вас возникнет.
Medium
Storage | Kubernetes
A Deep Dive into Kubernetes Storage
👍4🔥1
Chain-bench: GitLab
Всем привет!
Сегодня будет короткая, но весьма приятная новость. На предыдущей неделе в Chain-bench от Aqua Security была добавлена поддержка GitLab (v 0.1.5). Судя по всему, добавлены не все проверки, но движение в этом направлении есть и это уже хорошо.
Chain-bench – open source решение, которое позволяет анализировать настройки окружения (например, систем управления исходным кодом) на соответствие требованиям ИБ.
В качестве «источника данных» используется CIS Software Supply Chain Security Guide. Про Chain-bench и CIS мы писали тут и тут соответственно.
Всем привет!
Сегодня будет короткая, но весьма приятная новость. На предыдущей неделе в Chain-bench от Aqua Security была добавлена поддержка GitLab (v 0.1.5). Судя по всему, добавлены не все проверки, но движение в этом направлении есть и это уже хорошо.
Chain-bench – open source решение, которое позволяет анализировать настройки окружения (например, систем управления исходным кодом) на соответствие требованиям ИБ.
В качестве «источника данных» используется CIS Software Supply Chain Security Guide. Про Chain-bench и CIS мы писали тут и тут соответственно.
GitHub
Release v0.1.5 · aquasecurity/chain-bench
Changelog
9fc6767 Add Support for Gitlab (#97)
f575a7a fix doc (#98)
9fc6767 Add Support for Gitlab (#97)
f575a7a fix doc (#98)
👍6