Встановлення та експлуатація «Rudder»

Встановлення та експлуатація «Rudder»

Передмова

Наша «дружба» розпочалася два роки тому. Я прийшов на нове місце роботи, де попередній адмін невимушено залишив мені у спадок цю софтину. В інтернеті, крім офіційної документації, знайти нічого не виходило. Навіть зараз, якщо загуглити «rudder», то в 99% випадків видаватиме: штурвали кораблів і квадрокоптери. Мені вдалося знайти до нього підхід. Оскільки Ком'юніті цього софту мізерно малий, я вирішив поділитися своїм досвідом і граблями. Думаю, комусь це буде корисно.

Отже, Rudder

Rudder – це утиліта для аудиту та керування конфігурацією з відкритим вихідним кодом, яка допомагає автоматизувати налаштування системи. Працює вона за принципом установки агента кожного кінцевого користувача. Через зручний інтерфейс ми можемо спостерігати, наскільки наша інфраструктура відповідає всім заданим політикам.

Використання

Нижче я перерахую для чого використовую Rudder.

  • Контроль файлів та конфігів: ./ssh/authorized_keys ; /etc/hosts; iptables; (а далі куди фантазія заведе)

  • Контролює встановлені пакети: zabbix.agent або будь-який інший софт

Встановлення сервера

Днями оновився із 5 версії до 6.1, все пройшло успішно. Нижче будуть представлені команди для Deban/Ubuntu, але також є підтримка: RHEL/CentOS и Слес.

Сховаю установку в спойлери, щоб вас не відволікати.

Спойлер

Залежності

Для rudder-server потрібно Java RE мінімум 8 версії, можна встановити зі стандартного репозиторію:

Перевіряємо, чи не встановлена ​​вона

java -version

якщо висновок

-bash: java: command not found

то встановлюємо

apt install default-jre

Сервер

Імпортуємо ключ

wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -

Ось сам відбиток

pub  4096R/474A19E8 2011-12-15 Rudder Project (release key) <[email protected]>
      Key fingerprint = 7C16 9817 7904 212D D58C  B4D1 9322 C330 474A 19E8

Так як у нас немає платної підписки, то додаємо наступний репозиторій

echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list

Оновлюємо список репозиторіїв та встановлюємо сервер

apt update
apt install rudder-server-root

Створюємо користувача admin

rudder server create-user -u admin -p "Ваш Пароль"

Надалі можемо керувати користувачами через конфіг

Все, сервер готовий.

Налаштування сервера

Тепер необхідно додати в агент руддера ip адреси агентів або цілу підмережу, орієнтуємося на політику безпеки.

Settings -> General

Встановлення та експлуатація «Rudder»

У полі "Add a network" Вписуємо адресу та маску у форматі xxxx/xx . Для того щоб дозволити доступ з усіх адрес внутрішньої мережі (Якщо звичайно це тестова мережа і ви знаходитесь за NAT) вписуємо : 0.0.0.0/0

Важливо – після додавання ip address не забути натиснути Save changes, інакше нічого не збережеться.

порти

На сервері відкриваємо наступні порти

  • 443 - tcp

  • 5309 - tcp

  • 514 - udp

З початковим настроюванням сервера розібралися.

Встановлення Агента

Спойлер

Додаємо ключ

wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -

Відбиток ключа

pub  4096R/474A19E8 2011-12-15 Rudder Project (release key) <[email protected]>
      Key fingerprint = 7C16 9817 7904 212D D58C  B4D1 9322 C330 474A 19E8

Додаємо репозиторій

echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list

Встановлюємо агент

apt update
apt install rudder-agent

Налаштування агента

Вкажемо агенту ip address сервера політик

rudder agent policy-server <rudder server ip or hostname> #Без скобок. Можно также использовать доменное имя 

Запустивши наступну команду, ми надішлемо запит про додавання нового агента на сервер, через пару хвилин він з'явиться в списку нових агентів, як додавати поясню в наступному розділі

rudder agent inventory

Також можемо примусово запустити агент і він надіслати запит моментально

rudder agent run

Наш агент налаштований, ідемо далі.

Додавання агентів

Логіном

https://127.0.0.1/rudder/index.html

Встановлення та експлуатація «Rudder»

У розділі «Accept new nodes» з'явиться ваш агент, ставимо галочку та натискаємо Accept

Встановлення та експлуатація «Rudder»

Повинно пройти трохи часу, поки система перевірить сервер на відповідність

Створення груп серверів

Створимо групу (то ще розвага), без поняття чому розробники зробили настільки геморне формування груп, але як я зрозумів, інакше ніяк. Переходимо до розділу Node management -> Groups і натискаємо на Create, вибираємо статичну групу та назву.

Встановлення та експлуатація «Rudder»

Фільтруємо необхідний нам сервер за особливими прикметами, наприклад по ip address, і зберігаємо

Встановлення та експлуатація «Rudder»

Група налаштована.

Налаштування правил

Переходимо в Configuration policy → Rules і створюємо нове правило

Встановлення та експлуатація «Rudder»

Додаємо групу підготовлену раніше групу (це можна зробити і пізніше)

Встановлення та експлуатація «Rudder»

І формуємо нову директиву

Встановлення та експлуатація «Rudder»

Створимо директиву додавання публічних ключів до .ssh/authorized_keys. Я це використовую у випадку виходячи нового співробітника, або для перестрахування, наприклад, якщо хтось випиле випадково мій ключ.

Переходимо в Configuration policy → Directives зліва ми бачимо «Directive library» Знаходимо «Remote access → SSH authorised keys», праворуч натискаємо Create Directive

Вписуємо дані про користувача і додаємо його ключ. Далі вибираємо політику застосування

  • Global — Політика, встановлена ​​за умовчанням

  • Enforce — Виконати на вибраних серверах

  • Audit - Проведе аудит і скаже на яких клієнтах є ключ

Встановлення та експлуатація «Rudder»

Обов'язково вказуємо наше правило

Встановлення та експлуатація «Rudder»

Потім зберігаємо і все готове.

перевіряємо

Встановлення та експлуатація «Rudder»

Ключ успішно доданий

Плюшки

Агент надає повну інформацію про сервер. Списки встановлених пакетів, інтерфейсів, відкритих портів та багато іншого, що саме можете подивитися на скріншоті нижче

Встановлення та експлуатація «Rudder»

Також можна встановлювати та контролювати софт не тільки на linux але й на windows, останнє я не перевіряв, не було потреби.

Від автора

Мабуть, ви запитаєте, навіщо винаходити велосипед, якщо вже давно придумані ansible і puppet?

Відповідаю: У Ансібла є недоліки, наприклад ми не бачимо в якому стані зараз знаходиться даний конфіг, або всім знайома ситуація коли запускаєш role або playbook і полетіли помилки про краше, і починаєш лізти на сервер і дивитися який пакет куди оновився. А з puppet я просто не працював.

Чи є мінуси у Rudder-a? Дуже багато. Починаючи від того, що відвалюються агенти і доводиться їх переінсталювати або використовувати команду rudder reset. (але до речі у версії 6 я такого ще не бачив), закінчуючи вкрай складним настроюванням і не логічним інтерфейсом.

Чи є плюси? І плюсів теж маса: На відміну від усього відомого ansible ми маємо веб-інтерфейс в якому видно застосований нами комплаєнс. Наприклад, чи стирчать порти у світ, у якому стані firewall, чи встановлені агенти безпеки чи інші приблуди.

Цей софт відмінно підійде для відділу інформаційної безпеки, оскільки стан інфраструктури завжди буде перед очима, і якщо якесь із правил засвітиться червоним, то це привід відвідати сервер. Як я й казав 2 роки вже використовую Rudder, і якщо його трохи покурити, то життя стає кращим. Найскладніше у великій інфраструктурі, те що ви не пам'ятаєте в якому стані знаходиться сервер, чи не пропустив джун установку агентів безпеки або чи правильно налаштував iptables, rudder же допоможе вам бути в курсі всіх подій. Поінформований, значить озброєний! )

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

PSS Стаття несе інформаційний характер, вирішив поділитися оскільки на просторах інтернету дуже мало інформації. Може бути це буде комусь цікаво. Доброго часу доби шановні друзі

На правах реклами

Епічні сервери - це VPS на Linux або Windows із потужними процесорами сімейства AMD EPYC та дуже швидкими NVMe дисками Intel. Поспішайте замовити!

Встановлення та експлуатація «Rudder»

Джерело: habr.com

Додати коментар або відгук