Predgovor
Najino "prijateljstvo" se je začelo pred dvema letoma. Prišel sem na novo delovno mesto, kjer mi je prejšnji admin mimogrede zapustil to programsko opremo kot dediščino. Na internetu razen uradne dokumentacije nisem našel ničesar. Tudi zdaj, če poguglate "krmilo", se bo v 99% primerov pojavilo: ladijska krmila in kvadrokopterji. Uspelo mi je najti pristop do njega. Ker je skupnost te programske opreme zanemarljiva, sem se odločil deliti svoje izkušnje in rake. Mislim, da bo to komu koristilo.
Krmilo torej
Rudder je odprtokodni pripomoček za nadzor in upravljanje konfiguracije, ki pomaga avtomatizirati konfiguracijo sistema. Deluje po principu namestitve agenta za vsakega končnega uporabnika. Preko priročnega vmesnika lahko spremljamo, koliko je naša infrastruktura skladna z vsemi navedenimi politikami.
Uporaba
Spodaj bom naštel, za kaj uporabljam krmilo.
-
Nadzor datotek in konfiguracij: ./ssh/authorized_keys ; /etc/hosts ; iptables; (in potem, kam vas vodi domišljija)
-
Nadzor nameščenih paketov: zabbix.agent ali katera koli druga programska oprema
Namestitev strežnika
Pred kratkim sem posodobil različico 5 na 6.1, vse je šlo dobro. Spodaj so ukazi za Deban/Ubuntu, obstaja pa tudi podpora:
Namestitev bom skril v spojlerje, da vas ne motim.
Spojler
Odvisnosti
krmilni strežnik zahteva Java RE vsaj različico 8, lahko ga namestite iz standardnega repozitorija:
Preverjanje, ali je nameščen
java -version
če sklep
-bash: java: command not found
nato namestite
apt install default-jre
Strežnik
Uvoz ključa
wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -
Tukaj je sam tisk
pub 4096R/474A19E8 2011-12-15 Rudder Project (release key) <[email protected]>
Key fingerprint = 7C16 9817 7904 212D D58C B4D1 9322 C330 474A 19E8
Ker nimamo plačane naročnine, dodamo naslednje skladišče
echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list
Posodobite seznam repozitorijev in namestite strežnik
apt update
apt install rudder-server-root
Ustvari skrbnika uporabnika
rudder server create-user -u admin -p "Ваш Пароль"
V prihodnosti bomo lahko uporabnike upravljali prek konfiguracije
To je to, strežnik je pripravljen.
Nastavitev strežnika
Zdaj morate agentu krmila dodati naslove IP agentov ali celotno podomrežje, osredotočeni smo na varnostno politiko.
Nastavitve -> Splošno
V polje »Dodaj omrežje« vnesite naslov in masko v obliki xxxx/xx. Če želite omogočiti dostop z vseh naslovov notranjega omrežja (če seveda ni to testno omrežje in ste za NAT), vnesite: 0.0.0.0/0
Pomembno - po dodajanju naslova ip ne pozabite klikniti Shrani spremembe, sicer se nič ne shrani.
Pristanišča
Odprite naslednja vrata na strežniku
-
443 - tcp
-
5309 - tcp
-
514 - udp
Uredili smo začetno nastavitev strežnika.
Namestitev agenta
Spojler
Dodajanje ključa
wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -
Prstni odtis ključa
pub 4096R/474A19E8 2011-12-15 Rudder Project (release key) <[email protected]>
Key fingerprint = 7C16 9817 7904 212D D58C B4D1 9322 C330 474A 19E8
Dodajanje repozitorija
echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list
Namestitev agenta
apt update
apt install rudder-agent
Nastavitev agenta
Agentu pokažemo naslov IP strežnika pravilnika
rudder agent policy-server <rudder server ip or hostname> #Без скобок. Можно также использовать доменное имя
Z zagonom naslednjega ukaza bomo poslali zahtevo za dodajanje novega agenta na strežnik, čez nekaj minut se bo pojavil na seznamu novih agentov, v naslednjem razdelku bom razložil, kako dodati
rudder agent inventory
Agenta lahko tudi prisilimo, da se zažene in takoj bo poslal zahtevo
rudder agent run
Naš agent je pripravljen, gremo naprej.
Dodajanje agentov
Vpiši se
https://127.0.0.1/rudder/index.html
Vaš agent se bo pojavil v razdelku »Sprejmi nova vozlišča«, potrdite polje in kliknite Sprejmi
Trajalo bi nekaj časa, da sistem preveri skladnost strežnika
Ustvarjanje skupin strežnikov
Ustvarimo skupino (to je še vedno zabava), ne vem, zakaj so razvijalci naredili tako gnusno oblikovanje skupine, a kot razumem, ni druge poti. Pojdite v razdelek Upravljanje vozlišča -> Skupine in kliknite Ustvari, izberite statično skupino in ime.
Strežnik, ki ga potrebujemo, filtriramo po posebnih funkcijah, na primer po naslovu ip, in shranimo
Skupina je ustanovljena.
Nastavitev pravil
Pojdite na Politika konfiguracije → Pravila in ustvarite novo pravilo
Dodajte prej pripravljeno skupino (to lahko storite kasneje)
In oblikujemo novo direktivo
Ustvarimo direktivo za dodajanje javnih ključev v .ssh/authorized_keys. To uporabljam ob odhodu novega zaposlenega ali za pozavarovanje, na primer, če mi kdo slučajno izreže ključ.
Pojdite na Politika konfiguracije → Direktive na levi strani vidimo »Knjižnica direktiv« Poiščite »Oddaljeni dostop → Pooblaščeni ključi SSH«, na desni kliknite Ustvari direktivo
Vnesemo podatke o uporabniku in dodamo njegov ključ. Nato izberite politiko aplikacije
-
Globalno – privzeti pravilnik
-
Uveljavi – Izvedi na izbranih strežnikih
-
Revizija - Opravil bo revizijo in povedal, katere stranke imajo ključ
Ne pozabite navesti našega pravila
Nato shranite in končali ste.
Preverite
Ključ je bil uspešno dodan
Žemlje
Agent zagotavlja popolne informacije o strežniku. Seznami nameščenih paketov, vmesnikov, odprtih vrat in še veliko več, kar lahko vidite na spodnjem posnetku zaslona
Prav tako lahko namestite in nadzirate programsko opremo ne samo v Linuxu, ampak tudi v sistemu Windows, slednjega nisem preveril, ni bilo potrebe.
Od avtorja
Morda se sprašujete, zakaj bi znova izumljali kolo, če sta bila ansible in lutka izumljena že zdavnaj?
Odgovorim: Ansible ima nekaj pomanjkljivosti, na primer, ne vidimo, v kakšnem stanju je zdaj ta konfiguracija, ali znane situacije, ko zaženete vlogo ali playbook in se pojavijo napake pri zrušitvi, začnete plezati na strežnik in vidite kateri paket je bil posodobljen kje. In preprosto nisem delal z lutkami.
Ali ima Rudder kakšne slabosti? Veliko.. Začenši s tem, da agenti odpadejo in jih morate znova namestiti ali uporabiti ukaz za ponastavitev krmila. (vendar mimogrede, tega še nisem videl v različici 6), kar ima za posledico izjemno zapleteno nastavitev in nelogičen vmesnik.
Ali obstajajo kakšne prednosti? Poleg tega je veliko prednosti: za razliko od dobro znanega Ansiblea imamo spletni vmesnik, v katerem si lahko ogledate skladnost, ki smo jo uporabili. Na primer, ali vrata štrlijo v svet, v kakšnem stanju je požarni zid, ali so nameščeni varnostni agenti ali drugi pripomočki.
Ta programska oprema je kot nalašč za oddelek za informacijsko varnost, saj bo stanje infrastrukture vedno pred vašimi očmi in če katero od pravil zasveti rdeče, je to razlog za obisk strežnika. Kot sem rekel, Rudder uporabljam že 2 leti in če ga malo pokadiš, je življenje lepše. Najtežja stvar v veliki infrastrukturi je, da se ne spomnite, v kakšnem stanju je strežnik, ali je June zamudil namestitev varnostnih agentov ali je pravilno konfiguriral iptables, vendar vam bo rudder pomagal biti na tekočem z vsemi dogodki. Ozaveščeni pomeni oboroženi! )
PS Izkazalo se je veliko več, kot sem načrtoval, ne bom opisal, kako namestiti pakete, če bodo nenadoma zahteve, bom napisal drugi del.
PSS Članek je informativne narave, odločil sem se, da ga delim, ker je na internetu zelo malo informacij. Mogoče bo to komu zanimivo. Lep dan, dragi prijatelji)
O pravicah oglaševanja
Epski strežniki - Je
Vir: www.habr.com