DevSecOps Talks – Telegram
DevSecOps Talks
7.44K subscribers
85 photos
94 files
1.23K links
Рассказываем об актуальном в мире DevSecOps. Канал DevSecOps-команды "Инфосистемы Джет"
Download Telegram
Как оптимизировать образ контейнера?

Всем привет!

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

Под оптимизацией в статье, в большей степени, понимается сокращение размера итогового образа. Это может быть полезно, как для ИТ, так и для ИБ (например, для сокращения поверхности атаки, «противодействия» LotL-атакам и т.д.)

В итоге Автор прошел путь:
🍭 Обычная сборка образа, использование Alpine в качестве базового
🍭 Multi-stage сборка. Удаление всего, что не требуется для корректной работы ПО, помещенного в контейнер
🍭 Идентификация транзитивных зависимостей, которые надо поместить в образ
🍭 Использование Docker Slim и неожиданный результат
🍭 Использование Docker Squash и не тот результат, который должен был получиться

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

Помимо самих шагов Автор описывает сложности, с которыми можно столкнуться, впервые реализуя подобное и способы их решения.
👍6
Поиск Compromised Cookies, опыт Slack

Всем привет!

Компрометация Cookie не самая приятная вещь, которая может быть использована для доступа к данным пользователя. Одной из практик противодействия является контроль времени жизни сессии пользователя.

Но всегда ли этого достаточно? У ребят из команды Slack свое мнение на этот счет и свои подходы к реализации защиты. Ознакомиться с ними можно в статье.

Основная идея Slack заключается в поиске «Session Forking» (т.е. когда один и тот же Cookie используется одновременно на разных устройствах).

Для этого они используют Last Access Timestamp – дату «установки» Cookie, которая постоянно обновляется (как в самой Cookie, так и в БД).

Сценарий примерно следующий:
🍭 Злоумышленник получил Cookie и пытается с помощью нее получить доступ. Временная метка, скорее всего, будет старой и Session Forking будет найден
🍭 Злоумышленник получил «свежий» Cookie и запросил доступ. Last Access Timestamp обновился. Session Forking будет найден уже когда легитимный пользователь запросит доступ (его метка будет старее)

Однако, такая логика привела к наличию большого количества False Positive и False Negative при тестировании. И решение… было найдено! Какое? Ответ в статье 😊

Кроме этого, там есть еще несколько интересных рассуждений на тему производительности полученного решения. Рекомендуем!
👍6🔥2🐳1
Что общего у Kubernetes и у архитектуры дата-центров?

Всем привет!

Ни для кого не секрет, что  Kubernetes - это достаточно сложная для освоения Платформа. Чего только стоит разобраться в том как организована сеть в кубере!.. 😱
Вот как раз о ней сегодня и поговорим, в частности поговорим о том что может быть общего в организации сети в кубере и в современном дата-центре. 🤓

В дата-центрах принято разделять трафик в зависимости от того в каком направлении он идёт: north-south и east-west, где

🍉 north-south - это так называемый "вертикальный трафик", то есть тот трафик, который поступает в дата-центр из внешних источников или наоборот выходит наружу из дата-центра

🍉 east-west - это "горизонтальный трафик", который не выходит за пределы дата-центра, а возникает вследствие обмена данными между серверами, которые находятся в пределах одного дата-центра.

Если проводить аналогию в Kubernetes, то north-south соответствует ingress-egress трафик, а east-west - это трафик между подами и сервисами внутри кластера Kubernetes.

Более подробно об этом можно почитать по ссылкам ниже (не смотря на то, что по ссылкам ниже указано описание конкретных решений, тем не менее, это даст общее представление о различиях в разных потоках трафика):

1. https://learn.microsoft.com/en-us/archive/blogs/tip_of_the_day/tip-of-the-day-demystifying-software-defined-networking-terms-the-cloud-compass-sdn-data-flows

2. https://docs.openshift.com/container-platform/4.14/networking/ovn_kubernetes_network_provider/ovn-kubernetes-architecture-assembly.html
👍7🔥32
Способы балансировки north-south трафика в Kubernetes, или зачем в кубере может быть нужен BGP?.. ;)

