Namestitev in uporaba "Rudder"

Namestitev in uporaba "Rudder"

Predgovor

Najina "prijateljstvo" se je začelo pred dvema letoma. Začel sem delati na novem delovnem mestu, kjer mi je prejšnji administrator brezskrbno zapustil to programsko opremo. Na internetu nisem mogel najti ničesar razen uradne dokumentacije. Še danes, če v Googlu poiščete "rudder", vam bo v 99 % primerov pokazalo: krmila ladij in dronov. Uspel sem najti način uporabe. Ker je skupnost te programske opreme izjemno majhna, sem se odločil deliti svoje izkušnje in zmote. Mislim, da bo to nekomu v pomoč.

Torej, Rudder

Rudder je orodje za revizijo in upravljanje konfiguracij z odprto kodo, ki pomaga avtomatizirati nastavitev sistema. Deluje po načelu namestitve agenta na vsak končni uporabnik. Preko uporabniškega vmesnika lahko spremljamo, kako dobro naša infrastruktura ustreza vsem določenim pravilom.

Uporaba

Spodaj bom naštel, za kaj uporabljam Rudder.

  • Nadzor datotek in konfiguracij: ./ssh/authorized_keys; /etc/hosts; iptables; (naprej, kamor me bo peljala domišljija)

  • Nadzor nameščenih paketov: zabbix.agent ali katera koli druga programska oprema

Namestitev strežnika

Pred kratkim sem se posodobil s različice 5 na 6.1, vse je potekalo uspešno. Spodaj bodo predstavljene ukaze za Debian/Ubuntu, a podpora je tudi za: RHEL/CentOS in Sles.

Namestitev bom skrival v razporkih, da vas ne motim.

Skrivalo

Odvisnosti

Za rudder-server potrebujemo Java RE različico vsaj 8, lahko jo namestite iz standardnega repozitorija:

Preverjamo, če je nameščena

java -version

če izhod

-bash: java: command not found

potem jo namestimo

apt install default-jre

Server

Uvozimo ključ

wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -

Tukaj je sam odtis

pub  4096R/474A19E8 2011-12-15 Rudder Project (release key) 
      Ključni odtis = 7C16 9817 7904 212D D58C  B4D1 9322 C330 474A 19E8

Ker nimamo plačane naročnine, dodamo naslednji repozitorij

echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list

Posodobimo seznam repozitorijev in namestimo strežnik

apt update
apt install rudder-server-root

Ustvarimo uporabnika admin

rudder server create-user -u admin -p "Vaša Geslo"

Nato lahko upravljamo uporabnike preko konfiguracije

Vse, strežnik je pripravljen.

Nastavitev strežnika

Zdaj je potrebno dodati v agent Rudder IP naslove agentov ali celo celotno podsistem, usmerjamo se po varnostni politiki.

Nastavitve —> Splošno

Namestitev in uporaba "Rudder"

V polju «Add a network» vpišemo naslov in masko v formatu x.x.x.x/xx. Da omogočimo dostop z vseh naslovov notranje mreže (če gre seveda za testno mrežo in ste za NAT) vpišemo: 0.0.0.0/0

Pomembno — po dodajanju ip naslova ne pozabite klikniti na Save changes, v nasprotnem primeru nič ne bo shranjeno.

Vrati

Na strežniku odpiramo naslednje vrati

  • 443 — tcp

  • 5309 — tcp

  • 514 — udp

S prvotno nastavitvijo strežnika smo se spoprijeli.

Namestitev agenta

Skrivalo

Dodajamo ključ

wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -

Odžaganje ključa

pub  4096R/474A19E8 2011-12-15 Rudder Project (release key) 
      Ključni odtis = 7C16 9817 7904 212D D58C  B4D1 9322 C330 474A 19E8

Dodajamo repozitorij

echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list

Namestimo agenta

apt update
apt install rudder-agent

Nastavitev agenta

Določimo agentu ip naslov strežnika politik

rudder agent policy-server  #Brez oklepajev. Prav tako lahko uporabite domeno 

Z zagonjem naslednjega ukaza pošljemo zahtevo za dodajanje novega agenta na strežnik, čez nekaj minut se bo pojavil na seznamu novih agentov, kako dodati, razložim v naslednjem razdelku.

rudder agent inventory

Prav tako lahko prisilimo agenta, da takoj pošlje zahtevo.

rudder agent run

Naš agent je nastavljen, gremo naprej.

Dodajanje agentov

Prijavimo se

https://127.0.0.1/rudder/index.html

Namestitev in uporaba "Rudder"

V razdelku «Accept new nodes» se bo pojavil vaš agent, obkljukamo in kliknemo Accept

Namestitev in uporaba "Rudder"

