DevSecOps Talks
6.55K subscribers
59 photos
71 files
964 links
Рассказываем об актуальном в мире DevSecOps. Канал DevSecOps-команды "Инфосистемы Джет"
Download Telegram
Привет!
Наверное у всех бывает такое что инструмент, которым ты часто пользуешься кажется таким знакомым и привычным, и ты уже думаешь что ничего нового для себя в нем уже не открыть? А потом случайно выясняется что некоторые действия можно было делать значительно проще?
🍩 "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
Привет!

Есть отличный способ сэкономить 65$ и посетить (хоть и виртуально) одно из самых интересных мероприятий, посвященных контейнерам!

Конечно же, речь идет про KubeCon 2021, который пройдет 4-7 мая в online-формате. Регистрация ДО 15 февраля будет стоить всего 10$ (вместо стандартных 75$).

Согласно данным организаторов, за эту сумму вы получите «full-access to the keynotes, breakout sessions, solutions showcase, networking, games and more!»

Зарегистрироваться можно по ссылке.

P.S. Также есть free-версия, ограниченная «access to the daily keynotes, solutions showcase and sponsor demo theater only». Если захотите посетить Security Day (устраивается отдельно), то это будет стоить дополнительных 20$
Привет!

Отличные новости для вторника! Стали доступны материалы с конференции Zero-trust, организованной Kong (spoiler: их реально много). Все доступно без регистрации и sms!

Примеры того, что можно найти по ссылке:

🍭 How To Do Kubernetes Security When You Don’t Know Anything About Kubernetes Security
🍭 Zero-Trust for Containers and Kubernetes
🍭 API Threat Protection: Learning From Real Life Examples
🍭 Learnings from CNCF’s Envoy and OPA Creators Matt Klein and Tim Hinrichs

И много другое ) Материалов много, есть не только video, но и статьи, e-books и отчеты. Надеемся, что вам пригодится!
Привет!

О важности анализа компонент ПО много и часто говорят. И не зря! По ссылке приведена очень интересная история, о том что может пойти не так, если не контролировать что находится в ПО и как оно туда попадает.

Что сделал автор?
🍭 Получил package.json, который содержал перечень npm-пакетов, используемых PayPal
🍭 Обратил внимание, что часть пакетов является private (отсутствовали в public репозиториях)
🍭 Создал собственные версии указанных пакетов в public репозиториях с указанием идентичных имен
🍭 Исследователь отметил, что при наличии идентичного пакета в public/private репозитории «выиграет» public. Иногда «выигрывает» бОльшая версия пакета
🍭 Собрал немного данных у Компании с помощью data exfiltration через DNS. Как? Ответ находится в статье ☺️

Аналогичный "трюк" он провернул с Microsoft, Apple, PayPal, Shopify, Netflix, Tesla, Yelp и Uber 😊
Всем привет!

Наткнулись на интересный проект, которые агрегирует решения по ИБ, актуальные в том числе и для DevSecOps.

Карточка решения включает в себя:
🍭 Краткое описание решения
🍭 Ссылка на официальный сайт
🍭 Тип – enterprise или open source
🍭 Поддерживаемые ОС – Windows/Linux

Проект продолжает развиваться, можно предложить собственные решения для того, чтобы их добавили. О том, как это сделать, написано по ссылке на GitHub 😊
- О нет!
- О нет!
- О да-а-а! Сегодня пятница!
А это значит что ты знаешь что это значит! 🖖🏻
Это значит - время сбавить обороты, начать готовиться к выходным, а ещё самое время провести Chaos Engineering кластера в PROD!

Сломать PROD?!
Не просто сломать PROD, а сломать и посмотреть как именно сломается. Это и есть самое веселое в Chaos Engineering.

Стресс-тест кластера Kubernetes/Openshift может выявить некорректную конфигурацию или наоборот помочь убедиться в достаточной отказоустойчивости.
А ещё, это можно сделать весело!

И в этом поможет Kubeinvaders! Все сразу становится ясно, если сказать что это классический Invaders, только вместо элиенов (та-дам!) поды в кластере!! 😱

🍩 Управляй своим battleship’ом прямо в терминале
🍩 Истребляй полчища Alien-pod’ов
🍩 Анализируй метрики

И самое главное!

🍩 Тимлид не докопается, потому что ты занят Chaos Engineering!

Ссылка на GitHub ниже, установка простая, для всего остального есть кластер PROD👇

https://github.com/lucky-sideburn/KubeInvaders
Привет!

Небольшая, но интересная новость, которую вы может быть пропустили. Не знаете, какой сканер выбрать для анализа образов контейнеров? Используете Docker?

Попробуйте запустить команду… docker scan! Docker и SNYK объявили о партнерстве и добавили эту функцию by default в версии Docker >= 2.3.6.0. При запуске вас спросят согласны ли вы с использованием стороннего сервиса (в данном случае – SNYK), после чего образ отсканируется и будет предоставлен результат.

Дополнительные возможности команды представлены на картинке ☺️

