DevOps by REBRAIN – Telegram
DevOps by REBRAIN
29.2K subscribers
403 photos
9 videos
4 files
861 links
Открытые практикумы по DevOps, Linux, Golang, Networks, Security

Мы на связи:
info@rebrainme.com
+7 (499) 116-34-68

https://rebrainme.com/

Зарегистрированы в РКН: https://knd.gov.ru/license?id=674db558d793bc0b0b8845ff&registryType=bloggersPermission
Download Telegram
Бывало у вас такое: процесс работает, но что-то идёт не так? Он тормозит, не пишет в файл, или просто ведёт себя странно. Вместо того чтобы гадать, можно буквально заглянуть ему «внутрь» с помощью strace.

Что такое strace?
Это «рентгеновский аппарат» для Linux-процессов. Он показывает все системные вызовы, которые делает программа: работа с файлами, сетевые соединения, управление памятью и многое другое.

👀 Практический пример:
Допустим, наш процесс не может записать в файл. Вместо перезапусков и логов просто запускаем:

strace -p <PID> -f -e trace=file


И видим примерно такую картину:

open("/var/log/app.log", O_WRONLY|O_CREAT) = -1 EACCES (Permission denied)
write(2, "Permission denied", 17) = 17


Вот и ответ! Процессу не хватает прав на запись в /var/log/app.log.

📌 Как начать использовать strace: 📌

1️⃣ Для запуска новой программы:


strace -f -o trace.log your_command


2️⃣ Для подключения к работающему процессу:


strace -p <PID> -o trace.log


3️⃣ Полезные фильтры:


strace -e trace=network # только сетевые вызовы
strace -e trace=file # только работа с файлами
strace -e trace=memory # управление памятью


🧠 Что можно узнать с помощью strace:
🔹 Почему процесс не может прочитать конфигурационный файл
🔹 Куда именно он пытается писать логи
🔹 С какими портами устанавливает соединения
🔹 Какие библиотеки загружает при старте
🔹 Почему зависает при определённых операциях

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

🔥 Этот инструмент особенно полезен когда:
🔸 Логи не дают ответа что пошло не так
🔸 Работаете с чужим кодом без документации
🔸 Нужно быстро диагностировать проблему на сервере

На курсах Rebrain мы показываем не только отдельные инструменты, но и учим системному подходу к диагностике сложных проблем. Приходи к нам на курс по Linux.
👍46🔥198👏3👎1
Argo CD — обязательный навык для современных DevOps-инженеров. Пришло время освоить его системно! 22 декабря запускаем этот модуль.

ТРЕНДЫ РЫНКА
1️⃣ GitOps — язык современного продакшена. Argo CD превращает Git в единый источник истины, исключая ручные ошибки и ускоряя выпуск приложений в 3 раза.

2️⃣ Контроль над сложными средами. Инструмент позволяет централизованно управлять сотнями приложений across кластеры, обеспечивая согласованность и быстрый откат.

3️⃣ Карьерный рост в приоритетном направлении. Специалисты с Argo CD в резюме получают на 40% больше предложений — это самый быстрорастущий навык в облачной экосистеме.

Чему научитесь на курсе:
Автоматизировать развертывания в Kubernetes по GitOps-принципам
Настраивать самоисцеление инфраструктуры и мониторинг
Работать с Helm, Kustomize и ApplicationSets
Управлять безопасностью: RBAC, SSO, секретами
Выстраивать мультикластерные развертывания

Подробнее о курсе тут.

Подробная программа

Есть вопрос - пишите менеджеру.

Самая низкая цена на старте - до 5 декабря.
👎138🔥5👍3
🚨 Systemd сломался? Мы разберемся!

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

🚩Частая причина — неочевидные ошибки в конфигурации Systemd, который давно стал мозгом и нервной системой современных дистрибутивов.

Мы запускаем траблшутинг, который можно пройти абсолютно 🔥бесплатно🔥, чтобы на реальном кейсе разобрать все подводные камни и найти «иголку в стоге сена».

Автор материала — Василий Озеров🏆, эксперт и практик с многолетним опытом работы со сложными инфраструктурами. Это не сухая теория, а концентрированный опыт из реальных инцидентов.

📌Вот задача, которую вам предстоит решить:
Запустить Go-приложение, которое обязано работать от непривилегированного пользователя, слушать порт и читать статические файлы. Но служба упорно падает🤯, в логах — лишь общие ошибки, а ручной запуск работает. Знакомая история?🧐

Что вы получите?
Чёткий алгоритм диагностики и глубокое понимание, как работает Systemd изнутри. Вы научитесь не просто исправлять конфиги, а предвидеть проблемы.

