A 'Rudder' telepítése és üzemeltetése

A 'Rudder' telepítése és üzemeltetése

Bevezető

A barátságunk két évvel ezelőtt kezdődött. Egy új munkahelyre érkeztem, ahol az előző admin kényelmesen rám hagyta ezt a szoftvert. Az interneten, az hivatalos dokumentáción kívül, semmit sem találtam. Még most is, ha rákeresel a „rudder” szóra, akkor 99%-ban hajókorlátok és drónok jelennek meg. Sikerült megtalálnom a megfelelő megoldást. Mivel az ilyen szoftverek közössége elenyésző, úgy döntöttem, megosztom a tapasztalataimat és a buktatóimat. Gondolom, valakinek ez hasznos lesz.

Tehát, Rudder

A Rudder egy nyílt forráskódú auditáló és konfigurációkezelő eszköz, amely segít automatizálni a rendszerbeállításokat. Az elv az, hogy ügynököt telepítünk minden egyes végfelhasználóra. A felhasználóbarát felületen figyelemmel kísérhetjük, mennyire felel meg az infrastruktúránk a meghatározott irányelveknek.

Használat

Alább felsorolom, mire használom a Ruddert.

  • Fájlok és konfigurációk ellenőrzése: ./ssh/authorized_keys; /etc/hosts; iptables; (és tovább, ahová a fantázia vezet)

  • Telepített csomagok ellenőrzése: zabbix.agent vagy bármely más szoftver

Szerver telepítése

Néhány napja frissítettem 5-ös verzióról 6.1-re, minden zökkenőmentesen zajlott. Alább a Debian/Ubuntu parancsokat fogom bemutatni, de támogatást is kapott: RHEL/CentOS és Sles.

A telepítést elrejtem spoilerben, hogy ne zavarjalak.

Spoiler

Függőségek

A rudder-serverhez minimum 8-as verziójú Java RE szükséges, amit a standard tárolóból lehet telepíteni:

Ellenőrizzük, hogy nincs-e telepítve

java -version

ha a kimenet

-bash: java: command not found

akkor telepítjük

apt install default-jre

Szerver

A kulcs importálása

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

Itt van a lenyomat

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

Mivel nincs előfizetésünk, ezt a repót adjuk hozzá

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

Frissítjük a repók listáját és telepítjük a szervert

apt update
apt install rudder-server-root

Létrehozzuk az admin felhasználót

rudder server create-user -u admin -p "A Te Jelszavad"

Később a konfiguráción keresztül kezelhetjük a felhasználókat.

Kész, a szerver készen áll.

A szerver beállítása

Most hozzá kell adnunk az ügynökök IP-címeit vagy egy teljes alhálózatot az ügynökbe, figyelembe véve a biztonsági irányelveket.

Beállítások -> Általános

A 'Rudder' telepítése és üzemeltetése

A „Hálózat hozzáadása” mezőben megadjuk a címet és a maszkot az x.x.x.x/xx formátumban. Ahhoz, hogy engedélyezzük a hozzáférést minden címről a belső hálózaton (ha ez ténylegesen teszthálózat, és NAT mögött vagyunk), adjuk meg: 0.0.0.0/0

Fontos – az IP-cím hozzáadása után ne felejtsük el rákattintani a Save changes gombra, különben semmi sem fog megmaradni.

Portok

A szerveren az alábbi portokat nyitjuk meg

  • 443 — tcp

  • 5309 — tcp

  • 514 — udp

Megértettük a szerver kezdeti beállításait.

Ügynök telepítése

Spoiler

Kulcs hozzáadása

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

Kulcsujjlenyomat

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

Tárhely hozzáadása

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

Ügynök telepítése

apt update
apt install rudder-agent

Ügynök konfigurálása

Megadjuk az ügynöknek a politikai szerver IP-címét

rudder agent policy-server  #Zárójelek nélkül. Használhatunk tartománynevet is. 

A következő parancs kiadásával kérjük az új ügynök hozzáadását a szerverhez; néhány percen belül meg fog jelenni az új ügynökök listájában, hogyan lehet hozzáadni, azt a következő részben magyarázom el.

rudder agent inventory

Az ügynököt kényszerítve is elindíthatjuk, és azonnali kérdést küldhet

rudder agent run

Az ügynökünk be van állítva, folytassuk.

Ügynökök hozzáadása

Bejelentkezünk

https://127.0.0.1/rudder/index.html

A 'Rudder' telepítése és üzemeltetése

Az „Accept new nodes” szakaszban megjelenik az ügynökünk, bejelöljük, és rákattintunk az Accept gombra.

A 'Rudder' telepítése és üzemeltetése

Egy kis időnek el kell telnie, míg a rendszer ellenőrzi a szervert a megfelelőség szempontjából.

Szervercsoportok létrehozása

Csoportot hozunk létre (még csak nem is értem, miért csinálták a fejlesztők ennyire bonyolulttá a csoportok létrehozását, de ahogy megértettem, másként nem lehet). Lépjünk a Node management -> Groups szakaszra, és kattintsunk a Create gombra, válasszuk a statikus csoportot és a nevet.