Примечание: сканирование local images находится в стадии beta. Подробности на официальной странице Docker
Всем привет!

Это птица? Это самолёт? Это Network Policy Editor for Kubernetes!
Сколько копий сломано по безопасности сети в Kubernetes, сколько слов об этом сказано, но так мало говорят о том, как конфигурировать сетевые правила удобно.

Безусловно, декларативное описание настроек это хорошо и правильно. Весь Kubernetes на этом построен. Но как все же порой хочется, чтобы унылый текст конфигураций превратился в нечто более наглядное и user-friendly.
И вот, свершилось! То чего многие так ждали! Интерактивный редактор сетевых политик!

Проект Cilium представляет ряд решений по управлению сетью в Kubernetes. Однако Network policy Editor for Kubernetes выделяется среди них своей нежной заботой об администраторе Kubernetes. Да, может и не труЪ, зато красиво и понятно.

Как пользоваться? Все просто:
🍩 На схеме обозначить ресурсы
🍩 Наглядно описать сетевое правило
🍩 Убедиться что все верно
🍩 Готово!

Дальше NPEK переформатирует правило в манифест и его можно применять в кластере!
С радостью делимся ссылкой на редактор, а подробную информацию о проекте можно найти на сайте разработчика 👇

https://cilium.io/blog/2021/02/10/network-policy-editor

P.S. с портативных браузеров редактор не открывается, иначе будет неудобно с ним работать ☺️
Всем привет!

В библиотеке IEEE Xplore есть интересная статья про контейнеры и безопасность. Она называется Container Security: Issues, Challenges, and the Road Ahead (апрель 2019).

Цель этой статьи со слов авторов – помочь разобраться в требованиях к ИБ в части контейнеров и дать более четкое представление о возможных уязвимостях и атаках.

Авторы проанализировали различную литературу, сформировали 4 глобальных типа требований по безопасности (они называют это use cases) с разбивкой по способу реализации (software/hardware) и для каждой составили модель угроз с описанием угрозы, атаки, примера исполнения и варианта устранения.

Пример 1:
🍡Use case I: защита контейнеров от запускаемых в них приложений
🍡Угроза: Уязвимости в образах
🍡Атака: Remote Code Execution
🍡Сценарий: Эксплуатация уязвимости CVE-2014-6271 (ShellShock)
🍡Решение: периодические сканирование образов на уязвимости

Пример 2:
🍡Use case 2: защита взаимодействий между контейнерами
🍡Угроза: бесконтрольный сетевой доступ между контейнерами
🍡Атака: сканирование портов, поиск уязвимостей
🍡Сценарий: использование скомпрометированного контейнера для поиска и сканирования контейнеров, размещенных в других сетях с иным уровнем доступа
🍡Решение: разделение контейнеров по виртуальным сетям с различным уровнем доступа, мониторинг аномального поведения

Эти материалы также дополняются достаточно подробным описанием стандартных механизмов защиты, реализуемых в ОС Linux (такие как namespaces, SELinux и пр.).

В качестве итога статьи приводится сводная таблица, охватывающая все описанные угрозы и меры по их устранению с указанием источников на дополнительные материалы.

Ссылка на статью: https://ieeexplore.ieee.org/document/8693491
Всем привет!

Свежие новости с передовой от команды Team Nautilus (Aqua Security).

Группировка TeamTNT запустила новую кампанию против сред, в основе которых лежит Docker и Kubernetes.

Они выложили пачку вредоносных образов на Docker Hub, предназначенных для атак на некорректно сконфигурированный docker daemon, KubeFlow дашборды и Weave Scope с целью хищения учётных записей облачных провайдеров, криптомайнинга, использования backdoor-в и запуска червя для поиска следующей жертвы. По словам автора это первая столь масштабная кампания, направленная на массовое и систематическое сканирование Интернета для поиска "проблемных" сред контейнеризации и оркестрации для проведения дальнейших атак.

В статье также указано название репозитория Docker Hub и приведён поименный перечень вредоносных образов с кратким описанием того, что делает каждый из них.

Почитать можно здесь: https://blog.aquasec.com/teamtnt-campaign-against-docker-kubernetes-environment
Всем привет!

Если вы часто ошибаетесь при написании YAML файлов или «никак не можете найти ту самую ошибку» в существующем, то вам может пригодиться вот этот сайт: https://containership.github.io/konstellate-editor/?utm_sq=g0ojaltgko

Работает просто – создание YAML файлов практически через drag’n’drop!

Выбираете тип того, что хотите создать, например:

🍭 Pod!
🍭 Добавляете metadata и, например, labels
🍭 Указываете необходимые значения параметров, поступаете аналогично со spec!
🍭 Готово, осталось только сохранить и пользоваться!

Помимо этого можно использовать существующие файлы для того, чтобы понять, как они структурированы (сайт графически группирует логически связанные объекты) или найти «ту самую ошибку» (она будет обведена красным)
Привет!

Что общего у инструментации (instrumentation) и защиты контейнеров? На первый взгляд – ничего, но это только на первый ☺️

Про инструментацию очень мало статей на русском языке, а этот подход зачастую используется в интерактивных сканерах (Interactive Application Security Testing) и не только. Но интернет помнит! Есть статья 2013 года, в которой описаны такие вещи как:

🍭 Инструментация исходного кода
🍭 Инструментация байт-кода
🍭 Инструментация бинарного кода
🍭 Статическая бинарная инструментация
🍭 Динамическая бинарная инструментация

Скорее всего не все ссылки или указанные в статье инструменты доступны/поддерживаются. Но сам принцип, описанный в статье, остается!

Так при чем тут контейнеры? Все просто! Те, кто дочитают статью до конца увидят, что ее автор – D1g1 – основатель и бессменный лидер одного из лучших каналов по безопасности контейнеров - k8s (in)security 😊 Очень рекомендуем! Сами читаем и многое для себя узнаем!

👉 Ссылка на канал Дмитрия: https://t.me/k8security
👉 Ссылка на статью Дмитрия: https://xakep.ru/2013/09/11/61232/
Неделя короткая, зато более-менее спокойная, есть время на подумать. Сегодня предлагаю поговорить за резервные копии конфигурации Kubernetes.
Как пишут в нашей базе знаний, если есть почти работающий кластер (c) с которого нужно срочно мигрировать и полчаса времен, можно воспользоваться тулой https://github.com/WoozyMasta/kube-dump.

Можно запускать:
📍разово на локальной машине как скрипт, но должны быть установлены jq и yq (скорее всего они у вас есть);
📍разово в виде контейнера на локальной машине;
📍разово и как cron job в Kubernetes.

Можно сделать дамп как всего кластера, так и отдельных ресурсов в отдельных неймспейсах. Круто, что автоматически можно залить в Git, но будьте внимательны с секретами.
Привет!
Сегодняшний пост будет коротким, потому что не поделиться таким - просто грех!

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

🍩 Основные подсистемы ОС
🍩 Зависимости процессов, модулей и устройств
🍩 Послойная структура от hardware до системных процессов

Схема может очень пригодиться для как для более глубокого понимания устройства операционной системы, так и для структурирования уже имеющегося понимания.
Ну а про наглядность нечего говорить, куда лучше увидеть самому.

Карта доступна по ссылке на GitHub. На мобильных браузерах может не работать, лучше заходить с десктопа:

https://makelinux.github.io/kernel/map/
Привет!

Многим нравится осуществлять конфигурацию кластером Kubernetes с использованием терминала, но, есть те, кто верит, что «лучше 1 раз увидеть, чем сто раз услышать!».

Именно для тех, кто ищет удобный web ui для Kubernetes,
рекомендуем обратить внимание на проект Headlamp. Согласно статье, он:

🍭 100% open source
🍭 Активно поддерживается
🍭 Может быть расширен при помощи плагинов
🍭 Позволяет делать read/write – операции, а не read-only

Более подробно с решением можно познакомиться, почитав документацию 😊
Всем привет!

Нашли простую и лаконичную статью от Isaac Z. Schlueter (одного из авторов npm), в которой приводятся рекомендации о том, как минимизировать ущерб или не допустить реализацию supply chain attack (о них мы недавно писали) на примере использования npm.

Если кратко, то:

🍭 Использование scope для внутренних пакетов (предопределенное имя, начинающееся с @)
🍭 Использование. npmrc файла в корне проекта с указанием @mycompany:registry = https://registry.mycompany.local/, что позволит использовать локальный реестр «по умолчанию»
🍭 Корректно настраивать proxy
🍭 Анализировать причины нарушения сборок (звучит очевидно, но происходит не всегда)
Большинство из нас регулярно пользуется продуктами HashiCorp вроде Terraform, Vault и Consul, а вот про Nomad многие только слышали. Это оркестратор, в том числе для контейнеров, концептуально отличный от Kubernetes. Краткий экскурс в терминах k8s:
https://www.hashicorp.com/blog/a-kubernetes-user-s-guide-to-hashicorp-nomad
Всем привет!

Сегодня за инструменты. kube-psp-advisor - утилита от Sysdig, которая помогает упростить разработку Pod Security Policies (политики для реализации контекстов ИБ в Kubernetes). Она может работать как с реальной конфигураций Kubernetes, так и с конкретными YAML файлами, содержащими спецификацию подов (например, с Deployment, DaemonSet и пр)

Утилита имеет 2 команды:
🍡kube-psp-advisor inspect - выполняет подключение к API серверу кластера и сканирует workload-ы в конкретном namespace или во всем кластере, затем генерирует PSP
🍡kube-psp-advisor convert - анализирует YAML, затем генерирует PSP

Установка утилиты осуществляется одним из вариантов:
🍡Через Krew плагин
🍡Сборка (make build)
🍡Контейнер

Дополнительную информацию, такую как описание сценариев использования, пример политик и пр, можно найти по ссылке: https://github.com/sysdiglabs/kube-psp-advisor?utm_sq=gn81msojq4