Знакомо: создали пул в Ceph, потратили час на расчет pg_num, потом кластер вырос — и снова мучитесь с пересчетом и ребалансировкой.
👀 А что если Ceph мог бы сам подбирать оптимальное количество Placement Groups?
💡 Он так и делает. Функция называется PG Autoscaler. Включили её — и забыли про ручные расчеты, оверпровижининг и недогрузку пулов. Ceph сам анализирует нагрузку и масштабирует PG по мере роста данных.
📊 Что это дает:
🔹 Автоматическую оптимизацию при добавлении/удалении OSD
🔹 Равномерное распределение данных
🔹 Устранение "узких мест" производительности
⚙️ Как включить за 30 секунд (глобально для кластера):
🔍 Проверить статус:
Увидите рекомендации системы по каждому пулу.
🎯 Три режима работы:
• on — Ceph сам решает (рекомендуем для большинства случаев)
• warn — только рекомендации без автоматики
• off — ручное управление (для экспертов)
⚠️ Важный нюанс: Автоскейлинг не панацея. Нужно понимать, как он работает, какие метрики анализирует и когда его лучше отключить (например, для пулов с предсказуемой стабильной нагрузкой).
👉 На модуле по Ceph мы не просто показываем команды, а учим принимать архитектурные решения:
1️⃣Когда и какой режим autoscaler выбрать
2️⃣Как анализировать рекомендации системы
3️⃣Что делать с legacy-пулами, созданными без автоскейлинга
4️⃣Как сочетать с Erasure Coding и репликацией
И это лишь одна из десятков тем в модуле по эксплуатации, где разбираем то, что действительно нужно в работе: от замены дисков до настройки мультисайтовой репликации.
Хватит считать PG вручную — приходите систематизировать знания
Модуль обновим 22 декабря и до 22 декабря включительно стоимость практикума 25 00030000 рублей.
Купить можно по ссылке.
P.S. А вы используете PG Autoscaler? Или до сих пор считаете pg_num калькулятором?
📊 Что это дает:
🔹 Автоматическую оптимизацию при добавлении/удалении OSD
🔹 Равномерное распределение данных
🔹 Устранение "узких мест" производительности
⚙️ Как включить за 30 секунд (глобально для кластера):
# Включаем autoscaler
ceph mgr module enable pg_autoscaler
# Ставим режим "on" для всех пулов по умолчанию
ceph config set global osd_pool_default_pg_autoscale_mode on
ceph osd pool autoscale-status
Увидите рекомендации системы по каждому пулу.
🎯 Три режима работы:
• on — Ceph сам решает (рекомендуем для большинства случаев)
• warn — только рекомендации без автоматики
• off — ручное управление (для экспертов)
⚠️ Важный нюанс: Автоскейлинг не панацея. Нужно понимать, как он работает, какие метрики анализирует и когда его лучше отключить (например, для пулов с предсказуемой стабильной нагрузкой).
👉 На модуле по Ceph мы не просто показываем команды, а учим принимать архитектурные решения:
1️⃣Когда и какой режим autoscaler выбрать
2️⃣Как анализировать рекомендации системы
3️⃣Что делать с legacy-пулами, созданными без автоскейлинга
4️⃣Как сочетать с Erasure Coding и репликацией
И это лишь одна из десятков тем в модуле по эксплуатации, где разбираем то, что действительно нужно в работе: от замены дисков до настройки мультисайтовой репликации.
Хватит считать PG вручную — приходите систематизировать знания
Модуль обновим 22 декабря и до 22 декабря включительно стоимость практикума 25 000
Купить можно по ссылке.
P.S. А вы используете PG Autoscaler? Или до сих пор считаете pg_num калькулятором?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍3❤2👎1
Привет! 👋
Мы всегда прислушиваемся к вашим отзывам — именно они помогают нам делать курсы лучше.
❤️ Спасибо всем, кто прошёл курс по Ansible и оставил детальные, конструктивные комментарии!
Мы провели рефакторинг курса, основываясь на ваших замечаниях.
🔧 Давайте покажем, как изменился курс:
📚 Теория стала глубже и чётче
Мы расширили объяснения там, где их не хватало — особенно в модулях про Jinja2 и Molecule. Теперь сложные темы раскрываются подробнее, с понятными примерами.
🧩 Практика стала логичнее
Задания стали более пошаговыми, а их формулировки — яснее. Убрали лишнюю сложность там, где она мешала, и добавили вариативности там, где это полезно для понимания.
🧪 Исправлены «подводные камни»
Привели в соответствие:
условия заданий и проверок
примеры и реальные сценарии
подсказки для разных операционных систем
🙏 Наше большое спасибо!
Ваши комментарии — это не просто фидбек, а бесценный вклад в развитие нашего общего обучающего пространства.
Благодаря вам курс Ansible стал:
🔹Логичнее: От простого к сложному, без неожиданных скачков.
🔹Четче: Минимум двусмысленностей и опечаток.
🔹Практичнее: Задания теперь лучше отражают реальные рабочие сценарии.
Продолжайте делиться своим мнением — это помогает нам расти вместе с вами.
Все изменения мы вносим в действующую версию курса и она обновится у всех текущих пользователей, а у новых пользователей сразу будет доступна скорректированная версия для прохождения.
Сделали новую версию модуля доступнее/дешевле
Удачи в освоении автоматизации! 💪
Мы всегда прислушиваемся к вашим отзывам — именно они помогают нам делать курсы лучше.
❤️ Спасибо всем, кто прошёл курс по Ansible и оставил детальные, конструктивные комментарии!
Мы провели рефакторинг курса, основываясь на ваших замечаниях.
🔧 Давайте покажем, как изменился курс:
📚 Теория стала глубже и чётче
Мы расширили объяснения там, где их не хватало — особенно в модулях про Jinja2 и Molecule. Теперь сложные темы раскрываются подробнее, с понятными примерами.
🧩 Практика стала логичнее
Задания стали более пошаговыми, а их формулировки — яснее. Убрали лишнюю сложность там, где она мешала, и добавили вариативности там, где это полезно для понимания.
🧪 Исправлены «подводные камни»
Привели в соответствие:
условия заданий и проверок
примеры и реальные сценарии
подсказки для разных операционных систем
🙏 Наше большое спасибо!
Ваши комментарии — это не просто фидбек, а бесценный вклад в развитие нашего общего обучающего пространства.
Благодаря вам курс Ansible стал:
🔹Логичнее: От простого к сложному, без неожиданных скачков.
🔹Четче: Минимум двусмысленностей и опечаток.
🔹Практичнее: Задания теперь лучше отражают реальные рабочие сценарии.
Продолжайте делиться своим мнением — это помогает нам расти вместе с вами.
Все изменения мы вносим в действующую версию курса и она обновится у всех текущих пользователей, а у новых пользователей сразу будет доступна скорректированная версия для прохождения.
Сделали новую версию модуля доступнее/дешевле
Удачи в освоении автоматизации! 💪
👍23🔥5👏3👎1
Знакомо, когда клиенты пишут «не получили счёт» или «письмо было в спаме»? Чаще всего проблема решается не в почтовом ящике, а в настройках DNS вашего домена.
Вот три записи, которые решают 90% проблем с доставляемостью. Проверьте их прямо сейчас:
1️⃣ SPF (Sender Policy Framework)
Что это: Список серверов, которым разрешено отправлять почту от вашего домена.
Как проверить: В терминале выполните:
Что искать: Запись вида v=spf1 include:_spf.google.com ~all (пример для Gmail). Если записи нет или стоит -all вместо ~all — это может быть причиной.
2️⃣ DKIM (DomainKeys Identified Mail)
Что это: Цифровая подпись, которая гарантирует, что письмо не изменяли при доставке.
Как проверить: Ищите запись с селектором (обычно default или `google`):
Что искать: Длинную строку с
3️⃣ DMARC (Domain-based Message Authentication)
Что это: Инструкция для почтовых сервисов, что делать с письмами, не прошедшими проверки.
Как проверить:
Что искать: Запись с политикой p=none (мониторинг) или p=quarantine/p=reject (блокировка). Если записи нет — вы не контролируете, что происходит с письмами от вашего имени.
🧐«Но я проверил — всё есть, а письма всё равно в спаме»
Вот здесь и начинается настоящая инженерия. Потому что:
🔹DKIM-запись в DNS — это только публичный ключ. Нужно ещё настроить Postfix на подпись каждых исходящих писем (урок 8 курса)
🔹DMARC-отчёты нужно уметь читать, чтобы понимать, кто и как подделывает ваш домен (это тоже часть урока 😍
🔹Неправильная настройка SPF ломает доставку от бэкенд-сервисов (мониторинг, CI/CD)
Именно поэтому в нашем курсе по Postfix мы не просто говорим «добавьте три DNS-записи», а разбираем:
🔹Генерацию ключей DKIM и интеграцию с Postfix
🔹Настройку подписи для исходящих писем
🔹Анализ DMARC-отчётов для защиты домена
🔹Сценарии SPF для сложной инфраструктуры (когда почту отправляют несколько сервисов)
Это тот самый уровень понимания, когда вы не просто копируете строки из инструкции, а контролируете доставляемость и защищаете репутацию домена.
❗️22 декабря стартуем))) кто с нами?
Вот три записи, которые решают 90% проблем с доставляемостью. Проверьте их прямо сейчас:
1️⃣ SPF (Sender Policy Framework)
Что это: Список серверов, которым разрешено отправлять почту от вашего домена.
Как проверить: В терминале выполните:
dig TXT ваш-домен.ru
Что искать: Запись вида v=spf1 include:_spf.google.com ~all (пример для Gmail). Если записи нет или стоит -all вместо ~all — это может быть причиной.
2️⃣ DKIM (DomainKeys Identified Mail)
Что это: Цифровая подпись, которая гарантирует, что письмо не изменяли при доставке.
Как проверить: Ищите запись с селектором (обычно default или `google`):
dig TXT default._domainkey.ваш-домен.ru
Что искать: Длинную строку с
v=DKIM1 и p= (публичный ключ). Если записи нет — ваши письма не подписываются.3️⃣ DMARC (Domain-based Message Authentication)
Что это: Инструкция для почтовых сервисов, что делать с письмами, не прошедшими проверки.
Как проверить:
dig TXT _dmarc.ваш-домен.ru
Что искать: Запись с политикой p=none (мониторинг) или p=quarantine/p=reject (блокировка). Если записи нет — вы не контролируете, что происходит с письмами от вашего имени.
🧐«Но я проверил — всё есть, а письма всё равно в спаме»
Вот здесь и начинается настоящая инженерия. Потому что:
🔹DKIM-запись в DNS — это только публичный ключ. Нужно ещё настроить Postfix на подпись каждых исходящих писем (урок 8 курса)
🔹DMARC-отчёты нужно уметь читать, чтобы понимать, кто и как подделывает ваш домен (это тоже часть урока 😍
🔹Неправильная настройка SPF ломает доставку от бэкенд-сервисов (мониторинг, CI/CD)
Именно поэтому в нашем курсе по Postfix мы не просто говорим «добавьте три DNS-записи», а разбираем:
🔹Генерацию ключей DKIM и интеграцию с Postfix
🔹Настройку подписи для исходящих писем
🔹Анализ DMARC-отчётов для защиты домена
🔹Сценарии SPF для сложной инфраструктуры (когда почту отправляют несколько сервисов)
Это тот самый уровень понимания, когда вы не просто копируете строки из инструкции, а контролируете доставляемость и защищаете репутацию домена.
❗️22 декабря стартуем))) кто с нами?
👍18😁2👎1
1️⃣ Битмап-индексы без магии: как битовые структуры, roaring bitmaps и фильтры Блума ускоряют поиск, фильтрацию и аналитику
Время проведения:
23 декабря 2025, вторник, 20:00 по МСК
Программа практикума:
Кто ведёт?
Денис Колпаков — Software Engineer, Qase Core Team, еx. Avito Senior Engineer. Занимается backend разработкой 10 лет.
---------------------------------------------------------------------------------------
2️⃣ 🔥Открытое собеседование в Магнит.Tech🔥
Время проведения:
24 декабря 2025, среда, 19:00 по МСК
Программа практикума:
Кто ведёт?
Владимир Пашковский — 13 лет опыта в DevOps и инженерии инфраструктуры. Руководитель команды DevOps-инженеров в Магнит.Тех. Автор блога о технологиях, работе и карьерном росте @secrets_of_devops
---------------------------------------------------------------------------------------
3️⃣ Мониторинг производительности в Linux
Время проведения:
25 декабря 2025, четверг, 19:00 по МСК
Программа практикума:
Кто ведёт?
Николай Лавлинский — Технический директор в ООО “Метод Лаб”. Веб-разработчик более 15 лет. Спикер конференций HighLoad++, РИТ++
---------------------------------------------------------------------------------------
Please open Telegram to view this post
VIEW IN TELEGRAM
Rebrain
Ошибка 404
DevOps, Kubernetes, Docker, Linux, HighLoad, обучение онлайн, онлайн-практикумы, вебинары, обучение DevOps, обучение Linux, обучение HighLoad, обучение Docker, корпоративное обучение DevOps, обучение Kubernetes, корпоративное обучение Docker, корпоративное…
❤6🔥2👍1👎1👏1
Привет! 👋
На связи Дед Мороз Васяныч! 🎅
Слышал, ты в этом году хорошо поработал и ждёшь подарков под ёлкой? А мы в Департаменте Инфраструктурного Волшебства Rebrain считаем, что
❄️ С 22 декабря мы открываем нашу мастерскую. Каждый день — новый полезный инструмент для прокачки твоих скиллов. Первый уже готов!
🎁 Подарок №1. Подписка на все наши вебинары на 1 месяц за 1 рубль
Вебинары по Devops, Linux, Go, Networks — архив записей у тебя под рукой на целый месяц за 1 рубль. Смотри в любое время, даже под бой курантов.
👉 Что делать, чтобы получить?
1️⃣ Выбирай направление ниже, кликай по ссылке, в нее вшит уже промокод. Промокод действует до 31 декабря 23:59
🔹 Devops
🔹 Linux
🔹 Go
🔹 Networks
🔹 Вебинары по всем направлениям
2. Активируй подписку за 1 рубль
3. Смотри вебы на новогодних каникулах.
💡 Зачем это надо?
Чтобы ты мог провести каникулы не только с оливье, но и с пользой — разбирать сложные кейсы, изучать новые инструменты и готовиться к рывку в 2026-м.
📌 Что будет дальше?
Впереди ещё много подарков: траблшутинги, доступы к тренажёрам, партнёрские промокоды. Завтра откроем второе окошко нашего новогоднего адвент календаря.
🤝Если у тебя есть коллеги и друзья, кому будет полезна наша подписка на вебинары - делись с ним постом, пусть тоже проведут время с пользой
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥45👍6💯5❤3👎3👏1
🎁 Подарок №2: промокод на 26 000 рублей от VK Cloud и 20% скидка от Rebrain
Друзья! Дед Мороз Васяныч снова с вами.
Вчера мы открыли доступ к знаниям — и я видел, как многие из вас забрали подписку на вебинары за рубль. Отлично! Значит, наш первый инструмент для рывка в 2026 год уже у вас в руках.
Какой серьёзный инженерный рост обходится без реальной облачной практики?
В этом году стартовало наше партнёрство с VK Cloud. И сейчас у нас есть сразу два специальных новогодних подарка для нашего сообщества.
🎁 СПАСИБО! Подарок для наших пользователей, кто выбрал REBRAIN для обучения в 2025 году.
Если вы приобретали любой курс в Rebrain в 2025 году, для вас уже подготовлен персональный промокод на 26 000 рублей на услуги VK Cloud.
Что делать: Просто проверьте свою почту, на которую зарегистрирован аккаунт у нас. Письмо с промокодом и инструкцией придет в течение суток до 24 декабря включительно.
❓ Зачем: Чтобы вы могли бесплатно протестировать в продакшн-среде навыки, полученные на наших курсах. Это наш способ сказать «спасибо» за ваше доверие.
🎁 ВПЕРЁД! Подарок для тех, кто сейчас на старте
А если вы только думаете о покупке курса на нашей платформе — у нас для вас двойное предложение:
❗️Скидка 20% через промокод 💚H395A8Y7FS💚 на любую программу при оплате до 31 декабря.
❗️Точно такой же промокод на 26 000 ₽ на VK Cloud после покупки ваш персональный менеджер из отдела продаж подарит вам.
❤️🔥Двойная выгода скидка 20%❤️🔥 и ❤️🔥промокод на 26 000 рублей на VK Cloud!❤️🔥
👀 Как это работает?
1️⃣ Выберите курс, который станет вашим фундаментом на 2026 год: Смотреть все программы, если не нашли программу, то смело спрашивайте про нее у менеджера.
2️⃣ Напишите нашему менеджеру в Telegram @Rebrain_manager и скажите: «Хочу новогоднее предложение со скидкой 20% и промокодом на VK Cloud».
Оплатите курс до 31 декабря — и сразу получите промокод на облако от менеджера.
Зачем всё это надо?
💚 Вам: Чтобы получить не просто теорию, а полигон для практики. 26 000 ₽ — это серьезная сумма, которой хватит на несколько месяцев тестирования своих проектов, развертывания стендов или отработки сценариев из курса.
💚 Вам: Чтобы сэкономить и на обучении (скидка 20%), и на инфраструктуре (26 000 ₽).
🫰Нам: Поблагодарить наших текущих студентов и дать мощный стимул тем, кто ещё сомневается.
Мы верим, что 🎯лучшая инвестиция — в свои навыки🎯, и готовы поддержать её облачным ресурсом.
С уважением к вашему времени и выбору,
Дед Мороз Васяныч и команда Rebrain.
Друзья! Дед Мороз Васяныч снова с вами.
Вчера мы открыли доступ к знаниям — и я видел, как многие из вас забрали подписку на вебинары за рубль. Отлично! Значит, наш первый инструмент для рывка в 2026 год уже у вас в руках.
Какой серьёзный инженерный рост обходится без реальной облачной практики?
В этом году стартовало наше партнёрство с VK Cloud. И сейчас у нас есть сразу два специальных новогодних подарка для нашего сообщества.
🎁 СПАСИБО! Подарок для наших пользователей, кто выбрал REBRAIN для обучения в 2025 году.
Если вы приобретали любой курс в Rebrain в 2025 году, для вас уже подготовлен персональный промокод на 26 000 рублей на услуги VK Cloud.
Что делать: Просто проверьте свою почту, на которую зарегистрирован аккаунт у нас. Письмо с промокодом и инструкцией придет в течение суток до 24 декабря включительно.
🎁 ВПЕРЁД! Подарок для тех, кто сейчас на старте
А если вы только думаете о покупке курса на нашей платформе — у нас для вас двойное предложение:
❗️Скидка 20% через промокод 💚H395A8Y7FS💚 на любую программу при оплате до 31 декабря.
❗️Точно такой же промокод на 26 000 ₽ на VK Cloud после покупки ваш персональный менеджер из отдела продаж подарит вам.
❤️🔥Двойная выгода скидка 20%❤️🔥 и ❤️🔥промокод на 26 000 рублей на VK Cloud!❤️🔥
👀 Как это работает?
1️⃣ Выберите курс, который станет вашим фундаментом на 2026 год: Смотреть все программы, если не нашли программу, то смело спрашивайте про нее у менеджера.
2️⃣ Напишите нашему менеджеру в Telegram @Rebrain_manager и скажите: «Хочу новогоднее предложение со скидкой 20% и промокодом на VK Cloud».
Оплатите курс до 31 декабря — и сразу получите промокод на облако от менеджера.
Зачем всё это надо?
💚 Вам: Чтобы получить не просто теорию, а полигон для практики. 26 000 ₽ — это серьезная сумма, которой хватит на несколько месяцев тестирования своих проектов, развертывания стендов или отработки сценариев из курса.
💚 Вам: Чтобы сэкономить и на обучении (скидка 20%), и на инфраструктуре (26 000 ₽).
🫰Нам: Поблагодарить наших текущих студентов и дать мощный стимул тем, кто ещё сомневается.
Мы верим, что 🎯лучшая инвестиция — в свои навыки🎯, и готовы поддержать её облачным ресурсом.
С уважением к вашему времени и выбору,
Дед Мороз Васяныч и команда Rebrain.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22👍8❤5👎4💯2👏1
🎁 День Подарки от Yandex Cloud!
Вместе с Yandex Cloud в 2025 году мы делали курсы и траблшутинги, а планов на 2026 — ещё больше!
Команда Yandex Cloud приготовила два шикарных подарка для наших пользователей.
🎁 15 грантов к программам
Разыграем доступы к программам:
🔹 ClickHouse — для молниеносной аналитики.
🔹 Greenplum — для больших данных.
🔹 DataLens Enterprise — для бизнес-аналитики.
🎁 50 промокодов по 5 000 ₽ на тестирование облака
Как получить подарки?
Зарегистрировать на новогодний вебинар, который пройдет 27 декабря, на нем мы разыграем:
1️⃣ 15 доступ к курсам. Хотите курс? Пишите отзыв о Rebrain на любой публичной площадке и заполняйте форму. Розыграем доступ к курсу среди тех, кто оставит отзыв и заполнит форму.
2️⃣ 50 промокодов. Регистрируйтесь на вебинар, розыграем среди всех зарегистрировавшихся - промиков много, шансы получить велики.
Зачем это надо? Чтобы вы получили востребованную экспертизу или бюджет на облачные эксперименты - 5 000 ₽ хватит на тестовый кластер или Managed Kubernetes.
📌 Завтра: Возвращаемся к инженерному хардкору. Оставайтесь на связи!
Вместе с Яндекс Облаком готовим вам технологичный 2026 год!
Ваш Дед Мороз Васяныч и команда Rebrain
Вместе с Yandex Cloud в 2025 году мы делали курсы и траблшутинги, а планов на 2026 — ещё больше!
Команда Yandex Cloud приготовила два шикарных подарка для наших пользователей.
🎁 15 грантов к программам
Разыграем доступы к программам:
🔹 ClickHouse — для молниеносной аналитики.
🔹 Greenplum — для больших данных.
🔹 DataLens Enterprise — для бизнес-аналитики.
🎁 50 промокодов по 5 000 ₽ на тестирование облака
Как получить подарки?
Зарегистрировать на новогодний вебинар, который пройдет 27 декабря, на нем мы разыграем:
1️⃣ 15 доступ к курсам. Хотите курс? Пишите отзыв о Rebrain на любой публичной площадке и заполняйте форму. Розыграем доступ к курсу среди тех, кто оставит отзыв и заполнит форму.
2️⃣ 50 промокодов. Регистрируйтесь на вебинар, розыграем среди всех зарегистрировавшихся - промиков много, шансы получить велики.
Зачем это надо? Чтобы вы получили востребованную экспертизу или бюджет на облачные эксперименты - 5 000 ₽ хватит на тестовый кластер или Managed Kubernetes.
📌 Завтра: Возвращаемся к инженерному хардкору. Оставайтесь на связи!
Вместе с Яндекс Облаком готовим вам технологичный 2026 год!
Ваш Дед Мороз Васяныч и команда Rebrain
🔥12👎5👍3
Я, Дед Мороз Васяныч 🎅 , рад, что вы забираете наши подарки и делитесь ими со своими друзьями. Чем нас больше, тем веселее 🎄
Но после теории и инфраструктуры наступает время самого ценного навыка — умения тушить пожары в проде.
Вы просили — мы сделали🎁 🎄 🎁 Какой праздник без интересных головоломок?
🎁3️⃣ задачи по траблшутингу по самым востребованным направлениям:
1️⃣ Linux🐧 . Странный Лог 🫤 . Критически важный сервис перестал писать логи и упал с ошибкой. Ваша задача - найти и устранить причину, почему этот сервис не может никак писать в лог файл.
2️⃣ Ansible. Слепой Сервис👀 . Ваша команда написала простенький плейбук для развертывания сервиса. Но после его запуска сервис не может стартануть. Ваша задача выяснить причину и исправить исходный плейбук.
3️⃣ Kubernetes. Мертвый Под☠️ . Ваш тестовый кластер с k3s на борту рапортует что все работает. Нода ready, компоненты запущены, API сервер отвечает. Но ни один порт не может стартануть. Вам надо найти причину и устранить ее.
Цена этого курса 10 000 ₽. Но сегодня Дед Мороз Васяныч делает его🔥 БЕСПЛАТНЫМ до 31 декабря 23:59🔥 ! С боем курантов цена вновь станет прежней!
❗Переходи, торопись активировать свой доступ!
Как это работает? Механика простая:
🔹Кликайте по ссылке: ТУТ
🔹Переходите на платформу (если ещё не зарегистрировались — самое время!).
🔹Начинайте решать! Можно взяться за все три задачи, а можно выбрать только ту, что по душе.
⏰ ВАЖНО: Дед Мороз Васяныч не так богат, поэтому курспревратится в тыкву 🎃 закроется 11 января в 23:59.
🫰ДЕЛИТЕСЬ ЭТИМ ПОСТОМ С ДРУЗЬЯМИ И КОЛЛЕГАМИ!
Не жадничайте.
Пусть они тоже присоединятся к челленджу. Обсуждайте, спорьте, находите разные решения — это и есть суть нашего ремесла.
P.S. Кто решит все три задачи до 11 января — тот получит не только знания, но и моё, Деда Мороза Васяныча, искреннее уважение 😉
Но после теории и инфраструктуры наступает время самого ценного навыка — умения тушить пожары в проде.
Вы просили — мы сделали
🎁
1️⃣ Linux
2️⃣ Ansible. Слепой Сервис
3️⃣ Kubernetes. Мертвый Под
Цена этого курса 10 000 ₽. Но сегодня Дед Мороз Васяныч делает его
❗Переходи, торопись активировать свой доступ!
Как это работает? Механика простая:
🔹Кликайте по ссылке: ТУТ
🔹Переходите на платформу (если ещё не зарегистрировались — самое время!).
🔹Начинайте решать! Можно взяться за все три задачи, а можно выбрать только ту, что по душе.
⏰ ВАЖНО: Дед Мороз Васяныч не так богат, поэтому курс
🫰ДЕЛИТЕСЬ ЭТИМ ПОСТОМ С ДРУЗЬЯМИ И КОЛЛЕГАМИ!
Не жадничайте.
Пусть они тоже присоединятся к челленджу. Обсуждайте, спорьте, находите разные решения — это и есть суть нашего ремесла.
P.S. Кто решит все три задачи до 11 января — тот получит не только знания, но и моё, Деда Мороза Васяныча, искреннее уважение 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥26👍12💯9❤6👎2
🎄 Ваш новогодний мешок подарков от Rebrain!
Это я, Дед Мороз Васяныч🎅 , со своим последним, самым главным поздравлением!
🎁 Единый новогодний мешок с подарками 2026
Каждый из них — это кирпичик в фундаменте вашего успешного года.
🔧 №1: Подписка на вебинары за 1 рубль - активируйте, кликнув по ссылке до 31 декабря 23:59
🔹 Devops
🔹 Linux
🔹 Go
🔹 Networks
🔹 Вебинары по всем направлениям
☁️ №2: Промокод на 26 000 ₽ от VK Cloud. Все кто покупал курсы - промокод ждет на почте. Все кто купит курс со скидкой 20% до 31 декабря включительно, менеджер подарит вам ваш промокод.
💥 №3: Гранты и промокоды от Яндекс Облака подарили вчера на вебинаре. Наша поддержка отправит промокод победителям розыгрыша.
🕵️ №4: Новогодний траблшутинг по DevOps, Linux и K8s. Активируйте курс до 31 декабря БЕСПЛАТНО! чтобы на новогодних праздниках с пользой провести время! Уже первые 100 пользователей прошли задачки!
🚀 №5: Демодоступ к любому курсу на 3 дня + промокод 5000 ₽ в январе, всем кто пройдет демодоступ на новогодних праздниках. В новый год будет время, а желание попробовать у наших пользователей точно есть. Если хотите попробовать любой из наших курсов - напишите менеджерам в ТГ @Rebrain_manager и они откроют вам демодоступ на любую из программ на 3 дня.
Это я, Дед Мороз Васяныч
🎁 Единый новогодний мешок с подарками 2026
Каждый из них — это кирпичик в фундаменте вашего успешного года.
🔧 №1: Подписка на вебинары за 1 рубль - активируйте, кликнув по ссылке до 31 декабря 23:59
🔹 Devops
🔹 Linux
🔹 Go
🔹 Networks
🔹 Вебинары по всем направлениям
☁️ №2: Промокод на 26 000 ₽ от VK Cloud. Все кто покупал курсы - промокод ждет на почте. Все кто купит курс со скидкой 20% до 31 декабря включительно, менеджер подарит вам ваш промокод.
💥 №3: Гранты и промокоды от Яндекс Облака подарили вчера на вебинаре. Наша поддержка отправит промокод победителям розыгрыша.
🕵️ №4: Новогодний траблшутинг по DevOps, Linux и K8s. Активируйте курс до 31 декабря БЕСПЛАТНО! чтобы на новогодних праздниках с пользой провести время! Уже первые 100 пользователей прошли задачки!
🚀 №5: Демодоступ к любому курсу на 3 дня + промокод 5000 ₽ в январе, всем кто пройдет демодоступ на новогодних праздниках. В новый год будет время, а желание попробовать у наших пользователей точно есть. Если хотите попробовать любой из наших курсов - напишите менеджерам в ТГ @Rebrain_manager и они откроют вам демодоступ на любую из программ на 3 дня.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12🔥3👍1
🎄 Наше новогоднее напутствие
2025 год был непростым, технологичным, быстрым. Вы справились😉
2026 год будет годом вашего рывка🚀 , если вы сделаете эти три вещи:
1️⃣ Не останавливайтесь. Используйте каникулы не только для отдыха, но и для тест-драйва знаний (траблшутинг, демодоступ).
2️⃣ Фокусируйтесь. Выберите одну главную цель на первый квартал и идите к ней, используя наши инструменты.
3️⃣ Делитесь. Самый мощный способ учиться — учить других. Обсуждайте задачи, спорьте, находите решения вместе.
Rebrain будет с вами на каждом шагу. В январе мы запускаем новые потоки, готовим экспертные материалы и, как всегда, будем рады видеть вас на нашей платформе.
От всей нашей команды — с наступающим Новым 2026 годом!🎉
Пусть он будет стабильным, как отказоустойчивый кластер, предсказуемым, как успешный пайплайн, и полным новых профессиональных вершин! 🥂
С любовью к автоматизации и вам,
Ваш Дед Мороз Васяныч и команда Rebrain. ❤️
2025 год был непростым, технологичным, быстрым. Вы справились😉
2026 год будет годом вашего рывка
1️⃣ Не останавливайтесь. Используйте каникулы не только для отдыха, но и для тест-драйва знаний (траблшутинг, демодоступ).
2️⃣ Фокусируйтесь. Выберите одну главную цель на первый квартал и идите к ней, используя наши инструменты.
3️⃣ Делитесь. Самый мощный способ учиться — учить других. Обсуждайте задачи, спорьте, находите решения вместе.
Rebrain будет с вами на каждом шагу. В январе мы запускаем новые потоки, готовим экспертные материалы и, как всегда, будем рады видеть вас на нашей платформе.
От всей нашей команды — с наступающим Новым 2026 годом!
Пусть он будет стабильным, как отказоустойчивый кластер, предсказуемым, как успешный пайплайн, и полным новых профессиональных вершин! 🥂
С любовью к автоматизации и вам,
Ваш Дед Мороз Васяныч и команда Rebrain. ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥29❤18👏6👍4
1️⃣ Настройка стека ELK для сбора Syslog-событий с сетевых устройств
Время проведения:
13 января 2026, вторник, 19:00 по МСК
Программа практикума:
Кто ведёт?
Андрей Шабалин — Тренер Cisco / Huawei, инструктор академии Eltex и Астра-Университета
---------------------------------------------------------------------------------------
2️⃣ Linux From Scratch: 00
Время проведения:
14 января 2026, среда, 20:00 по МСК
Программа практикума:
Кто ведёт?
Андрей Буранов — системный администратор в департаменте VK Play, 10+ лет опыта работы с ОС Linux, 8+ лет опыта преподавания. Входит в топ 3 лучших преподавателей образовательных порталов"
---------------------------------------------------------------------------------------
3️⃣ Legacy в 2025 году. Как жить, мигрировать и не сойти с ума
Время проведения:
15 января 2026, четверг, 19:00 по МСК
Программа практикума:
Кто ведёт?
Владимир Толстихин — СЕО MiOps, опыт в DevOps с до-«DevOps» эпохи и глубокая практика Kubernetes с его первых версий. Имеет опыт построения отказоустойчивых решений и архитектур на базе k8s.
Please open Telegram to view this post
VIEW IN TELEGRAM
Настройка стека ELK для сбора Syslog-событий с сетевых устройств
Вебинары by REBRAIN
👍7🔥5❤3
Привет! 👋
Сегодня поговорим про классику жанра, на которой обжигаются даже опытные админы. Тема — безопасность в Linux, а точнее — Sudo Rights Abuse.
Мы часто привыкли думать, что sudo — это волшебная палочка, которая просто дает права. Ну, прописал джуну в /etc/sudoers доступ к одной команде, чтобы он мог логи почитать или конфиг поправить, и спишь спокойно. Пароль от рута же не дал, верно?
А вот и нет. 🙅♂️ Чаще всего это равносильно тому, что ты просто отдал ключи от квартиры, где деньги лежат.
💡 В чем соль?
Существует огромный класс бинарников, которые ведут себя вполне легитимно, но если запустить их через sudo, они позволяют «сбежать» из своего контекста и запустить системную оболочку (/bin/sh или /bin/bash). А так как родительский процесс был запущен от рута, то и шелл ты получаешь рутовый.
Эта концепция называется🔥 GTFOBins (Get The F*ck Out Binaries).
Давайте к практике. Сразу предупреждаю: тестируем только на своих виртуалках!
Пример 1️⃣: "Безобидный" Vim
Представь, ты дал разработчику право редактировать конфиг Nginx через sudo vim.
Разработчик заходит на сервер и делает так:
Всё. Он в системе под root.
Почему так работает? Vim умеет выполнять системные команды прямо из редактора. Если Vim запущен от рута, то и команда :!/bin/sh стартует от рута.
Пример 2️⃣: Утилита Find
Казалось бы, find — просто поиск файлов. Часто дают права на sudo find, чтобы искать логи или бэкапы по всей системе.
Смотрим трюк:
Флаг -exec позволяет выполнить любую команду для найденного файла. Мы просто просим выполнить шелл. И снова — привет, root. 👑
Как защититься?
1. Понимать инструмент: Прежде чем давать sudo на бинарник, загляни на [GTFOBins](https://gtfobins.github.io/) и проверь, есть ли он в списке " Shell Escape".
2. Ограничивать аргументы: В sudoers можно прописывать не просто путь к бинарнику, а конкретные аргументы, чтобы нельзя было вписать лишнее.
3. Использовать `NOEXEC`: В новых версиях sudo есть опция noexec, которая мешает запускать дочерние процессы, но она работает не со всеми программами.
---
Это — лишь верхушка айсберга. Повышение привилегий (Privilege Escalation) — это целое искусство. Нужно не просто знать трюки, а понимать, как ядро работает с памятью, как устроены права доступа, SUID биты, Capabilities и как все это можно повернуть в свою пользу (или защитить).
Мы собрали мощный курс "Повышение привилегий в Linux", где разбираем всё: от сбора информации и эксплойтов ядра до закрепления в системе. Без воды, только хардкор и практика.
Программу курса можно посмотреть тут👈
Если хочешь перестать бояться терминала и начать понимать Linux на уровне бога — тебе сюда 🤑купить курс 🤑 до 25 января самая выгодная цена 22 000 рублей.
Залетай, будем делать из тебя инженера! 🚀
Сегодня поговорим про классику жанра, на которой обжигаются даже опытные админы. Тема — безопасность в Linux, а точнее — Sudo Rights Abuse.
Мы часто привыкли думать, что sudo — это волшебная палочка, которая просто дает права. Ну, прописал джуну в /etc/sudoers доступ к одной команде, чтобы он мог логи почитать или конфиг поправить, и спишь спокойно. Пароль от рута же не дал, верно?
А вот и нет. 🙅♂️ Чаще всего это равносильно тому, что ты просто отдал ключи от квартиры, где деньги лежат.
Существует огромный класс бинарников, которые ведут себя вполне легитимно, но если запустить их через sudo, они позволяют «сбежать» из своего контекста и запустить системную оболочку (/bin/sh или /bin/bash). А так как родительский процесс был запущен от рута, то и шелл ты получаешь рутовый.
Эта концепция называется
Давайте к практике. Сразу предупреждаю: тестируем только на своих виртуалках!
Пример 1️⃣: "Безобидный" Vim
Представь, ты дал разработчику право редактировать конфиг Nginx через sudo vim.
Разработчик заходит на сервер и делает так:
sudo vim -c ':!/bin/sh'
Всё. Он в системе под root.
Почему так работает? Vim умеет выполнять системные команды прямо из редактора. Если Vim запущен от рута, то и команда :!/bin/sh стартует от рута.
Пример 2️⃣: Утилита Find
Казалось бы, find — просто поиск файлов. Часто дают права на sudo find, чтобы искать логи или бэкапы по всей системе.
Смотрим трюк:
sudo find . -exec /bin/sh \; -quit
Флаг -exec позволяет выполнить любую команду для найденного файла. Мы просто просим выполнить шелл. И снова — привет, root. 👑
Как защититься?
1. Понимать инструмент: Прежде чем давать sudo на бинарник, загляни на [GTFOBins](https://gtfobins.github.io/) и проверь, есть ли он в списке " Shell Escape".
2. Ограничивать аргументы: В sudoers можно прописывать не просто путь к бинарнику, а конкретные аргументы, чтобы нельзя было вписать лишнее.
3. Использовать `NOEXEC`: В новых версиях sudo есть опция noexec, которая мешает запускать дочерние процессы, но она работает не со всеми программами.
---
Это — лишь верхушка айсберга. Повышение привилегий (Privilege Escalation) — это целое искусство. Нужно не просто знать трюки, а понимать, как ядро работает с памятью, как устроены права доступа, SUID биты, Capabilities и как все это можно повернуть в свою пользу (или защитить).
Мы собрали мощный курс "Повышение привилегий в Linux", где разбираем всё: от сбора информации и эксплойтов ядра до закрепления в системе. Без воды, только хардкор и практика.
Программу курса можно посмотреть тут👈
Если хочешь перестать бояться терминала и начать понимать Linux на уровне бога — тебе сюда 🤑купить курс 🤑 до 25 января самая выгодная цена 22 000 рублей.
Залетай, будем делать из тебя инженера! 🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22❤7👍5
This media is not supported in your browser
VIEW IN TELEGRAM
🔥27👍15❤6💯3
Привет! 👋
Продолжаем препарировать почтовые системы. Сегодня поговорим про классическую боль, с которой приходят ребята, когда их проект перерастает стадию «три калеки и админ».
Проблема: «Сервер ложится при рассылках» или High Load на ровном месте.
Сценарий до боли знакомый: у вас связка Postfix + Dovecot. Вроде всё работает, письма ходят. Но стоит прилететь спам-атаке или корпоративной рассылке на 500+ адресов, как Load Average улетает в космос, память заканчивается, а сервер встает колом.
Вы смотрите top и видите сотни процессов dovecot-lda.
В чем ошибка?
Скорее всего, у вас настроена доставка через LDA (Local Delivery Agent) методом pipe в Postfix. Это старый дедовский способ.
Как это выглядит в конфиге Postfix (`/etc/postfix/master.cf`):
Почему это плохо:
На каждое входящее письмо Postfix порождает новый процесс dovecot-lda.
Пришло 10 писем — ок. Пришло 100 писем в секунду — OS форкает 100 процессов, каждый грузит конфиги, открывает соединения к БД/LDAP, пишет на диск и умирает. Это адский оверхед на CPU и I/O.
🔥Решение: Переходим на LMTP (Local Mail Transfer Protocol)
Dovecot (как и Nginx с PHP-FPM) умеет работать как постоянный сервис. Мы поднимаем LMTP-сервер внутри Dovecot. Это демон, он уже запущен, он держит кэши и соединения с базой открытыми. Postfix просто стучится к нему в сокет.
Разница в производительности — колоссальная.
💡 Как переехать за 5 минут
Шаг 1️⃣. Настраиваем Dovecot
Открываем /etc/dovecot/conf.d/10-master.conf. Нам нужно включить сервис lmtp и дать права Postfix писать в его сокет.
Шаг 2️⃣. Настраиваем логику LMTP
В файле /etc/dovecot/conf.d/20-lmtp.conf:
Не забываем systemctl restart dovecot (и проверяем логи, чтобы сервис поднялся!).
Шаг 3️⃣. Учим Postfix ходить в сокет
Идем в /etc/postfix/main.cf и меняем транспорт. Закомментируйте старое и добавьте:
*Важно: путь private/dovecot-lmtp — относительный от queue_directory постфикса (обычно `/var/spool/postfix`).*
Делаем systemctl reload postfix.
Итог:
Вместо запуска тысяч бинарников, Postfix теперь просто "льет" данные в открытый сокет.
1️⃣ Нагрузка на CPU падает в разы.
2️⃣ Пропадают проблемы с правами доступа (permission denied), так как LMTP работает от имени пользователя Dovecot.
3️⃣ Ошибки (например, "ящик переполнен") отдаются Postfix'у прямо во время сессии, и он корректно шлет отлуп отправителю, а не создает bounce-письма, засоряя очередь.
Внедряйте, проверяйте нагрузку) Если нужны системные знания и отработать их на правктике - приходи на наш новый курс "Dovecot", подробная программа тут.
26 января старт курса, до 25 числа включительно самая выгодная цена 22 000 рублей, купить можно по ссылке.
Продолжаем препарировать почтовые системы. Сегодня поговорим про классическую боль, с которой приходят ребята, когда их проект перерастает стадию «три калеки и админ».
Проблема: «Сервер ложится при рассылках» или High Load на ровном месте.
Сценарий до боли знакомый: у вас связка Postfix + Dovecot. Вроде всё работает, письма ходят. Но стоит прилететь спам-атаке или корпоративной рассылке на 500+ адресов, как Load Average улетает в космос, память заканчивается, а сервер встает колом.
Вы смотрите top и видите сотни процессов dovecot-lda.
В чем ошибка?
Скорее всего, у вас настроена доставка через LDA (Local Delivery Agent) методом pipe в Postfix. Это старый дедовский способ.
Как это выглядит в конфиге Postfix (`/etc/postfix/master.cf`):
# ТАК ДЕЛАТЬ НЕ НАДО при нагрузках
dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/dovecot-lda -f ${sender} -d ${recipient}
Почему это плохо:
На каждое входящее письмо Postfix порождает новый процесс dovecot-lda.
Пришло 10 писем — ок. Пришло 100 писем в секунду — OS форкает 100 процессов, каждый грузит конфиги, открывает соединения к БД/LDAP, пишет на диск и умирает. Это адский оверхед на CPU и I/O.
🔥Решение: Переходим на LMTP (Local Mail Transfer Protocol)
Dovecot (как и Nginx с PHP-FPM) умеет работать как постоянный сервис. Мы поднимаем LMTP-сервер внутри Dovecot. Это демон, он уже запущен, он держит кэши и соединения с базой открытыми. Postfix просто стучится к нему в сокет.
Разница в производительности — колоссальная.
Шаг 1️⃣. Настраиваем Dovecot
Открываем /etc/dovecot/conf.d/10-master.conf. Нам нужно включить сервис lmtp и дать права Postfix писать в его сокет.
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
# Важно: сокет должен быть доступен Postfix'у.
# Обычно это user=postfix group=postfix и mode=0600
group = postfix
mode = 0600
user = postfix
}
}
# Не забудьте включить сам протокол в 10-master.conf или dovecot.conf
# protocols = imap pop3 lmtp
Шаг 2️⃣. Настраиваем логику LMTP
В файле /etc/dovecot/conf.d/20-lmtp.conf:
protocol lmtp {
postmaster_address = [email protected]
mail_plugins = $mail_plugins sieve # Если нужны фильтры/автоответы
}
Не забываем systemctl restart dovecot (и проверяем логи, чтобы сервис поднялся!).
Шаг 3️⃣. Учим Postfix ходить в сокет
Идем в /etc/postfix/main.cf и меняем транспорт. Закомментируйте старое и добавьте:
# Было (скорее всего)
# virtual_transport = dovecot
# Стало
virtual_transport = lmtp:unix:private/dovecot-lmtp
*Важно: путь private/dovecot-lmtp — относительный от queue_directory постфикса (обычно `/var/spool/postfix`).*
Делаем systemctl reload postfix.
Итог:
Вместо запуска тысяч бинарников, Postfix теперь просто "льет" данные в открытый сокет.
1️⃣ Нагрузка на CPU падает в разы.
2️⃣ Пропадают проблемы с правами доступа (permission denied), так как LMTP работает от имени пользователя Dovecot.
3️⃣ Ошибки (например, "ящик переполнен") отдаются Postfix'у прямо во время сессии, и он корректно шлет отлуп отправителю, а не создает bounce-письма, засоряя очередь.
Внедряйте, проверяйте нагрузку) Если нужны системные знания и отработать их на правктике - приходи на наш новый курс "Dovecot", подробная программа тут.
26 января старт курса, до 25 числа включительно самая выгодная цена 22 000 рублей, купить можно по ссылке.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍30🔥16❤4
1️⃣ Free Range Routing (FRR): управление статической и динамической маршрутизацией в Linux
Время проведения:
20 января 2026, вторник, 19:00 по МСК
Программа практикума:
Кто ведёт?
Андрей Шабалин — Тренер Cisco / Huawei, инструктор академии Eltex и Астра-Университета
---------------------------------------------------------------------------------------
2️⃣ Обратный прокси на базе Angie/Nginx
Время проведения:
21 января 2026, среда, 20:00 по МСК
Программа практикума:
Кто ведёт?
Николай Лавлинский — Технический директор в ООО “Метод Лаб”. Веб-разработчик более 15 лет. Спикер конференций HighLoad++, РИТ++
---------------------------------------------------------------------------------------
3️⃣ Kubernetes: Ingress vs Gateway API
Время проведения:
22 января 2026, четверг, 19:00 по МСК
Программа практикума:
Кто ведёт?
Василий Озеров — co-Founder REBRAIN, IT-инженер с 2012 года, провёл 100+ вебинаров по DevOps и инфраструктуре.
Please open Telegram to view this post
VIEW IN TELEGRAM
Free Range Routing (FRR): управление статической и динамической маршрутизацией в Linux
Вебинары by REBRAIN
🔥17❤1
📨 Единый вход: как подружить Dovecot и базу данных приложения
Знакомая боль: есть веб-проект (SaaS, админка, корпоративный портал) с базой пользователей в PostgreSQL. Задача — дать им почту.
Плохой путь: Создавать системных юзеров в Linux или писать скрипты, которые по крону синхронизируют табличку пользователей с файлом паролей. Это костыли, рассинхрон и дыры в безопасности.
Правильный путь: Научить Dovecot ходить прямо в базу вашего приложения.
Это дает Single Source of Truth: сменил пароль в вебе — он тут же сменился в почте. Забанили юзера в админке — почта тоже отвалилась.
Ниже — рабочая конфигурация, которую можно адаптировать под любой проект. Погнали настраивать.
1️⃣ Готовим базу данных
Предполагаем, что таблица юзеров app_users уже есть. Добавим поля для почты. В идеале лучше сделать VIEW, чтобы не мусорить в основной таблице, но для примера добавим колонки напрямую:
2️⃣ Создаем системного "почтальона"
Dovecot не должен работать от root. Ему нужен один технический юзер, который будет владеть всеми файлами писем.
3️⃣ Настраиваем Dovecot
Идем в /etc/dovecot/conf.d/.
Файл 10-auth.conf
Отключаем системных юзеров и включаем SQL:
Файл auth-sql.conf.ext
Говорим Dovecot, где искать правила:
Файл dovecot-sql.conf.ext (Самое мясо)
Здесь мы мапим данные из SQL в переменные Dovecot.
В чем подвох?
1. Нагрузка: Каждый логин (даже проверка почты телефоном в фоне) — это запрос в БД. Если у вас 10k юзеров, базе может стать плохо. Решение: кэширование в Dovecot или пулеры соединений.
2. Безопасность: Если вашу базу "уведут", утекут и почтовые креды. Ограничивайте права SQL-юзера Dovecot’а.
---
💡 Это — база. Но почтовый сервер — это не только userdb. Это еще TLS, антиспам, Sieve-фильтры, LMTP-доставка и бэкапы, которые реально восстанавливаются.
Хочешь разобраться, как построить production-grade почтовую систему, а не просто скопипастить конфиг? Залетай.
🔥 Курс «Dovecot: настройка и эксплуатация почтовых систем»
Что внутри:
* Полная архитектура (MTA, MDA, LMTP).
* Интеграция не только с SQL, но и с LDAP/AD.
* Безопасность (SSL/TLS, защита от брутфорса).
* Траблшутинг (doveadm, логи, дебаг).
🗓 Старт: 26 января
💰 Цена: 22 000 руб. (до 25 января), потом — 25 000 руб.
Не копи технический долг, учись строить системы правильно с Rebrain!
👉 Программа
👉Ссылка, если готов сразу купить
Знакомая боль: есть веб-проект (SaaS, админка, корпоративный портал) с базой пользователей в PostgreSQL. Задача — дать им почту.
Плохой путь: Создавать системных юзеров в Linux или писать скрипты, которые по крону синхронизируют табличку пользователей с файлом паролей. Это костыли, рассинхрон и дыры в безопасности.
Правильный путь: Научить Dovecot ходить прямо в базу вашего приложения.
Это дает Single Source of Truth: сменил пароль в вебе — он тут же сменился в почте. Забанили юзера в админке — почта тоже отвалилась.
Ниже — рабочая конфигурация, которую можно адаптировать под любой проект. Погнали настраивать.
1️⃣ Готовим базу данных
Предполагаем, что таблица юзеров app_users уже есть. Добавим поля для почты. В идеале лучше сделать VIEW, чтобы не мусорить в основной таблице, но для примера добавим колонки напрямую:
ALTER TABLE app_users
ADD COLUMN IF NOT EXISTS email_enabled BOOLEAN DEFAULT TRUE,
ADD COLUMN IF NOT EXISTS quota_mb BIGINT DEFAULT 1024; -- Квота 1Гб
-- Важно: Пароль должен лежать не текстом, а хэшем (например, ARGON2ID или SHA512-CRYPT), который понимает Dovecot.
2️⃣ Создаем системного "почтальона"
Dovecot не должен работать от root. Ему нужен один технический юзер, который будет владеть всеми файлами писем.
# Создаем группу и юзера vmail с uid/gid 5000
groupadd -g 5000 vmail
useradd -g vmail -u 5000 -d /var/vmail -m -s /usr/sbin/nologin vmail
3️⃣ Настраиваем Dovecot
Идем в /etc/dovecot/conf.d/.
Файл 10-auth.conf
Отключаем системных юзеров и включаем SQL:
# !include auth-system.conf.ext <-- Комментируем это!
!include auth-sql.conf.ext <-- Раскомментируем это
Файл auth-sql.conf.ext
Говорим Dovecot, где искать правила:
passdb {
driver = sql
args = /etc/dovecot/dovecot-sql.conf.ext
}
userdb {
driver = sql
args = /etc/dovecot/dovecot-sql.conf.ext
}
Файл dovecot-sql.conf.ext (Самое мясо)
Здесь мы мапим данные из SQL в переменные Dovecot.
driver = pgsql
# Создайте отдельного юзера в БД с правами ТОЛЬКО на SELECT!
connect = host=127.0.0.1 dbname=mydb user=dovecot_user password=secure_pass
# Схема паролей по умолчанию
default_pass_scheme = ARGON2ID
# Запрос для проверки пароля (PassDB).
# %u = [email protected]
password_query = \
SELECT username as user, password \
FROM app_users WHERE username = '%u' AND email_enabled = 't'
# Запрос данных пользователя (UserDB).
# Возвращаем UID/GID нашего юзера vmail (5000) и путь к ящику.
# home - где лежат индексы, mail - где лежат письма
user_query = \
SELECT '/var/vmail/%d/%n' as home, \
'maildir:/var/vmail/%d/%n' as mail, \
5000 as uid, 5000 as gid, \
concat('*:storage=', quota_mb, 'M') as quota_rule \
FROM app_users WHERE username = '%u' AND email_enabled = 't'
В чем подвох?
1. Нагрузка: Каждый логин (даже проверка почты телефоном в фоне) — это запрос в БД. Если у вас 10k юзеров, базе может стать плохо. Решение: кэширование в Dovecot или пулеры соединений.
2. Безопасность: Если вашу базу "уведут", утекут и почтовые креды. Ограничивайте права SQL-юзера Dovecot’а.
---
💡 Это — база. Но почтовый сервер — это не только userdb. Это еще TLS, антиспам, Sieve-фильтры, LMTP-доставка и бэкапы, которые реально восстанавливаются.
Хочешь разобраться, как построить production-grade почтовую систему, а не просто скопипастить конфиг? Залетай.
🔥 Курс «Dovecot: настройка и эксплуатация почтовых систем»
Что внутри:
* Полная архитектура (MTA, MDA, LMTP).
* Интеграция не только с SQL, но и с LDAP/AD.
* Безопасность (SSL/TLS, защита от брутфорса).
* Траблшутинг (doveadm, логи, дебаг).
🗓 Старт: 26 января
💰 Цена: 22 000 руб. (до 25 января), потом — 25 000 руб.
Не копи технический долг, учись строить системы правильно с Rebrain!
👉 Программа
👉Ссылка, если готов сразу купить
🔥7❤6
Привет, инженеры! 🤘
Сегодня без долгих предисловий — разберем вечную головную боль. Кто-то что-то настроил в cron или systemd на сервере, а ты теперь думай — не завезли ли нам бэкдор? Руками проверять 100500 серверов — гиблое дело.
Давайте автоматизируем! Сделаем скрипт для аудита, который будет искать за нас дыры в планировщиках. Но не спеши просто копипастить. Сначала разберем, как НЕ надо делать.
Вот пример логики из "быстрого решения", которое можно найти в сети:
🔥 Разбор полетов: почему это не работает?
1. Хрупкий парсинг: awk '{print $6}' сработает только для идеально отформатированного crontab из 6 полей. Забыли переменную? MAILTO=... — и всё, парсер поехал. @reboot? Тоже мимо. Команда из нескольких слов? Возьмется только первое.
2. Неверная проверка прав: if [ -w "$script" ], запущенный от root, всегда скажет true для файлов, принадлежащих root. Скрипт будет кричать об уязвимости почти на каждый системный файл, создавая тонны шума. Проверять нужно права для *других* пользователей (`group` и `other`).
3. Поверхностный поиск: Скрипт не проверяет права на *директорию*, где лежит скрипт (атака Path Hijacking), не ищет уязвимости с wildcard (*) и полностью игнорирует пользовательские кронтабы (`crontab -e`).
Итог: такой аудит бесполезен. Он либо ничего не найдет, либо утопит тебя в ложных срабатываниях.
А теперь, как надо. Собираем более надежный и умный скрипт, который учитывает эти нюансы.
Сегодня без долгих предисловий — разберем вечную головную боль. Кто-то что-то настроил в cron или systemd на сервере, а ты теперь думай — не завезли ли нам бэкдор? Руками проверять 100500 серверов — гиблое дело.
Давайте автоматизируем! Сделаем скрипт для аудита, который будет искать за нас дыры в планировщиках. Но не спеши просто копипастить. Сначала разберем, как НЕ надо делать.
Вот пример логики из "быстрого решения", которое можно найти в сети:
# ⛔️ ПЛОХОЙ ПРИМЕР, НЕ ИСПОЛЬЗОВАТЬ! ⛔️
# Ищем скрипты
cmd_list=$(cat /etc/crontab | awk '{print $6}')
# Проверяем, доступны ли они на запись
for script in $cmd_list; do
if [ -w "$script" ]; then
echo "УЯЗВИМОСТЬ: $script доступен на запись!"
fi
done
🔥 Разбор полетов: почему это не работает?
1. Хрупкий парсинг: awk '{print $6}' сработает только для идеально отформатированного crontab из 6 полей. Забыли переменную? MAILTO=... — и всё, парсер поехал. @reboot? Тоже мимо. Команда из нескольких слов? Возьмется только первое.
2. Неверная проверка прав: if [ -w "$script" ], запущенный от root, всегда скажет true для файлов, принадлежащих root. Скрипт будет кричать об уязвимости почти на каждый системный файл, создавая тонны шума. Проверять нужно права для *других* пользователей (`group` и `other`).
3. Поверхностный поиск: Скрипт не проверяет права на *директорию*, где лежит скрипт (атака Path Hijacking), не ищет уязвимости с wildcard (*) и полностью игнорирует пользовательские кронтабы (`crontab -e`).
Итог: такой аудит бесполезен. Он либо ничего не найдет, либо утопит тебя в ложных срабатываниях.
А теперь, как надо. Собираем более надежный и умный скрипт, который учитывает эти нюансы.
❤14👍5🔥2
✅ Конфигурация: "Автоматический аудит cron и systemd"
#!/bin/bash
# audit_scheduler.sh - Улучшенный скрипт для аудита cron и systemd
REPORT_FILE="/var/log/security_audit_$(hostname)_$(date +%F).log"
# Чистим старый лог или начинаем новый
> "$REPORT_FILE"
log_finding() {
local level="$1"
local message="$2"
echo "[${level}] - $(date +'%Y-%m-%d %T') - ${message}" | tee -a "$REPORT_FILE"
}
log_finding "INFO" "Начало аудита безопасности на хосте $(hostname)"
# --- ПРОВЕРКА CRON ---
log_finding "INFO" "Анализ cron-задач..."
# Объединяем все известные места с cron-задачами в один список для анализа
ALL_CRONS=$(mktemp)
(cat /etc/crontab; find /etc/cron.* -type f -exec cat {} +; for user in $(cut -d: -f1 /etc/passwd); do crontab -u "$user" -l 2>/dev/null; done) | grep -v '^\s*#' | grep -v '^\s*$' > "$ALL_CRONS"
# Проверка 1: Скрипты, доступные на запись ВСЕМ (World-writable)
log_finding "INFO" "Поиск скриптов, доступных на запись для всех (world-writable)..."
# Извлекаем путь к исполняемому файлу (более надежный способ)
cut -d ' ' -f 6- "$ALL_CRONS" | tr ' ' '\n' | grep '^/' | sort -u | while read -r cmd_path; do
[ ! -f "$cmd_path" ] && continue
# Находим файлы, у которых есть право на запись для 'other'
if stat -c "%a" "$cmd_path" | grep -qE '.[0-7][2367]$'; then
log_finding "CRITICAL" "Cron-скрипт '$cmd_path' доступен для записи всем! Права: $(stat -c '%a' "$cmd_path")"
fi
done
# Проверка 2: Директории в $PATH, доступные на запись (Path Hijacking)
log_finding "INFO" "Поиск директорий в $PATH, доступных для записи..."
echo "$PATH" | tr ':' '\n' | while read -r dir; do
[ ! -d "$dir" ] && continue
if stat -c "%a" "$dir" | grep -qE '.[0-7][2367]$'; then
log_finding "HIGH" "Директория '$dir' из \$PATH доступна для записи всем. Возможна атака Path Hijacking."
fi
done
# Проверка 3: Wildcard Injection в популярных командах (tar, rsync, chown)
log_finding "INFO" "Поиск потенциально уязвимых wildcard'ов..."
if grep -E '(tar|rsync|chown).*\s+\*' "$ALL_CRONS"; then
log_finding "WARNING" "Найдено использование wildcard (*) в cron. Проверьте вручную на уязвимость Wildcard Injection:"
grep -nE '(tar|rsync|chown).*\s+\*' "$ALL_CRONS" | sed 's/^/ Line /' | tee -a "$REPORT_FILE"
fi
rm "$ALL_CRONS"
# --- ПРОВЕРКА SYSTEMD ---
log_finding "INFO" "Анализ systemd-юнитов..."
find /etc/systemd/system /usr/lib/systemd/system -name "*.service" -type f | while read -r unit_file; do
# Проверяем, что сам .service файл доступен на запись кому-то кроме root
if [ "$(stat -c '%U' "$unit_file")" != "root" ] || stat -c "%a" "$unit_file" | grep -qE '.[0-7][2367]$'; then
log_finding "CRITICAL" "Systemd unit '$unit_file' имеет слабые права доступа: $(stat -c '%a (%U:%G)' "$unit_file")"
fi
# Ищем путь к исполняемому файлу и проверяем его права
exec_start=$(grep -oP 'ExecStart=\K.*' "$unit_file" | awk '{print $1}')
if [[ -n "$exec_start" && -f "$exec_start" ]]; then
if stat -c "%a" "$exec_start" | grep -qE '.[0-7][2367]$'; then
log_finding "HIGH" "Бинарник '$exec_start' из юнита '$unit_file' доступен на запись всем!"
fi
fi
done
log_finding "INFO" "Аудит завершен. Отчет сохранен в $REPORT_FILE"
echo "---"
echo "Аудит завершен. Найденные проблемы уровня CRITICAL/HIGH:"
grep -E '\[CRITICAL\]|\[HIGH\]' "$REPORT_FILE"
👍20❤15
🧐 Что с этим делать и как использовать?
1. Сохрани скрипт: Назови его audit_scheduler.sh, дай права на выполнение (`chmod +x`).
2. Запускай от `root`: Для полноценного анализа нужны права. Скрипт соберет инфу из системных и пользовательских crontab, а также из systemd.
3. Интегрируй в автоматизацию:
* Ansible/Salt/Chef: Добавь запуск этого скрипта в плейбук регулярного аудита.
* CI/CD: Прогоняй скрипт на "золотых" образах (AMI, Docker-образах), чтобы не допустить дыры в продакшен.
* В самом Cron: Да, можно и так, но с умом. Настрой запуск раз в неделю и отправку отчета в почту или мессенджер.
4. Анализируй отчет: Скрипт не панацея, он ищет потенциальные проблемы. Твоя задача — посмотреть на CRITICAL и HIGH и понять, реальная ли это угроза в твоем контексте.
5. Исправляй:
* chmod 755 /path/to/script.sh и chown root:root /path/to/script.sh.
* Перепиши команды в кроне, чтобы избежать wildcard: tar cf /backup/$(date +%F).tar /data/www вместо tar cf /backup/my.tar *.
* Наведи порядок в правах на systemd юниты.
Хватит работать вслепую. Автоматизируй защиту так же, как и деплой. Это и есть DevOps-подход.
🚀 На нашем курсе "Повышение привилегий в Linux" мы такие вещи разбираем на атомы, учимся не только находить, но и эксплуатировать их, чтобы ты мог мыслить как атакующий и строить непробиваемую защиту. Залетай
1. Сохрани скрипт: Назови его audit_scheduler.sh, дай права на выполнение (`chmod +x`).
2. Запускай от `root`: Для полноценного анализа нужны права. Скрипт соберет инфу из системных и пользовательских crontab, а также из systemd.
3. Интегрируй в автоматизацию:
* Ansible/Salt/Chef: Добавь запуск этого скрипта в плейбук регулярного аудита.
* CI/CD: Прогоняй скрипт на "золотых" образах (AMI, Docker-образах), чтобы не допустить дыры в продакшен.
* В самом Cron: Да, можно и так, но с умом. Настрой запуск раз в неделю и отправку отчета в почту или мессенджер.
4. Анализируй отчет: Скрипт не панацея, он ищет потенциальные проблемы. Твоя задача — посмотреть на CRITICAL и HIGH и понять, реальная ли это угроза в твоем контексте.
5. Исправляй:
* chmod 755 /path/to/script.sh и chown root:root /path/to/script.sh.
* Перепиши команды в кроне, чтобы избежать wildcard: tar cf /backup/$(date +%F).tar /data/www вместо tar cf /backup/my.tar *.
* Наведи порядок в правах на systemd юниты.
Хватит работать вслепую. Автоматизируй защиту так же, как и деплой. Это и есть DevOps-подход.
🚀 На нашем курсе "Повышение привилегий в Linux" мы такие вещи разбираем на атомы, учимся не только находить, но и эксплуатировать их, чтобы ты мог мыслить как атакующий и строить непробиваемую защиту. Залетай
👍39🔥1
Внедряете или администрируете корпоративный DataLens? Команда Yandex Cloud систематизировала свой опыт и создала единственный на рынке курс по промышленному администрированию On-Premises-версии.
Почему это эталонный подход?
1️⃣ В основе курса — реальные инструменты, инфраструктура и методологии Yandex Cloud. Вы не изучаете абстрактные кейсы, а работаете в среде, на которой построен сам сервис. Это гарантирует, что вы учитесь на актуальных и проверенных практиках.
2️⃣ Разберём на примере. Одна из ключевых задач — настройка централизованного сбора логов Usage Tracking во внешний ClickHouse для аудита и анализа поведения пользователей.
Как это решается в инфраструктуре Yandex Cloud (упрощённо):
# Фрагмент values.yaml, основанный на практике YC
usageTracking:
enabled: true
exporter: clickhouse
clickhouse:
hosts:
- rc1a-xxxxxx.mdb.yandexcloud.net:9440
database: datalens_logs
table: usage_events
user: tracker
tls_mode: REQUIRE
Архитектурная схема решения:
DataLens Pods (K8s) → [Secure TLS Channel] → Yandex Managed ClickHouse → Ваши SQL-отчёты
Приглашаем на практический курс «Администрирование DataLens On‑Premises», который полностью разработан и проводится экспертами Yandex Cloud.
Ваши главные преимущества:
🔹Курс от создателей: Программа создана командой Yandex Cloud и отражает внутренние стандарты развёртывания и настройки.
🔹Инструменты от первого лица: Все практические работы вы выполняете в инфраструктуре Yandex Cloud, используя те же сервисы и подходы.
🔹Эксперт-наставник из Яндекс Облака: Онлайн-вебинары ведёт Глеб Белов, Senior Solutions Architect в Yandex Cloud, который непосредственно помогает крупным клиентам внедрять DataLens Enterprise.
Формат: Гибридный. Теорию и задачи в LMS проходите в удобном темпе, а на вебинарах с Глебом разбираете сложные моменты и перенимаете экспертный опыт.
🚀 Специальное предложение до 22 января:
💳 Оплатить со скидкой 30% (38 500 руб. вместо 55 000 руб.)
Научитесь администрировать DataLens у команды, которая его создаёт и развивает.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1