A 'Rudder' telepítése és üzemeltetése

Szűrjük a számunkra szükséges szervert különböző jellemzők, például az IP-cím alapján, és mentsük el.

A 'Rudder' telepítése és üzemeltetése

A csoport beállítva.

Szabályok beállítása

Váltsunk a Configuration policy → Rules szakaszra, és hozzunk létre egy új szabályt.

A 'Rudder' telepítése és üzemeltetése

Hozzáadjuk az előzőleg elkészített csoportot (ezt később is megtehetjük).

A 'Rudder' telepítése és üzemeltetése

És létrehozzuk az új irányelvet.

A 'Rudder' telepítése és üzemeltetése

Létrehozunk egy irányelvet a nyilvános kulcsok hozzáadására a .ssh/authorized_keys fájlhoz. Ezt akkor használom, amikor új munkavállaló lép be, vagy biztosíték gyanánt, például, ha valaki véletlenül eltávolítja a kulcsomat.

Lépjünk a Configuration policy → Directives szakaszba, baloldalon látjuk a „Directive library”-t. Keresjük meg a „Remote access → SSH authorised keys”-t, majd jobbra kattintsunk a Create Directive gombra.

Írjuk be a felhasználó adatait, és adjuk hozzá a kulcsát. Ezután válasszuk ki az alkalmazási irányelvet.

  • Global — Az alapértelmezett irányelv.

  • Enforce — Kiválasztott szervereken végrehajtandó.

  • Audit — Lefolytja az auditot, és elmondja, hogy mely ügyfeleknél vannak kulcsok.

A 'Rudder' telepítése és üzemeltetése

Mindenképpen meg kell adnunk a szabályunkat.

A 'Rudder' telepítése és üzemeltetése

Ezután elmentjük, és minden készen áll.

Ellenőrzés

A 'Rudder' telepítése és üzemeltetése

A kulcs sikeresen hozzáadva.

Extraságok

Az ügynök teljes információt ad a szerverről. Telepített csomagok, interfészek, nyitott portok és sok más, amit pontosan meg lehet nézni az alábbi képernyőképen.

A 'Rudder' telepítése és üzemeltetése

Szoftver telepítése és ellenőrzése nem csak Linuxon, hanem Windows-on is lehetséges, utóbbit nem ellenőriztem, nem volt szükség rá.

A szerzőtől

Bizonyára megkérdezed, miért kellene újra feltalálni a kereket, ha már régóta léteznek az Ansible és a Puppet?

Válaszolok: Az Ansible-nek vannak hátrányai, például nem látjuk, hogy jelenleg milyen állapotban van ez a konfiguráció, vagy az a mindenki által ismert helyzet, amikor elindítod a role-t vagy playbook-ot, és hibákat kapsz a összeomlásról, majd kezdesz bemenni a szerverre, és nézni, hogy milyen csomag frissült. A Puppettel viszont egyszerűen nem dolgoztam.

Vannak minuszai a Rudder-nek? Nagyon sok... Kezdődően azzal, hogy az ügynökök megszakadhatnak, és újra kell telepíteni őket, vagy használni a rudder reset parancsot. (De egyébként a 6-os verzióban ilyet még nem láttam), valamint a rendkívül bonyolult beállítás és a logikátlan felhasználói felület miatt.

Vannak előnyei? És az előnyök is tömegesek: A mindenki által jól ismert Ansible-lel ellentétben van egy webes felület, amelyben láthatók a mi általunk alkalmazott megfelelőségek. Például: nyitva vannak-e portok a nagyvilág felé, milyen állapotban van a tűzfal, telepítve vannak-e a biztonsági ügynökök vagy más kütyük.

Ez a szoftver tökéletesen alkalmas a szerverszervezet biztonsági osztályának, mivel az infrastruktúra állapota mindig a szemed előtt lesz, és ha bármelyik szabály pirosra vált, az okot ad a szerver meglátogatására. Ahogy mondtam, már 2 éve használom a Ruddert, és ha egy kicsit belemerülsz, az élet jobb lesz. A legnehezebb egy nagy infrastruktúrában, hogy nem emlékszel, milyen állapotban van a szerver, nem maradt-e el a biztonsági ügynökök telepítése vagy helyesen van-e beállítva az iptables. A Rudder pedig segít, hogy képben legyél az eseményekkel. Az tájékozott, aki fegyverkezik!

P.S. Sokkal többet készült, mint amire számítottam, nem fogom leírni, hogyan kell telepíteni a csomagokat; ha azonban lesznek kérések, akkor írom a második részt.

P.S.S A cikk tájékoztató jellegű, szeretném megosztani, mivel az interneten nagyon kevés információ található erről. Talán érdekes lesz valakinek. Kellemes időtöltést kívánok, kedves barátaim :)

Hirdetés

Epikus szerverek — ez Linux VPS vagy Windows erőteljes AMD EPYC processzorokkal és rendkívül gyors Intel NVMe meghajtókkal. Siess a rendeléseddel!

A 'Rudder' telepítése és üzemeltetése

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster