
predgovor
Naše “prijateljstvo” počelo je prije dvije godine. Došao sam na novo radno mjesto, gdje mi je prethodni admin slučajno ostavio ovaj softver u nasljedstvo. Na internetu nisam uspio pronaći ništa osim službene dokumentacije. Čak i sada, ako guglate "kormilo", u 99% slučajeva će vam ispasti: brodska kormila i kvadrokopteri. Uspio sam pronaći pristup prema njemu. Budući da je zajednica ovog softvera zanemariva, odlučio sam podijeliti svoje iskustvo i rake. Mislim da će ovo nekome biti od koristi.
Dakle Kormilo
Rudder je uslužni program otvorenog koda za reviziju i upravljanje konfiguracijom koji pomaže automatizirati konfiguraciju sustava. Radi na principu instaliranja agenta za svakog krajnjeg korisnika. Putem praktičnog sučelja možemo pratiti koliko je naša infrastruktura u skladu sa svim navedenim pravilima.
Koristiti
U nastavku ću navesti za što koristim Rudder.
Kontrola datoteka i konfiguracija: ./ssh/authorized_keys ; /etc/hosts ; iptables; (i onda kamo vas mašta vodi)
Kontrola instaliranih paketa: zabbix.agent ili bilo koji drugi softver
Instalacija poslužitelja
Nedavno sam nadogradio s verzije 5 na 6.1 i sve je prošlo glatko. U nastavku su naredbe za Debian.Ubuntu ali postoji i podrška: и .
Instalaciju ću sakriti u spojlerima da vas ne ometam.
Spoiler
Ovisnosti
rudder-server zahtijeva Java RE najmanje verziju 8, može se instalirati iz standardnog repozitorija:
Provjeravam je li instaliran
java -versionako zaključak
-bash: java: command not foundzatim instalirajte
apt install default-jreServer
Uvoz ključa
wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -Evo samog otiska
pub 4096R/474A19E8 2011-12-15 Rudder Project (release key) <security@rudder-project.org>
Key fingerprint = 7C16 9817 7904 212D D58C B4D1 9322 C330 474A 19E8Budući da nemamo plaćenu pretplatu, dodajemo sljedeće spremište
echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.listAžurirajte popis repozitorija i instalirajte poslužitelj
apt update
apt install rudder-server-rootStvorite korisničkog administratora
rudder server create-user -u admin -p "Ваш Пароль"Ubuduće možemo upravljati korisnicima putem konfiguracije
To je to, server je spreman.
Podešavanje poslužitelja
Sada trebate dodati IP adrese agenata ili cijelu podmrežu u rudder agent, fokusiramo se na sigurnosnu politiku.
Postavke -> Općenito

U polje “Dodaj mrežu” unesite adresu i masku u formatu xxxx/xx. Kako biste omogućili pristup sa svih adresa interne mreže (osim naravno ako je ovo testna mreža i nalazite se iza NAT-a) unesite: 0.0.0.0/0
Važno - nakon dodavanja IP adrese, ne zaboravite kliknuti Spremi promjene, inače ništa neće biti spremljeno.
priključci
Otvorite sljedeće portove na poslužitelju
443 - tcp
5309 - tcp
514 - udp
Sredili smo početno postavljanje poslužitelja.
Instalacija agenta
Spoiler
Dodavanje ključa
wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -Otisak ključa
pub 4096R/474A19E8 2011-12-15 Rudder Project (release key) <security@rudder-project.org>
Key fingerprint = 7C16 9817 7904 212D D58C B4D1 9322 C330 474A 19E8Dodavanje spremišta
echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.listInstalacija agenta
apt update
apt install rudder-agentPostavljanje agenta
Agentu ukazujemo na IP adresu poslužitelja pravila
rudder agent policy-server <rudder server ip or hostname> #Без скобок. Можно также использовать доменное имя Pokretanjem sljedeće naredbe poslat ćemo zahtjev za dodavanje novog agenta na poslužitelj, za nekoliko minuta će se pojaviti na listi novih agenata, objasnit ću kako dodati u sljedećem odjeljku
rudder agent inventoryTakođer možemo prisiliti agenta da se pokrene i on će odmah poslati zahtjev
rudder agent runNaš agent je postavljen, idemo dalje.
Dodavanje agenata
Prijaviti se
https://127.0.0.1/rudder/index.html

