Устаноўка і эксплуатацыя «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

Дадаць каментар