предговорот
Нашето „пријателство“ започна пред две години. Дојдов на ново место на работа, каде што претходниот админ случајно ми го остави овој софтвер како наследство. На интернет, освен официјална документација, ништо не можеше да се најде. Дури и сега, ако гуглате „Rudder“, во 99% од случаите ќе ви дојде: кормила на брод и квадкоптери. Успеав да најдам начин до тоа. Бидејќи заедницата на овој софтвер е занемарлива, решив да го споделам моето искуство и гребло. Мислам дека тоа ќе биде корисно за некого.
Значи кормило
Rudder е алатка со отворен код за ревизија и управување со конфигурации што помага да се автоматизира конфигурацијата на системот. Работи на принципот на инсталирање агент за секој краен корисник. Преку кориснички интерфејс, можеме да забележиме како нашата инфраструктура се усогласува со сите наведени политики.
Користете
Подолу ќе наведам за што го користам Rudder.
-
Контрола на датотеки и конфигурации: ./ssh/authorized_keys ; /etc/домаќини ; iptables ; (а потоа каде води вашата имагинација)
-
Контрола на инсталирани пакети: zabbix.agent или кој било друг софтвер
Инсталација на сервер
Пред некој ден надградив од верзија 5 на 6.1, се помина добро. Подолу ќе бидат командите за Deban/Ubuntu, но и поддршка:
Ќе ја сокријам инсталацијата во спојлери за да не ви го одвлечам вниманието.
Спојлер
Зависности
серверот за кормило бара најмалку 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
Создадете администратор
rudder server create-user -u admin -p "Ваш Пароль"
Во иднина, можеме да управуваме со корисниците преку конфигурацијата
Сè, серверот е подготвен.
Подесување на серверот
Сега треба да ги додадете ip-адресите на агентите или цела подмрежа на агентот за кормило, фокусирајќи се на безбедносната политика.
Поставки -> Општо
Во полето „Додај мрежа“ Внесете ја адресата и маската во формат xxxx/xx . За да дозволите пристап од сите адреси на внатрешната мрежа (ако, се разбира, ова е тест мрежа и сте зад NAT), внесете: 0.0.0.0/0
Важно - откако ќе ја додадете ip адресата, не заборавајте да кликнете Зачувај промени, инаку ништо нема да биде зачувано.
Портови
Отворете ги следните порти на серверот
-
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 адресата на серверот за политики на агентот
rudder agent policy-server <rudder server ip or hostname> #Без скобок. Можно также использовать доменное имя
Со извршување на следнава команда, ќе испратиме барање за додавање нов агент на серверот, за неколку минути ќе се појави во листата на нови агенти, ќе објаснам како да додадете во следниот дел
rudder agent inventory
Исто така, можеме да го принудиме агентот да започне и тој веднаш ќе испрати барање
rudder agent run
Нашиот агент е поставен, да продолжиме понатаму.
Додавање агенти
Логирај Се
https://127.0.0.1/rudder/index.html
Вашиот агент ќе се појави во делот „Прифати нови јазли“, штиклирајте го полето и кликнете Прифати
Треба да потрае некое време за системот да го провери серверот за усогласеност
Креирајте серверски групи
Ајде да направиме група (тоа е сепак забава), без поим зошто програмерите направиле вакво формирање на групи со хемороиди, но како што разбрав, нема друг начин. Одете во делот Управување со јазли -> Групи и кликнете на Креирај, изберете статична група и име.
Го филтрираме серверот што ни треба според посебни знаци, на пример, по IP адреса и зачувуваме
Групата е формирана.
Поставување правила
Одете во Политика за конфигурација → Правила и креирајте ново правило
Додадете ја групата подготвена претходно (ова може да се направи подоцна)
И формираме нова директива
Ајде да создадеме директива за додавање јавни клучеви на .ssh/authorized_keys. Го користам ова кога ќе замине нов вработен или за реосигурување, на пример, ако некој случајно ми го исече клучот.
Одете во Политика за конфигурација → Директиви лево гледаме „Директивна библиотека“ Најдете „Далечински пристап → овластени клучеви на SSH“, десно кликнете Креирај директива
Внесуваме информации за корисникот и го додаваме неговиот клуч. Следно, изберете ја политиката за апликација
-
Глобална - Стандардна политика
-
Enforce - Изврши на избрани сервери
-
Ревизија - Направете ревизија и кажете кои клиенти го имаат клучот
Не заборавајте да го наведете нашето правило
Потоа зачувај и ќе завршиш.
Проверка
Клучот е успешно додаден
лепчиња
Агентот дава целосни информации за серверот. Списоци на инсталирани пакети, интерфејси, отворени порти и многу повеќе, кои можете да ги видите на скриншот подолу
Можете исто така да инсталирате и контролирате софтвер не само на linux туку и на Windows, јас не го проверив вториот, немаше потреба..
Од авторот
Можеби се прашувате, зошто повторно да се измисли тркалото, ако марионетата и марионетата се веќе одамна измислени?
Јас одговарам: Ansible има недостатоци, на пример, не гледаме во каква состојба е оваа конфигурација сега, или сите ја знаат ситуацијата кога започнувате некоја улога или Playbook и летаат грешки при падот, и почнувате да се качувате на серверот и гледате кој пакет каде е ажуриран. И едноставно не работев со кукла ..
Дали има негативни страни на Rudder? Многу .. Поаѓајќи од фактот дека агентите паѓаат и треба повторно да ги инсталирате или да ја користите командата за ресетирање на кормилото. (но, патем, сè уште не сум го видел ова во верзијата 6), завршувајќи со исклучително сложено поставување и нелогичен интерфејс.
Дали има некои предности? А има и многу предности: за разлика од добро познатиот ansible, имаме веб-интерфејс во кој можеме да ја видиме усогласеноста што ја применуваме. На пример, дали пристаништата се појавуваат во светот, во каква состојба е заштитниот ѕид, дали се инсталирани безбедносни агенти или други залутани.
Овој софтвер е совршен за одделот за безбедност на информации, бидејќи состојбата на инфраструктурата секогаш ќе ви биде пред очи, а ако некое од правилата свети црвено, тогаш ова е причина да го посетите серверот. Како што кажав, кормилото го користам веќе 2 години и ако го пушиш малку, тогаш животот станува подобар. Најтешкото нешто во голема инфраструктура е тоа што не се сеќавате во каква состојба е серверот, дали јуни пропуштил да инсталира безбедносни агенти или правилно ги конфигурирал iptables, кормилото ќе ви помогне да бидете во тек со сите настани. Свесен значи вооружен! )
PS Испадна многу повеќе отколку што планирав, нема да опишам како да инсталирам пакети, ако има какви било барања, ќе го напишам вториот дел.
PSS Статијата е за информативни цели, решив да ја споделам бидејќи има многу малку информации на Интернет. Можеби тоа ќе биде од интерес за некого. Имајте убав ден драги пријатели
За правата на рекламирање
Епски сервери - Дали
Извор: www.habr.com