
Förord
VĂ„rt "vĂ€nskap" började för tvĂ„ Ă„r sedan. Jag började pĂ„ en ny arbetsplats dĂ€r den tidigare administratören avslappnat lĂ€mnade denna programvara som ett arv till mig. PĂ„ internet kunde jag inte hitta nĂ„gonting förutom den officiella dokumentationen. Ăven nu, om man googlar "rudder", dyker det i 99% av fallen upp: rattar för skepp och drönare. Jag lyckades hitta en vĂ€g att arbeta med den. Eftersom gemenskapen kring denna programvara Ă€r mycket liten, beslutade jag mig för att dela med mig av mina erfarenheter och hinder. Jag tror att det kan vara till hjĂ€lp för nĂ„gon.
SĂ„, Rudder
Rudder Àr ett verktyg för granskning och hantering av konfiguration med öppen kÀllkod som hjÀlper till att automatisera systemkonfigurationen. Det fungerar genom att installera en agent pÄ varje slutanvÀndare. Via ett anvÀndarvÀnligt grÀnssnitt kan vi se hur vÀl vÄr infrastruktur uppfyller alla angivna riktlinjer.
AnvÀndning
Nedan listar jag vad jag anvÀnder Rudder till.
Ăvervakning av filer och konfigurationer: .\/ssh\/authorized_keys ; \/etc\/hosts ; iptables ; (och sedan vart fantasin tar oss)
Ăvervakning av installerade paket: zabbix.agent eller vilken annan programvara som helst
Installation av server
HÀromdagen uppgraderade jag frÄn version 5 till 6.1, allt gick smidigt. Nedan visas kommandon för Deban\/Ubuntu men stöd finns Àven för: och .
Jag gömmer installationen i spoilers för att inte avleda din uppmÀrksamhet.
Spoiler
Beroenden
För rudder-server krÀvs Java RE minst version 8, det kan installeras frÄn standardförrÄdet:
Kontrollerar om den Àr installerad
java -versionom resultatet
-bash: java: command not founddÄ installerar vi
apt install default-jreServern
Importer nyckeln
wget --quiet -O- "https:\/\/repository.rudder.io\/apt\/rudder_apt_key.pub" | sudo apt-key add -HÀr Àr sjÀlva fingeravtrycket
pub 4096R\/474A19E8 2011-12-15 Rudder Project (release key)
Key fingerprint = 7C16 9817 7904 212D D58C B4D1 9322 C330 474A 19E8Eftersom vi inte har en betalande prenumeration lÀgger vi till följande förrÄd
echo "deb http:\/\/repository.rudder.io\/apt\/6.1\/ $(lsb_release -cs) main" > \/etc\/apt\/sources.list.d\/rudder.listUppdatera listan över förrÄd och installera servern
apt update
apt install rudder-server-rootSkapa anvÀndaren admin
rudder server create-user -u admin -p "Ditt Lösenord"Vi kan senare hantera anvÀndarna via konfigurationen
Klart, servern Àr redo.
Serverkonfiguration
Nu mÄste vi lÀgga till IP-adresserna för agenterna i Rudder eller hela subnÀt, vi baserar oss pÄ sÀkerhetspolicyn.
InstĂ€llningar â> AllmĂ€nt

I fÀltet «LÀgg till ett nÀtverk» anger vi adressen och masken i formatet x.x.x.x/xx. För att tillÄta Ätkomst frÄn alla adresser i det interna nÀtverket (om det nu Àr ett testnÀt och du befinner dig bakom NAT) anger vi: 0.0.0.0/0
Viktigt â efter att ha lagt till ip-adressen glöm inte att klicka pĂ„ Spara Ă€ndringar, annars sparas ingenting.
Portar
PÄ servern öppnar vi följande portar
443 â tcp
5309 â tcp
514 â udp
Vi har gÄtt igenom den initiala serverinstÀllningen.
Installation av Agent
Spoiler
LĂ€gg till nyckel
wget --quiet -O- "https:\/\/repository.rudder.io\/apt\/rudder_apt_key.pub" | sudo apt-key add -Nyckelavtryck
pub 4096R\/474A19E8 2011-12-15 Rudder Project (release key)
Key fingerprint = 7C16 9817 7904 212D D58C B4D1 9322 C330 474A 19E8LĂ€gg till repository
echo "deb http:\/\/repository.rudder.io\/apt\/6.1\/ $(lsb_release -cs) main" > \/etc\/apt\/sources.list.d\/rudder.listInstallerar agent
apt update
apt install rudder-agentKonfiguration av agent
Vi anger agentens ip-adress för policy-servern
rudder agent policy-server #Utan parenteser. DomÀnnamn kan ocksÄ anvÀndas Genom att köra följande kommando skickar vi en begÀran om att lÀgga till en ny agent pÄ servern, efter nÄgra minuter kommer den att visas i listan över nya agenter. Hur man lÀgger till förklarar jag i nÀsta avsnitt.
rudder agent inventoryVi kan ocksÄ tvinga agenten att köra och skicka begÀran omedelbart
rudder agent runVÄr agent Àr konfigurerad, vi gÄr vidare.
TillÀgg av agenter
Loggar in
https://127.0.0.1/rudder/index.html

