
EessÔna
Meie "sÔprus" algas kaks aastat tagasi. Tulin uude töökohta, kus eelmine administrator jÀttis mulle selle tarkvara pÀranduseks. Internetist ei suutnud ma muud kui ametlik dokumentatsioon leida. Isegi praegu, kui googeldada "rudder", nÀitab see 99% juhtudest: laevade ratted ja droonid. Mul Ônnestus selle jaoks lÀhenemine leida. Kuna selle tarkvara kogukond on ÀÀrmiselt vÀike, otsustasin jagada oma kogemusi ja takistusi. Arvan, et see vÔib kellelegi kasuks tulla.
Nii et, Rudder
Rudder on avatud lĂ€htekoodiga konfiguratsiooni auditi ja halduse utiliit, mis aitab automatiseerida sĂŒsteemi seadistamist. See töötab pĂ”himĂ”tte alusel, et iga lĂ”ppkasutaja peab installima agendi. Mugava liidese kaudu saame jĂ€lgida, kui hĂ€sti meie infrastruktuur vastab kĂ”igile seatud poliitikatele.
Kasutamine
Allpool loetlen, milleks kasutan Rudderit.
Failide ja konfiguratsioonide kontroll: ./ssh/authorized_keys; /etc/hosts; iptables; (ja edasi, kuhu fantaasia viib)
Installitud pakettide kontroll: zabbix.agent vÔi mÔni muu tarkvara
Serveri seadistamine
Hiljuti uuendasin versioonilt 5 versioonile 6.1, kÔik sujus edukalt. Allpool on kÀsud Debiani/Ubuntu jaoks, kuid olemas on ka tugi: ja .
Peidan paigaldamise spoileritesse, et teid mitte segada.
Spoiler
SÔltuvused
Rudder-serveri jaoks on vajalik Java RE vÀhemalt versioon 8, mille saab installida pÔhirepositooriumist:
Kontrollime, kas see on juba installitud
java -versionkui vÀljund
-bash: java: command not foundsiis installime
apt install default-jreServer
Importime vÔtme
wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -Siin on selle vÔtme sÔrmus
pub 4096R/474A19E8 2011-12-15 Rudder Project (release key)
Key fingerprint = 7C16 9817 7904 212D D58C B4D1 9322 C330 474A 19E8Kuna meil ei ole tasulist tellimust, lisame jÀrgmise repositooriumi
echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.listUuendame repositooriumide loendi ja paigaldame serveri
apt update
apt install rudder-server-rootLoome kasutaja admin
rudder server create-user -u admin -p "Teie Parool"Edasi saame hallata kasutajaid kaudu konfiguratsiooni
KÔik, server on valmis.
Serveri seadistamine
NĂŒĂŒd on vajalik lisada rudderi agenti agentide IP-aadressid vĂ”i kogu alamvĂ”rk, lĂ€htudes turvapoliitikast.
Seaded â> Ăldine

VĂ€ljal âAdd a networkâ sisestame aadressi ja maski formaadis x.x.x.x/xx. Kui soovite lubada juurdepÀÀsu kĂ”ikidest aadressidest sisemisest vĂ”rgust (kui see on testvĂ”rk ja olete NAT-i taga), sisestage: 0.0.0.0/0
Oluline â pĂ€rast IP-aadressi lisamist Ă€rge unustage vajutada Save changes, vastasel juhul ei salvestata midagi.
Pordid
Serveris avame jÀrgmised pordid
443 â tcp
5309 â tcp
514 â udp
Oleme serveri algse seadistuse osas tegelenud.
Agendi installimine
Spoiler
Lisame vÔtme
wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -VÔtme sÔrmejÀlg
pub 4096R/474A19E8 2011-12-15 Rudder Project (release key)
Key fingerprint = 7C16 9817 7904 212D D58C B4D1 9322 C330 474A 19E8Lisame repository
echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.listInstalleerime agendi
apt update
apt install rudder-agentAgendi seadistamine
MÀÀrame agendi IP-aadressi poliitikaserverile
rudder agent policy-server # Ilma sulgudeta. Samuti vÔib kasutada domeeninime KÀivitades jÀrgmise kÀsu saadame pÀringu uue agendi lisamiseks serverisse, paari minuti pÀrast ilmub see uute agentide nimekirja, kuidas lisada, selgitan jÀrgmises jaotises
rudder agent inventorySaame agendi sundida kohe kÀivitama, et saata pÀring koheselt
rudder agent runMeie agent on seadistatud, lÀhme edasi.
Agentide lisamine
Logime sisse
https://127.0.0.1/rudder/index.html

Jaotises âAccept new nodesâ ilmub teie agent, paneme linnukese ja vajutame Accept