Всем привет!

В предыдущем посте мы познакомились с терминами north-south и east-west применительно к кластеру Kubernetes.
Давайте разберём подробнее как может быть организована балансировка north-south трафика.

Для многих, наверное, уже является привычной связка haproxy+keepalived, в которой поднимается 2 экземпляра haproxy (обычно в режиме L4), а его отказоустойчивость обеспечивается средствами протокола VRRP, который реализуется с помощью keepalived. Но для всех ли случаев может подходить такое решение и в чём могут заключаться основные минусы такого подхода?.. 🤔

Связка haproxy+keepalived - это классический и наипростейший пример балансировки трафика на уровне L4 в режиме Active-Backup, при которой весь трафик проходит только через один экземпляр haproxy, а на второй экземпляр трафик переключается только в том случае, если основной экземпляр haproxy выходит из строя. То есть haproxy является узким горлышком при передаче трафика. Помимо этого, есть также и ещё одно ограничение вследствие использования протокола VRRP: все экземпляры haproxy должны находиться в одном L2-сегменте.

Можно ли как-то устранить данные проблемы?.. 🤔

Да, можно! Для этого необходима другая связка, которая умеет работать в режиме Active-Active, например технология BGP ECMP! 🤓

Более подробно о способах балансировки north-south трафика в k8s можно почитать на примере решения loxilb. Сайт содержит описание для конкретного решения, но, на наш взгляд, схемы можно адаптировать под любое решение.

Схемы дают общее представление о разных способах балансировки north-south трафика в k8s-кластере на примере балансировщика loxilb, а также даёт общее представление о том в чём отличие между Active-Active и Active-Backup режимами балансировки ;)
👍8🔥42👌1
DSR в Kubernetes

Всем привет!

В предыдущем посте мы познакомили вас со способами расширения "узкого горлышка" для тех случаев когда один хост может не справиться с передачей трафика. 🤬

А можно ли как-то вообще попытаться это узкое горлышко убрать?.. 🤔

Представим себе ситуацию, что вы ведёте видеотрансляцию крупного спортивного мероприятия🎥⚽️🏟, что подразумевает передачу очень большого объёма трафика на сторону клиента🍿, при этом от самого клиента трафика принимается на несколько порядков меньше.

При использовании классической балансировки узким горлышком всё равно будут выступать узлы балансировщиков. Как раз для таких случаев придумали технологию DSR (Direct Server Return), которая активно используется телеком-операторами! 📞🌐

В Kubernetes для этого существует механизм externalTrafficPolicy: Local.

Более подробно о данной технологии можно почитать по ссылкам ниже:

1. https://www.haproxy.com/blog/layer-4-load-balancing-direct-server-return-mode
2. https://dev.to/kcdchennai/direct-server-return-with-kubernetes-454l
3. https://www.getambassador.io/blog/kubernetes-external-traffic-policy-local
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥4👍1🥰1
В чём разница между Edge Computing и Cloud Computing? И при чём тут Kubernetes?..

Всем привет!

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

В статье, с которой мы предлагаем Вам сегодня ознакомиться проводится сравнение таких понятий как Edge Computing и Cloud Computing - области их применения, а также роль Kubernetes в них.
2👍2🔥2🥰1
Betterscan: DevSecOps Orchestration Toolchain

Всем привет!

Betterscan – «швейцарский нож», в котором собраны сканеры, позволяющие анализировать ПО (PHP, Java, Python, PERL, Ruby, C, C++, JS/TS, Golang) и конфигурационные файлы (Docker, K8S, Terraform и т.д.).

Сканеры запускаются все сразу, при этом пользователь может явно указать, что должно быть "включено".

Под капотом довольный привычный набор сканеров: Bandit, Brakeman, Semgrep, Trufflehog, Kubescape, Tfsec и т.д. Возможно добавление собственных.

Из интересного (согласно документации):
🍭 Генерирует один-единственный отчет по результатам анализа
🍭 Реализован функционал дедубликации
🍭 Содержит более 6 300 проверок
🍭 Поддерживает сканирование только измененных файлов

Результаты могут быть представлены в разных форматах: HTML, JSON, SARIF. Больше подробностей можно узнать в Wiki проекта.
👍71🔥1
Организация сетевого взаимодействия в Edge Computing.

Всем привет!

Пару постов назад мы писали о том что нас ждёт бум развития Edge Computing в ближайшие несколько лет!

Но с какими сложностями мы можем столкнуться при освоении данной технологии?

Одна из существенных сложностей заключается в организации защищённого отказоустойчивого сетевого взаимодействия между Edge-точками.

Авторы статьи "EdgeVPN: Self-organizing layer-2 virtual edge networks" предложили возможное решение.
С самой статьей и описанием технологии можно ознакомиться по ссылкам ниже:

1. https://par.nsf.gov/servlets/purl/10410236
2. https://edgevpn.io/
👍3🔥32🤯1
Full Mesh VPN для Edge Computing

Всем привет!

Раз уж речь зашла об организации сети в Edge Computing, давайте поговорим об этом чуть больше.

Какие вообще требования предъявляются к сети в Edge Computing и в чём могут быть особенности? Есть ли альтернативные решения, обладающие схожим функционалом EdgeVPN?

Об этом можно почитать по ссылкам ниже:
1. https://tailscale.com/learn/understanding-mesh-vpns
2. https://openziti.io/docs/learn/introduction/
3. https://docs.zerotier.com/protocol
👍3🔥3🤩1
Exploiting Kubelet API

Всем привет!

Статья от Aqua Security, посвященная безопасности Kubelet API. Она получилась в результате анализа реальных случаев, которые команда агрегировала на основании исследований инцидентов ИБ собственной honeypot-сети.

Начинается статья с краткого «знакомства» - что такое Kubelet, зачем он нужен и какая у него роль в Kubernetes.

Далее – описание условий: команда опубликовала Kubelet вовне, разрешив анонимный доступ. Да, так делать точно не стоит и по умолчанию Kubelet не «торчит наружу», и анонимная аутентификация отключена. Но случаи бывают разные 😊

И самое интересное – результаты:
🍭 Попытки получения информации об окружении
🍭 Использование Network Discovery техник
🍭 Сбор чувствительной информации (секреты)
🍭 Запуск нового контейнера, получение доступа к нему и выполнение произвольных noscript и не только

Может возникнуть вопрос – «А разве кто-то вообще публикует Kubelet?!». Да, согласно статистике, в 2021 году нашли 103K, а в 2022 – 243K подобных случаев. Да, не во всех из них используется анонимная аутентификация, а некоторые – так и вовсе honeypots. Обо всем этом детально описано в статье.

P.S. Если тематика анализа Kubelet вам интересно, то можно обратиться к cтатье CyberArk «Using Kubelet Client to Attack the Kubernetes Cluster» и утилите, которую они для этого написали – kubeletctl (не путать с kubectl 😊)
👍43
Istio: от A до Y

Всем привет!

По ссылке доступна еще одна большая-большая статья, на это раз, посвященная Istio (в предыдущий раз Автор разбирал Falco).

Сперва Автор знакомит читателя с концепцией Service Mesh – что это такое и зачем оно нужно. А дальше – самое интересное… Istio!

Установка Istio, тестового приложения Bookinfo, на котором будут проводиться эксперименты, и еще нескольких систем, которые помогут лучше понимать происходящее – Kiali, Jaeger, Prometheus.

После того, как все настроено, Автор рассматривает сценарии:
🍭 Управление сетевым трафиком
🍭 Использование mTLS
🍭 Контроль сетевого трафика с использованием Authorization Policy
🍭 Управление аутентификацией
🍭 Контроль внешнего трафика и много всего еще

Теория подкрепляется практикой: команды, YAML’ы, комментарии и пояснения – все на месте!

А в конце статьи можно найти несколько benchmark – «Performance», «HTTP» и «TCP». Автор сравнивается варианты: без Istio, с Istio, с Istio в Ambient-режиме. Крайне рекомендуем к ознакомлению!
🔥10👍3
OSCR-in-the-Wild.pdf
2.9 MB
OSC&R in the Wild: безопасность Software Supply Chain

Всем привет!

