Blue (h/c)at Café
3.24K subscribers
403 photos
9 videos
4 files
146 links
Здесь живут истории о безопасности — искренние, местами хаотичные, с оттенком усталости и самоиронии, но всегда честные и технически точные. Юмор слегка непостижимый, а котики появляются по мере критической необходимости. Без них никак.
Download Telegram
6🤔21
❄️ Новый год — это грустное расставание со старыми иллюзиями и радостная встреча с новыми ❄️

В предпраздничном азарте
Крутились целый день...
С друзьями развлекались
Сдались веселью в плен.

Статьи, посты и речи
С любовью, от души,
И нет противоречий,
Учи, работай, не мудри.

Но гложит меня чувство,
Отсутствия идей.
Посты писать я разучился,
Устал я от людей.

С каждой прожитой минутой,
Залипая в экран ноутбука,
Чувствую тяготу позора,
За безыдейность своих слов.


Хотелось бы мне написать действительно хороший и мотивирующий пост на будущий год, но я не могу даже 2-х слов связать между собой. Чем 2024 будет отличаться от 23, ведь цифра ничего нового нам не принесёт? Как бы кто ни говорил обратного, мы делаем свою жизнь сейчас, независимо от времени. Поздравления и пожелания это, конечно, важно, но я хочу донести до Вас, что не стоит откладывать свои начинания на следующий год, месяц или неделю. Вы всё сможете сделать сейчас!

Также, мне хочется передать слова наших редакторов, которые с рождения канала следили за ним и с какого-то момента сами стали частью его. От себя хочу сказать им спасибо. Спасибо, что терпели мои предъявы по контенту, вечные пинки со словами — "Где пост/статья?". Я благодарен Вам.


Пожелания от 4rchi 🥂

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

Пожелания от devcrys 🌟

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


Спасибо, что Вы с нами ❤️

#бредниавтора
Please open Telegram to view this post
VIEW IN TELEGRAM
12
➡️ Ну вот и кончился отдых для мозга

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

Хватит лирики!
Про что сегодня будет пост ?


Будет про инструмент, который у меня давно на тестах. Лично в моих целях он не подошел, но вот для закрытия потребностей "API security testing" — его вполне хватит (Это вы ещё не видели мои связочки в тестах, там бомба по поиску уязвимостей. Правда, docker.socket почему-то умирает👍). Из такого, написана на Java, нужно подгружать заранее собранный трафик (burp, HAR file, Postman, мироринг трафика docker, nginx), работает с темплейтами для поиска уязвимостей.

Встроенные темплейты проверки:
🔵Broken Object Level Authorization (BOLA)
🔵Cross-site scripting (XSS)
🔵Server Side Request Forgery (SSRF)
🔵Mass Assignment (MA)
🔵Command Injection
🔵Cross-Origin Resource Sharing (CORS)
🔵Security Misconfiguration (SM)
🔵Broken User Authentication (BUA)
🔵Lack of Resources & Rate Limiting (RL)
🔵Unnecessary HTTP Methods (UHM)
🔵Misconfigured HTTP Headers (MHH)
🔵Verbose Error Messages (VEM)
🔵Local File Inclusion (LFI)
🔵Server Side Template Injection (SSTI)
🔵CRLF Injection
🔵Server Version Disclosure (SVD)

🗣 А кто? А что? Ну, как его там?

Да, именно Akto. Как бы странно не звучало название, инструмент интересный и даже имеет Web-UI (для меня это стало самым большим минусом в проекте, ведь всё на нем завязано).

📌

Буду миллион раз повторять, для тестов использовал VAmPI

Обращаю внимание, инструмент имеет функцию запуска и через CLI, но результаты он нормально обрабатывает только через свой дешборд (проприетарный опенсорс какой-то)
Для стандартного запуска просто используйте docker-compose file, который лежит на гите:
docker compose up -d


Запуск сканирования через CLI для нужд вашего CI\CD пайплайнов:
docker run -v ./:/out  \ # необходимо для создания отчета о тестировании на хост-машине
-e TEST_IDS='JWT_NONE_ALGO REMOVE_TOKENS' \ # разделенные пробелами идентификаторы тестов
-e AKTO_DASHBOARD_URL='<AKTO_DASHBOARD_URL>' \
-e AKTO_API_KEY='<AKTO_API_KEY>' \
-e API_COLLECTION_ID='123' \ # идентификатор коллекции api, на которой вы хотите запустить тесты
-e TEST_APIS='https://demo.com/api/books https://demo.com/api/cars' \ # разделенные пробелами apis из коллекции api, на которых вы хотите запустить тесты. Если не присутствует, будут протестированы все api в коллекции. [необязательно]
-e OVERRIDE_APP_URL='https://dummy.com' \ # Если вы хотите провести тестирование на отдельном хосте. [необязательно]
aktosecurity/akto-api-testing-cli


🗣 Шаг за шагом:

1. Для первичного запуска потребуется собранная инвентаризация по вашей API (не мне учить вас их делать, можно всегда пинать разрабов или джунов 😇)

2. После запуска сканирования инструмент будет обрабатывать файл

3. Profit...

Минимально затраченное время, сэкономленные глаза (ведь не нужно просматривать гору json), всё в докерах.

#devsecops
Please open Telegram to view this post
VIEW IN TELEGRAM
6🤔1
😁13🤔11
🙂 Делаем жизнь проще

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

🔣 ATT&CK Powered Suit
Позволяет не держать открытой вкладку митры, когда вы читаете отчеты, или же просто наткнулись на упоминание тактики/группировки/софта и так далее в сети. Просто открыл аддон, скопировал идентификатор и получил краткое описание, а также кликабельные ссылки на скопировать информацию/описание или же на саму страницу техники.

❗️ Помимо этого простого применения имеет следующий функционал:

📌 Заметки
Позволяет добавлять в заметки все тактики, которые вы встретите по пути, присвоить им свой скорринг, а затем экспортировать в csv или же сразу листом для MITRE ATT&CK Navigator. Это сильно удобнее, чем, например, вручную отмечать все тактики, которые вы повстречали в отчете.

🧐 Пользовательские форматы
Для поиска можно добавить собственные форматы, которые будут копировать для вас сниппеты результатов. Функция выглядит интересно, но, честно говоря, применения я ей еще не нашел.


💻 Для chrome
💻 Для лисы

#blueteam #purpleteam
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
83🤔11
Forwarded from Caster
Я написал небольшой инструмент, который сделает вашу Kali тихой в эфире.
Минимизация шума в эфире, шейпинг трафика и харденинг вашей Kali Linux для уклонения от SOC

Caster - F31

Genre: Offensive
Subgenre: Penetration Testing, Evasion
Label: github.com
Release Date: 17 January 2023

Link: https://github.com/wearecaster/F31
4🤔2😁11
😁224🤔1
🧑‍💻 SBOM и все, все, все (1-ая часть)

Давайте сразу к делу...

Ага, так я и поверил...Ну и бредятина
Чтобы Я, да без 1000 слов в посте ..?


Сейчас приходится изучать много нового, надеюсь, как и всем. Недавно встала задача про SBOM (Software Bill Of Materials). Ого, что это за зверь такой?

📕 Начнем с информации для самых маленьких в мире AppSec

Хорошее программное приложение постоянно меняется: компании-разработчики постоянно исправляют ошибки, добавляют возможности и улучшают пользовательский опыт. Помимо этих изменений, сторонние библиотеки, которые компании включают в свои приложения, также постоянно обновляются для повышения производительности и устранения известных уязвимостей, поэтому многие компании продают приложения, построенные на устаревшем коде сторонних разработчиков (Да-да, вам продают не самое новое).

Поскольку собственный код и компоненты находятся в состоянии текучести, компаниям важно генерировать полные и точные SBOM - как для себя, так и для надежных поставщиков.

✏️ Форматы SBOM

Хотелось бы добавить описание каждого, но тогда это была бы отдельная статья на habr (на которой тоже бы написали "не соответствует тематике хабра")

CycloneDX
SPDX
SWID Tags
Syft

⚙️ Инструменты для генерации SBOM

Будем рассматривать сегодня только инструменты, которые способны генерировать сразу для нескольких видов ЯП. Мультифункциональные инструменты — это уверенные помощники для малых компаний или домашних лаб. Они включают в себя возможность генерировать SBOM сразу для нескольких языков, будь то Python или Rust.

🌐 ort

🌐 Microsoft.Sbom.Tool (не дружит с arm)

🌐 syft

🌐 cdxgen

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

yarn.lock go.mod composer.lock pom.xml Gemfile.lock packages.config Cargo.lock pubspec.lock conan.lock meson.build deps.edn Package.resolved requirements.txt

Да, как можно было догадаться, благодаря всем ним мы можем получать список зависимостей, а также транзитивных зависимостей (зависимость от зависимости).

🧑‍💻 Проверка сгенерированных SBOM-ов

Тут, как и везде, есть несколько стульев. Либо использовать терминал, либо ставить красивую приблуду с Web-UI.

💬 1. SBOMqs (SBOM quality score)

Очень прост в установке, как и все инструменты GO:
go install github.com/interlynk-io/sbomqs@latest


После можно запускать на наш свежесгенерированный sbom файл:
sbomqs score <Ваш_файл>


Либо так, если вы так и не разобрались как прописывать GOPATH:
./~/go/bin/sbomqs score <Ваш_файл>


Вывод будет представлять собой таблицу с результатами тестирования. А также, можно сравнить на сайте SBOM-Benchmark

📌

Там есть и много экзамплов сбомов на любой вкус


💬 2. Dependecy Track

Вот и наш старый знакомый, SCA (Software Composition Analysis) мастодонт, красивое и на Java, отдельно front, отдельно API, куча интеграций, скачивает данные с nist.gov, что всем ЦОД-ам не нравится.

С установкой не должно возникнуть проблем:
curl -LO https://dependencytrack.org/docker-compose.yml
docker compose up -d


Стандартный логин/пасс:
admin:admin


📕 Заключение (на первую часть)

Да, именно на первую часть. Информации очень много, начиная от детального разбора CycloneDX формата, заканчивая "как настроить сборщик sbom".

Пора ввести новый # , а то моего AppSec-а очень уж много)

#devsecops #appsec
Please open Telegram to view this post
VIEW IN TELEGRAM
4🤔11
🛡 Платформа для обучения BlueTeam

HackTheBox, TryHackMe, Standoff365, Codeby.Games показывают нам, как атаковать различные инфраструктуры, сайты, приложения и тп., а что у нас есть по защите? Как защитить или, что ещё сложнее, обучить этому специалистов? Эти 2 вопроса загнали меня в ловушку. Я знаю, что есть курсы, знаю, что они порой хорошие, но на этом всё.

⚠️ И что теперь делать?

🌐 DefBox ⌨️

Проект находится на начале своего пути, но задумка, а главное идея, мне очень импонирует. Сделать ресурс, который поможет специалистам BlueTeam развивать свои навыки и шарить ссылку на профиль коллегам или hr (как это было с HTB) — звучит отлично.

Очень важно отметить, что у них есть главное — хорошая обратная связь и работа с комьюнити, что достаточно редкое явление в наше время. Ответа от тех. поддержки не придется ждать неделями 🚶‍♀️

📕 Немного про саму платформу

🔵 6 разнообразных лабораторий (На данный момент)

🔵 Уникальные особенности и подводные камни у каждой из лабораторий

🔵Отдельная система сбора логов (основана на стеке ELK) для каждой лаборатории

🔵 Таймлайн событий внутри лаборатории

🔵 И куда же без достижений и статистики

Лично для меня, платформа видится как классный проект, в котором студенты, джуны и мидлы (а может и сеньоры😇) могут методично оттачивать навыки или соревноваться с другими участниками платформы на равных. Немного больше Вы можете прочесть в блоге на Habr. Но могу сказать от себя — "Если бы такая платформа была несколько лет назад, то я пошел бы в BlueTeam. "

#blueteam
Please open Telegram to view this post
VIEW IN TELEGRAM
6🤔11
😁1054🤔3
😁20🤔311
10😁72🤔1
✏️ Я хочуЯ делаю

Да, я хочу стать спикером на Positive Hack Days. Все прошлые годы я не мог даже представить, что могу писать и рассказывать про интересный контент или про свой опыт, но теперь... Я уверен, что у меня получится (если пройду отбор спикеров конечно).

🤨 Тема?

😜 Бюджетное построение DevSecOps без трепки нервов и увольнения сотрудников

Доклад
50 минут
Подробное раскрытие темы
Как для техспецов, так и для бизнеса


🤨 Почему я хочу об этом рассказать и поговорить?

А вы цены вообще видели на услуги по аутсорсу ???

Правда, этот доклад будет не выгоден маленьким компаниям, но я думаю, что они смогут подчерпнуть что-то новое и выставлять более демократичные цены на свои услуги (шутка👍).

🤨 Про что буду рассказывать?

🔵 Из чего строить (компоненты, этапы, путь кода);
🔵 Погружение в SCA, SAST, DAST, RASP (тут не уверен, слишком молодой рынок в рф для такого);
🔘 SCA — инструменты, как правильно работать со sbom и его вариации;
🔘 SAST — поиск вулнов под каждый из языков, не ограничиваясь Semgrep-ом (пока в голове JS, GO, .Net, Java(maven), Python);
🔘 DAST — построение процесса, использование и разделение методов BlackBox и WhiteBox при тестах, не ограничиваясь ZAP 😁;
🔘 RASP — новое для рынка направление, расскажу что это и зачем оно нужно;
🔵 Подводные камни;
🔵 Про сам рынок (надеюсь, коллеги пойдут на уступки и расскажут про их продукты и услуги обезличенно);
🔵 Дам свои наработки, которые до этого не использовал в работе (сейчас всё на python и bash, но я буду переписывать на Go)

И куда же без "а как стать нужным на рынке труда/компаний?"

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

#бредниавтора #devsecops #appsec
Please open Telegram to view this post
VIEW IN TELEGRAM
245
✏️ Альтернативные темы на доклад

Так как в условиях сказано, что я могу приложить несколько видов тем для участия я воспользуюсь данной возможностью. Ниже выбраны темы в которые я погружался с головой, разбираясь в деталях и тратя недели на изучение. Сильно сказано, но как есть, в себе, так и в них — Я уверен. А пока, я всё ещё буду собирать данные для основного выступления на "а вдруг", если нет, то ждите подробный гайд на habr или xakep (может туда получится).

🔵 "Внедрение и использование платформы opensource ASOC для упрощения жизни AppSec" (fast track)

🔵 "Построение DAST процессов на основе OpenSource и самописных скриптов" (fast track)

🔵 "Поиск уязвимостей в WebSocket или как играть в ping-pong с сервером" (fast track)

По данной теме я писал на Habr

🔵 "SCA или как правильно создавать и анализировать SBOM под каждый используемый язык" (fast track)

🔵 "Переносное устройство для закрепления и пентеста беспроводных сетей" (fast track)

Могу честно сказать, уже сделал давно, но так и не выложил на habr, потому что думал, что это не надо. Потом сходил на митап от каспера, был приятно удивлен, что такое постоянно используется, но немного в другой форме — "устройство для закрепления". Планирую написать скрипт для автоустановки всего необходимого + настройка коробки.

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

Опять же, критика и мнение прошу оставлять в комментариях — сделаем комьюнити лучше. ❤️

UPD: все темы, которые не пройдут отбор будут запощены в канал или habr. Зачем материалу пропадать ?)

#бредниавтора #devsecops #appsec
Please open Telegram to view this post
VIEW IN TELEGRAM
114
😁1853🤔1
🖼️ Container security или почему нужно следить не только за уязвимостями в коде

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

Для начала что это за уязвимости:

🟡 CVE-2024–21626 (CVSSv3: 8.6) — Проблема в runC, связанная с process.cwd и утечкой дескрипторов файлов.
🟡 CVE-2024–23651 (CVSSv3: 8.7) — Состояние гонки во время сборки, приводящее к выходу контейнера из строя в BuildKit.
🟡 CVE-2024–23652 (CVSSv3: 10.0) — Произвольное удаление при разрушении контейнера во время сборки BuildKit.
🟡 CVE-2024–23653 (CVSSv3: 9.8) — Проблема проверки привилегий GRPC SecurityMode в BuildKit, приводящая к выходу контейнера из строя во время сборки.