Veidi aega peab mööduma, et sĂŒsteem kontrolliks serveri vastavust
Serverigruppide loomine
Loome grupi (see on ikka veel naljakas), ei tea, miks arendajad tegid niivÔrd keerulise grupi loomise, aga nagu ma aru sain, ei ole muud teed. Liigume jaotisse Node management -> Groups ja vajutame Create, valime staatilise grupi ja nime.

Filtreerime vajaliku serveri eripunktide, nÀiteks IP-aadressi, abil ja salvestame

Grupp on seadistatud.
Reeglite seadistamine
Liigume Configuration policy â Rules ja loome uue reegli

Lisame eelnevalt ettevalmistatud gruppi (seda saab teha ka hiljem)

Ja vormime uue direktiivi

Loome direktiivi avalike vÔtmete lisamiseks .ssh/authorized_keys. Kasutan seda juhul, kui uus töötaja tuleb, vÔi ettevaatlikkuse mÔttes, kui keegi eemaldab minu vÔtme kogemata.
Liigume Configuration policy â Directives, vasakul nĂ€eme "Directive library". Otsime "Remote access â SSH authorised keys", paremal vajutame Create Directive
Kandke kasutaja andmed ja lisage tema vÔti. SeejÀrel valige rakendamise poliitika
Global â vaikimisi kehtestatud poliitika
Enforce â Teha valitud serverites
Audit â Teeb audit ja ĂŒtleb, millistel klientidel on vĂ”tmed

Kohustuslikult mÀrgime meie reegli

SeejÀrel salvestame ja kÔik on valmis.
Kontrollime

Key on edukalt lisatud
Tee mudelid
Agent edastab tÀieliku teabe serveri kohta. Loendid paigaldatud paketidest, liidestest, avatud portidest ja palju muud, mida tÀpselt nÀete alloleval ekraanipildil

Samuti on vÔimalik installida ja hallata tarkvara mitte ainult Linuxil, vaid ka Windowsil. Viimast ma ei ole kontrollinud, ei olnud vajadust..
Autorilt
Sa vĂ”id kĂŒsida, miks leiutada jalgratast, kui Ansible ja Puppet on juba ammu vĂ€lja mĂ”eldud?
Vastus: Ansible'il on puudused, nĂ€iteks ei nĂ€e me, millises seisundis see konfig on praegu, vĂ”i kĂ”igile tuntud olukord, kui kĂ€ivitad rolli vĂ”i playbookâi ja algavad vead krahhiga, hakates serverisse minema ja vaatama, milline pakett kuhu uuendati. Puppetiga ma lihtsalt ei ole töötanud..
Kas Rudder'il on miinuseid? VĂ€ga palju.. Alates sellest, et agentide ĂŒhendus katkeb ja neid tuleb uuesti installida vĂ”i kasutada kĂ€sku rudder reset. (aga muide, versioonis 6 ma sellist veel ei ole nĂ€inud), lĂ”petades ÀÀrmiselt keerulise seadistamise ja loogikast kaugel oleva liidesega.
Kas on ka eeliseid? Ja eeliseid on tĂ”esti palju: erinevalt tuntud ansiblist, millel on veebiliides, nĂ€eme, kuidas meie loodud vastavus toimib. NĂ€iteks - kas portid on avatud maailmale, millises seisukorras on tulemĂŒĂŒr, kas turvaarendajad on paigaldatud vĂ”i muud sarnased asjad.
See tarkvara sobib suurepĂ€raselt infotehnoloogia turbeosakonnale, kuna infrastruktuuri seisund on alati silmade ees, ja kui mĂ”ni reegel tĂ”useb punaseks, on see pĂ”hjus serverisse minna. Nagu öeldud, olen juba 2 aastat kasutanud Rudderit, ja kui sellega natuke tutvuda, muutub elu paremaks. Suurima vĂ€ljakutsena suurepĂ€rases infrastruktuuris on see, et te ei mĂ€leta, millises seisukorras server on, kas noor arendaja on turvaarendajad Ă”igesti paigaldanud vĂ”i kas iptables on Ă”igesti seadistatud â Rudder aitab teil olla kursis kĂ”ikide sĂŒndmustega. Teadlik, seega relvastatud! )
P.S. Tuli vĂ€lja palju rohkem, kui ma planeerisin, ega kirjuta, kuidas pakette installida; kui kĂŒsimusi tekib, siis kirjutan teise osa.
P.S.S Artikkel on informatiivne, jagan seda, kuna internetis on vÀga vÀhe teavet. VÔib-olla on see kellelegi huvitav. Head pÀeva, austatud sÔbrad )
Reklaami Ôigustes
Eepilised serverid â see on vĂ”i Windowsi koos vĂ”imsate AMD EPYC protsessoritega ja ĂŒlivĂ”imsate Intel NVMe ketastega. Kiirustage tellima!

Allikas: habr.com