Vaš agent pojavit će se u odjeljku "Prihvati nove čvorove", potvrdite okvir i kliknite Prihvati

Trebalo bi proći neko vrijeme dok sustav ne provjeri usklađenost poslužitelja
Stvaranje grupa poslužitelja
Napravimo grupu (to je još uvijek zabava), nemam pojma zašto su programeri napravili tako gnusno formiranje grupe, ali koliko sam shvatio, nema drugog načina. Idite na odjeljak Node management -> Groups i kliknite na Create, odaberite statičku grupu i naziv.

Filtriramo poslužitelj koji nam je potreban po posebnim značajkama, na primjer, po ip adresi, i spremamo

Grupa je postavljena.
Postavljanje pravila
Idite na Pravila konfiguracije → Pravila i stvorite novo pravilo

Dodajte prethodno pripremljenu grupu (ovo se može učiniti kasnije)

I formiramo novu direktivu

Kreirajmo direktivu za dodavanje javnih ključeva u .ssh/authorized_keys. Ovo koristim kada novi zaposlenik ode ili za reosiguranje, na primjer, ako mi netko slučajno izreže ključ.
Idite na Pravila konfiguracije → Direktive s lijeve strane vidimo "Biblioteka direktiva" Pronađite "Udaljeni pristup → SSH ovlašteni ključevi", s desne strane kliknite Stvori direktivu
Upisujemo podatke o korisniku i dodajemo njegov ključ. Zatim odaberite politiku aplikacije
Globalno - Zadana politika
Primjeni - Izvrši na odabranim poslužiteljima
Revizija - Provest će reviziju i reći koji klijenti imaju ključ

Svakako navedite naše pravilo

Zatim spremite i gotovi ste.
Provjeravanje

Ključ je uspješno dodan
lepinje
Agent daje potpune informacije o poslužitelju. Popisi instaliranih paketa, sučelja, otvorenih portova i još mnogo toga, što možete vidjeti na slici ispod

Također možete instalirati i kontrolirati softver ne samo na Linuxu već i na Windowsima, ovo drugo nisam provjerio, nije bilo potrebe..
Od autora
Možda se pitate zašto ponovno izumiti kotač ako su ansibl i lutka već davno izumljeni?
Odgovaram: Ansible ima nedostataka, na primjer, ne vidimo u kakvom je stanju ova konfiguracija sada, ili poznatu situaciju kada pokrenete role ili playbook i pojave se greške rušenja, a vi se počnete penjati na poslužitelj i vidjeti što paket je ažuriran gdje. I jednostavno nisam radio s lutkom..
Ima li Ruddera ikakvih nedostataka? Puno.. Počevši od toga da agenti padaju i morate ih ponovno instalirati ili koristiti naredbu za reset kormila. (ali usput, ovo još nisam vidio u verziji 6), što je rezultiralo iznimno složenim postavkama i nelogičnim sučeljem.
Ima li kakvih prednosti? A tu je i puno prednosti: Za razliku od dobro poznatog Ansiblea, imamo web sučelje u kojem možete vidjeti usklađenost koju smo primijenili. Na primjer, vire li portovi u svijet, kakvo je stanje vatrozida, jesu li instalirani sigurnosni agenti ili neki drugi dodaci.
Ovaj softver je savršen za odjel informacijske sigurnosti, jer će vam stanje infrastrukture uvijek biti pred očima, a ako neko od pravila svijetli crveno, to je razlog da posjetite poslužitelj. Kao što rekoh, koristim Rudder već 2 godine i ako ga malo popušiš, život postaje bolji. Najteža stvar u velikoj infrastrukturi je što se ne sjećate u kakvom je stanju server, je li June propustio instalirati sigurnosne agente ili je li ispravno konfigurirao iptables, ali rudder će vam pomoći da budete u tijeku sa svim događanjima. Svjestan znači naoružan! )
PS Ispalo je mnogo više nego što sam planirao, neću opisivati kako instalirati pakete, ako iznenada bude zahtjeva, napisat ću drugi dio.
PSS Članak je informativnog karaktera, odlučio sam ga podijeliti s obzirom da na internetu ima vrlo malo informacija. Možda će ovo nekome biti zanimljivo. Ugodan dan, dragi prijatelji)
O pravima oglašavanja
Epski poslužitelji - Je ili Windows S moćnim AMD EPYC procesorima i ultrabrzim Intel NVMe diskovima. Naručite odmah!

Izvor: www.habr.com