При подготовке поста мне очень понравилось читать исследование про CVE-2024–21626, прошу всех с ним ознакомиться - ТЫК

Могу сделать отдельный перевод в teletype 🚶‍♀️


CVE-2024-21626, в частности, привлекла внимание к уязвимостям в runC, ключевом компоненте различных систем управления контейнерами с открытым исходным кодом. Эта уязвимость, а также ее аналоги в BuildKit подчеркивают проблемы, связанные с обеспечением безопасности контейнеров и всей современной микросервисной инфраструктуре.

🤨Да кто этот ваш такой RunC?

RunC - это стандартное время выполнения контейнеров. Это базовая технология, используемая в Docker и других платформах для запуска контейнеров. По сути, runC отвечает за порождение и запуск контейнеров в соответствии со спецификацией Open Container Initiative (OCI). Для этого он предоставляет интерфейс командной строки для управления жизненным циклом контейнеров.

Суть CVE-2024-21626 заключается в утечке дескриптора файла в пакете runC. Эта проблема возникает во время выполнения контейнерного кода. Хотя пользователи обычно устанавливают закрытие дескрипторов файлов при выполнении (O_CLOEXEC) для предотвращения утечки, уязвимость существует в том, как runC обрабатывает системный вызов setcwd(2). Сложно, непонятно, но вот ссылки на видосы исполнения от Snyk ТЫК и на гите ТЫК

⌨️ Как ломать (Для RedTeam)

Эксплойт через запуск контейнера
Нет необходимости создавать собственный образ, просто запустите контейнер с параметром -w:
docker run -w /proc/self/fd/8 --name cve-2024-21626 --rm -it debian:bookworm


Эксплоит через выполнение в запущенном контейнере:
~/container/runc/runc --version
docker run --name helper-ctr alpine
docker export helper-ctr --output alpine.tar
mkdir rootfs
tar xf alpine.tar -C rootfs
~/container/runc/runc spec
sed -ri 's#(\s*"cwd": )"(/)"#\1 "/proc/self/fd/7"#g' config.json
grep cwd config.json
sudo ~/container/runc/runc --log ./log.json run demo


🛡 Как обнаружить (Для BlueTeam)
Эксплойты имеют следующие особенности:
Контейнер запускает процесс execve(2) со специальным рабочим каталогом, который начинается с /proc/self/fd/.
Контейнер создает символические ссылки через symlink(2) или symlinkat(2) со специальной ссылкой на целевой каталог, который начинается с /proc/self/fd/.
Контейнер будет открывать файлы с помощью open(2), openat(2) или openat2(2) с именами типа /proc/\d+/cwd/.*.

Правило для Falco — про него выйдет отдельный пост
- macro: container
condition: (container.id != host and container.name exists)

- rule: CVE-2024-21626 (runC escape through /proc/[PID]/cwd) exploited
desc: >
Detect CVE-2024-21626, runC escape vulerability through /proc/[PID]/cwd.
condition: >
container and ((evt.type = execve and proc.cwd startswith "/proc/self/fd") or (evt.type in (open, openat, openat2) and fd.name glob "/proc/*/cwd/*") or (evt.type in (symlink, symlinkat) and fs.path.target startswith "/proc/self/fd/")) and proc.name != "runc:[1:CHILD]"
output: CVE-2024-21626 exploited (%container.info evt_type=%evt.type process=%proc.name command=%proc.cmdline target=%fs.path.targetraw)
priority: CRITICAL


Это первая часть поста, телега не позволяет дать больше информации. Вторая часть выйдет завтра, в 15:00
Всех ждем на продолжение на уязвимости CVE-2024–23651, CVE-2024–23652, CVE-2024–23653 🤗
Please open Telegram to view this post
VIEW IN TELEGRAM
123🤔21
17😁103🤔1
🖼️ Container security или почему нужно следить не только за уязвимостями в коде (Часть 2)