🔥 Главное:
Участие абсолютно 💥бесплатное💥
Практика на основе реального инцидента
Регистрация открыта с 2 декабря
Задача появится на платформе и ее можно будет начать решать 10 декабря
Итоги траблшутинга и разбор всех решений подведём 15 декабря


Не дайте сломанному юниту испортить ваш день! Разбираемся системно.

Присоединиться к бесплатному траблшутингу
🔥228👏7👍2👎1
Знакомо? У вас есть три окружения — dev, stage, prod — и вы:

🔹Копируете конфиги, меняя в каждом порты, лимиты и реплики
🔹Боитесь случайно задеплоить dev-конфиг в прод
🔹Тратите часы на проверку различий между окружениями

🧠 Есть способ лучше! Связка Kustomize + ArgoCD решает эту проблему элегантно и безопасно.

Как это работает:


k8s-manifests/
├── base/ # Общие манифесты
│ ├── deployment.yaml
│ ├── service.yaml
│ └── kustomization.yaml
├── overlays/
│ ├── dev/ # Dev окружение
│ │ ├── config-patch.yaml
│ │ └── kustomization.yaml
│ ├── stage/ # Stage окружение
│ └── prod/ # Prod окружение


Суть в трех строках:

1️⃣ Base — ваша "истина", общая для всех окружений
2️⃣ Overlay — тонкие настройки для конкретного окружения (лимиты, реплики, переменные)
3️⃣ ArgoCD — следит за всей структурой и деплоит нужный overlay в нужный кластер

Пример overlay для prod:


# overlays/prod/kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- ../../base

patchesStrategicMerge:
- deployment-patch.yaml

replicas:
- name: myapp
count: 3 # В проде 3 реплики вместо 1


Что это дает:
Единый источник истины — изменения в base применяются везде
Минимум дублирования — только различия в overlays
Безопасность — физически невозможно задеплоить dev в prod
Прозрачность — сразу видно, чем отличается prod от dev
GitOps friendly — вся история изменений в Git

В ArgoCD это выглядит так просто:

🔸Application на базовый overlay dev → деплой в dev namespace
🔸Application на overlay stage → деплой в stage
🔸Application на overlay prod → деплой в prod

🔥Бонусный лайфхак: Используйте генераторы ApplicationSet, чтобы автоматически создавать Applications для каждого overlay в репозитории!

Хотите освоить ArgoCD на профессиональном уровне?
Мы разбираем Kustomize, ApplicationSets, безопасность и все фишки GitOps в практическом курсе:
👉 ArgoCD

Перестаньте копировать конфиги — начните наследовать и расширять. Это тот случай, когда правильный подход экономит не только время, но и нервы 💪
👍13👎32🔥2
Привет! Видишь в вакансиях «CI/CD» и хочешь наконец разобраться? 🚀

Вы просили, мы сделали!

🔥Запускаем практикум по GitLab CI, где покажем не только как настраивать пайплайны, но и как думать о процессе разработки по-инженерному.

1️⃣ DevSecOps — новый стандарт
Безопасность теперь вшивается в процесс разработки. GitLab CI/CD позволяет автоматически проверять код на уязвимости на каждом этапе, а не искать баги перед релизом.

2️⃣ Автоматизация = скорость × надежность
Ручные деплои — это риск и медленно. С GitLab CI/CD ты настроишь пайплайн, который сам соберет, протестирует и задеплоит приложение. Ты сосредоточишься на коде, а не на рутине.

3️⃣ Единая платформа вместо зоопарка инструментов
GitLab объединяет CI/CD, репозитории, планирование и мониторинг. Не нужно стыковать кучу сервисов — все работает из коробки. Это экономит время и упрощает жизнь команды.

Что тебя ждет:
🔹 13 уроков от основ до продвинутых практик
🔹 Работа с Runners, артефактами, динамическими окружениями
🔹 Интеграция сканеров безопасности в процесс разработки
🔹 Реальные кейсы и продакшен-решения

Чему конкретно научишься:
Настраивать автоматические пайплайны от сборки до продакшена
Работать с Docker-образами и GitLab Container Registry
Оптимизировать производительность через кеширование
Внедрять безопасность (SAST, Secret Detection)
Создавать динамические окружения и Review Apps

📆 Курс стартует 22 декабря
📝Подробная программа
Есть вопросы? Пиши https://news.1rj.ru/str/Rebrain_manager — ответим на все
🤑Или можешь выгодно купить за 22 000 рублей = скидка 3000 до 9 декабря


