В українському сегменті по DevSecOps є специфічний вакуум. Англомовного контенту валом, рос. ресурси закриті — і слава богу, — а своїх україномовних матеріалів по Wazuh, detection engineering або PKI практично немає. Є розрізнені Telegram-замітки, є пару статей на DOU, але систематично і з прикладами — майже нічого.

Якийсь час я гугував усе це сам, перечитував документацію і форуми, набивав власні граблі. Тепер хочу записувати те, що дізнаюсь: як налаштовую, що ламається, як лагодиться. Не тому що знаю все, а тому що записувати і пояснювати — це найкращий спосіб самому розібратись.

Цей блог і є тим місцем для записів.

01 Звідки я це пишу

Займаюсь SIEM-інженерією у fintech: Wazuh-manager на Hetzner VPS, Ansible-плейбуки для деплою агентів і конфігів, AWS-логи у pipeline, compliance-вимоги як фон щоденної роботи. До цього — системний адміністратор, звідки і виростає більша частина бекграунду з Linux і мережами.

Паралельно піднімаю власний стенд: Elastic Security 9 поряд із Wazuh, перший k8s-кластер на RKE2, Vault для PKI і секретів, n8n для автоматизацій. Стенд — це місце, де можна зламати що завгодно і нікому не зателефонує клієнт о другій ночі.

DevSecOps для мене не buzzword, а конкретний напрямок: як вбудувати security у CI/CD pipeline так, щоб воно не заважало деплою, а навпаки — давало впевненість, що в продакшн іде те, що очікується. Ansible тут наскрізний інструмент: від provisioning до конфігурації агентів і ротації секретів.

Пишу не з позиції «я все знаю». Пишу з позиції інженера, який щодня вирішує конкретні задачі і хоче, щоб наступна людина з тією ж задачею витрачала на неї менше часу.

02 Для кого

Junior+ інженери, яким потрібно не «що таке SIEM» у двох реченнях, а як воно реально працює з прикладами конфігів і розбором помилок.

DevOps-інженери, які дивляться у бік security. Ті, кого вже не лякає Ansible і Terraform, але Wazuh або detection engineering — terra incognita. У таких людей є величезна перевага: вони вже вміють думати про інфраструктуру системно. Залишається дотягнути security-контекст.

Ті, кому набридло читати vendor-документацію, де все виглядає просто, а на практиці виявляється, що authd_pass не генерується, агент не реєструється, і треба ще дві години в логах.

Якщо ти вже Senior і знаєш Wazuh як власні п'ять пальців — тут, можливо, буде мало нового. Але якщо впізнав себе хоча б в одному з трьох описів вище — вітаю, це для тебе.

03 Які теми будуть

Три основних напрямки, навколо яких буде обертатись більшість матеріалів.

Wazuh і detection engineering. Як налаштувати manager, як писати кастомні правила кореляції, як підключати кастомні декодери, як читати алерти і відрізняти реальний інцидент від false positive. Планую і цикл про перші 10 правил кореляції, які варто написати самому, — тому що дефолтні правила Wazuh — це старт, а не фініш.

CI/CD і DevSecOps. Як зробити так, щоб pipeline сам перевіряв образи, конфіги і секрети до того, як код потрапив у продакшн. SAST, container scanning, secrets detection — не теорія, а конкретні кроки в GitHub Actions або GitLab CI.

PKI і Vault. Vault як центр для сертифікатів і секретів: як підняти PKI backend, як автоматизувати ротацію через Ansible, як не зробити з Vault єдину точку відмови. Тема, де документація є, але практичних україномовних прикладів — майже нуль.

Розподіл приблизно такий: 70% — fundamentals. «Що таке SIEM», «як розгорнути Wazuh з нуля на Hetzner», «перші кроки з Ansible Vault» — матеріали, з яких реально можна почати. 30% — deep-dive з production: кейси, де щось пішло не так і довелось розбиратись.

Ansible проходить через всі три напрямки як наскрізний інструмент: деплой агентів, управління конфігами, автоматизація PKI, CI/CD-інтеграція. Якщо ще не знаєш Ansible — це теж буде в плані.

04 Формати

Чотири основних: tutorial, deep-dive, postmortem і comparison.

Tutorial — крок за кроком, з реальними командами і конфігами. Завжди з поясненням, що саме робить та чи інша опція, а не просто «скопіюй і запусти».

Deep-dive — коли є конкретна тема, яку варто розібрати детально. Наприклад, як Wazuh обробляє логи: від збору агентом до алерту в dashboard. Таких матеріалів буде менше, але вони довші.

Postmortem — розбір того, що не спрацювало і чому. Мені здається, що саме з таких матеріалів вчишся найшвидше. Хтось вже наступив на ці граблі — краще прочитати, ніж повторювати.

Comparison — порівняння підходів або інструментів. Не у форматі «X краще за Y», а у форматі «ось задача, ось чому вибрав X, ось що це дало і що не дало».

Ритм: один розгорнутий пост на тиждень — це стеля, не ціль. Якщо виходить частіше — добре. Якщо ні — краще пропустити тиждень, ніж публікувати половинчасте. Горіти на контенті не планую.

Canonical версія завжди тут, у блозі. У Telegram-каналі @shumops — тизер і посилання. Канал підписатись варто, якщо хочеш дізнаватись про нові пости першим: Telegram-замітки між постами теж там бувають.