Да, как и обещал, ловите продолжение.

Немного про BuildKit и зачем он нужен

Docker BuildKit - это усовершенствованный механизм сборки, предназначенный для образов Docker. Он позволяет эффективно кэшировать команды Dockerfile, параллельно выполнять шаги сборки и изолировать контексты сборки. BuildKit имеет собственное промежуточное представление LLB. И там, где LLVM IR имеет такие вещи, как вызовы функций и стратегии сборки мусора, LLB имеет монтируемые файловые системы и выполнение операторов.

Что за LLVM IR и LLB ? Ты совсем уже крышей поехал?

Нет, хотяяя...

LLVM IR (Intermediate Representation) - это абстрактное представление программы, которое используется в LLVM(Low Level Virtual Machine). Оно независимо от платформы и архитектуры, содержит инструкции, операции и типы данных, и может быть легко оптимизирован и анализирован компилятором LLVM.

LLB (Low Level Backend) - это часть LLVM, которая представляет собой набор инструкций и операций для представления кода на низком уровне. Он служит как промежуточное представление, которое может быть преобразовано в машинный код для разных архитектур. LLB определяется как буфер протокола, а это означает, что внешние интерфейсы BuildKit могут делать GRPC запросы к buildkitd для непосредственного создания контейнера.

Для лучшего понимания или кто хочет с картинками ТЫК

⚠️ Так что там с остальными уязвимостями ?

🟡 CVE-2024-23651 — Cache Mounts Race Condition: Эта уязвимость возникает из-за состояния гонки, вызванного общим монтированием кэша. Когда два этапа сборки выполняются параллельно и совместно используют монтирование кэша, существует вероятность того, что файлы из хост-системы станут доступны контейнеру сборки. Эта уязвимость может быть использована, если пользователь попытается собрать Dockerfile из вредоносного проекта.

🟡 CVE-2024-23652 — Malicious BuildKit Frontend/Filesystem Tampering: Эта проблема связана с тем, что вредоносный фронтенд BuildKit или Dockerfile использует RUN --mount для обмана функции удаления точек монтирования. Это может привести к удалению файлов за пределами контейнера из хост-системы, что представляет значительный риск для целостности хост-окружения.

🟡 CVE-2024-23653 — Elevated Privilege Exploitation: Эта уязвимость позволяет использовать API BuildKit для запуска контейнеров с повышенными привилегиями в обход обычных проверок безопасности. Эта проблема может быть использована, если не включены специальные права безопасности.

Как избежать всех этих уязвимостей?

Опять же, все те же ребята из snyk выпустили 2 скрипта для проверок (динамическая и статическая)

🛡 Давайте, поговорим про статический инструмент
bash 
git clone https://github.com/snyk/leaky-vessels-static-detector.git
cd leaky-vessels-static-detector
go build #Если вам нужен исполняемый файл
go run main.go <команда> <аргумент>

📕 Команды
dockerfile - запустить анализ Dockerfile.
-f [DOCKERFILE_PATH] - путь к Dockerfile.
--base - включить анализ базового образа.

image - запустить анализ образа.
--name [IMAGE_NAME] - имя образа.

Общие аргументы:
--env [ENV_FILE_PATH] - путь к .env-файлу, используемому для хранения. 
--disable [RULES_LIST] - список идентификаторов правил, которые нужно отключить, разделенный запятыми.
--debug - включить отладочные журналы.


Dockerfile — ТЫК

⚙️ Лучшие практики по устранению последствий

🔘 Использовать только проверенные образы Docker и избегать сборки из ненадежных источников.
🔘 Бдительно следить за источниками фронтендов BuildKit и содержимым Docker-файлов.
🔘 Оперативно отслеживать и обновлять среды Docker, чтобы включить в них последние исправления безопасности.

✏️ Эпилог
Мне хотелось бы ещё раз поблагодарить Владимира Капистку за создание такого инструмента как Public OCI-Image Security Checker — 💻 ТЫК, а также попросить добавить в этот инструмент проверку на данный тип уязвимостей. Надеюсь, ему передадут моё сообщение.

Спасибо за внимание, скоро свидимся ❤️

#devsecops
Please open Telegram to view this post
VIEW IN TELEGRAM
1132🤔1
💻 Falco и то как его правильно настроить (Часть 1)

Как и писал в прошлом цикле постов, нужно сделать статью про 💻 Falco. Что это за зверь такой? Страшное создание на C++ для Kubernetes, а точнее для его безопасности. Сам скептически был к нему настроен, но после тестов и реализации - изменил своё мнение. Но важно отметить, что вместо того, чтобы просто следить за нарушителями, он может обнаруживать и предотвращать всевозможные угрозы безопасности в режиме реального времени.

📌

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

Давай те начнем с того, как это устанавливать и пользоваться. Потому что их документация слишком нагроможденная и сложная для новичков.

How to install для тестовых целей (для обучения)

При установке Falco можно выбрать несколько вариантов в зависимости от среды, в которой мы работаем. В посте будет продемонстрирован DaemonSet. Это гарантирует, что он будет развернут на всех узлах нашего кластера Kubernetes.

Один из самых простых способов установки Falco в Kubernetes - это использование Helm. Благо сообщество Falco предоставляет официальную таблицу Helm для установки и настройки.

helm repo add falcosecurity https://falcosecurity.github.io/charts
helm repo update
helm install falco --set tty=true falcosecurity/falco --namespace falco --create-namespace


`--set tty=true` для предотвращении буферизации журналов Falco. Или же по простому При включении этой опции оповещения будут немедленно отображаться в журнале, как только они сработают.


Проверить установку можно через kubectl

kubectl get pods -n falco -o wide


🛡 Добавляем плагин для работы с Kubernetes

Встроенный плагин Falco k8saudit управляет источниками событий и возможностями извлечения полей в системе плагинов Falco.

Чтобы установить плагин, нам нужно изменить процесс установки Helm и задать ему дополнительные параметры. Для начала мы должны удалить Falco с помощью следующей команды. Это позволит нам переустановить Falco с необходимыми параметрами для включения плагина с нужной конфигурацией с помощью пользовательского файла falco.yaml.

helm uninstall falco --namespace falco


Этот файл содержит настройки Falco, которые вы хотите переопределить во время установки. Этого можно добиться, передав файл в качестве аргумента в процессе установки Falco в Helm.

Пользовательский файл falco.yaml, который мы будем использовать, можно найти в репозитории Falco на Github. Этот yaml-файл содержит определение k8saudit в разделе плагинов, как показано ниже.
  plugins:
- name: k8saudit
library_path: libk8saudit.so
init_config:
""
open_params: "http://:9765/k8s-audit"
- name: json
library_path: libjson.so
init_config: ""
load_plugins: [k8saudit, json]

Чтобы переустановить Falco с помощью этого yaml-файла, сохраните yaml из репозитория GitHub под именем values-syscall-k8saudit.yaml и выполните следующую команду.

helm install falco falcosecurity/falco --namespace falco -f ./values-syscall-k8saudit.yaml --create-namespace


Теперь перейдем к конфигурации. Чтобы журналы аудита Kubernetes могли отправляться в Falco, нам нужно перенастроить сервер API Kubernetes на пересылку событий аудита. Применяя политику аудита, вы можете выборочно фильтровать и записывать только те события, которые представляют интерес. Чтобы сделать безопасность приоритетной, мы создадим политику, направленную на запросы, связанные с подсистемами, kube-proxy, секретами, конфигурациями и другими важными компонентами. Ниже приведена политика, которую мы будем использовать.

Сохраните содержимое YAML в файл с именем policy.yaml в каталоге /etc/kubernetes/audit/. Позже на этот файл будут ссылаться в конфигурации сервера API.

Это первая часть объемной работы с данным инструментом. Да, приходится их делить, ведь у тг всего 4096 символов разрешено. Печатать в телетайп и подобных платформах, не моё. Habr стал платформой, на которой тебе пишут "не соответствует тематике платформы" или "не нашел ничего нового для себя" при любой теме статьи. 🥺

#devsecops
Please open Telegram to view this post
VIEW IN TELEGRAM
93🤔2