P.S. После курса сможешь не просто повторять туториалы, а понимать как проектировать пайплайны под свои задачи.
И да, это прокачает твое резюме 😉
👍64🔥3👏3👎1
🟡 Анонс открытых практикумов на следующую неделю

1️⃣ Резервное копирование и работа с файловой системой на сетевом оборудовании

Регистрация

Время проведения:

9 декабря (вторник) в 19:00 по МСК

Программа практикума:

🟢Протоколы передачи данных: основные теоретические сведения;
🟢Обновление и создание резерных копий;
🟢Создание архивов и сравнение конфигурационных файлов.

Кто ведёт?
Андрей Шабалин — тренер Cisco/Huawei, кандидат наук, преподаватель сетевых технологий на онлайн-платформах, инструктор академии Eltex и Астра-Университета. Автор сообщества «Компьютерные сети и сетевая безопасность»
---------------------------------------------------------------------------------------

2️⃣ DRBD (Distributed Replicated Block Device)

Регистрация

Время проведения:

10 декабря (среда) в 20:00 по МСК

Программа практикума:

🟢Задачи DRBD
🟢На каком уровне работает DRBD?
🟢Натройка DRBD
🟢Возврат ноды после Split Brain

Кто ведёт?

Андрей Буранов — системный администратор в департаменте VK Play. 13+ лет опыта работы с ОС Linux. 11+ лет опыта преподавания. Входит в топ-3 лучших преподавателей образовательных порталов.
---------------------------------------------------------------------------------------

3️⃣ Сложный коллега: как распознать и остановить скрытый саботаж/токсичность, вернуть команде продуктивность работы

Регистрация

Время проведения:

11 декабря (четверг) в 19:00 по МСК

Программа практикума:

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

Кто ведёт?

Елена Фролкина - лидер с 15-летним опытом построения и управления командами в лидерах рынка и стартапах
---------------------------------------------------------------------------------------

4️⃣ Keycloak Oauth2: Подключение Kubernetes

Регистрация

Время проведения:

12 декабря (пятница) в 19:00 по МСК

Программа практикума:

🟢Подключаемся к Kubernetes через openid-connect.
🟢Настраиваем политики доступа.
🟢Врубаем и проверяем аудит логи.

Кто ведёт?

Василий Озеров — co-Founder REBRAIN, IT-инженер с 2012 года, провёл 100+ вебинаров по DevOps и инфраструктуре.
---------------------------------------------------------------------------------------

Также у нас есть открытое комьюнити, где мы собрали много специалистов по инфраструктуре, готовых помочь и поделиться опытом. Задать вопрос коллегам и разобраться в сложных задачах можно по ссылке!
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥2👎1👏1
Привет! 👋
Тот момент, когда делаешь коммит и идешь пить кофе☕️, потому что пайплайн будет идти 15 минут — знакомо?

🚴‍♂️Скорость CI — это не просто цифры. Это твое время, фокус и нервные клетки. Медленный пайплайн убивает поток, заставляет контекстно переключаться и просто бесит.

В 90% случаев тормоза — из-за неправильного кеширования. Не тех зависимостей, не там и не так.

💡 Вот как это исправить за 5 минут:

1️⃣ Раздели кеш для зависимостей и сборки


cache:
key: ${CI_COMMIT_REF_SLUG}
paths:
- node_modules/ # или .m2/, vendor/ и т.д.
policy: pull-push # загружаем И обновляем


2️⃣ Используй разные ключи для разных веток


variables:
CACHE_KEY: $CI_COMMIT_REF_SLUG

cache:
key: ${CACHE_KEY}
paths:
- .gradle/caches/


3️⃣ Настрой политику pull для тестов


test:
stage: test
cache:
key: ${CI_COMMIT_REF_SLUG}
paths:
- node_modules/
policy: pull # только загружаем, не обновляем!
noscript:
- npm test


Почему это работает:
• Зависимости скачиваются один раз, а не на каждом запуске
• pull-push на этапе сборки обновляет кеш при изменении зависимостей
• pull на этапе тестов экономит время на запись кеша

Простой чек-лист для твоего пайплайна:
Зависимости кешируются отдельно от артефактов
Используешь policy: pull где можно
Ключ кеша учитывает версии зависимостей (например, хэш package-lock.json)

А если хочешь по-настоящему глубоко разобраться в кешировании, артефактах и оптимизации пайплайнов — приходи практиковаться наш курс по GitLab CI. Там разбираем не только лайфхаки, но и как проектировать пайплайны, которые не тормозят с самого начала.

Оставим ссылку на покупку со скидкой 3000 рублей. Она действует до 9 ноября.

Твой пайплайн все еще идет 15 минут?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍206🔥5👏2👎1
Ищем двух смелых DevOps-инженеров, которые готовы показать свой скилл на реальном техническом интервью — в открытом формате.

👀 Что это значит?
🔹 Вы проходите собеседование на вакансию Middle/Senior DevOps в проект Магнит Tech
🔹 Всё происходит в на закрытом вебинаре в zoom с аудиторией
🔹 Зрители — наше комьюнити
🔹 Вы получаете обратную связь после собеседования

🏆Для кого это крутая возможность:
🔸
Хотите попасть в сильную команду Магнит Tech
🔸Не боитесь сложных технических вопросов
🔸Готовы показать экспертизу вживую
🔸Хотите получить максимум фидбека за одно собеседование

📝 Что ждёт на собеседовании:
Разбор реальных кейсов
Архитектурные задачи по построению отказоустойчивых кластеров
Практические вопросы по мониторингу и автоматизации
Обсуждение подходов к документации и взаимодействию с заказчиками

Что вы получаете:
Прозрачный процесс собеседования
Профессиональную обратную связь
Новые контакты в индустрии
Уважение комьюнити за смелость

📌 Как участвовать?
Напишите в tg @fleurkaraman краткое intro:
- Почему хотите именно открытый формат
- Ссылку на ваше резюме
Прием заявок открыт до 10 декабря включительно. Чтобы вебинар был максимально полезным для всех, мы проведём два живых собеседования: с инженером уровня Middle и уровня Senior. Самым подходящим кандидатам вышлем приглашение и детали 12 декабря!
Это шанс не просто пройти собеседование 💪

P.S. Поставьте
🔥 - если интересен такой формат и будете ждать этот веб
👎 - совсем не интересны открытые собесы
🔥772👎2
This media is not supported in your browser
VIEW IN TELEGRAM
👍23🔥8👏32💯2
Привет! 👋

Знакомо: делаешь новую фичу в отдельной ветке, а проджект или тестировщик просит: «А можно 👀глянуть👀 вживую?». И начинается ад:

🔹«Подними на тестовом» → нужно мержить, конфликты, ждать
🔹«Дай доступ к локальному» → настраивать окружение, порты, зависимости
🔹«Скинь скриншоты» → не показывает реальное поведение

🔥 Есть способ лучше 🔥
Review Apps в GitLab — это временные окружения, которые создаются автоматически для каждой ветки и умирают после мержа. Как облачный стенд, который живет ровно столько, сколько нужно.

Вот как это настроить. Без магии, просто копируй:


review:
stage: deploy
noscript:
- echo "Деплоим ветку $CI_COMMIT_REF_SLUG на временный сервер"
# Твои команды деплоя (kubectl, docker-compose, ansible)
environment:
name: review/$CI_COMMIT_REF_SLUG
url: https://$CI_COMMIT_REF_SLUG.your-app.com
on_stop: stop_review # что запустить при удалении
rules:
- if: $CI_MERGE_REQUEST_ID # Только для MR

stop_review:
stage: cleanup
noscript:
- echo "Удаляем окружение review/$CI_COMMIT_REF_SLUG"
environment:
name: review/$CI_COMMIT_REF_SLUG
action: stop
rules:
- if: $CI_MERGE_REQUEST_ID
when: manual # или automatic для автоудаления


💡Что происходит:

1️⃣ Создаешь Merge Request → пайплайн сам поднимает окружение
2️⃣В MR появляется кнопка с ссылкой на твое живое приложение
3️⃣ После мержа (или вручную) окружение автоматически чистится

Зачем это тебе:
• Показываешь работу клиенту/ПМ/тестировщику без лишних телодвижений
• Тестируешь в реалистичных условиях, а не «на локалке»
• Экономишь ресурсы — окружения живут только когда нужны
• Автоматизируешь рутину — не нужно руками что-то поднимать и чистить

Это не сложно.
Если уже умеешь деплоить приложение (хоть в Docker, хоть на сервер), то добавить Review Apps — дело 15 минут конфигурации.

А если хочешь научиться не просто копировать конфиги, а понимать как проектировать такие пайплайны — приходи на курс по GitLab CI. Научим делать не только Review Apps, но и полноценные staging/prod окружения с безопасностью и мониторингом.

Если было полезно, то ставь 🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3511👍6👎1
GitOps и пароли: как хранить секреты в репозитории и не скомпрометировать кластер? 🔐

Знакомо: хотите хранить конфигурацию в Git, но пароли от БД, API-ключи и TLS-сертификаты держать там страшно. Ручное создание kubectl create secret ломает принцип GitOps.

Решение — Sealed Secrets от Bitnami. Суть: вы шифруете секрет локально специальным ключом, а в Git кладёте уже зашифрованный манифест. Расшифровать его может только ваш кластер.

3 шага к безопасности:

1️⃣ Установка оператора в кластер


kubectl apply -f https://github.com/bitnami-labs/sealed-secrets/releases/download/v0.24.1/controller.yaml


2️⃣ Шифрование секрета локально

Устанавливаем утилиту kubeseal, создаём обычный Secret и шифруем его:

echo -n "mysecretpassword" | kubectl create secret generic db-pass --dry-run=client --from-file=password=/dev/stdin -o yaml > secret.yaml
kubeseal --scope cluster-wide -f secret.yaml -o sealedsecret.yaml

3️⃣ Применение в GitOps
Полученный sealedsecret.yaml безопасно пушим в репозиторий. Argo CD или Flux применяют его, и контроллер в кластере автоматически расшифровывает его в обычный Kubernetes Secret.

Что внутри sealedsecret.yaml :

apiVersion: bitnami.com/v1alpha1
kind: SealedSecret
metadata:
name: db-pass
spec:
encryptedData:
password: AgBv2n4H1LiV+8O7X...
# Расшифровать можно только вашим кластером


Почему это безопасно?

🔑 Приватный ключ для расшифровки никогда не покидает кластер
🔒 В Git летит только шифр — даже при утечке репозитория данные защищены
🔄 Полная совместимость с GitOps: Secret создаётся автоматически при деплое

Когда выбрать Sealed Secrets:

🔹 Нужен простой и самодостаточный инструмент
🔹 Нет доступа к Vault или AWS Secrets Manager
🔹 Хотите минимальную инфраструктуру для управления секретами

Когда смотреть в сторону External Secrets Operator:
🔸 Уже используете HashiCorp Vault / AWS Secrets Manager
🔸 Требуется ротация секретов без передеплоя приложений
🔸 Нужна централизованная аудитория доступа

Итог: Sealed Secrets — элегантный мост между безопасностью и GitOps-практиками. Позволяет хранить всё в Git, не оставляя секреты в plain text.

На курсе Argo CD разбираем не только Sealed Secrets, но и интеграцию с Vault через AVP, работу с External Secrets Operator и паттерны разделения доступа. Учим не просто инструменты, а стратегии безопасности для production.

💡 Полезно? Если да, то ставь 🔥
🔥43👍74👎2
Хей, ребята! 🖖

Часто вижу в проектах JWT как стандарт для аутентификации. Токен есть, но мало кто смотрит, насколько он действительно защищён.

😳 А зря 😳
Потому что типовые ошибки в JWT — это прямая дорога к компрометации аккаунтов.
Не верите?

Давайте проверим ваш токен прямо сейчас.

📌 Шаг 1: Смотрим, что внутри
JWT состоит из трёх частей: header.payload.signature. Просто вставьте свой токен на сайт jwt.io или в расширение DevTools — и сразу увидите:
1️⃣ Алгоритм подписи (alg)
2️⃣ Данные пользователя (payload)
3️⃣ Срок действия (exp)

📌 Шаг 2: Ищем опасные признаки
1️⃣ Алгоритм "none" — самая грубая ошибка. Если в header видите "alg": "none", токен можно подделать, просто удалив подпись.
2️⃣ Слабый секрет — если ключ подписи простой (типа "secret123"), его можно подобрать брутфорсом. Проверить можно через hashcat или онлайн-инструменты.
3️⃣ Отсутствие проверки alg — сервер может принимать любой алгоритм. Попробуйте сменить RS256 на HS256 в header — иногда это срабатывает.

📌 Шаг 3: Практика в Burp Suite
1️⃣ Перехватите запрос с токеном в Burp
2️⃣ Отправьте токен в Decoder
3️⃣ Модифицируйте payload (например, поменяйте "user": "user" на "user": "admin")
4️⃣ Если подпись не проверяется — вы только что нашли уязвимость

Что делать, если нашли проблему?
Никогда 🚫 не используйте алгоритм "none" в продакшене
Генерируйте сложные секреты длиной от 32 символов
Всегда проверяйте алгоритм подписи на сервере
Используйте короткое время жизни токенов (exp)

⚠️P.S. Эта проверка — только верхушка айсберга⚠️
Если хотите не просто находить уязвимости, а понимать их природу и думать как атакующий — смотрите наш практический курс по безопасности веб-приложений.

На курсе разберём:
🔹 Полный цикл пентеста — от разведки до отчёта
🔹 Все уязвимости OWASP Top 10 на реальном стенде OWASP Juice Shop
🔹 Работу с Burp Suite на продвинутом уровне
🔹 Методы защиты на уровне архитектуры, а не просто "заплатки"

🗓Старт: 22 декабря
Подробная программа

Проверили свой токен? 🔍
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥73👎1👏1
Знакомо ощущение, когда открываешь Burp Suite и теряешься в сотне вкладок? Интерфейс выглядит как кабина пилота, а времени на полноценный пентест нет.

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

🎯 1. Intercept — видеть всё, что уходит в сеть
Зачем: понимать, что на самом деле отправляет ваше приложение.
Что делать:
1. Включите перехват (Intercept is on)
2. Выполните действие в браузере (логин, поиск)
3. Смотрите "сырой" запрос: куки, заголовки, параметры
⭐️Фишка: меняйте любые параметры на лету. Хотите проверить, что будет если передать user_id=1 вместо user_id=2? Просто отредактируйте и нажмите Forward.

🔁 2. Repeater — тестировать одну точку снова и снова
Зачем: глубоко проанализировать конкретный эндпоинт.
Что делать:
1. Перетащите перехваченный запрос из Intercept во вкладку Repeater
2. Меняйте параметры, заголовки, тело запроса
3. Нажимайте Send и сравнивайте ответы
💡Практический кейс: Проверка на SQL-инъекцию. Добавляете ' или " в параметры и смотрите — не вернулась ли ошибка базы данных в ответе?

3. Active Scan — автоматический поиск уязвимостей
Зачем: пусть Burp поработает за вас, пока вы занимаетесь другими задачами.
Что делать:
1. Кликните правой кнопкой по запросу в Proxy → Send to Scanner
2. Выберите Active Scan
3. Через 10-15 минут проверьте вкладку Dashboard → Issue activity

🔥 Что найдёт: XSS, SQLi, уязвимые заголовки, проблемы с CORS, пути к файлам — всё, что можно обнаружить автоматически.

📌 Краткий алгоритм на 10 минут:
1️⃣ Настройте прокси в браузере на 127.0.0.1:8080
2️⃣ Включите Intercept, сделайте действие в приложении
3️⃣ Изучите запрос — нет ли в нём чувствительных данных
4️⃣ Отправьте в Repeater подозрительные эндпоинты
5️⃣ Запустите Active Scan на самый интересный запрос

Этих трёх инструментов достаточно, чтобы провести базовую проверку безопасности за чашку кофе☕️.
Burp Suite — это не только для хакеров, это практичный Swiss Army Knife для инженера, который хочет быть уверен в своём коде.

P.S. Хотите не просто пользоваться инструментами, а понимать, как искать уязвимости системно? Наш курс по безопасности веб-приложений — это не про запоминание кнопок в Burp, а про мышление пентестера.

Старт: 22 декабря

А какими функциями Burp Suite пользуетесь вы чаще всего?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍124🔥3👏1
👀 С этими 5 ошибками в GitLab CI сталкиваются все 👀

🔥Разбираем, почему они возникают и как их решать раз и навсегда

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

1️⃣ «Runner зарегистрирован, но джобы висят в stuck»
Что происходит: Создал раннер, а пайплайн не стартует. В интерфейсе This job is stuck.
Почему так: GitLab отправляет джоб только на раннеры с подходящими тегами. Если в джобе tags:[docker], а у раннера тег linux, они не встретятся.

💡Как решить:
Проверь теги раннера: gitlab-runner list
В .gitlab-ci.yml укажи те же теги в джобе
Убедись, что раннер в статусе active (не paused)
🧠 Системный подход: Пойми механику tags как систему маршрутизации и сможешь проектировать инфраструктуру под разные типы задач.

2️⃣ Docker-in-Diner: connection refused
Что происходит:
Пытаешься собрать Docker-образ внутри CI, но получаешь Cannot connect to the Docker daemon.
Почему так: Докер внутри контейнера (DinD) требует особых прав и переменных окружения.

💡Как решить:


services:
- name: docker:dind
alias: docker
command: ["--tls=false"]
variables:
DOCKER_HOST: tcp://docker:2375
DOCKER_TLS_CERTDIR: ""


Плюс не забудь добавить privileged: true в конфиг раннера при регистрации.
🧠 Системный подход: Пойми разницу между изолированными окружениями и научишься выбирать подход (DinD, Kaniko, Socket) под задачу.

3️⃣«Кеш не работает, зависимости качаются каждый раз»
Что происходит: Вроде настроил кеширование, но npm install или go mod download выполняются каждый раз с нуля.
Почему так: Ключ кеша меняется при каждом коммите (например, $CI_COMMIT_SHA), поэтому GitLab не находит старый кеш.