05 Чим можна допомогти

Якщо є тема, яка особисто болить — скидай у коментарі або пиши напряму. Не обіцяю, що напишу про все і одразу, але тематичний запит реально впливає на черговість.

Якщо матеріал виявився корисним — поділись у профільний чат або колезі, якому зараз актуально. Це найкраща підтримка для молодого блогу без бюджету на рекламу.

Якщо знайшов помилку — технічну чи граматичну — теж пиши. Краще виправити, ніж лишити.

There's a specific vacuum in Ukrainian DevSecOps. English content is everywhere, Russian resources are walled off (good riddance), and there's almost no Ukrainian-language material on Wazuh, detection engineering or PKI. A few scattered Telegram notes, a couple of articles on DOU, but nothing systematic and nothing with worked examples.

For a while I googled all of this myself, dug through docs and forums, made my own mistakes. Now I want to write down what I learn: how I set things up, what breaks, how it gets fixed. Not because I know everything. Because writing it down and explaining it is the best way to actually understand it myself.

This blog is that place to write it down.

01 Where I'm writing from

I do SIEM engineering at a fintech: a Wazuh manager on a Hetzner VPS, Ansible playbooks for deploying agents and configs, AWS logs in the pipeline, compliance requirements as the backdrop to everyday work. Before that I was a sysadmin, which is where most of my Linux and networking background comes from.

On the side I'm building my own lab: Elastic Security 9 next to Wazuh, my first k8s cluster on RKE2, Vault for PKI and secrets, n8n for automation. The lab is where I can break anything and no client calls at two in the morning.

DevSecOps isn't a buzzword for me, it's a concrete direction: how to build security into a CI/CD pipeline so it doesn't get in the way of deploys but does the opposite. It gives you confidence that what ships to production is what you expect. Ansible runs through all of it, from provisioning to agent configuration to secret rotation.

I'm not writing from a place of "I know everything." I'm writing as an engineer who solves concrete problems every day and wants the next person with the same problem to spend less time on it.

02 Who it's for

Junior+ engineers who need more than a two-sentence "what is SIEM." They want to see how it actually works, with config examples and error walkthroughs.

DevOps engineers looking toward security. People who aren't scared of Ansible and Terraform anymore, but for whom Wazuh or detection engineering is terra incognita. They have a big advantage: they already think about infrastructure systematically. What's left is to add the security context.

Anyone tired of reading vendor docs where everything looks simple, until in practice authd_pass won't generate, the agent won't register, and you're two more hours deep in the logs.

If you're already Senior and know Wazuh like the back of your hand, there might not be much new here. But if you recognized yourself in even one of the three descriptions above, welcome: this is for you.

03 What topics to expect

Three main areas that most of the material will revolve around.

Wazuh and detection engineering. How to set up the manager, how to write custom correlation rules, how to plug in custom decoders, how to read alerts and tell a real incident from a false positive. I'm also planning a series on the first 10 correlation rules worth writing yourself, because Wazuh's default rules are a start, not a finish.

CI/CD and DevSecOps. How to make the pipeline check images, configs and secrets itself before code reaches production. SAST, container scanning, secrets detection: not theory, but concrete steps in GitHub Actions or GitLab CI.

PKI and Vault. Vault as the hub for certificates and secrets: how to stand up a PKI backend, how to automate rotation with Ansible, how to keep Vault from becoming a single point of failure. A topic where the documentation exists, but practical Ukrainian-language examples are close to zero.

The split is roughly 70% fundamentals. "What is SIEM," "how to deploy Wazuh from scratch on Hetzner," "first steps with Ansible Vault." The kind of material you can actually start from. The other 30% is deep-dives from production: cases where something went wrong and had to be figured out.

Ansible runs through all three areas as the connecting tool: deploying agents, managing configs, automating PKI, CI/CD integration. If you don't know Ansible yet, that's on the plan too.

04 Formats

Four main ones: tutorial, deep-dive, postmortem and comparison.

Tutorial. Step by step, with real commands and configs, always with an explanation of what each option actually does, not just "copy and run."

Deep-dive. When there's a specific topic worth taking apart in detail, like how Wazuh processes logs, from agent collection to an alert in the dashboard. Fewer of these, but longer.

Postmortem. A breakdown of what didn't work and why. I think this is the kind of material you learn from fastest. Someone already stepped on that rake, so better to read about it than repeat it.

Comparison. Comparing approaches or tools. Not "X is better than Y," but "here's the problem, here's why I picked X, here's what it gave me and what it didn't."

Cadence: one full post a week is the ceiling, not the target. If more happens, good. If not, I'd rather skip a week than publish something half-baked. I'm not planning to burn out on content.

The canonical version is always here, on the blog. The Telegram channel @shumops gets a teaser and a link. Worth following if you want to hear about new posts first, and there are Telegram notes between posts too.

05 How you can help

If there's a topic that's personally bugging you, drop it in the comments or write to me directly. I can't promise I'll cover everything at once, but a specific request really does shift the order.

If a post turned out useful, share it in a relevant chat or with a colleague who needs it right now. That's the best support for a young blog with no ad budget.

If you find a mistake, technical or grammatical, tell me. Better to fix it than leave it.