Előszó
„Barátságunk” két éve kezdődött. Új munkahelyre érkeztem, ahol az előző rendszergazda véletlenül hagyta nekem ezt a szoftvert örökségül. A neten a hivatalos dokumentáción kívül nem találtam semmit. Még most is, ha rákeresel a google-ba, hogy „kormány”, az esetek 99%-ában ez jön ki: hajókormányok és quadcopterek. Sikerült megközelítést találnom hozzá. Mivel ennek a szoftvernek a közössége elhanyagolható, úgy döntöttem, hogy megosztom tapasztalataimat és rake-elek. Szerintem ez hasznos lesz valakinek.
Szóval Kormány
A Rudder egy nyílt forráskódú auditáló és konfigurációkezelő segédprogram, amely segít automatizálni a rendszerkonfigurációt. Azon az elven működik, hogy minden végfelhasználóhoz telepít egy ügynököt. Egy kényelmes felületen keresztül nyomon követhetjük, hogy infrastruktúránk mennyire felel meg az összes meghatározott szabályzatnak.
Használat
Az alábbiakban felsorolom, mire használom a Kormányt.
-
Fájlok és konfigurációk vezérlése: ./ssh/authorized_keys ; /etc/hosts ; iptables ; (és akkor hova vezet a képzeleted)
-
A telepített csomagok vezérlése: zabbix.agent vagy bármilyen más szoftver
Szerver telepítés
Nemrég frissítettem az 5-ös verzióról 6.1-re, minden rendben ment. Az alábbiakban a Deban/Ubuntu parancsai vannak, de van támogatás is:
A telepítést spoilerekbe rejtem, hogy ne vonja el a figyelmét.
Spoiler
Függőségek
A rudder-server legalább 8-as Java RE-t igényel, a szabványos tárolóból telepíthető:
Ellenőrizzük, hogy telepítve van-e
java -version
ha a következtetés
-bash: java: command not found
majd telepítse
apt install default-jre
Сервер
A kulcs importálása
wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -
Itt van maga a nyomat
pub 4096R/474A19E8 2011-12-15 Rudder Project (release key) <[email protected]>
Key fingerprint = 7C16 9817 7904 212D D58C B4D1 9322 C330 474A 19E8
Mivel nincs fizetős előfizetésünk, a következő adattárat adjuk hozzá
echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list
Frissítse a tárolók listáját, és telepítse a kiszolgálót
apt update
apt install rudder-server-root
Felhasználói adminisztrátor létrehozása
rudder server create-user -u admin -p "Ваш Пароль"
A jövőben a felhasználókat a konfiguráción keresztül kezelhetjük
Ez az, a szerver készen áll.
Szerver hangolás
Most hozzá kell adnia az ügynökök IP-címeit vagy egy teljes alhálózatot a kormányügynökhöz, mi a biztonsági szabályzatra összpontosítunk.
Beállítások -> Általános
A „Hálózat hozzáadása” mezőbe írja be a címet és a maszkot xxxx/xx formátumban. A belső hálózat összes címéről való hozzáférés engedélyezéséhez (kivéve persze, ha ez egy teszthálózat, és Ön NAT mögött áll), írja be: 0.0.0.0/0
Fontos - az IP-cím hozzáadása után ne felejtsen el a Változások mentése gombra kattintani, különben semmi sem kerül mentésre.
kikötők
Nyissa meg a következő portokat a szerveren
-
443 - tcp
-
5309 - tcp
-
514 - udp
Elkészítettük a kezdeti szerverbeállítást.
Ü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 -
Kulcs ujjlenyomata
pub 4096R/474A19E8 2011-12-15 Rudder Project (release key) <[email protected]>
Key fingerprint = 7C16 9817 7904 212D D58C B4D1 9322 C330 474A 19E8
Adattár hozzáadása
echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list
Az ügynök telepítése
apt update
apt install rudder-agent
Ügynök beállítása
Jelezzük az ügynöknek a házirend-kiszolgáló IP-címét
rudder agent policy-server <rudder server ip or hostname> #Без скобок. Можно также использовать доменное имя
A következő parancs futtatásával kérést küldünk egy új ügynök felvételére a szerverre, pár perc múlva megjelenik az új ügynökök listájában, a hozzáadás módját a következő részben elmagyarázom
rudder agent inventory
Arra is kényszeríthetjük az ügynököt, hogy induljon, és azonnal elküldi a kérést
rudder agent run
Az ügynökünk be van állítva, menjünk tovább.
Ügynökök hozzáadása
Belépés
https://127.0.0.1/rudder/index.html
Ügynöke megjelenik az „Új csomópontok elfogadása” részben, jelölje be a négyzetet, és kattintson az Elfogadás gombra
Beletelhet egy kis időbe, amíg a rendszer ellenőrzi a szerver megfelelőségét
Szervercsoportok létrehozása
Hozzunk létre egy csoportot (ez még mindig szórakozás), fogalmam sincs, miért csináltak ilyen csúnya csoportalakítást a fejlesztők, de ahogy jól értem, nincs más út. Lépjen a Csomópontkezelés -> Csoportok szakaszba, kattintson a Létrehozás gombra, válasszon egy statikus csoportot és nevet.
Szűrjük a szükséges szervert speciális jellemzők szerint, például IP-cím alapján, és mentjük
A csoport létrejön.
Szabályok felállítása
Nyissa meg a Konfigurációs házirend → Szabályok menüpontot, és hozzon létre egy új szabályt
Adja hozzá a korábban elkészített csoportot (ez később is megtehető)
És alkotunk egy új irányelvet
Hozzon létre egy direktívát a nyilvános kulcsok hozzáadásához az .ssh/authorized_keys fájlhoz. Ezt akkor használom, ha új alkalmazott távozik, vagy például viszontbiztosításhoz, ha valaki véletlenül kivágja a kulcsomat.
Nyissa meg a Konfigurációs házirend → Irányelvek menüpontot a bal oldalon, ahol az „Iránykönyvtár” jelenik meg. Keresse meg a „Távoli hozzáférés → SSH engedélyezett kulcsok” lehetőséget, a jobb oldalon kattintson az Irányelv létrehozása
Információkat adunk meg a felhasználóról, és hozzáadjuk a kulcsát. Ezután válassza ki az alkalmazási szabályzatot
-
Globális – Alapértelmezett házirend
-
Enforce – Végrehajtás a kiválasztott szervereken
-
Audit – Auditot hajt végre, és megmondja, hogy mely ügyfeleknek van kulcsa
Feltétlenül jelezze szabályunkat
Ezután mentse, és kész.
Ellenőrzés
A kulcs sikeresen hozzáadva
Zsemle
Az ügynök teljes információt nyújt a szerverről. A telepített csomagok, interfészek, nyitott portok és még sok más listája, amelyeket az alábbi képernyőképen láthat
Nem csak Linuxra, hanem Windowsra is lehet szoftvert telepíteni és vezérelni, utóbbit nem néztem meg, nem volt rá szükség..
A szerzőtől
Felmerülhet a kérdés, miért kell újra feltalálni a kereket, ha már régen feltalálták az ansible-t és a puppet?
Azt válaszolom: az Ansible-nek van néhány hátránya, például nem látjuk, hogy ez a konfiguráció most milyen állapotban van, vagy az ismerős helyzet, amikor elindítasz egy szerepet vagy játékkönyvet, és összeomlási hibák jelennek meg, és elkezdesz felmászni a szerverre és látod. milyen csomag hol frissült. És egyszerűen nem bábbal dolgoztam..
Vannak hátrányai a Ruddernek? Nagyon sok.. Abból kiindulva, hogy leesnek az ügynökök, és újra kell telepíteni őket, vagy a kormány visszaállítása parancsot kell használni. (de mellesleg ezt még nem láttam a 6-os verzióban), ami rendkívül bonyolult beállítást és logikátlan felületet eredményez.
Vannak előnyei? És van még egy csomó előnye: A jól ismert Ansible-vel ellentétben van egy webes felületünk, amelyen láthatja az általunk alkalmazott megfelelőséget. Például, hogy a portok kinyúlnak-e a világba, milyen a tűzfal állapota, vannak-e telepítve biztonsági ügynökök vagy egyéb kütyük.
Ez a szoftver tökéletes az információbiztonsági osztály számára, hiszen az infrastruktúra állapota mindig a szemed előtt lesz, és ha valamelyik szabály pirosan világít, akkor ez ok a szerver felkeresésére. Mint mondtam, már 2 éve használom a Ruddert, és ha egy kicsit elszívod, jobb lesz az élet. A legnehezebb dolog egy nagy infrastruktúrában, hogy nem emlékszik, milyen állapotban van a szerver, hogy June nem telepítette-e a biztonsági ügynököket, vagy hogy helyesen konfigurálta-e az iptables-t, de a kormánykerék segít lépést tartani az eseményekkel. Tudatos azt jelenti, felfegyverkezve! )
PS Sokkal több lett, mint terveztem, nem írom le a csomagok telepítését, ha hirtelen jönnek kérések, írok egy második részt.
PSS A cikk tájékoztató jellegű, úgy döntöttem, hogy megosztom, mivel nagyon kevés információ található az interneten. Talán ez érdekes lesz valakinek. Szép napot, kedves barátaim)
A Reklám Jogairól
Epic szerverek - Van
Forrás: will.com