💡 Как решить:


cache:
key: $CI_COMMIT_REF_SLUG
paths:
- node_modules/


Для кеширования зависимостей лучше использовать хэш lock-файла:


cache:
key: $CI_COMMIT_REF_SLUG-$CI_PROJECT_DIR/package-lock.json


🧠 Системный подход: Научись проектировать стратегии кеширования, понимать lifecycle кеша и экономить часы времени сборок.

4️⃣ Секрет случайно попал в логи
Что происходит: В логах пайплайна видишь свой $DEPLOY_TOKEN или другой секрет.
Почему так: GitLab не может автоматически маскировать секреты, если они попадают в stdout.

💡 Как решить:
Создай переменную в Settings → CI/CD → Variables с флагами Masked и Protected
Никогда не делай echo $TOKEN — вместо этого проверяй наличие: if [ -n "$TOKEN" ]; then echo "Token is set"; fi
Используй set -euo pipefail для отладки, но затем убирай

🧠 Системный подход: Разберись с практиками безопасной работы с секретами, поймешь, как GitLab обрабатывает переменные под капотом.

5️⃣ «У меня локально работает, а в CI падает»
Что происходит: Тесты проходят на локальной машине, но в пайплайне валятся с ошибками подключения.
Почему так: В CI сервисы доступны не по localhost, а по своим сетевым алиасам.

💡 Как решить:


services:
- postgres:14

test:
noscript:
- PGHOST=postgres psql -U postgres -c "SELECT 1" # не localhost!


🧠 Системный подход: Научись проектировать воспроизводимые окружения и поймешь принципы контейнерной сети в CI.

------------------------------
Эти 5 проблем — симптомы. Корень — в непонимании как GitLab CI работает изнутри.

На курсе GitLab CI мы учим не просто «как исправить», а:
🔹 Предсказывать проблемы до их появления
🔹 Строить ментальную модель работы пайплайнов
🔹 Принимать инженерные решения — какой подход выбрать под задачу
🔹 Отлаживать системно — от чтения логов до анализа архитектуры

Стартуем 22 декабря. Подойдет, если уже работаешь с веб-проектами и хочешь прокачать автоматизацию.
До 10 декабря включительно цена 22 000 рублей потом 25 000.

По ссылке можешь купить программу.
Please open Telegram to view this post
VIEW IN TELEGRAM
20🔥10😁5👍1💯1
🏁 ДЕНЬ СТАРТА: ПОГНАЛИ РЕШАТЬ! БЕСПЛАТНО!

Сегодня 10 декабря! Пора закатать рукава и погрузиться в детали сломанного Systemd.

Переходите на страницу траблшутинга → регистрируйтесь, если не успели → и начинайте решать!

Ваша задача уже ждёт:
1. Нужно разобраться, почему Go-приложение отказывается работать как служба, хотя вручную — всё запускается.
2. Где та самая коварная строчка в конфиге? Где прячется проблема с правами или изоляцией?

❗️❗️❗️ Что делать прямо сейчас: ❗️❗️❗️
Внимательно изучите условие задачи - вот прямая ссылка на задачу, если уже зарегистрировались. Все детали и подсказки уже там.
Приступайте к диагностике. Проверяйте логи, анализируйте юнит, тестируйте гипотезы.
У вас есть 5 дней — до 15 декабря включительно — чтобы найти решение и отправить его.

🔥 А 15 декабря Василий Озеров проведёт подробный разбор задачи:
Покажем правильное решение и все шаги диагностики.
Объясним ключевые ошибки и как их избежать.
Ответим на ваши вопросы по решению.

Не откладывайте! Самые интересные инсайты часто приходят в процессе глубокого копания.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥9👏1😁1
🟡 Анонс открытых практикумов на следующую неделю

1️⃣ Networks: Использование протокола RADIUS для аутентификации пользователей на сетевых устройствах
Регистрация

Время проведения:
16 декабря, вторник, 19:00 по МСК

Программа практикума:
🟢Radius: основные теоретические сведения
🟢Установка и базовая конфигурация freeradius
🟢Настройка централизованной аутентификации

Кто ведёт?
Андрей Шабалин — тренер Cisco/Huawei, кандидат наук, преподаватель сетевых технологий на онлайн-платформах, инструктор академии Eltex и Астра-Университета. Автор сообщества «Компьютерные сети и сетевая безопасность»
---------------------------------------------------------------------------------------

2️⃣ Linux: GlusterFS: распределенная файловая система
Регистрация

Время проведения:
17 декабря 2025, среда, 20:00 по МСК

Программа практикума:
🟢Чем был плох DRBD?
🟢Типы томов GlusterFS
🟢Настраиваем GlusterFS
🟢Добавляем ноду в кластер

Кто ведёт?

Андрей Буранов — системный администратор в департаменте VK Play. 13+ лет опыта работы с ОС Linux. 11+ лет опыта преподавания. Входит в топ-3 лучших преподавателей образовательных порталов.
---------------------------------------------------------------------------------------

3️⃣ DevOps: Kubernetes: The Hard Way
Регистрация

Время проведения:
18 декабря 2025, четверг, 19:00 по МСК

Программа практикума:
🟢Разбираемся с архитектурой Kubernetes
🟢Разворачиваем собственный кластер без автоматизации
🟢Добавляем узлы и запускаем полезную нагрузку

Кто ведёт?
Василий Озеров — co-Founder REBRAIN, IT-инженер с 2012 года, провёл 100+ вебинаров по DevOps и инфраструктуре.
---------------------------------------------------------------------------------------

Также у нас есть открытое комьюнити, где мы собрали много специалистов по инфраструктуре, готовых помочь и поделиться опытом. Задать вопрос коллегам и разобраться в сложных задачах можно по ссылке!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥21👏1
Мы взяли 5 самых частых болей и показали, каких лечим на курсе "Postfix".

1️⃣ Проблема: Письма уходят, но не доходят или летят в спам. Ты слышал про SPF/DKIM, но настраивать их страшно — можно сломать всю рассылку.
💡 Решение: Внедришь SPF, DKIM и DMARC с нуля. Научишься генерировать ключи, править конфиги Postfix и публиковать DNS-записи так, чтобы почта гарантированно доходила до inbox.

2️⃣ Проблема: Алерты от мониторинга (Zabbix, Grafana) или уведомления от GitLab внезапно перестали приходить. Где искать проблему — в приложении, сети или почтовом сервере?
💡 Решение: Освоишь диагностику очередей Postfix. Научишься командой mailq находить «застрявшие» письма и за 5 минут определять причину сбоя.

3️⃣ Проблема: Нужно поднять почтовый сервер для тестов, нотификаций или обработки заявок с сайта. Гайды из интернета противоречивы, а в main.cf страшно что-то менять.
💡 Решение: Настроишь Postfix с нуля для локальной работы и отправки писем. Поймёшь ключевые параметры и научишься проверять работу через telnet, чтобы не гадать.

4️⃣ Проблема: Сервер нечаянно стал открытым релеем, его IP попал в чёрные списки (RBL), и теперь вся почта блокируется. Как это предотвратить?
💡 Решение: Настроишь жёсткие политики доступа. Поймёшь, как работают mynetworks и relay_domains, и подключишь RBL-фильтрацию, чтобы спамеры обходили твой сервер стороной.

5️⃣ Проблема: Нужно принимать почту для нескольких доменов или сделать переадресацию с info@ на команду. Приходится городить костыли или просить «того, кто умеет».
💡 Решение: Настроишь виртуальные домены и алиасы. Сможешь создавать групповые рассылки и перенаправлять почту на скрипты — без магии и лишних движений.

👀 И это не всё. На курсе разберём и другие задачи:
• Настройку шифрования (TLS) и интеграцию с Dovecot
• Диагностику проблем с DNS (MX, PTR записи)
• Режимы Smarthost и Null Client для отправки через внешние сервисы
• И многое другое — полная программа по ссылке.

Старт курса — 22 декабря.

Стоимость: 22 000 25000 до 20 декабря.

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

💰 Для тех, кто хочет сразу купить, оставляем ссылочку.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍4👏3😁31
Для вас мелочь, а нашей команде очень приятно получать положительный фидбек от вас💓

Переходите на страницу траблшутинга → регистрируйтесь, если не успели → и начинайте решать!

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

Делитесь фидбеком в закрытом чате траблштинга в ТГ:
- негативный учтем в следующим задачах 🤓
- а позитивный даст нам мотивации, создавать такие задачи вновь🤩
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥2👎1
Forwarded from Alexei Poddubnyi
Подача теории, наилучшая. Не жалко было такой наработкой делиться? Явно хорошо проработанная тема автора. К сожалению практика так и не поддалась мне, но наигрался с сервисом в вдоволь. Жду решения задачи, уже от Василия!👍😁😂
👍74👏2💯2👎1
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥144👏3💯2👎1
Ссылочка на траблшутинг: https://my.rebrainme.com/course/troubleshooting-linux-systemd

Обсуждение траблшутинга в отдельном чатике: https://news.1rj.ru/str/+29aF4zR5z6w1MGVi
6🔥4👎1