DevSecOps Talks
6.55K subscribers
59 photos
71 files
964 links
Рассказываем об актуальном в мире DevSecOps. Канал DevSecOps-команды "Инфосистемы Джет"
Download Telegram
Всем привет!

CNCF подвел итоги 2020 года и подготовил сводный отчет о развитии community, его составе и о событиях, которые произошли за год. Наиболее полезными разделами на наш взгляд стали:

🍭 End user technology radar (стр. 9) - чем-то напоминает Gartner Hype Cycle: что "можно брать, протестировано", а что - "смотрим, наблюдаем"
🍭 Информация о доступных тренингах и сертификациях (стр. 14), включая информацию об анонсированном в ноябре 2020 года Certified Kubernetes Security Specialist
🍭 Сведения о проектах, которые были «приняты» в 2020 году (стр. 16) в количестве 35 штук
🍭 Сведения о проектах, которые были «обновлены» в 2020 году (стр. 17)
🍭 Ссылки на наиболее популярные посты в блоге CNCF (стр. 19)

Ознакомиться с материалами можно по ссылке: https://www.cncf.io/cncf-annual-report-2020/
Привет!

StackRox подготовили обзор под названием «Protecting Kubernetes: The Kubernetes Attack Matrix and How to Mitigate Its Threats». В качестве основы ребята взяли адаптацию фреймворка MITRE ATT&CK от Microsoft. Для каждой из 40 техник доступно описание возможных способов противодействия, собраны лучшие практики. Обзор получился общим, т.к. нет единого решения, которое подойдет всем, но все же может быть использован для понимания того, как выстроить защиту кластера.

Отчет примечателен тем, что рекомендации по противодействию авторы разделили на 3 группы:
🍭 Использование штатных механизмов безопасности Kubernetes
🍭 Использование сервисов Cloud Platform Provider’a
🍭 Использование сторонних решений

Для некоторых тактик приведены ссылки на «Real-world Example». Не обошлось, конечно же, без небольшой рекламы – «Где StackRox может помочь?». Но, spoiler (!), согласно тому же обзору 20 из 40 рассмотренных тактик можно противостоять с использованием собственных ИБ-возможностей Kubernetes.

P.S. Для скачивания обзора необходимо указать email, можно взять любой, мы проверяли. Preview не отображается, поэтому дублируем ссылку еще раз: https://security.stackrox.com/protecting-against-K8s-threats-white-paper.html?Source=Social&LSource=Social
Привет!

По ссылке доступна утилита KubeLinter, которая позволяет проверять Kubernetes YAML и Helm Charts. Проверки направлены на оценку production readiness и security.
Возможна гибкая настройка – некоторые проверки можно отключать по желанию, также можно добавлять собственные.

В качестве примера, доступного по ссылке, приведена идентификация следующих недостатков:
🍭 "Security": Pod is not running as a read only file system
🍭 "Production readiness": CPU and memory limits are not set

В случае, если какая-либо проверка не была пройдена, KubeLinter предлагает рекомендации по устранению недостатка, приводятся ссылки на документацию (там, где применимо).

Документация на утилиту (хоть и небольшая) доступна по ссылке: https://github.com/stackrox/kube-linter/tree/main/docs
Всем привет!

24 января пройдет вебинар, посвященный Software Composition Analysis, SCA под руководством Maya Kaczorowski (Product Manager at GitHub in software supply chain security). На семинаре обещают рассказать про то, как:

🍭 Определить используемые зависимости (dependencies)
🍭 Как сделать так, чтобы они были up-to-date
🍭 Как узнавать о том, что появились обновления по ИБ, которые необходимо установить
🍭 Как работать с потенциальными сложностями

Кроме того, на вебинаре продемонстрируют несколько open source инструментов, которые позволяют автоматизировать выполнение задач, указанных выше.

P.S. Вебинар будет проходить с 13 до 14 GMT-5 (21-22:00 по Московскому времени)
Всем привет!

В блоге компании Aqua Security появился новый пост от Liz Rice, посвященный rootless контейнерам (дословно - "безрутовым" контейнерам). Rootless контейнеры представляют собой относительно новую концепцию, которая позволит обеспечить более безопасный подход к запуску контейнеров.

Этот подход достигается благодаря следующим пунктам:
🍡Пользователю не требуется быть привилегированным на хосте для того, чтобы создавать rootless контейнеры
🍡Запуск кода внутри такого контейнера может быть выполнен с рутовыми привилегиями без необходимости использования рутовых привилегий на уровне хоста

В статье вы найдете более подробную информацию о том:
🍡Почему root контейнеры лучше не использовать
🍡Что такое rootless контейнеры и как они работают (также приведено краткое описание о том, какими инструментами они уже поддерживаются)
🍡Видео с демонстрацией логики работы rootless контейнеров (всего 7 минут!)

Дополнительная информация по rootless контейнерам может быть найдена здесь.

P.S. Liz Rice является сотрудником Aqua Security, а так же входит в состав Technical Oversight Committee CNCF.
Привет!

19 января пройдет конференция «Destination: Zero-Trust», посвященная вопросам обеспечения безопасности. Примеры докладов:

🍭 Embracing change: policy-as-code for Kubernetes with OPA and Gatekeeper
🍭 Delivering secure API-centric microservices
🍭 Zero trust & Kubernetes: redefine your web app & API security model
🍭 Top API security threats every API team should know
🍭 How to do Kubernetes security when you don't know anything about Kubernetes security

Отличная подборка спикеров - Weaveworks, SNYK, Octa, HashiCorp, DataDog, StackRox и другие! Единственный «недостаток» - время проведения, с 19:00 до 01:00 (московское время), надеемся, что будут доступны ссылки на запись и продемонстрированные материалы.

P.S. Адаптивное расписание, основанное на текущей локации пользователя – просто прекрасно! И почему не все так делают ☺️
Всем привет!

Компания Aqua Security опубликовала в своем блоге статью с перечнем ТОП-5 угроз безопасности, выявленных исследовательской командой компании Team Nautilus в 2020 году. В статье приводится перечень материалов, краткое описание и ссылки на более детальную информацию.

Для быстрого обзора перечень, представленный в статье, выглядит следующим образом:
🍡Attacker Building Malicious Images Directly on Your Host, 15.07.2020 (про использование некорректно сконфигурированного Docker API для сборки и запуска вредоносного образа на хосте)
🍡Deep Analysis of TeamTNT Techniques Using Container Images to Attack, 25.08.2020 (про техники атак, используемые группировкой TeamTNT; исследовательская команда выполняла анализ образов, которые лежали на Docker Hub аккаунте группировки; сама TeamTNT известна тем, что использовала криптомайнингового червя для кражи учетных данных AWS, о чем более подробно можно почитать в этой статье)
🍡Kinsing Malware Attacks Targeting Container Environments, 03.04.2020 (про атаки на среды контейнеризации, в основе которых лежит эксплуатация открытого порта Docker API, чтобы запустить Ubuntu контейнер с вредоносом kinsing, который, в свою очередь, запускает криптомайнер и пытается распространить вредонос дальше по хостам и контейнерам)
🍡Fileless Malware Executing in Containers, 02.12.2020 (про атаки, связанные с запуском вредоносов в памяти контейнера, чтобы обойти разные механизмы защиты, например, статический анализ)
Привет!

Задумывались о сдаче экзамена на Certified Kubernetes Security Specialist (CKS)? Не знаете, с чего начать? Попробуйте посмотреть материалы, доступные по ссылке!

Автор агрегирует данные, которые могут быть полезны – от описания самого экзамена до ссылок на материалы (официальная документация, статьи, видео, обучающие курсы, инструментарий), которые могут пригодиться!
Всем привет!

Если вы хотели знать про seccomp, но боялись спросить, то эта статья для вас! Автор описывает:

🍭 Что такое seccomp профили, зачем их создавать и почему default profile не достаточен
🍭 Как можно создать собственный профиль и применить его на уровне Docker
🍭 Пример использования собственных профилей для Kubernetes

Просто, понятно и с большим количеством примеров!
Привет!

Одна из очень популярных проблем ИБ – shadow что-то. Это могут быть виртуальные машины, которые «кто-то создал и забыл удалить», «обычные серверы, которые существуют, и никто не знает об их существовании или зачем они нужны». Это приводит к тому, что злоумышленник потенциально может этим воспользоваться для атаки на Компанию. Хорошей практикой считается инвентаризация и контроль используемости чего-либо: зачем оставлять то, что не используется?

Такое может случиться и с Kubernetes. По ссылке доступна небольшая, но приятная утилита, которая позволяет производить "чистку" неиспользуемых ресурсов (сущность: причина удаления):

🍭 Pod: Not running
🍭 ConfigMap: Not used by any Pods
🍭 Secret: Not used by any Pods or ServiceAccounts
🍭 PersistentVolume: Not satisfying any PersistentVolumeClaims
🍭 PersistentVolumeClaim: Not used by any Pods
🍭 Job: Completed
🍭 PodDisruptionBudget: Not targeting any Pods
🍭 HorizontalPodAutoscaler: Not targeting any resources

Утилиту можно запускать в dry run, чтобы посмотреть, какие именно ресурсы будут удалены и почему. В последнем разделе описания доступны ссылки на аналогичные ресурсы.
Привет!

В октябре 2020 года Snyk анонсировал новый продукт в своей линейке – Snyk Code. Решение, представляющее из себя SAST, расширит продуктовую линейку компании.

Snyk Code построен на базе DeepCode, который был приобретен Snyk. Если верить тому, что пишут, то ребята постарались создать developer (not security) first решение, которое устраняет «традиционные» проблемы SAST: медленная скорость работы, неудобные результаты, большое количество ложных срабатываний.

«The semantic analysis engine added via DeepCode, trained on Snyk’s Vulnerability Database, reduces false positives to near-zero» - трудно представить, но посмотреть что это уже хочется 😊

Подробности можно узнать по ссылке: https://snyk.io/blog/developer-first-sast-with-snyk-code/

Ссылка на документацию Snyk Code: https://support.snyk.io/hc/en-us/categories/360003257537-Snyk-Code
Привет!

По ссылке доступен отчет «The State of DevSecOps Report», подготовленный компанией Contrast Security. Примеры данных из отчета:

🍭 open source компоненты есть в большинстве приложений (от 50% до 75% приложений разрабатываются с его участием)
🍭 Большинство опрошенных (33%) делают deploy to production несколько раз в неделю. 25% и 22% опрощенных – еще чаще: несколько раз в день, с каждым изменением
🍭 От 4 до 25 – среднее количество уязвимостей в production (78%)
🍭 У большинства опрошенных (31%) отсутствует явно выделенная роль Application Security специалиста, она распределена между разработчиками и информационной безопасностью
🍭 Разработчики могут игнорировать (37% - иногда, 29% - время от времени) тесты по информационной безопасности для того, чтобы не отставать от release cycles

Остальное – в самом отчете (35 страниц с графиками и цифрами)
StackRox_CKS_K8s_Study_Guide.pdf
1.2 MB
Всем привет!

Stackrox подготовили неплохой материал, который можно использовать при подготовке к экзамену Certified Kubernetes Security Specialist (CKS). Материал охватывает рекомендации и ссылки на полезные материалы по таким разделам как:

🍭 Cluster Setup (Network policy, CIS Bench, Ingress etc.)
🍭 Cluster Hardening (API Access, RBAC, etc.)
🍭 System Hardening
🍭 Minimize Microservice Vulnerabilities (PSP, OPA, Security Context, etc)
🍭 Supply Chain Security
🍭 Monitoring, Logging and Runtime Security
Всем привет!
На Хабре появилась аналитическая статья по текущему использованию контейнерной разработки в нашей стране.
Подоплекой статьи послужило масштабное исследование, проведенное несколько месяцев назад среди крупных представителей отечественного рынка об использовании контейнерных технологий в разработке ПО.
Подобного материала в интернете, казалось бы, достаточно, однако не каждое исследование опирается на реалии российского рынка.

В статье приводятся любопытные комментарии и интересная статистика на интригующие темы:

🍩 Насколько распространена контейнеризация в российских компаниях.
🍩 Сильно ли мы отстаём от западных стран
🍩 С какими сложностями при внедрении контейнеров сталкиваются отечественные крупные игроки рынка
🍩 Успевает ли безопасность адаптироваться под новые среды
🍩 Opensource или Enterprise

Материал может быть полезен всем, кто использует или планирует использовать контейнерную разработку в своих компаниях. А так же может быть полезным с точки зрения понимания потенциальных проблем, с которыми приходится сталкиваться бизнесу при внедрении новых для себя технологий!

Статья доступна по ссылке: https://habr.com/ru/company/jetinfosystems/blog/539404/
Всем привет!

Вышло обновление и без того прекрасной схемы о том, как Troubleshoot Kubernetes Deployments. По ссылке доступна сама схема (да, есть вариант в pdf!) и рекомендации:

🍭 Полезные команды при troubleshoot pods
🍭 Обзор startup ошибок (ImagePullBackoff, ErrImageNeverPull, RegistryUnavailable и т.д.) с рекомендациями по поиску ошибок
🍭 Обзор runtime ошибок (CrashLoopBackOff, KillPodSandboxError, RunInitContainerError и т.д.) с рекомендациями по поиску ошибок
🍭 Как подойти к вопросу troubleshoot для Service
🍭 Рекомендации по поиску ошибок в работе Ingress

P.S. Схема невероятна, хоть на стену вешай! Всех с пятницей!
Добрейшего утра!

К началу рабочей недели, чтобы скрасить холодное утро первого дня последнего зимнего месяца, спешим поделиться очень интересным интервью с разработчиком из «Авито».
В интервью он рассказывает об опыте внедрения ServiceMesh в большой продуктивной системе.
Здесь любопытно раскрывается тема ServiceMesh: что это вообще и почему его может потребоваться внедрить. Прочитать материал еще стоит для того, чтобы узнать о подводных камнях, с которыми пришлось столкнуться разработчикам и инфраструктурщикам при использовании подобных подходов в высоконагруженных и многокластерных системах.
В статье приоткрывается завеса тайны над такими животрепещущими темами как:

🍩 Почему ServiceMesh?
🍩 Istio или не Istio?
🍩 Можно ли разработать свой собственный ServiceMesh?
🍩
Каких сложностей стоит ожидать при внедрении?

Само интервью доступно по ссылке на Хабр.
Приятного чтения! ☺️

https://habr.com/ru/company/southbridge/blog/539804/
Привет!
Наверное у всех бывает такое что инструмент, которым ты часто пользуешься кажется таким знакомым и привычным, и ты уже думаешь что ничего нового для себя в нем уже не открыть? А потом случайно выясняется что некоторые действия можно было делать значительно проще?
🍩 "10 лайфхаков при работе в Excel"
или
🍩 "О боже мой, как я мог не знать что в Word есть функция_name!"

Спешим поделиться небольшой статейкой по Kubernetes из серии "Что нужно знать для подготовки к сдаче CKA".
Статья на анлгийском, однако состоит из 7 хинтов для работы с Kubernetes, которые вполне понятны из примеров. Плюс небольшой бонус в конце.

🍩 Лайфхаки при работе с kubectl
🍩 Куда обращать внимание при конфигурировании сети
🍩 Куда смотреть если что то не работает

Кто знает, может быть это тот самый случай, когда можно открыть для себя что то новое и полезное? 😉

https://medium.com/faun/preparation-and-resources-for-cka-exam-ca868fc678c9
Привет, я подсяду?
Спасибо! Почему у меня на рюкзаке значок DevOps? Ну, мне просто понравился значок в форме бесконечности. Поддерживаю ли я GitOps в Prom? Да.
Являюсь ли я частью сообщества? Да. А почему ты спрашиваешь?
В смысле, навязываю тебе что-то? Так ты же сам спросил.
Ладно. Хочу ли я рассказать тебе про ArgoCD? Боже, конечно!

ArgoCD - скромный, но одновременно мощный инструмент Continious Delievery в GitOps. Быстрый и простой вариант организации декларативной доставки приложений в Kubernetes/Openshift. Хороший поинт еще и в том что другой продукт от авторов концепта GitOps - Waeve Flux, так же использует движок ArgoCD

🍩Как это выглядит?
Берется один git, туда кладутся YAML манифесты для приложения с описанием deployment, service, route и всего что нужно для вашего приложения. Затем ArgoCD к подключается к этому репозиторию кода и вуа-ля!
ArgoCD способен постоянно мониторить изменения в манифестах в git, выполнять деплой в указанный кластер или группу кластеров, а так же следить за состоянием приложения. Если в приложении в кластере произошли изменения отличные от описанного в git, ArgoCD просигнализирует об этом и в зависимости от параметров настройки позволит вернуть исходную конфигурацию, либо сделает это автоматически.

🍩 В чем плюсы?
Декларативно описав единожды конфигурацию приложения в манифестах в Git, теперь можно быть увренным что состояние приложения всегда будет соответствовать эталонному. Нужно изменить конфигурацию с автоматическим deploy в кластер? Не проблема, изменение в коде в git приведет к триггеру деплоя новой версии приложения в кластер.
Удобный, простой и абсолютно понятный GUI.

🍩 Что с безопасностью?
ArgoCD сам может быть развернут как внутрикластерное приложение. Для развертывания приложений из git, ему потребуются права кластерного администратора, либо тонкая настройка прав в конкретном namespace для приложения, которое он будет деплоить.
То есть возможно грамотно настроить доступ, а если незачем, то можно оставить как есть.

🍩 Зачем мне это может понадобится?
Как насчет задеплоить приложение в 10 - 20 разных кластеров за один клик мышки? А не переживать за состояние приложения и его конфигурации в дальнейшем?
А управлять конфигурацией самого кластера? Machineconfig, RBAC и прочее? Звучит заманчиво? 😊

ArgoCD - безусловно, не серебряная пуля. Вряд ли будет справедливо гордо рассказывать друзьям как сделал у себя"труЪ GitOps" при одном его использовании. Однако внедрить ArgoCD, как минимум будет первым шагом в большой GitOps.

И конечно же, это весело!

https://argoproj.github.io/argo-cd/
Привет!
В блоге компании NeuVector есть любопытная статья про уязвимость Apache Struts и ее эксплуатацию в кластере Kubernetes.
Apache struts уязвимость уже не новая, что однако, не делает ее менее неприятной.
Эксплуатируя эту уязвимость, нарушитель может выполнить такие вещи гадкие вещи как например:

🍩 Container breakout
🍩 Выполнение RCE
🍩 Binary injection в соседний контейнер с приложением
🍩 Примонтировать ФС хоста
🍩 ???

Плохой нарушитель! Плохой!

В статье присутствует техническое «мясцо» о том, как конкретно проэксплуатировать уязвимость с наглядными примерами, а для тех кому лень читать - можно посмотреть короткий вебинар! ☺️

Читаем, смотрим, и делаем выводы!

P.S. Мы не для того чтобы показать как МОЖНО атаковать, а чтобы подумать как НУЖНО защищаться

👇 Ссылка, как всегда, внизу 👇
https://blog.neuvector.com/article/hack-kubernetes-container
Всем привет!

Сегодня это снова произошло! Никогда такого не было, и вот опять! Пятница!
А если пятница - значит время расслабить мозг, настроиться на уикенд, и почитать лёгкий пятничный пост.

Сегодня делимся утилитой, без которой терминальное управление кластером Kubernetes порой может показаться невозможным!
Строго говоря, непосредственно сама утилита ничем не управляет, а является скорее чем то вроде форка для kubectl, но однозначно можно сказать что жизнь С ней гораздо красочнее чем БЕЗ неё!

Итак, речь про Kubecolor.
Главное и единственное назначение утилиты - окрашивать вывод команд kubectl.
«И все?» - спросите вы
«И все» - ответим мы. - Но зато красиво как!»

Перечень команд с доступным «разноцветным» выводом не очень велик, но вполне достаточен, чтобы терминал не был скучным.

🍩 kubectl get
🍩 kubectl top
🍩 kubectl describe
🍩 kubectl explain
🍩 kubectl api-versions
И другие...

Технические характеристики:
🍩 Написана на Go
🍩
текущий релиз - 9-й (ДЕВЯТЫЙ!) 🤣
🍩 распространяется свободно под лицензией MIT
🍩 Разрабатывается командой из 6 человек (и вероятно, 1 канарейки)

Установочка простая, ссылочка ниже. Всех с пятницей!👇

https://github.com/dty1er/kubecolor?utm_sq=gn0thzo1t