Security Wine (бывший - DevSecOps Wine)
7.15K subscribers
281 photos
1 video
68 files
491 links
https://radcop.online/

"Security everywhere!"

🍷Канал, в котором публикуются материалы о "выращивании" безопасности в организации (а начиналось все с безопасного DevOps и shift security left!)

По всем вопросам: @surmatmg
Download Telegram
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
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
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
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
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
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
Semgrep for Cloud Security

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
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
"Враг не пройдёт, или как помочь командам соблюдать стандарты разработки"

Разбор доклада от Александра Токарева про Open Policy Agent на русском языке - что это, примеры проверок манифестов k8s и конфигурации сборок, способы интеграции OPA, use cases и немного про архитектуру OPA в Сбере.

https://habr.com/ru/company/oleg-bunin/blog/328262/

Для тех, кто заинтересовался инструментом, гораздо больше за хэштегом #opa

Сейчас, кстати, стало популярно относить все security практики к каким-то вехам DevSecOps. Open Policy Agent не исключение, поэтому часто можно услышать, что технология относится к Compliance as Code. Сюда же относится Chef InSpec, HashiCorp Santinel и, по сути, любой другой сканер. Подробнее про другие инструменты можно найти по ссылке.

#ops #dev
Kics - Secure IaC by Checkmarx (with OPA engine)

Checkmarx выпустили open-source инструмент Kics - сканер IaC (Terraform, Kubernetes, Dockerfile, Ansible, CloudFormation, Helm) на предмет мисконфигураций. Работает на базе правил Rego и умеет выдавать результат в JSON и красивых HTML. Правила все находятся в репо и дописываются, пока я пишу текст к этому посту. В общем выглядит очень интересно.

Если кто хочет послушать про это вебинар 15 апреля от самих Checkmarx, то ссылка вот. Спасибо подписчикам!

Если вам интересны еще подобные проекты, то оказывается, существует отдельный Awesome под OPA - интеграции, статьи, тренинги, коммерческие обвязки.

#opa #dev #ops
Authorizing Microservice APIs With OPA and Kuma

До этого я писал про OPA только в контексте контроля запросов на API кластера с целью их ограничения. В этот раз предлагаю ознакомиться с материалом по применению OPA как способ микросервисной авторизации для реализации Zero Trust Network.

Authorizing Microservice APIs With OPA and Kuma

В данном случае речь именно об интеграции с service mesh Kuma, но это также может быть и Istio. Каждый раз, когда поступает новый внешний запрос, Kuma отправляет запрос авторизации на OPA. В статье также упоминается Styra DAS как инструмент централизованного управления политиками OPA.

Если вам интересно узнать чуть больше про Kuma и Zero Trust, то вот небольшая статья. У разработчиков Kuma есть также демо интеграции enterpise версии service mesh Kong Mesh с OPA.

#opa #ops #k8s
Ensure Content Trust on Kubernetes using Notary and Open Policy Agent

Реализация проверки подписи образа через OPA при деплое в Kubernetes с помощью интеграции с Notary-сервисом.

В рамках CI сборки формируется подпись к образу с помощью Notary сервиса. При формировании подписи, ее значение сохраняется в БД. Каждый раз, когда происходит попытка деплоя нового ворклоада, OPA с помощью ValidatingAdmissionWebhook проверяет наличие подписи (digest) к образу и идёт с ним в Notary, чтобы убедиться, что подпись была сформирована именно им. В случае, если образ был подменен злоумышленником или изменен за пределами security-проверок в CI, образ развернут быть не сможет.

Так как работа происходит с OPA, в данной схеме есть возможность применить и MutatingAdmissionWebhook. Например, прикреплять digest, если он отсутствует, но подпись для данного образа уже была сформирована и хранится в Notary.

Про альтернативные способы формирования Content Trust я писал ранее.

#opa #k8s #dev #ops