
EessÔna
Meie "sÔprus" algas kaks aastat tagasi. Tulin uude töökohta, kus eelmine admin jÀttis mulle selle tarkvara pÀranduseks. Internetis ei leidnud ma peale ametliku dokumentatsiooni midagi muud. Isegi praegu, kui googeldada "rudder", ei tule 99% juhtudest mitte midagi muud, kui laevade roolid ja droonid. Mul Ônnestus leida sellele sobiv lÀhenemine. Kuna antud tarkvara kogukond on olematu, otsustasin jagada oma kogemusi ja takistusi. Arvan, et see vÔib mÔnele kasulik olla.
Nii, Rudder
Rudder on avatud lĂ€htekoodiga konfigureerimise auditimise ja haldamise tööriist, mis aitab automatiseerida sĂŒsteemi seadistamise. See töötab pĂ”himĂ”ttel, et iga lĂ”ppkasutaja arvutisse installitakse agent. Mugava liidese kaudu saame jĂ€lgida, kui hĂ€sti meie infrastruktuur vastab kĂ”igile ettenĂ€htud poliitikatele.
Kasutamine
Allpool loetlen, milleks ma Rudderit kasutan.
Failide ja konfiguratsioonide kontroll: .\/ssh\/authorized_keys ; \/etc\/hosts ; iptables ; (ja edasi, kuhu fantaasia viib)
Paigaldatud pakettide kontroll: zabbix.agent vÔi muu tarkvara
Serveri seadistamine
Hiljuti uuendasin versioonist 5 versioonile 6.1, kÔik lÀks edukalt. Allpool on esitatud kÀsud Debiani\/Ubuntu jaoks, kuid toetatakse ka: ja .
Peidan installi spoileritesse, et teid mitte segada.
Spoiler
SÔltuvused
Rudder-serveri jaoks on vajalik Java RE vÀhemalt 8. versioon, selle saab installida standardsetest paikadest:
Kontrollime, kas see on juba paigaldatud
java -versionkui vÀljund
-bash: java: command not foundsiis installime
apt install default-jreServer
Impordime vÔtme
wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -Siin on 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 19E8Kuna meil ei ole tasulist tellimust, lisame jÀrgmise reposti
echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.listUuendame reposti nimekirja ja installime serveri
apt update
apt install rudder-server-rootLoome kasutaja admin
rudder server create-user -u admin -p "Teie Parool"Edasi saame hallata kasutajaid konfiguratsiooni kaudu
KÔik, server on valmis.
Serveri seadistamine
NĂŒĂŒd on vaja agentide juurde lisada ruddereid IP-aadresse vĂ”i terve alamvĂ”rk, lĂ€htudes turvapoliitikast.
Seaded â> Ăldine

VĂ€ljal âAdd a networkâ kirjutame aadressi ja maski formaadis x.x.x.x/xx. Selleks, et lubada juurdepÀÀs kĂ”igilt sisevĂ”rgu aadressidelt (kui see loomulikult on testvĂ”rk ja olete NAT-i taga), kirjutame: 0.0.0.0/0
Oluline â pĂ€rast ip-aadressi lisamist Ă€rge unustage vajutada Save changes, vastasel juhul ei salvestata midagi.
Portid
Serveris avame jÀrgmised portid
443 â tcp
5309 â tcp
514 â udp
Esialgse serveri seadistusega oleme tutvunud.
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ÔrmjÀlg
pub 4096R\/474A19E8 2011-12-15 Rudder Project (release key)
Key fingerprint = 7C16 9817 7904 212D D58C B4D1 9322 C330 474A 19E8Lisame repositooriumi
echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.listInstallime agendi
apt update
apt install rudder-agentAgendi seadistamine
MÀÀrame agendile serveri poliitikate ip-aadressi
rudder agent policy-server # Ilma sulgudeta. Samuti on vÔimalik kasutada domeeninime KÀivitades jÀrgmise kÀsu, saadame pÀringu uue agendi lisamiseks serverisse, mÔne minuti pÀrast ilmub see uute agentide nimekirja, kuidas lisada, selgitan jÀrgmises jaos
rudder agent inventorySaame ka agendi sundida töötama ja ta saadab pÀringu koheselt
rudder agent runMeie agent on seadistatud, liigume 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

Peab natuke aega minema, kuni sĂŒsteem kontrollib serveri vastavust
Serverigruppide loomine
Loome grupi (see on veel ĂŒks meelelahutus), ei tea, miks arendajad tegid rikka grupi loomise, aga nagu ma aru sain, teisiti ei saa. Liigume jaotisesse Node management -> Groups ja vajutame Create, valime staatilise grupi ja nimetuse.

Filtreerime vajalikku serverit eripÀrade jÀrgi, nÀiteks ip-aadressi jÀrgi ja salvestame

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

Lisame varem ettevalmistatud grupi (seda saab teha ka hiljem)

Ja vormime uue direktiivi

Loome direktiivi avalike vÔtmete lisamiseks .ssh/authorized_keys. Kasutan seda juhul, kui uut töötajat tuleb vÀlja, vÔi lihtsalt et end kaitsta, nÀiteks kui keegi kogemata mu vÔtme kustutab.
Liigume Configuration policy â Directives ja vasakul nĂ€eme âDirective libraryâ. Otsime âRemote access â SSH authorised keysâ, paremal vajutame Create Directive.
Kirjutame kasutaja andmed ja lisame tema vÔtme. SeejÀrel valime rakendamise poliitika.
Global â Poliitika, mis on seatud vaikevÀÀrtuseks
Enforce â TĂ€ita valitud serverites
Audit â Teeb auditi ja ĂŒtleb, millistel klientidel on vĂ”tmed.

MÀÀrame kindlasti meie reegli.

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

VÔti on edukalt lisatud.
Bonused.
Agent annab tÀielikku teavet serveri kohta. Paigaldatud paketid, liidesed, avatud pordid ja palju muud, mida saate vaadata alloleval ekraanipildil.

Samuti saab tarkvara paigaldada ja hallata mitte ainult Linuxis, vaid ka Windowsis, viimasest ma ei ole kontrollinud, pole olnud vajadust.
Autori poolt.
Kindlasti kĂŒsisite, miks leiutada jalgratast, kui ansible ja puppet on juba ammu vĂ€lja mĂ”eldud?
Vastan: Ansible'il on puudusi, nÀiteks ei nÀe me, millises seisukorras see konfigureerimine on, vÔi kÔigile tuttav olukord, kui kÀivitad rolli vÔi playbook'i ning tulevad veateated kokkuvarisemisest, ja pead serverisse minema, et vaadata, milline pakk on kus uuendatud. Puppetiga ma lihtsalt ei ole töötanud.
Kas Rudderil on miinuseid? VÀga palju... Alates sellest, et agentid kukuvad Àra ja tuleb neid 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 ebaloogilise liidesega.
Kas on plusse? Ja plusse on ka massiliselt: Erinevalt tuntud Ansible'ist on meil veebiliides, kus on nĂ€htav meie rakendatud vastavus. NĂ€iteks â kas pordid on avatud, millises seisukorras on tulemĂŒĂŒr, kas turvaagentid on paigaldatud vĂ”i muud vidinad.
See tarkvara sobib suurepĂ€raselt infotehnoloogia osakonnale, kuna infrastruktuuri seisund on alati silme ees, ja kui mĂ”ni reeglistik vilkab punaselt, siis see on pĂ”hjus serverisse minna. Nagu ma ĂŒtlesin, olen juba kaks aastat Rudderit kasutanud, ja kui seda veidi uurida, siis elu muutub paremaks. Suurtes infrastruktuurides on kĂ”ige keerulisem see, et ei mĂ€leta, millises seisukorras server on, kas mĂ”ni algaja on turvaagente paigaldanud vĂ”i on iptables Ă”igesti seadistatud, Rudder aitab teil olla kursis kĂ”ikide sĂŒndmustega. Teadlik, tĂ€hendab relvastatud! )
P.S. Tuli vÀlja palju rohkem, kui olin planeerinud, ei hakka kirjeldama, kuidas pakette installida, kui juhuslikult on soove, siis kirjutan teise osa.
P.S.S Artikkel on informatiivne, otsustasin jagada, kuna internetis on vÀga vÀhe teavet. Loodetavasti on see kellelegi huvitav. Head pÀeva, austatud sÔbrad :)
Reklaami Ôigustes
Eepilised serverid â see on vĂ”i Windowsile, mis on varustatud vĂ”imsate AMD EPYC protsessoritega ja vĂ€ga kiirete Intel NVMe ketastega. Kiirustage tellima!

Allikas: habr.com