Malo časa bo trajalo, da sistem preveri strežnik na skladnost

Ustvarjanje skupin strežnikov

Ustvarimo skupino (velika zabava), nimam pojma, zakaj so razvijalci naredili tako komplicirano oblikovanje skupin, ampak kot sem razumel, drugače ne gre. Pojdite v razdelek Node management -> Groups in kliknite na Create, izberite statično skupino in ime.

Namestitev in uporaba "Rudder"

Filtriramo potrebni strežnik po posebnih lastnostih, na primer po ip naslovu, in shranimo.

Namestitev in uporaba "Rudder"

Skupina je nastavljena.

Nastavitev pravil

Pojdite v Configuration policy → Rules in ustvarite novo pravilo.

Namestitev in uporaba "Rudder"

Dodamo prej pripravljeno skupino (to lahko naredimo tudi kasneje)

Namestitev in uporaba "Rudder"

In oblikujemo novo direktivo.

Namestitev in uporaba "Rudder"

Ustvarimo direktivo za dodajanje javnih ključev v .ssh/authorized_keys. To uporabljam v primeru odliva novega zaposlenega ali za zavarovanje, na primer, če kdo nenamerno izbriše moj ključ.

Pojdite v Configuration policy → Directives na levi strani vidimo «Directive library» Najdemo «Remote access → SSH authorised keys», na desni strani kliknemo Create Directive.

Vpišemo podatke o uporabniku in dodamo njegov ključ. Nato izberemo politiko uporabe.

  • Global — Politika, nameščena po privzetku.

  • Enforce — Izvrši na izbranih strežnikih.

  • Revizija — Izvršiće reviziju i reći na kojim klijentima su ključni podaci.

Namestitev in uporaba "Rudder"

Obavezno navodimo naše pravilo.

Namestitev in uporaba "Rudder"

Zatim sačuvamo i sve je spremno.

Proveravamo.

Namestitev in uporaba "Rudder"

Ključ je uspešno dodat.

Pogodnosti.

Agent daje sveobuhvatne informacije o serveru. Liste instaliranih paketa, interfejsa, otvorenih portova i mnogo više, što možete videti na snimku ekrana ispod.

Namestitev in uporaba "Rudder"

Takođe možete instalirati i kontrolisati softver ne samo na Linuxu već i na Windowsu, poslednje nisam proveravao, nije bilo potrebe.

Od autora.

Verovatno se pitate, zašto izmišljati bicikl kada su Ansible i Puppet već izmišljeni?

Odgovaram: Ansible ima mane, kao što je to što ne vidimo u kakvom je stanju ovaj konfiguracioni fajl, ili poznata situacija kada pokrećete rol ili playbook i dobijate greške o rušenju, pa morate da idete na server i proveravate koji je paket gde ažuriran. A za Puppet jednostavno nisam radio.

Da li postoje mane kod Ruddera? Mnogo ih je... Počevši od toga da agenti nestaju i treba ih ponovo instalirati ili koristiti komandu rudder reset. (ali u verziji 6 to nisam još video), završavajući sa izuzetno složenom konfiguracijom i nelogičnim interfejsom.

Da li postoje prednosti? I prednosti su brojne: Za razliku od poznatog Ansible-a, imamo web interfejs u kojem možemo da vidimo primenjenu usklađenost. Na primer — da li portovi vode u svet, u kakvom je stanju firewall, da li su sigurnosni agenti ili druge dodatne aplikacije instalirani.

Ovaj softver je savršen za odeljenje informatičke bezbednosti, pošto je stanje infrastrukture uvek vidljivo, i ako se neko od pravila obeleži crvenom bojom, to je signal da se poseti server. Kao što sam rekao, koristim Rudder već 2 godine, i ako ga malo prostudirate, život postaje bolji. Najteže u velikoj infrastrukturi je to što se ne sećate u kakvom stanju je server, da li je junior zaboravio da instalira sigurnosne agente ili kako je pravilno podešen iptables, Rudder će vam pomoći da budete u toku sa svim događajima. Obavešten, znači naoružan! )

P.S. Izašlo je mnogo više nego što sam planirao, neću opisivati kako instalirati pakete, ako bude zahteva, napišem drugu deo.

P.S.S Članek ima informativni značaj, želel sem deliti, ker je na internetu zelo malo informacij. Morda bo to komu zanimivo. Lepo čas dneva, dragi prijatelji )

V okviru oglaševanja

Epicni strežniki — to je VPS na Linuxu ali Windows z zmogljivimi procesorji družine AMD EPYC in zelo hitrimi NVMe diski Intel. Pohitite z naročilom!

Namestitev in uporaba "Rudder"

Izvor: habr.com

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster