Forord
Vores "venskab" begyndte for to år siden. Jeg kom til en ny arbejdsplads, hvor den tidligere administrator tilfældigt efterlod mig denne software som en arv. Jeg kunne ikke finde andet på internettet end officiel dokumentation. Selv nu, hvis du googler "ror", vil det i 99% af tilfældene komme op med: skibshjelme og quadcoptere. Det lykkedes mig at finde en tilgang til ham. Da fællesskabet af denne software er ubetydeligt, besluttede jeg at dele min erfaring og rake. Jeg tror, det vil være nyttigt for nogen.
Så Rudder
Rudder er et open source-revisions- og konfigurationsstyringsværktøj, der hjælper med at automatisere systemkonfigurationen. Det fungerer efter princippet om at installere en agent for hver slutbruger. Gennem en praktisk grænseflade kan vi overvåge, hvor meget vores infrastruktur overholder alle specificerede politikker.
Brug
Nedenfor vil jeg liste, hvad jeg bruger Rudder til.
-
Kontrol af filer og konfigurationer: ./ssh/authorized_keys ; /etc/hosts ; iptables ; (og så hvor din fantasi fører hen)
-
Kontrol af installerede pakker: zabbix.agent eller enhver anden software
Server installation
For nylig opdaterede jeg fra version 5 til 6.1, alt gik godt. Nedenfor er kommandoerne til Deban/Ubuntu, men der er også support:
Jeg gemmer installationen i spoilere for ikke at distrahere dig.
Spoiler
Afhængigheder
rudder-server kræver Java RE mindst version 8, kan installeres fra standardlageret:
Tjek om det er installeret
java -version
hvis konklusionen
-bash: java: command not found
installer derefter
apt install default-jre
Server
Importerer nøglen
wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -
Her er selve printet
pub 4096R/474A19E8 2011-12-15 Rudder Project (release key) <[email protected]>
Key fingerprint = 7C16 9817 7904 212D D58C B4D1 9322 C330 474A 19E8
Da vi ikke har et betalt abonnement, tilføjer vi følgende lager
echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list
Opdater listen over lagre og installer serveren
apt update
apt install rudder-server-root
Opret brugeradmin
rudder server create-user -u admin -p "Ваш Пароль"
I fremtiden kan vi administrere brugere gennem config
Det er det, serveren er klar.
Server Tuning
Nu skal du tilføje agenternes IP-adresser eller et helt undernet til roragenten, vi fokuserer på sikkerhedspolitikken.
Indstillinger -> Generelt
I feltet "Tilføj et netværk" skal du indtaste adressen og masken i formatet x.x.x.x/xx. For at tillade adgang fra alle adresser på det interne netværk (Medmindre dette selvfølgelig er et testnetværk, og du er bag NAT), skal du indtaste: 0.0.0.0/0
Vigtigt - efter tilføjelse af ip-adressen, glem ikke at klikke på Gem ændringer, ellers bliver intet gemt.
havne
Åbn følgende porte på serveren
-
443 - tcp
-
5309 - tcp
-
514 - udp
Vi har ordnet den indledende serveropsætning.
Agent installation
Spoiler
Tilføjelse af en nøgle
wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -
Nøglens fingeraftryk
pub 4096R/474A19E8 2011-12-15 Rudder Project (release key) <[email protected]>
Key fingerprint = 7C16 9817 7904 212D D58C B4D1 9322 C330 474A 19E8
Tilføjelse af et lager
echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list
Installation af agenten
apt update
apt install rudder-agent
Agent opsætning
Vi angiver til agenten IP-adressen på politikserveren
rudder agent policy-server <rudder server ip or hostname> #Без скобок. Можно также использовать доменное имя
Ved at køre følgende kommando vil vi sende en anmodning om at tilføje en ny agent til serveren, om et par minutter vil den vises på listen over nye agenter, jeg vil forklare hvordan man tilføjer i næste afsnit
rudder agent inventory
Vi kan også tvinge agenten til at starte, og den sender anmodningen med det samme
rudder agent run
Vores agent er oprettet, lad os gå videre.
Tilføjelse af agenter
Log på
https://127.0.0.1/rudder/index.html
Din agent vises i sektionen "Accepter nye noder", marker afkrydsningsfeltet, og klik på Accepter
Det bør tage lidt tid, før systemet tjekker serveren for overholdelse
Oprettelse af servergrupper
Lad os skabe en gruppe (det er stadig underholdning), ingen idé om hvorfor udviklerne lavede sådan en afskyelig gruppedannelse, men som jeg forstår det, er der ingen anden måde. Gå til sektionen Nodestyring -> Grupper og klik på Opret, vælg en statisk gruppe og navn.
Vi filtrerer den server, vi har brug for, efter specielle funktioner, for eksempel efter ip-adresse, og gemmer
Gruppen er oprettet.
Opsætning af regler
Gå til Konfigurationspolitik → Regler, og opret en ny regel
Tilføj gruppen forberedt tidligere (dette kan gøres senere)
Og vi danner et nyt direktiv
Lad os oprette et direktiv til at tilføje offentlige nøgler til .ssh/authorized_keys. Det bruger jeg, når en ny medarbejder går, eller til genforsikring, for eksempel, hvis nogen ved et uheld skærer min nøgle ud.
Gå til Konfigurationspolitik → Direktiver til venstre ser vi "Directive library" Find "Fjernadgang → SSH-autoriserede nøgler", til højre klik på Opret direktiv
Vi indtaster oplysninger om brugeren og tilføjer hans nøgle. Vælg derefter ansøgningspolitikken
-
Global - Standardpolitik
-
Håndhæv - Udfør på udvalgte servere
-
Revision - Vil gennemføre en revision og fortælle, hvilke kunder der har nøglen
Sørg for at angive vores regel
Så gem og du er færdig.
Kontrol
Nøglen blev tilføjet
Boller
Agenten giver fuldstændige oplysninger om serveren. Lister over installerede pakker, grænseflader, åbne porte og meget mere, som du kan se på skærmbilledet nedenfor
Du kan også installere og styre softwaren ikke kun på Linux, men også på Windows, jeg tjekkede ikke sidstnævnte, der var ikke behov..
Fra forfatteren
Du spørger måske, hvorfor genopfinde hjulet, hvis ansible og marionet allerede er opfundet for længe siden?
Jeg svarer: Ansible har nogle ulemper, for eksempel kan vi ikke se, hvilken tilstand denne konfiguration er i nu, eller den velkendte situation, når du starter en rolle eller playbook og der opstår crashfejl, og du begynder at klatre op på serveren og se hvilken pakke er blevet opdateret hvor. Og jeg arbejdede bare ikke med dukke..
Er der nogen ulemper ved Rudder? Meget.. Ud fra det faktum, at agenter falder af, og du skal geninstallere dem eller bruge kommandoen til nulstilling af ror. (men i øvrigt har jeg ikke set dette i version 6 endnu), hvilket resulterer i ekstremt kompleks opsætning og en ulogisk grænseflade.
Er der nogle fordele? Og der er også en masse fordele: I modsætning til det velkendte Ansible har vi en webgrænseflade, hvor du kan se den compliance, vi har anvendt. For eksempel, stikker portene ud i verden, hvordan er firewallens tilstand, er sikkerhedsagenter installeret eller andre gadgets.
Denne software er perfekt til informationssikkerhedsafdelingen, da infrastrukturens tilstand altid vil være foran dine øjne, og hvis nogen af reglerne lyser rødt, så er dette en grund til at besøge serveren. Jeg har som sagt brugt Rudder i 2 år nu, og ryger man lidt på det, bliver livet bedre. Det sværeste i en stor infrastruktur er, at du ikke husker, hvilken tilstand serveren er i, om June missede installation af sikkerhedsagenter, eller om han konfigurerede iptables korrekt, men ror vil hjælpe dig med at holde dig ajour med alle begivenheder. Aware betyder bevæbnet! )
P.S. Det viste sig meget mere, end jeg havde planlagt, jeg vil ikke beskrive, hvordan man installerer pakker, hvis der pludselig er anmodninger, vil jeg skrive en anden del.
P.S.S. Artiklen er til informationsformål, jeg besluttede at dele den, da der er meget lidt information på internettet. Måske vil dette være interessant for nogen. Hav en god dag, kære venner)
Om reklamernes rettigheder
Episke servere - Er
Kilde: www.habr.com