Forord
Vårt "vennskap" begynte for to år siden. Jeg kom til et nytt arbeidssted, hvor den forrige administratoren tilfeldig etterlot meg denne programvaren som en arv. Jeg kunne ikke finne noe annet på Internett enn offisiell dokumentasjon. Selv nå, hvis du googler "ror", vil det i 99% av tilfellene komme opp med: skipsror og quadcopters. Jeg klarte å finne en tilnærming til ham. Siden fellesskapet til denne programvaren er ubetydelig, bestemte jeg meg for å dele min erfaring og rake. Jeg tror dette vil være nyttig for noen.
Så Rudder
Rudder er et revisjons- og konfigurasjonsadministrasjonsverktøy med åpen kildekode som hjelper til med å automatisere systemkonfigurasjon. Det fungerer etter prinsippet om å installere en agent for hver sluttbruker. Gjennom et praktisk grensesnitt kan vi overvåke hvor mye infrastrukturen vår samsvarer med alle spesifiserte retningslinjer.
Bruk
Nedenfor vil jeg liste opp hva jeg bruker Rudder til.
-
Kontroll av filer og konfigurasjoner: ./ssh/authorized_keys ; /etc/hosts ; iptables ; (og så hvor fantasien din leder)
-
Kontroll av installerte pakker: zabbix.agent eller annen programvare
Serverinstallasjon
Nylig oppdaterte jeg fra versjon 5 til 6.1, alt gikk bra. Nedenfor er kommandoene for Deban/Ubuntu, men det er også støtte:
Jeg vil gjemme installasjonen i spoilere for ikke å distrahere deg.
Spoiler
Avhengigheter
ror-server krever Java RE minst versjon 8, kan installeres fra standardlageret:
Sjekker om den er installert
java -version
hvis konklusjonen
-bash: java: command not found
installer deretter
apt install default-jre
Сервер
Importerer nøkkelen
wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -
Her er selve trykket
pub 4096R/474A19E8 2011-12-15 Rudder Project (release key) <[email protected]>
Key fingerprint = 7C16 9817 7904 212D D58C B4D1 9322 C330 474A 19E8
Siden vi ikke har et betalt abonnement, legger vi til følgende depot
echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list
Oppdater listen over depoter og installer serveren
apt update
apt install rudder-server-root
Opprett brukeradministrator
rudder server create-user -u admin -p "Ваш Пароль"
I fremtiden kan vi administrere brukere gjennom konfigurasjonen
Det er det, serveren er klar.
Server Tuning
Nå må du legge til IP-adressene til agentene eller et helt subnett til roragenten, vi fokuserer på sikkerhetspolicyen.
Innstillinger -> Generelt
I feltet "Legg til et nettverk" skriver du inn adressen og masken i formatet xxxx/xx. For å tillate tilgang fra alle adresser til det interne nettverket (med mindre dette selvfølgelig er et testnettverk og du står bak NAT), skriv inn: 0.0.0.0/0
Viktig - etter å ha lagt til ip-adressen, ikke glem å klikke på Lagre endringer, ellers vil ingenting bli lagret.
porter
Åpne følgende porter på serveren
-
443 - tcp
-
5309 - tcp
-
514 - utp
Vi har ordnet opp i det første serveroppsettet.
Agentinstallasjon
Spoiler
Legger til en nøkkel
wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -
Nøkkelfingeravtrykk
pub 4096R/474A19E8 2011-12-15 Rudder Project (release key) <[email protected]>
Key fingerprint = 7C16 9817 7904 212D D58C B4D1 9322 C330 474A 19E8
Legger til et depot
echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list
Installerer agenten
apt update
apt install rudder-agent
Agentoppsett
Vi indikerer til agenten IP-adressen til policyserveren
rudder agent policy-server <rudder server ip or hostname> #Без скобок. Можно также использовать доменное имя
Ved å kjøre følgende kommando vil vi sende en forespørsel om å legge til en ny agent til serveren, om et par minutter vil den vises i listen over nye agenter, jeg vil forklare hvordan du legger til i neste seksjon
rudder agent inventory
Vi kan også tvinge agenten til å starte, og den vil sende forespørselen umiddelbart
rudder agent run
Agenten vår er satt opp, la oss gå videre.
Legger til agenter
Logg Inn
https://127.0.0.1/rudder/index.html
Agenten din vises i delen "Godta nye noder", merk av i boksen og klikk på Godta
Det bør ta litt tid før systemet sjekker serveren for samsvar
Opprette servergrupper
La oss lage en gruppe (det er fortsatt gøy), aner ikke hvorfor utviklerne gjorde en så grufull gruppedannelse, men slik jeg forstår det, er det ingen annen måte. Gå til delen Nodeadministrasjon -> Grupper og klikk på Opprett, velg en statisk gruppe og navn.
Vi filtrerer serveren vi trenger etter spesialfunksjoner, for eksempel etter ip-adresse, og lagrer
Gruppen er satt opp.
Sette opp regler
Gå til Konfigurasjonspolicy → Regler og opprett en ny regel
Legg til gruppen forberedt tidligere (dette kan gjøres senere)
Og vi danner et nytt direktiv
La oss lage et direktiv for å legge til offentlige nøkler til .ssh/authorized_keys. Jeg bruker dette når en ny ansatt slutter, eller til gjenforsikring, for eksempel hvis noen ved et uhell kutter ut nøkkelen min.
Gå til Konfigurasjonspolicy → Direktiv til venstre ser vi "Direktivbibliotek" Finn "Fjerntilgang → SSH-autoriserte nøkler", til høyreklikk Opprett direktiv
Vi legger inn informasjon om brukeren og legger til nøkkelen hans. Deretter velger du programpolicy
-
Global – Standard policy
-
Enforce - Utfør på utvalgte servere
-
Revisjon – Skal gjennomføre revisjon og fortelle hvilke kunder som har nøkkelen
Sørg for å angi vår regel
Så lagre og du er ferdig.
Sjekker
Nøkkelen ble lagt til
Boller
Agenten gir fullstendig informasjon om serveren. Lister over installerte pakker, grensesnitt, åpne porter og mye mer, som du kan se på skjermbildet nedenfor
Du kan også installere og kontrollere programvare ikke bare på Linux, men også på Windows, jeg sjekket ikke sistnevnte, det var ikke nødvendig..
Fra forfatteren
Du spør kanskje, hvorfor finne opp hjulet på nytt hvis ansible og marionett allerede er oppfunnet for lenge siden?
Jeg svarer: Ansible har noen ulemper, for eksempel ser vi ikke hvilken tilstand denne konfigurasjonen er i nå, eller den kjente situasjonen når du starter en rolle eller spillebok og krasjfeil vises, og du begynner å klatre opp på serveren og se hvilken pakke har blitt oppdatert hvor. Og jeg jobbet bare ikke med dukke..
Er det noen ulemper med Rudder? Mye.. Med utgangspunkt i at agenter faller av og du må installere dem på nytt eller bruke kommandoen ror reset. (men forresten, jeg har ikke sett dette i versjon 6 ennå), noe som resulterer i ekstremt komplekst oppsett og et ulogisk grensesnitt.
Er det noen fordeler? Og det er også mange fordeler: I motsetning til den velkjente Ansible, har vi et nettgrensesnitt der du kan se samsvaret vi har brukt. For eksempel stikker portene ut i verden, hvordan er tilstanden til brannmuren, er sikkerhetsagenter installert eller andre dingser.
Denne programvaren er perfekt for informasjonssikkerhetsavdelingen, siden tilstanden til infrastrukturen alltid vil være foran øynene dine, og hvis noen av reglene lyser rødt, er dette en grunn til å besøke serveren. Som sagt, jeg har brukt Rudder i 2 år nå, og hvis du røyker det litt, blir livet bedre. Det vanskeligste i en stor infrastruktur er at du ikke husker hvilken tilstand serveren er i, om June gikk glipp av å installere sikkerhetsagenter eller om han konfigurerte iptables riktig, men ror vil hjelpe deg å holde deg oppdatert på alle hendelser. Aware betyr bevæpnet! )
PS Det viste seg mye mer enn jeg planla, jeg vil ikke beskrive hvordan du installerer pakker, hvis det plutselig kommer forespørsler, vil jeg skrive en andre del.
PSS Artikkelen er for informasjonsformål, jeg bestemte meg for å dele den siden det er veldig lite informasjon på Internett. Kanskje dette vil være interessant for noen. Ha en fin dag, kjære venner)
Om rettighetene til annonsering
Episke servere - Er
Kilde: www.habr.com