Перейти к содержанию

Посты

Есть ощущение, что иногда мы работаем не инженерами, а просто высокоинтеллектуальным (и т…

15 ноября 2025 г. в 19:46Max Knyazev is typing…Зеркало Telegram
Изображение поста 1
Есть ощущение, что иногда мы работаем не инженерами, а просто высокоинтеллектуальным (и то не всегда) механизмом для набора команд. Подключился, вписал очередную команду, забыл, что уже успел сделать на этом сервере, открыл history, чуть поправил, дальше по списку. И так несколько раз. В день. На разных проектах (лайк, если жиза) 🙌

Думаю так не я один, и потому у моего близкого друга и уже бывшего коллеги (@maxigacy) на Хабре вышла отличная статья про то, как взять вот эту SSH-рутинку и превратить её в три Ansible-плейбука, которые ставят Kaspersky Security Center 15.1 на Debian почти без участия человека. Было 60 минут рукоприкладства (в смысле ручного труда), стало 16 минут автоматизированной установки. Минус 73% времени, минус шанс допустить ошибку в команде, плюс свободные часы на реальные задачи, а не на бесконечное «apt install && dpkg -i»

Сама история очень жизненная. Внутренний трек в компании честно назывался «Долго и дорого». И вместо того, чтобы ныть на тему «почему так», ребята просто взяли один из самых неприятных кейсов: регулярную установку Kaspersky Security Center на Linux. На Windows всё скучно: Next-Next-Finish, там автоматизировать мало смысла. А вот на Debian: куча команд, manual-тюнинг PostgreSQL, параметры, пути, версии, веб-консоль. Это же идеальный кандидат под Ansible (надеюсь, что тут все +- в курсе того, что это за инструмент) 🤩

Архитектурно всё тоже сделано по уму. Не один монструозный плейбук на тысячу строк, а три отдельных:

1️⃣первый готовит PostgreSQL, ставит нужную версию из официального репозитория, аккуратно настраивает конфиг, считает shared_buffers от объёма памяти, трогает max_stack_depth, work_mem и прочее, создаёт отдельную БД и пользователя KSCAdmin с ровно теми правами, что нужны

2️⃣второй разворачивает сам KSC, работает с официальным postinstall.pl и файлом answers.txt, подставляет туда параметры, запускает тихую установку, потом зачищает за собой хвосты

3️⃣третий поднимает веб-консоль, кидает JSON-конфиг с адресом, портом и сертификатом, ставит пакет, создаёт учётку для веб-доступа и перезапускает сервисы


Все чувствительные вещи (пароли, секреты, значения для answers.txt) лежат не в YAML, а в Ansible Vault. Плейбуки достают их только на время исполнения, генерят файлы прямо на целевой машине и сразу удаляют

Эти плейбуки можно перезапускать сколько угодно раз: они не будут бесконечно дописывать одну и ту же строку в конфиг или пытаться заново создать уже существующего пользователя (и-идемпотентность) 😎

Вся вот эта история оказала большой эффект на людей. После того, как KSC научился ставиться за 16 минут без танцев с бубнами, команда внезапно поверила, что автоматизация нужна. Внутренний GitLab заполнился новыми плейбуками под другие средства защиты. И это, по сути, главный результат: не только минус часы, но и плюс новая культура

Я здесь очень вкратце все описал. Рекомендую саму статью почитать (и на GitHub за самими плейбуками). Поверьте, если тема DevOps/DevSecOps вам близка, то зря вы время точно не потратите 🫶

#информационная_безопасность
Открыть исходный пост в Telegram