Согласно отчету, который находится в приложении к посту, 91% компаний столкнулись с Software Supply Chain инцидентами в 2023 году.

Команда OX Security обработала более 100 миллионов alerts, связанных с безопасностью цепочки поставок при разработке ПО. Данные были нормализованы, проанализированы и «разложены» по OSC&R Framework (мы писали о нем вот тут).

Если кратко, то получилось следующее:
🍭 AppSec-команды получают слишком большое количество оповещений, которые нереально обрабатывать
🍭 «Наиболее» популярными уязвимостями пока еще остаются: Injection, Sensitive Data in Log Files, XSS
🍭 Более 50% приложений обладают уязвимостями с уровнем критичности «Высокий» и выше и т.д.

Но не это самое интересное 😊 В отчете можно найти информацию о том, какие уязвимости наиболее часто встречаются в приложениях с указанием их «места» в kill chain. И конечно же, информация о наиболее часто встречающихся TTP с привязкой к этапу!

Все это доступно в отчете, он небольшой (~ 18 страниц).
👍42🔥2👏1
Application Attacks

Всем привет!

По ссылке можно найти описание уязвимостей и атак, характерных для программного обеспечения. С одной стороны набор достаточно «типовой», с другой – отлично структурированный.

Внутри содержится информация:
🍭 Раскрытие чувствительной информации
🍭 Cross-Site Request Forgery
🍭 XSS
🍭 SQL Инъекции
🍭 Некорректная аутентификация
🍭 Недостаточное логирование и т.д.

Для каждого раздела приводится неплохое описание что это такое и какие меры можно предпринимать для противодействия. Из «минусов» - описание общее и без конкретных примеров для языка X.

Однако, есть и «плюсы» – подобное описание можно использовать при формировании собственной базы знаний по безопасной разработке в Компании.

P.S. А если вы еще не знакомы с DevSecOps Guides – крайне рекомендуем. На сайте еще очень-очень-очень много всего полезного и интересного ☺️
👍21
DefendingAPI.pdf
2.2 MB
Defending API

Всем привет!

В приложении доступен документ (~ 65 страниц), посвященный безопасности API. В нем описываются подходы и практики по защите API с иллюстративными примерами, подготовленными на базе .NET и Java

Внутри можно найти:
🍭 Безопасная работа с JWT, используемых в API
🍭 Обеспечение безопасности паролей и токенов
🍭 Реализация аутентификации
🍭 Использование позитивных моделей при работе с API
🍭 Моделирование угроз, характерных для API и т.д.

Помимо рассмотрения важных аспектов защиты API Авторы приводят API Security Maturity Model. Модель описывает 6 доменов – Inventory, Design, Development, Testing, Protection и Governance. Для каждого из них приводится минималистичное описание характерных активностей.
👍1
Hardening Linux!

Всем привет!

Предлагаем вам longread на выходные, посвященный безопасной настройке Linux!

Материал включает в себя разделы:
🍭 Безопасная настройка ядра
🍭 Sandboxing
🍭 Мандатное управление доступом
🍭 Межсетевое экранирование
🍭 Управление полномочиями для доступа к файлам
🍭 Настройки монтирования и много-много-много всего еще

Как и во всех Hardening Guide, в разделах приводятся рекомендации о том, что и как надо настроить. Ко многим рекомендациям предоставляются неплохие описания «почему так надо делать».

Рекомендуем для добавления в вашу коллекцию материалов по безопасной настройке 😊
👍84🔥3
Сравнение AuthentiK и KeyCloak

Всем привет!

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

В статье Автор приводит сравнение между AuthentiK и KeyCloak!

Рассматриваются такие параметры, как:
🍭 Архитектура (простота установки, масштабируемость, гибкость)
🍭 Простота использования
🍭 Пользовательский интерфейс
🍭 Основные возможности (core features)
🍭 Интеграционные возможности
🍭 Масштабируемость

Для каждого параметра Автор описывает сильные стороны и сценарии, где конкретное решение может быть лучше/удобнее.

А если лень читать все, то в самом начале статьи есть tl;dr, в котором представлен вывод Автора что лучше и в каких случаях 😊
👍9🤔5🔥31
Semgrep Academy: еще больше курсов!