I avsnittet «Acceptera nya noder» kommer din agent att visas, sÀtt en bock och klicka pÄ Acceptera

Det bör ta lite tid innan systemet kontrollerar servern för överensstÀmmelse
Skapande av servergrupper
Vi skapar en grupp (som Àr en utmaning), jag har ingen aning om varför utvecklarna gjorde sÄ komplicerat gruppbildande, men som jag förstÄtt det finns det inget annat sÀtt. Vi gÄr till avsnittet Node management -> Groups och klickar pÄ Skapa, vÀljer en statisk grupp och ger den ett namn.

Vi filtrerar den nödvÀndiga servern efter specifika kÀnnetecken, till exempel efter ip-adress, och sparar

Gruppen Àr konfigurerad.
Konfiguration av regler
Vi gĂ„r till Configuration policy â Rules, och skapar en ny regel

Vi lÀgger till den tidigare förberedda gruppen (detta kan göras senare ocksÄ)

Och skapar en ny direktiv

Vi skapar ett direktiv för att lÀgga till offentliga nycklar i .ssh/authorized_keys. Jag anvÀnder detta nÀr en ny medarbetare börjar, eller för att vara pÄ den sÀkra sidan, till exempel om nÄgon av misstag raderar min nyckel.
Vi gĂ„r till Configuration policy â Directives, till vĂ€nster ser vi «Directive library» Vi hittar «Remote access â SSH authorised keys», till höger klickar vi pĂ„ Skapa Direktivet
Vi anger anvÀndardata och lÀgger till nyckeln. Sedan vÀljer vi tillÀmpningspolicy
Global â Policyn som Ă€r instĂ€lld som standard
Enforce â Utför pĂ„ de valda servrarna
Audit â Genomför en revision och informerar om vilka kunder som har nyckeln

Vi anger alltid vÄr regel

Spara sedan och allt Àr klart.
Kontrollerar

Nyckeln har lagts till framgÄngsrikt
Fördelar
Agenten ger fullstÀndig information om servern. Listor över installerade paket, grÀnssnitt, öppna portar och mycket mer, som du kan se i skÀrmdumpen nedan

Du kan ocksÄ installera och kontrollera programvaran inte bara pÄ Linux utan Àven pÄ Windows, jag har inte kontrollerat det senaste, det har inte varit nödvÀndigt.
FrÄn författaren
Du kanske undrar varför man ska uppfinna hjulet pÄ nytt, nÀr Ansible och Puppet redan Àr uppfunna?
Jag svarar: Ansible har sina nackdelar, till exempel ser vi inte i vilket tillstÄnd den aktuella konfigurationen Àr, eller den alltför vÀlkÀnda situationen nÀr man kör en roll eller playbook och det kommer upp felmeddelanden om krasch, och man mÄste gÄ in pÄ servern och kolla vilken paket som har uppdaterats. Jag har dock inte arbetat med Puppet.
Finns det nackdelar med Rudder? MÄnga... FrÄn att agenterna slutar fungera och man mÄste installera om dem eller anvÀnda kommandot rudder reset. (Men förresten har jag inte sett detta i version 6), till den extremt komplicerade konfigurationen och den ologiska grÀnssnittet.
Finns det fördelar? Och det finns mĂ„nga: Till skillnad frĂ„n det vĂ€lkĂ€nda Ansible finns det en webbgrĂ€nssnitt dĂ€r vi kan se compliance vi har tillĂ€mpat. Till exempel â Ă€r portar öppna mot omvĂ€rlden, i vilket tillstĂ„nd Ă€r brandvĂ€ggen, Ă€r sĂ€kerhetsagenter installerade eller andra tjĂ€nster.
Denna programvara passar utmÀrkt för informationssÀkerhetsavdelningen, eftersom tillstÄndet för infrastrukturen alltid kommer att vara i fokus, och om nÄgot av reglerna lyser rött, Àr det en anledning att besöka servern. Som jag har sagt, jag har anvÀnt Rudder i tvÄ Är, och om man bekantar sig med det lite, sÄ blir livet bÀttre. Det svÄraste i en stor infrastruktur Àr att man inte minns i vilket tillstÄnd servern Àr, har man missat installationen av sÀkerhetsagenter eller har man konfigurerat iptables korrekt? Rudder hjÀlper dig att hÄlla dig informerad om alla hÀndelser. Informerad Àr bevÀpnad! )
P.S. Det blev mycket mer Àn jag hade planerat, jag kommer inte att beskriva hur man installerar paket, om det skulle komma förfrÄgningar kan jag skriva en del tvÄ.
P.S.S Artikeln Àr av informativ karaktÀr, jag bestÀmde mig för att dela detta eftersom det finns vÀldigt lite information pÄ internet. Kanske detta kommer att vara intressant för nÄgon. Ha en bra tid pÄ dagen, kÀra vÀnner )
I reklamens namn
Episk server â detta Ă€r eller Windows med kraftfulla processorer frĂ„n AMD EPYC-familjen och mycket snabba NVMe-diskar frĂ„n Intel. Skynda dig att bestĂ€lla!

KĂ€lla: habr.com
