pratarmė
Mūsų „draugystė“ prasidėjo prieš dvejus metus. Atėjau į naują darbo vietą, kur ankstesnis administratorius atsitiktinai paliko man šią programinę įrangą kaip paveldėjimą. Internete neradau nieko, išskyrus oficialius dokumentus. Net ir dabar google „rudder“ 99% atvejų sugalvos: laivų vairas ir keturkopteriai. Man pavyko rasti požiūrį į jį. Kadangi šios programinės įrangos bendruomenė yra nereikšminga, nusprendžiau pasidalinti savo patirtimi. Manau, kad tai kažkam bus naudinga.
Taigi Vairas
Rudder yra atvirojo kodo audito ir konfigūracijos valdymo įrankis, padedantis automatizuoti sistemos konfigūraciją. Jis veikia pagal kiekvieno galutinio vartotojo agento diegimo principą. Naudodami patogią sąsają galime stebėti, kiek mūsų infrastruktūra atitinka visas nurodytas politikos nuostatas.
Naudoti
Žemiau pateiksiu, kam naudoju vairą.
-
Failų ir konfigūracijų valdymas: ./ssh/authorized_keys ; /etc/hosts ; iptables; (o tada kur veda jūsų vaizduotė)
-
Įdiegtų paketų valdymas: zabbix.agent arba bet kokia kita programinė įranga
Serverio diegimas
Neseniai atnaujinau iš 5 versijos į 6.1, viskas klostėsi gerai. Žemiau yra „Deban“ / „Ubuntu“ komandos, tačiau taip pat yra palaikymas:
Instaliaciją paslėpsiu spoileriuose, kad neblaškyčiau jūsų dėmesio.
Spoileris
Priklausomybės
vairo serveriui reikalinga Java RE bent 8 versija, galima įdiegti iš standartinės saugyklos:
Tikrinama, ar jis įdiegtas
java -version
jei išvada
-bash: java: command not found
tada įdiekite
apt install default-jre
Serveris
Rakto importavimas
wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -
Čia yra pats spaudinys
pub 4096R/474A19E8 2011-12-15 Rudder Project (release key) <[email protected]>
Key fingerprint = 7C16 9817 7904 212D D58C B4D1 9322 C330 474A 19E8
Kadangi neturime mokamos prenumeratos, pridedame šią saugyklą
echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list
Atnaujinkite saugyklų sąrašą ir įdiekite serverį
apt update
apt install rudder-server-root
Sukurti vartotojo administratorių
rudder server create-user -u admin -p "Ваш Пароль"
Ateityje vartotojus galėsime valdyti naudodami konfigūraciją
Viskas, serveris paruoštas.
Serverio derinimas
Dabar prie vairo agento reikia pridėti agentų IP adresus arba visą potinklį, mes sutelkiame dėmesį į saugumo politiką.
Nustatymai -> Bendrieji
Lauke „Pridėti tinklą“ įveskite adresą ir kaukę formatu xxxx/xx. Norėdami leisti prieigą iš visų vidinio tinklo adresų (nebent tai yra bandomasis tinklas ir esate atsilikę nuo NAT), įveskite: 0.0.0.0/0
Svarbu – pridėję ip adresą nepamirškite paspausti Išsaugoti pakeitimus, antraip nieko neišsaugoma.
Порты
Atidarykite šiuos serverio prievadus
-
443 - tcp
-
5309 - tcp
-
514 - udp
Sutvarkėme pradinę serverio sąranką.
Agento diegimas
Spoileris
Pridedamas raktas
wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -
Rakto piršto atspaudas
pub 4096R/474A19E8 2011-12-15 Rudder Project (release key) <[email protected]>
Key fingerprint = 7C16 9817 7904 212D D58C B4D1 9322 C330 474A 19E8
Pridedama saugykla
echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list
Agento įdiegimas
apt update
apt install rudder-agent
Agento sąranka
Agentui nurodome politikos serverio IP adresą
rudder agent policy-server <rudder server ip or hostname> #Без скобок. Можно также использовать доменное имя
Vykdydami šią komandą išsiųsime užklausą pridėti naują agentą į serverį, po poros minučių jis atsiras naujų agentų sąraše, kaip pridėti paaiškinsiu kitame skyriuje
rudder agent inventory
Taip pat galime priversti agentą pradėti ir jis iškart išsiųs užklausą
rudder agent run
Mūsų agentas sudarytas, judėkime toliau.
Agentų pridėjimas
Prisijungti
https://127.0.0.1/rudder/index.html
Jūsų agentas bus rodomas skiltyje „Priimti naujus mazgus“, pažymėkite laukelį ir spustelėkite Priimti
Turėtų praeiti šiek tiek laiko, kol sistema patikrins, ar serveris atitinka
Serverių grupių kūrimas
Sukurkime grupę (tai vis tiek pramoga), neįsivaizduoju, kodėl kūrėjai padarė tokį siaubingą grupės formavimą, bet, kaip suprantu, kito kelio nėra. Eikite į skyrių Mazgų valdymas -> Grupės ir spustelėkite Sukurti, pasirinkite statinę grupę ir pavadinimą.
Mes filtruojame mums reikalingą serverį pagal specialias funkcijas, pavyzdžiui, pagal IP adresą ir išsaugome
Grupė sudaryta.
Taisyklių nustatymas
Eikite į Konfigūracijos politika → Taisyklės ir sukurkite naują taisyklę
Pridėti anksčiau paruoštą grupę (tai galima padaryti vėliau)
Ir sudarome naują direktyvą
Sukurkime viešųjų raktų pridėjimo prie .ssh/authorized_keys direktyvą. Naudoju tai, kai išeina naujas darbuotojas arba, pavyzdžiui, perdraudimui, jei kas nors netyčia išpjauna mano raktą.
Eikite į Konfigūracijos politika → Direktyvos kairėje matome "Direktyvų biblioteka" Raskite "Nuotolinė prieiga → SSH įgalioti raktai", dešinėje spustelėkite Sukurti direktyvą
Įvedame informaciją apie vartotoją ir pridedame jo raktą. Tada pasirinkite programos politiką
-
Visuotinė – numatytoji politika
-
Vykdyti – vykdyti pasirinktuose serveriuose
-
Auditas – atliks auditą ir pasakys, kurie klientai turi raktą
Būtinai nurodykite mūsų taisyklę
Tada išsaugokite ir viskas.
Patikrinkite
Raktas sėkmingai pridėtas
Bandelės
Agentas pateikia visą informaciją apie serverį. Įdiegtų paketų, sąsajų, atidarytų prievadų ir daug daugiau sąrašai, kuriuos galite pamatyti toliau pateiktoje ekrano kopijoje
Taip pat galite įdiegti ir valdyti programinę įrangą ne tik Linux, bet ir Windows, pastarosios netikrinau, nereikėjo.
Iš autoriaus
Galbūt paklausite, kam išradinėti dviratį, jei ansible ir marionet jau seniai buvo išrastos?
Atsakau: Ansible turi tam tikrų trūkumų, pvz., mes nematome, kokios būsenos yra ši konfigūracija, arba pažįstama situacija, kai paleidi vaidmenį ar žaidimo knygą ir atsiranda gedimų klaidos, o pradedi lipti į serverį ir pamatyti koks paketas kur buvo atnaujintas. Ir aš tiesiog nedirbau su lėlėmis..
Ar „Rudder“ turi trūkumų? Daug.. Pradedant nuo to, kad agentai nukrenta ir tenka juos iš naujo įdiegti arba naudoti vairo atstatymo komandą. (bet, beje, aš to dar nemačiau 6 versijoje), todėl sąranka yra labai sudėtinga ir sąsaja yra nelogiška.
Ar yra kokių nors privalumų? Be to, yra daug privalumų: skirtingai nei gerai žinomas Ansible, turime žiniatinklio sąsają, kurioje galite matyti mūsų taikomą atitiktį. Pavyzdžiui, ar prievadai išsikiša į pasaulį, kokia ugniasienės būsena, ar įdiegti apsaugos agentai ar kitos programėlės.
Ši programinė įranga puikiai tinka informacijos saugos skyriui, nes infrastruktūros būklė visada bus prieš akis, o jei kuri nors taisyklė užsidega raudonai, tai yra priežastis apsilankyti serveryje. Kaip jau sakiau, vairą naudoju jau 2 metus, o jei truputį parūkysite, gyvenimas pagerės. Sunkiausias dalykas didelėje infrastruktūroje yra tai, kad neprisimeni, kokios būklės yra serveris, ar June neįdiegė saugos agentų, ar teisingai sukonfigūravo iptables, tačiau vairas padės neatsilikti nuo visų įvykių. Sąmoningas reiškia ginkluotas! )
PS Išėjo daug daugiau nei planavau, neaprašysiu kaip diegti paketus, jei staiga atsiras prašymų, parašysiu antrą dalį.
PSS Straipsnis skirtas informaciniams tikslams, nusprendžiau juo pasidalinti, nes informacijos internete labai mažai. Gal kam nors tai bus įdomu. Geros dienos, mieli draugai)
Dėl reklamos teisių
Epiniai serveriai - yra
Šaltinis: www.habr.com