uz
Feedback
DevSecOps Talks

DevSecOps Talks

Kanalga Telegram’da o‘tish

Рассказываем об актуальном в мире DevSecOps. Канал DevSecOps-команды "Инфосистемы Джет"

Ko'proq ko'rsatish
7 847
Obunachilar
+724 soatlar
+347 kunlar
+10030 kunlar
Postlar arxiv
Платформа "Штурвал": вебинар и live demo Всем привет! Уже совсем скоро, 2 февраля, «Лаборатория Числитель» - разработчик, проведет вебинар, посвященный новой Платформе для контейнерной оркестрации «Штурвал» На вебинаре расскажут: 🔹о целевой архитектуре решения и ее ключевых компонентах, которые учитывают высокие требования к вычислительной инфраструктуре и информационной безопасности 🔹о функционале «из коробки» и преимуществах использования для инженера эксплуатации и ИБ 🔹об уровнях сервисной поддержки и политике лицензирования Также в программе будет показано live-demo решения. Мероприятие будет интересно руководителям по цифровизации, ИТ-инфраструктуре и эксплуатации крупных компаний, а также DevOps-специалистам, администраторам, ИБ-специалистам. Подробности и регистрация здесь 👈

Пример моделирования угроз с использованием Systemic Approach Всем привет! В статье Автор рассматривает пример создания модели угроз с использованием Systemic Approach. В качестве примера выбрано абстрактное микросервисное приложение, которое взаимодействует с облачными сервисами. Подход оперирует следующими терминами: 🍭 Boundary. Определение той части/компонентов системы, для которых будет реализовано моделирование. В примере Автор «привязывает» их к user story – отправка уведомлений – и рассматривает угрозы, применительно лишь к этому сценарию 🍭 Abstraction levels. Постепенное «погружение» в систему. Сперва – общий взгляд и все большая детализация при дальнейшем анализе. Применяется к выбранному boundary 🍭 Perspectives. Рассмотрение системы с точки зрения защищающегося или атакующего. В примере Автор берет STRIDE и расписывает возможные сценарии Получается нечто вроде моделирования угроз «по спирали» - от общих абстракций до вполне себе конкретных мер. Рекомендуем прочесть статью, если Вам интересно ознакомиться с концептом Systemic Approach подробнее. Важно – там будет описание идеологии и подхода, но никак не детальный how to. Ведь как видно из примера выше – сделать такое универсальным вряд ли получится.

Как происходит удаление pod? Всем привет! Есть много разных статей в стиле «what happens when…». Например, что происходит при использовании команды kubectl apply -f smth.yaml. Сегодняшняя статья рассказывает про то, что происходит при kubectl delete pod. Например, как k8s понимает, что надо ограничить трафик к «умирающему» pod? Как реализовать graceful shutdown и т.д. Процесс выглядит следующим образом: 🍭 Обновление записи в etcd: добавление deletionTimestamp, deletionGracePeriodSeconds. Pod получает статус terminating 🍭Удаление endpoint pod из соответствующих services 🍭kubelet останавливает pod, api-server удаляет запись о pod’е из etcd В статье все расписано более детально, уточнены нюансы: например, зачем нужен grace period. В завершении статьи представлены эксперименты с различными параметрами процесса удаления pod’a.

Контроль configuration drift в контейнерах Всем привет! В repo можно найти оператор, который позволяет контролировать configuration drift в контейнерах. Работает все достаточно просто: 🍭 Пользователь осуществляет exec в контейнер 🍭 Запрос регистрируется kube-apiserver, pod’у контейнера проставляется label 🍭 После установленного времени k8s удаляет pod, у которого есть определенный label Вот и все 😊 Работает не только с exec, но и с другими «интерактивными» запросами (attach, cp и т.д.). Для kubectl предусмотрен специальный плагин, который упрощает чтение label, содержащего информацию о том кто совершал операцию, когда и сколько еще осталось «жить» pod’у.

Автоматическое устранение уязвимостей в образах контейнеров Всем привет! Интересный подход к автоматическому устранению уязвимостей в образах контейнеров предложили авторы Copacetic. Утилита делает следующее: 🍭 Берет результаты сканирования Trivy, определяет потребность в обновлении пакетов с использованием соответствующих менеджеров - apt, apk, yum и т.д. 🍭 Скачивает все необходимое и обновляет образ с использованием buildkit Такой подход позволяет не собирать образ «заново», а именно обновлять его. Это в значительной степени сокращает вероятность того, что что-то сломается и пойдет не так после обновления. Но все равно лучше перепроверять и не полагаться на одну лишь автоматизацию. В планах по развитию поддержка Grype в качестве альтернативы Trivy; «поддержка работы» с пакетными менеджерами языков программирования (pypi, npm, maven); расширение возможностей по конфигурации реализуемых обновлений. Для работы утилиты нужно установить несколько зависимостей, которые описаны тут. И, конечно же, если хочется попробовать самому, то есть небольшой пример. А заглянуть «под капот», то можно по этой ссылке.

Атаки на distroless-образы Всем привет! Distroless образы отлично помогают ИБ за счет сокращения поверхности атаки. В них содержится только приложение и его runtime-зависимости. Никаких пакетных менеджеров и различных shells! Если проанализировать их при помощи сканеров, то можно наблюдать приятную картину – количество уязвимостей в них в разы меньше, чем в «обычных». И, как правило, это уязвимости в исполняемых файлах. Но все ли так хорошо и можно ли утверждать, что «Я использую distroless и этого достаточно?». В статье разбирается пример с distroless образом для Golang: 🍭 Создается обычное приложение, которое печатает "Hello world" с интервалом в одну секунду 🍭 Приложение «упаковывается» в контейнер с FROM gcr.io/distroless/base 🍭 Контейнер запускается, все работает, bash недоступен, но… есть интерактивная командная строка openssl позволяющая выполнять команды Как этим можно воспользоваться описано в статье. Получается, что не существует ничего абсолютного или защищенного "по умолчанию". Несомненно, если есть возможно выбрать distroless, то это стоит сделать. Но не стоит забывать и о других ИБ-контролях.

Caretta: визуализация сети k8s Всем привет! Иногда бывает полезно посмотреть на то, как сервисы приложения взаимодействуют между собой. Для этого можно использовать несколько подходов, например, связку Caretta + Grafana. Первая собирает информацию о сетевом взаимодействии при помощи eBPF, а вторая – позволяет визуализировать информацию и делать интересующие пользователя запросы. Например: роль сервиса (клиент/сервер), по какому порту идет взаимодействие, тип (ресурс k8s, узел, "внешние") и т.д. Приятно, что в таком сценарии кластер Kubernetes никак не «модифицируется» и влияние на него минимально. Если вам интересно, что из себя представляет Caretta «изнутри», то рекомендуем ознакомиться с этой статьей, в которой описаны основные принципы работы утилиты и ее логика.

SecretDiver: поиск секретов в контейнерах Всем привет! SecretDiver – минималистичная утилита, у которой лишь одна задача – поиск секретов в образах контейнеров, слой за слоем. Анализ осуществляется на основании правил, с которыми можно ознакомиться тут. Со слов Разработчиков – «If you want to use your own rules (and then create a PR so everyone can enjoy them) just run the command with the -generate-settings flag which will create a file ./settings.yaml in your directory». Возможно анализировать образы локально (в том числе в виде *.tar) или из repo. Ну и не забывать про флаг -human для получения результата, доступного для понимания человеку ☺️

Доброе утро! Крутая вакансия, чтобы начать с нового года новую жизнь ✨ Мы находимся в поиске Руководителя DevOps направления,
Доброе утро! Крутая вакансия, чтобы начать с нового года новую жизнь ✨ Мы находимся в поиске Руководителя DevOps направления, который выстроит позиционирование нашей экспертизы внутри компании и на внешнем рынке. В круг задач будет входить активная пресейловая деятельность, продвижение направления DevOps, а также координация технических специалистов, вендоров и дистрибьюторов. Подробнее о вакансии: https://hh.ru/vacancy/73999701 Задать вопрос и направить резюме можно нашему HR Валентине, ее TG: @valenciyani

Друзья, поздравляем с Наступающим Новым годом! Желаем вам всего самого доброго и светлого: мира, любви и процветания! Дотронь
Друзья, поздравляем с Наступающим Новым годом! Желаем вам всего самого доброго и светлого: мира, любви и процветания! Дотроньтесь до мешка с подарками нашего DevSecOps Санты и это принесет вам счастье в новом году: ресурсы будут выдаваться по щелчку пальцев, системы работать непоколебимо, деплой будет мгновенным, а код — безопасным. Мы рады, что вы с нами) Отличного отдыха и до встречи в 2023! С любовью, Jet DevSecOps Team ❤️

Kubent: поиск deprecated API Всем привет! При обновлении кластера Kubernetes может много чего произойти. В том числе, нарушение работоспособности из-за изменений в API. Отслеживать их не всегда удобно, особенно если кластер большой и/или их много. Kubent (Kube No Trouble) – утилита, которая может помочь. Ее задача – поиск deprecated API. При помощи нее можно: 🍭 Анализировать локальные манифесты (в том числе можно использовать в CI) 🍭Анализировать используемые helm-chart 🍭Анализировать ресурсы кластера через last applied configuration Больше про возможности Kubent, параметры запуска и сценарии использования можно узнать в readme.md проекта.

GitOps Cookbook Всем привет! В приложении доступна книжка GitOps Cookbook от RedHat! Обзорный материал на тему использования Git для CD процессов: инструменты, подходы и советы. Книга разделена на главы: 🍭 Введение. Что такое GitOps и зачем он нужен, какие проблемы решает 🍭 Containers. Различные подходы к сборке образов 🍭 Kustomize. Обзор инструмента и его ключевых возможностей 🍭 Helm. Charts, packages и все, что с ними связано 🍭 ArgoCD. Автоматизация CD процесса, использование ранее упомянутых инструментов 🍭 Advanced Topics. Шифрование, управление несколькими кластерами В книге ~245 страниц, которые дают неплохое представление о том, какие есть практики, подходы и инструменты автоматизации для реализации GitOps.

CNCF Landscape Navigator Всем привет! Наверное каждый, кто интересуется темой DevSecOps и Cloud Native рано или поздно открывает для себя CNCF Landscape. Количество разнообразных инструментов ошеломляет, и даже группировка по тематикам не всегда помогает найти ответ на вопрос «что выбрать?». Интересный подход придумали ребята из InfraCloudCNCF Landscape Navigator! Суть крайне простая: 🍭 Выбираете тему: Monitoring, Logging, Security, Service Mesh и т.д. 🍭 Отвечаете на несколько простых вопросов о том, что для Вас важно 🍭 Получаете результат – перечень инструментов и % насколько он Вам подойдет Может быть полезно, если Вы только начинаете выбирать технологии или для того, чтобы найти «ту, которую Вы могли пропустить» в этом невероятном перечне.

DevSecOps Roadmap Всем привет! Давно мы не публиковали awesome-подборок или их аналогов. Быть может под Новый Год самое время – вдруг кто-то ищет, что можно почитать/изучить на выходных? Поэтому предлагаем обратить внимание на DevSecOps Roadmap, в котором собраны полезные материалы для всех этапов: 🍭 Design. SDL, SAMM, BSIMM и аналоги 🍭 Develop. Secure coding 🍭 Build. SAST 🍭 Test. DAST 🍭 Deploy. Hardening, security scanning 🍭 Security for CI/CD. GitHub Actions, Jenkins Также в repo можно найти ссылки на другие аналогичные awesome-проекты, посвященные общему взгляду на DevSecOps.

D2Lang: Diagram as Code Всем привет! Есть много разных инструментов для «программирования диаграмм и схем». Суть простая – описываем связи в виде кода, а решение строит схему. На первый взгляд это может показаться сложно. Но, стоит привыкнуть и уже не можешь по-другому. Кроме того, такой подход позволяет хранить всю необходимую информацию в git-репозиториях, что очень удобно. Сегодня пост посвящен D2Lang, который: 🍭 Обладает простым синтаксисом 🍭 Может быть интегрирован в VS Code, Vim и Obsidian в качестве плагинов 🍭 Добавлять необходимые значки/иконки «на лету» 🍭 И многое другое, с чем можно ознакомиться в документации Можно не ставить сразу, а использовать playground и посмотреть, что к чему. Если интересно, какие еще есть инструменты, то можно обратиться к этому посту, в котором собраны наиболее часто используемые инструменты. А если возникнет вопрос – «Еще один подобный инструмент, в чем разница с XXX?», то есть ответ от разработчиков.

