
Forord
Vores 'venner' begyndte for to Är siden. Jeg startede pÄ en ny arbejdsplads, hvor den tidligere administrator afslappet efterlod denne software til mig. Udover den officielle dokumentation kunne jeg ikke finde noget pÄ internettet. Selv nu, hvis man googler 'rudder', vil det i 99% af tilfÊldene vise: skibe og quadcoptere. Jeg fandt en tilgang til det. Da fÊllesskabet for denne software er uhyre lille, besluttede jeg at dele mine erfaringer og problemer. Jeg tror, det vil vÊre nyttigt for nogen.
SĂ„, Rudder
Rudder er et open source-vÊrktÞj til audit og konfigurationsstyring, som hjÊlper med at automatisere systemkonfiguration. Det fungerer ved at installere en agent pÄ hver slutbruger. Gennem et brugervenligt interface kan vi se, i hvor hÞj grad vores infrastruktur opfylder alle fastsatte politikker.
Brugen af
Nedenfor vil jeg liste, hvad jeg bruger Rudder til.
Kontrol af filer og konfigurationer: ./ssh/authorized_keys; /etc/hosts; iptables; (og derfra videre, hvor fantasien fĂžrer hen)
Kontrol af installerede pakker: zabbix.agent eller anden software
Serverinstallation
For nylig opdaterede jeg fra version 5 til 6.1, alt gik glat. Nedenfor vil der blive prÊsenteret kommandoer til Debian/Ubuntu, men der er ogsÄ support for: og .
Jeg vil skjule installationen i spoiler, sÄ du ikke bliver distraheret.
Spoiler
AfhĂŠngigheder
For at installere rudder-server krĂŠves minimum Java RE version 8, som kan installeres fra det standard depot:
Tjekker, om den er installeret
java -versionhvis output
-bash: java: command not foundsÄ installer den
apt install default-jreServer
Importer nĂžgle
wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -Her er selve fingeraftrykket
pub 4096R/474A19E8 2011-12-15 Rudder Project (release key)
NĂžglefingeraftryk = 7C16 9817 7904 212D D58C B4D1 9322 C330 474A 19E8Da vi ikke har et betalt abonnement, tilfĂžjer vi fĂžlgende repository
echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.listOpdaterer repository-listen og installerer serveren
apt update
apt install rudder-server-rootOpretter brugeren admin
rudder server create-user -u admin -p "Dit Adgangskode"Senere kan vi administrere brugerne gennem konfigurationen
Det er det, serveren er klar.
Serverkonfiguration
Nu er det nÞdvendigt at tilfÞje IP-adresserne pÄ agenterne eller hele subnettet til Rudder-agenten, baseret pÄ sikkerhedspolitikken.
Indstillinger â> Generelt

I felt like I was overdressed for the occasion.
It's important to remember to save changes after adding the IP address, otherwise nothing will be saved.
Ports
We need to open the following ports on the server
443 â tcp
5309 â tcp
514 â udp
We have dealt with the initial server setup.
Agent Installation
Spoiler
Add key
wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -Key fingerprint
pub 4096R/474A19E8 2011-12-15 Rudder Project (release key)
NĂžglefingeraftryk = 7C16 9817 7904 212D D58C B4D1 9322 C330 474A 19E8Add repository
echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.listInstall agent
apt update
apt install rudder-agentAgent configuration
We will specify the policy server's IP address to the agent
rudder agent policy-server #Without brackets. A domain name can also be used. By running the following command, we will send a request to add a new agent to the server. The agent will appear in the list of new agents within a few minutes. I will explain how to add in the next section.
rudder agent inventoryWe can also force the agent to run and send a request immediately
rudder agent runOur agent is configured, let's move on.
Adding agents
Log in
https://127.0.0.1/rudder/index.html

In the 'Accept new nodes' section, your agent will appear, check the box and click Accept.

It will take some time for the system to verify the server's compliance.
Creating server groups
Let's create a group (it's quite an ordeal), and I'm not sure why the developers made group formation so cumbersome. Anyway, go to the Node management -> Groups section and click on Create, then select a static group and name it.

Filter the necessary server by specific features, for example by IP address, and save it.

Group is configured.
Rules configuration
Go to Configuration policy â Rules, and create a new rule.

Add the previously prepared group (this can be done later as well).

And create a new directive.

Let's create a directive for adding public keys to .ssh/authorized_keys. I use this in case a new employee comes in or as a precaution, for example if someone accidentally removes my key.
Go to Configuration policy â Directives, on the left we see 'Directive library'. Find 'Remote access â SSH authorised keys', then click Create Directive on the right.
Enter user data and add their key. Next, select the application policy.
Global â Policy set by default.
Enforce â Execute on selected servers.
Audit â UdfĂžrer en revision og fortĂŠller, hvilke kunder der har nĂžglen

Vi angiver bestemt vores regel

Derefter gemmer vi, og alt er klar.
Vi tjekker

NĂžglen er blevet tilfĂžjet med succes
Goder
Agenten giver fuld information om serveren. Lister over installerede pakker, interfaces, Äbne porte og meget mere, som du kan se pÄ skÊrmbilledet nedenfor

Det er ogsÄ muligt at installere og kontrollere software ikke kun pÄ Linux, men ogsÄ pÄ Windows; det sidste har jeg ikke tjekket, da der ikke var behov for det..
Fra forfatteren
Du spÞrger mÄske, hvorfor opfinde cyklen igen, nÄr der allerede er eksisterende lÞsninger som Ansible og Puppet?
Jeg svarer: Ansible har sine ulemper, fx kan vi ikke se, i hvilken tilstand denne konfiguration er, eller den velkendte situation, hvor man kÞrer en rolle eller playbook og sÄ kommer der fejl om nedbrud, og man mÄ begynde at kigge pÄ serveren for at se, hvilken pakke der er blevet opdateret. Og jeg har simpelthen ikke arbejdet med Puppet..
Er der ulemper ved Rudder? Mange.. Fra at agenterne falder ud, og man skal geninstallere dem eller bruge kommandoen rudder reset. (men forresten har jeg ikke set det i version 6 endnu), til en ekstremt kompleks opsĂŠtning og en ulogisk interface.
Er der fordele? Der er masser af fordele: I modsĂŠtning til det velkendte Ansible har vi et webinterface, hvor vi kan se den compliance, vi har anvendt. For eksempel â er der Ă„bne porte mod verden, hvordan stĂ„r det til med firewall'en, er sikkerhedsagenterne installeret eller andre ting.
Denne software er perfekt til IT-sikkerhedsafdelingen, da tilstanden i infrastrukturen altid vil vÊre synlig, og hvis nogen af reglerne bliver rÞde, er det grund til at besÞge serveren. Som jeg har sagt, har jeg brugt Rudder i 2 Är nu, og hvis man bruger lidt tid pÄ det, bliver livet lettere. Det mest udfordrende i en stor infrastruktur er, at man ikke kan huske, i hvilken tilstand serveren er, om en junior har glemt at installere sikkerhedsagenterne eller om iptables er konfigureret korrekt, Rudder hjÊlper dig med at vÊre opdateret om alle begivenheder. Informeret er lig med bevÊbnet! )
P.S. Det blev meget mere, end jeg havde planlagt, jeg vil ikke beskrive, hvordan man installerer pakker; hvis der er forespĂžrgsler, skriver jeg del to.
P.S.S Artiklen er informativ, og jeg har besluttet at dele den, da der er meget lidt information pÄ internettet. MÄske vil dette interessere nogen. God dag, kÊre venner )
Annoncering
Episk servere â det er eller Windows med kraftige processorer fra AMD EPYC-familien og meget hurtige NVMe-diske fra Intel. Skynd dig at bestille!

Kilde: habr.com
