Kubernetes - Open Policy Agent, Gatekeeper and Pod Security Policies
Open Policy Agent (GitHub) предоставляет высокоуровневый декларативный язык для создания и применения политик в вашем облачном стеке технологий.
С помощью OPA можно определить правила, задающие поведение вашей системы. Эти правила существуют для ответа на такие вопросы, как:
- Может ли пользователь X вызвать операцию Y на ресурсе Z?
- В каких кластерах должна быть развернута рабочая нагрузка?
- Какие теги должны быть установлены на ресурсе R перед его созданием?
Например, в случае использования простой авторизации API:
- Вы пишете правила, которые разрешают (или запрещают) доступ к API вашего сервиса.
- Ваш сервис запрашивает OPA, когда получает запросы API.
- OPA возвращает разрешенные (или отклоняющие) решения к вашим услугам.
- Ваша служба обеспечивает выполнение решений, соответственно принимая или отклоняя запросы.
Статья на русском про OPA и SPIFFE от Флант
Gatekeeper - инструмент, позволяющий задавать политики OPA в качестве Custom Resource Definitions (CRDs) и управлять ими как ресурсами Kubernetes. Также есть функционал аудита этих политик.
Использование Gatekeeper в Kubernetes
Настройка Pod Security Policy через OPA:
Kubernetes Pod Security Policies with Open Policy Agent
#k8s #toos #ops #opa
Open Policy Agent (GitHub) предоставляет высокоуровневый декларативный язык для создания и применения политик в вашем облачном стеке технологий.
С помощью OPA можно определить правила, задающие поведение вашей системы. Эти правила существуют для ответа на такие вопросы, как:
- Может ли пользователь X вызвать операцию Y на ресурсе Z?
- В каких кластерах должна быть развернута рабочая нагрузка?
- Какие теги должны быть установлены на ресурсе R перед его созданием?
Например, в случае использования простой авторизации API:
- Вы пишете правила, которые разрешают (или запрещают) доступ к API вашего сервиса.
- Ваш сервис запрашивает OPA, когда получает запросы API.
- OPA возвращает разрешенные (или отклоняющие) решения к вашим услугам.
- Ваша служба обеспечивает выполнение решений, соответственно принимая или отклоняя запросы.
Статья на русском про OPA и SPIFFE от Флант
Gatekeeper - инструмент, позволяющий задавать политики OPA в качестве Custom Resource Definitions (CRDs) и управлять ими как ресурсами Kubernetes. Также есть функционал аудита этих политик.
Использование Gatekeeper в Kubernetes
Настройка Pod Security Policy через OPA:
Kubernetes Pod Security Policies with Open Policy Agent
#k8s #toos #ops #opa
OPA Image Scanner admission controller
OPA Image Scanner совмещает Sysdig Secure image scanner c языком Open Policy Agent, что позволяет задавать более сложные политики для приема образов в кластер, чем просто использование сканирования образов на базе информации о реестре, имени образа и тега. Например, всегда допускать развертывание образов в определенных пространствах имен ("Dev").
Про Sysdig OPA Image Scanner в блоге Sysdig
#tools #k8s #docker #ops #opa
OPA Image Scanner совмещает Sysdig Secure image scanner c языком Open Policy Agent, что позволяет задавать более сложные политики для приема образов в кластер, чем просто использование сканирования образов на базе информации о реестре, имени образа и тега. Например, всегда допускать развертывание образов в определенных пространствах имен ("Dev").
Про Sysdig OPA Image Scanner в блоге Sysdig
#tools #k8s #docker #ops #opa
Securing Your Terraform Pipelines with Conftest, Regula, and OPA
Между тем, использование Open Policy Agent набирает обороты. Сегодня статья про использование OPA в связке с Conftect и Regula для оценки конфигурации Terraform в AWS.
https://dev.to/prince_of_pasta/securing-your-terraform-pipelines-with-conftest-regula-and-opa-4hkh
OPA использует Rego язык для определения политик. К вашему вниманию также бесплатный курс по OPA Policy Authoring.
#tools #terraform #aws #ops #opa
Между тем, использование Open Policy Agent набирает обороты. Сегодня статья про использование OPA в связке с Conftect и Regula для оценки конфигурации Terraform в AWS.
https://dev.to/prince_of_pasta/securing-your-terraform-pipelines-with-conftest-regula-and-opa-4hkh
OPA использует Rego язык для определения политик. К вашему вниманию также бесплатный курс по OPA Policy Authoring.
#tools #terraform #aws #ops #opa
www.openpolicyagent.org
Introduction | Open Policy Agent
The Open Policy Agent (OPA, pronounced "oh-pa") is an open source,
How to enforce Kubernetes network security policies using OPA
Статья на CNCF из серии Open Policy Agent (OPA) про Network Security Policies и усиление мер защиты. В частности, как написать политики OPA на языке Rego
1) Чтобы, нельзя было задеплоить приложение, если сетевая политика не установлена
2) Чтобы сетевая политика удовлетворяла требованиям к приложению (например, подключиться мог только фронтенд)
https://www.cncf.io/blog/2020/09/09/how-to-enforce-kubernetes-network-security-policies-using-opa/
#ops #k8s #opa
Статья на CNCF из серии Open Policy Agent (OPA) про Network Security Policies и усиление мер защиты. В частности, как написать политики OPA на языке Rego
1) Чтобы, нельзя было задеплоить приложение, если сетевая политика не установлена
2) Чтобы сетевая политика удовлетворяла требованиям к приложению (например, подключиться мог только фронтенд)
https://www.cncf.io/blog/2020/09/09/how-to-enforce-kubernetes-network-security-policies-using-opa/
#ops #k8s #opa
5 tips for using the Rego language for Open Policy Agent (OPA)
В продолжении к предыдущему посту, несколько трюков и полезных советов по написанию правил OPA на Rego
https://www.fugue.co/blog/5-tips-for-using-the-rego-language-for-open-policy-agent-opa
#ops #k8s #opa
В продолжении к предыдущему посту, несколько трюков и полезных советов по написанию правил OPA на Rego
https://www.fugue.co/blog/5-tips-for-using-the-rego-language-for-open-policy-agent-opa
#ops #k8s #opa
Snyk
Open Source & Cloud Native Application Security Blog | Snyk
Level up your open source & cloud native application security knowledge. Stay up to date with news & happenings in cloud, container, serverless security & more!
Enforce Ingress Best Practices Using OPA
До этого я поделился статьей от CNCF о том, как усилить Network Policy через OPA. В этот раз небольшая статья про решение коллизий на разных Ingress'ах через OPA. Например, у вас один и тот же хост есть на нескольких разных Ingress, что создает коллизию в маршрутизации трафика через Ingreess-controller. Такое бывает по мере роста ресурсов Ingress. OPA позволяет определить политику, которая не даст создавать ресурсы, образовав коллизию.
https://www.cncf.io/blog/2020/09/29/enforce-ingress-best-practices-using-opa/
Если вы все еще говорите про себя "Да кто такой этот ваш OPA", то я нашел еще одну прекрасную статью:
Fitness Validation For Your Kubernetes Apps: Policy As Code
#k8s #ops #opa
До этого я поделился статьей от CNCF о том, как усилить Network Policy через OPA. В этот раз небольшая статья про решение коллизий на разных Ingress'ах через OPA. Например, у вас один и тот же хост есть на нескольких разных Ingress, что создает коллизию в маршрутизации трафика через Ingreess-controller. Такое бывает по мере роста ресурсов Ingress. OPA позволяет определить политику, которая не даст создавать ресурсы, образовав коллизию.
https://www.cncf.io/blog/2020/09/29/enforce-ingress-best-practices-using-opa/
Если вы все еще говорите про себя "Да кто такой этот ваш OPA", то я нашел еще одну прекрасную статью:
Fitness Validation For Your Kubernetes Apps: Policy As Code
#k8s #ops #opa
Static analysis by OPA - Dockerfiles
Уже ни для кого не секрет, что неправильное формирование Dockerfile может являться серьезной проблемой в безопасности приложений. Как правило, для решения данной проблемы все используют Hadolint для статического сканирования Docker-файлов.
В этом посте я предлагаю вам взглянуть на детектирование проблем с помощью Conftest - инструмента для выполнения статического анализа конфигурационных файлов (YAML, JSON, XML, Dockerfile, HCL и многое другое). Что самое интересное в нем, так это то, что правила для Conftest пишутся на языке Rego. Это позволяет стать на шаг ближе к унифицированному подходу контроля за средой с помощью Open Policy Agent, о котором я писал ранее, и не городить кучу инструментов. Вот статья, в которой описано применение Conftest для проверки Dockerfile с помощью кастомных рулов.
#docker #ops #dev #opa
Уже ни для кого не секрет, что неправильное формирование Dockerfile может являться серьезной проблемой в безопасности приложений. Как правило, для решения данной проблемы все используют Hadolint для статического сканирования Docker-файлов.
В этом посте я предлагаю вам взглянуть на детектирование проблем с помощью Conftest - инструмента для выполнения статического анализа конфигурационных файлов (YAML, JSON, XML, Dockerfile, HCL и многое другое). Что самое интересное в нем, так это то, что правила для Conftest пишутся на языке Rego. Это позволяет стать на шаг ближе к унифицированному подходу контроля за средой с помощью Open Policy Agent, о котором я писал ранее, и не городить кучу инструментов. Вот статья, в которой описано применение Conftest для проверки Dockerfile с помощью кастомных рулов.
#docker #ops #dev #opa
GitHub
GitHub - hadolint/hadolint: Dockerfile linter, validate inline bash, written in Haskell
Dockerfile linter, validate inline bash, written in Haskell - hadolint/hadolint
Semgrep for Cloud Security
Semgrep - инструмент статического анализа кода и всевозможных конфигурационных файлов. Он позволяет задавать паттерны, согласно которым будет осуществляться поиск той или иной конструкции в файле. В частности, учитывать одновременно сразу несколько конструкций для сокращения ложных срабатываний. На практике при анализе исходных кодов semgrep выдает все же достаточно много фолзов, уступая более умным инструментам вроде codeql.
Другое, отличное на мой взгляд, применение semgrep - terraform и kubernetes. В сравнении с OPA Conftest semgrep обладает более доступным языком описания запросов. Вот пример того, как могли бы выглядеть правила. Часть некоторых правил, с которых можно было бы начать, уже можно найти в репо semgrep-rules. Еще у semgrep есть удобный веб-интерфейс для тестирования правил.
#k8s #terraform #sast #ops #opa
Semgrep - инструмент статического анализа кода и всевозможных конфигурационных файлов. Он позволяет задавать паттерны, согласно которым будет осуществляться поиск той или иной конструкции в файле. В частности, учитывать одновременно сразу несколько конструкций для сокращения ложных срабатываний. На практике при анализе исходных кодов semgrep выдает все же достаточно много фолзов, уступая более умным инструментам вроде codeql.
Другое, отличное на мой взгляд, применение semgrep - terraform и kubernetes. В сравнении с OPA Conftest semgrep обладает более доступным языком описания запросов. Вот пример того, как могли бы выглядеть правила. Часть некоторых правил, с которых можно было бы начать, уже можно найти в репо semgrep-rules. Еще у semgrep есть удобный веб-интерфейс для тестирования правил.
#k8s #terraform #sast #ops #opa
Security: KubeCon + CloudNativeCon North America 2020 - Virtual
Все сильнее ощущается конец года - интересных анонсов и ресерчей все меньше, поэтому предлагаю взглянуть на доклады последнего Kubecon по части безопасности.
- Using Open Policy Agent to Meet Evolving Policy Requirements - доклад о том, что такое OPA, как работает и какие правила вообще можно написать
- DevOps All the Things: Creating a Pipeline to Validate Your OPA Policies - доклад про выстраивание модульного и интеграционного тестирования политик OPA
- Customizing OPA for a "Perfect Fit" Authorization Sidecar - о том, как можно использовать API Golang OPA для собственных нужд и кастомизации
- Также Aqua Security еще раз рассказала свой доклад Handling Container Vulnerabilities with Open Policy Agent о том, как можно интегрировать Trivy и OPA вместе в виде операторов k8s.
К сожалению, выложили далеко не все доклады. В частности, нет доклада Secure Policy Distribution With OPA. Автор этого доклада также известен своим другим крутым докладом Open Policy Agent Deep Dive.
- Кроме OPA затрагивали также тему mTLS и потенциальных подводных камней - PKI the Wrong Way: Simple TLS Mistakes and Surprising Consequences
- Не забыли и про Falco. Интересно, что на Kubecon был доклад про масштабирование Falco на 100к контейнеров (Security Kill Chain Stages in a 100k+ Daily Container Environment with Falco) и обход правил Falco инженером из Sysdig 🤷♂️ (Bypass Falco)
Программа конференции
Другие доклады
#dev #ops #k8s #talks #opa
Все сильнее ощущается конец года - интересных анонсов и ресерчей все меньше, поэтому предлагаю взглянуть на доклады последнего Kubecon по части безопасности.
- Using Open Policy Agent to Meet Evolving Policy Requirements - доклад о том, что такое OPA, как работает и какие правила вообще можно написать
- DevOps All the Things: Creating a Pipeline to Validate Your OPA Policies - доклад про выстраивание модульного и интеграционного тестирования политик OPA
- Customizing OPA for a "Perfect Fit" Authorization Sidecar - о том, как можно использовать API Golang OPA для собственных нужд и кастомизации
- Также Aqua Security еще раз рассказала свой доклад Handling Container Vulnerabilities with Open Policy Agent о том, как можно интегрировать Trivy и OPA вместе в виде операторов k8s.
К сожалению, выложили далеко не все доклады. В частности, нет доклада Secure Policy Distribution With OPA. Автор этого доклада также известен своим другим крутым докладом Open Policy Agent Deep Dive.
- Кроме OPA затрагивали также тему mTLS и потенциальных подводных камней - PKI the Wrong Way: Simple TLS Mistakes and Surprising Consequences
- Не забыли и про Falco. Интересно, что на Kubecon был доклад про масштабирование Falco на 100к контейнеров (Security Kill Chain Stages in a 100k+ Daily Container Environment with Falco) и обход правил Falco инженером из Sysdig 🤷♂️ (Bypass Falco)
Программа конференции
Другие доклады
#dev #ops #k8s #talks #opa
YouTube
Using Open Policy Agent to Meet Evolving Policy Requirements - Jeremy Rickard, VMware
Don’t miss out! Join us at our upcoming event: KubeCon + CloudNativeCon Europe 2021 Virtual from May 4–7, 2021. Learn more at https://kubecon.io. The conference features presentations from developers and end users of Kubernetes, Prometheus, Envoy, and all…
Declarative Authorisation Service (DAS)
На последнем KubeCon NA 2020 компания Styra, куда входят разработчики OPA, релизнули бесплатную версию DAS (Declarative Authorisation Service). Это сервис, который может бесплатно помочь небольшим командам (до 10 нод) внедрить OPA себе в инфраструктуру. Сервис предоставляет удобный редактор правил Rego с возможностью валидации, инструмент мониторинга действий в кластере и срабатываний AdmissionController, встроенный пак собственных правил.
Подробнее:
https://www.infracloud.io/blogs/opa-the-easy-way-featuring-styra-das/
А еще у Styra есть бесплатный небольшой курс по OPA.
#k8s #ops #opa
На последнем KubeCon NA 2020 компания Styra, куда входят разработчики OPA, релизнули бесплатную версию DAS (Declarative Authorisation Service). Это сервис, который может бесплатно помочь небольшим командам (до 10 нод) внедрить OPA себе в инфраструктуру. Сервис предоставляет удобный редактор правил Rego с возможностью валидации, инструмент мониторинга действий в кластере и срабатываний AdmissionController, встроенный пак собственных правил.
Подробнее:
https://www.infracloud.io/blogs/opa-the-easy-way-featuring-styra-das/
А еще у Styra есть бесплатный небольшой курс по OPA.
#k8s #ops #opa
Styra
Homepage
Enable developers, IAM engineers, and business users to enforce sophisticated permissions and operationalize Zero Trust using policy-based access control from the creators of Open Policy Agent.