Kubernetes Labels: best practice Всем привет! Kubernetes Labels – крайне удобный инструмент, который позволяет управлять группами ресурсов с использованием «фильтров». В статье приводится краткое описание механизма, его отличия от Annotations, сценарии использования Labels и набор советов о том, как ими лучше пользоваться. Например: 🍭 Использование рекомендуемых Labels согласно документации Kubernetes 🍭 Формирование Label Naming Convention 🍭 Не указывать sensitive информацию в Labels 🍭 По возможности автоматизировать процесс назначения Labels и другие Labels могут быть полезны не только DevOps командам, но и Security специалистам. Например, для применения Network Policies.

Kyverno: Use Cases Всем привет! Статья от Compass, в которой приводятся сценарии использования Kyverno. Отличительной особенностью является то, что приведены все три «ключевые возможности» - Validating, Mutating и Generating. Рассматриваются примеры: 🍭 Validate: анализ Ingress-правил на наличие «дубликатов» 🍭 Mutate: установка timeout-параметров для liveness/readiness probes 🍭 Generate: создание Vertical Pod Autoscaler (VPA) В завершении статьи приведено описание того, как это можно реализовать без Kyverno, с какими сложностями можно столкнуться и почему команда выбрала именно этот инструмент. Еще про один интересный пример использования Kyvernoанализ подписи образа контейнера и его аттестации – мы писали тут. И, как обычно, больше информации можно найти в документации. А что предпочитаете Вы? Kyverno/Gatekeeper/Иное?

Security Observability with eBPF Всем привет! Еще один материал от Isovalent, посвященный использованию eBPF. На этот раз рассматривается тема observability и чем eBPF может быть полезен. В книге (~ 65 страниц) всего 4 главы: 🍭 The lack of Visibility 🍭 Why is eBPF the Optimal Tool for Security 🍭 Secuity Observability 🍭 Security Prevention Материал обзорный и отлично подойдет для знакомства с eBPF и ее возможностями для Security. Про еще один материал от Isovalent, посвященный рассматриваемой технологии, мы писали тут.

Управление уязвимостями образов контейнеров от Lyft Всем привет! Первая статья, посвященная тому, как Lyft выстраивали процесс управления уязвимостями в образах контейнеров и с какими трудностями они столкнулись. Команда создала собственный концепт, который строится на идеях: 🍭 Самостоятельное устранение уязвимостей там, где это возможно (spoiler: почти не работает). Постановка задач на устранение только в том случае, если у уязвимости есть fix 🍭 Автоматизация всего, чего только можно. Заодно можно будет узнать, почему ребята перешли с Clair на Trivy 🍭 Что делать, если в компании используется базовый образ, на основе которого могут строиться остальные? Как сделать так, чтобы обновление получили все? 🍭 Единое окно по сбору информации об образах и уязвимостях. DefectDojo! Нет, не в этот раз. Предпочтение отдали Cartography 🍭 Анализ только того, что используется. Общее количество образов оценивалось в 400 000, «активных» образов – 4 000 Очень много интересных размышлений, описание проблематики с которой можно столкнуться и возможные варианты решений на уровне идей. А реализация идей будет описана во второй статье, посвященной тому, как именно Lyft автоматизировали созданный ими концепт. Ждем!

OSV-Scanner: Vulnerability Scanner for Open Source Всем привет! 13 декабря 2022 года Google представили в общий доступ собственную разработку – OSV Scanner, задачей которого является поиск уязвимостей в open source компонентах. Активность тесно связана с Open Source Vulnerabilities (OSV) – проектом, представленным Google в предыдущем году и представляющим из себя базу данных по уязвимостям. OSV-Scanner позволяет: 🍭 Анализировать Lockfiles, SBOMs 🍭 Получать результаты по анализу уязвимостей из OSV (в которой находится более 38 000 advisories, согласно данным Google) 🍭 Анализировать пакеты в Debian-based образах контейнеров Кроме того, OSV-Scanner интегрирован в OpenSSF Scorecard’s Vulnerability Check. Дальнейшие планы по развитию – доработка для более удобной интеграции с CI, улучшение работы с C/C++ и поддержка VEX.