Всем привет!

Обучающий проект Semgrep продолжает развиваться! Про предыдущие нововведения мы писали вот тут. С тех пор было добавлено еще несколько курсов!

Например:
🍭 Semgrep Custom Rules Level 1 (21 урок, 1 час видео)
🍭 Secure Guardrails (45 уроков, 3.5 часа видео)

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

P.S. Все курсы абсолютно бесплатны и их можно проходить в удобном вам ритме 😊
👍5
Чем eBPF может быть полезен ИБ?

Всем привет!

eBPF крайне популярная технология, которая позволяет выполнять пользовательский код в контексте ядра Linux. При этом, само ядро модифицировать не обязательно.

И начиналось все с анализа сетевых пакетов, но, со временем, вариантов использования eBPF стало больше в разы. В том числе и для информационной безопасности.

Небольшой обзор можно найти в статье от Wiz. Ребята рассматривают возможности технологии в контексте Kubernetes.

Статья состоит из разделов:
🍭 Ограничения существующих средств мониторинга (например, ptrace)
🍭 Преимущества eBPF при осуществлении мониторинга (сетевой трафик, System Calls)
🍭 Лучшие практики по использованию eBPF в Kubernetes (выбор ядра, установка необходимого инструментария, «точечный» мониторинг)

Статья достаточно базовая и дает общее представление о eBPF. Если вам хочется больше материалов, которые позволят погрузиться, рекомендуем обратить внимание на книгу Liz Rice (скачать ее можно вот тут)

P.S. На ресурсе Wiz Academy есть еще много всего интересного и полезного! 😊
👍21
Kubernetes RBAC: подробный обзор

Всем привет!

Сегодня предлагаем вашему вниманию объемную статью, в которой рассматриваются разные аспекты управления доступом в Kubernetes с использованием RBAC.

Статья затрагивает области:
🍭 Что такое RBAC в Kubernetes, как он устроен и работает
🍭 Разница между RBAC и ABAC
🍭 Аутентификация и Авторизация (AuthN/AuthZ)
🍭 Лучшие практики при работе с RBAC и многое другое

Все концепты отлично расписаны, материал можно смело использовать для консолидации и структурирования информации по теме.

А из лучших практик можно составить неплохой checklist, который можно использовать при проведении аудитов ИБ кластеров Kubernetes.

Также в статье упоминаются средства автоматизации (open source), которые смогут облегчить процесс аудита прав и полномочий.
👍51
Troubleshooting Kubernetes: Handbook

Всем привет!

Поиск источников проблем при работе с Kubernetes (особенно по началу) может быть очень и очень неочевидным.

Основная задача статьи состоит в том, чтобы сделать этот процесс более понятным и структурированным.

Автор рассматривает:
🍭 Анализ Kubernetes Events
🍭 Работа с Kubernetes Audit Log
🍭 Анализ потребляемых ресурсов
🍭 Использование kubectl exec и kubectl debug
🍭 Поиск причин возникновения «сетевых ошибок» и другие
🍭 Использование ephemeral containers для поиска ошибок

Для каждого блока Автор рассматривает возможные ошибки и причины, которые к ним привели. Например, Scheduling Delays может быть вызван ограничениями ресурсов, проблемами с планировщиком, неготовностью PV и т.д.

Кроме этого, Автор приводит перечень рекомендаций о том, как и что лучше использовать для идентификации причин неисправностей.

Надеемся, что статья вам пригодится и сделает процесс поиска ошибок в Kubernetes чуть проще 😊
🔥7👍2👏1
Ultimate DevSecOps

Всем привет!

По ссылке можно найти awesome-подборку, посвященную DevSecOps. В ней собраны материалы, посвященные разным практикам безопасной разработки.

Материал структурирован по следующим разделам:
🍭 Pre-commit Tools
🍭 Secrets Management
🍭 SAST, DAST
🍭 Continuous Deployment Security
🍭 Container, Kubernetes и многое другое

Больше всего приведено информации по различным средствам автоматизации. Ничего сверхъестественного, но может быть полезно тем, кто только начинает разбираться в тематике.