Predslov
Naše „priateľstvo“ sa začalo pred dvoma rokmi. Prišiel som na nové pôsobisko, kde mi predchádzajúci admin náhodne zanechal tento softvér ako dedičstvo. Na internete som nenašiel nič iné ako oficiálnu dokumentáciu. Dokonca aj teraz, keď si zadáte do googlu „kormidlo“, v 99% prípadov vám príde: lodné prilby a kvadrokoptéry. Podarilo sa mi nájsť k nemu prístup. Keďže komunita tohto softvéru je zanedbateľná, rozhodol som sa podeliť o svoje skúsenosti a hrabať. Myslím, že to bude pre niekoho užitočné.
Takže Kormidlo
Rudder je nástroj na auditovanie a správu konfigurácie s otvoreným zdrojom, ktorý pomáha automatizovať konfiguráciu systému. Funguje na princípe inštalácie agenta pre každého koncového užívateľa. Prostredníctvom pohodlného rozhrania môžeme sledovať, do akej miery naša infraštruktúra spĺňa všetky špecifikované zásady.
Použitie
Nižšie uvediem, na čo používam Kormidlo.
-
Kontrola súborov a konfigurácií: ./ssh/authorized_keys ; /etc/hosts ; iptables; (a potom kam vedie vaša fantázia)
-
Kontrola nainštalovaných balíkov: zabbix.agent alebo akýkoľvek iný softvér
Inštalácia servera
Nedávno som aktualizoval z verzie 5 na 6.1, všetko išlo dobre. Nižšie sú uvedené príkazy pre Deban/Ubuntu, ale existuje aj podpora:
Inštaláciu skryjem do spojlerov, aby som vás nerozptyľoval.
Spojler
Závislosti
kormidlo-server vyžaduje Java RE aspoň verziu 8, dá sa nainštalovať zo štandardného úložiska:
Kontrola, či je nainštalovaný
java -version
ak záver
-bash: java: command not found
potom nainštalujte
apt install default-jre
Server
Import kľúča
wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -
Tu je samotná tlač
pub 4096R/474A19E8 2011-12-15 Rudder Project (release key) <[email protected]>
Key fingerprint = 7C16 9817 7904 212D D58C B4D1 9322 C330 474A 19E8
Keďže nemáme platené predplatné, pridávame nasledujúce úložisko
echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list
Aktualizujte zoznam úložísk a nainštalujte server
apt update
apt install rudder-server-root
Vytvoriť správcu používateľa
rudder server create-user -u admin -p "Ваш Пароль"
V budúcnosti môžeme spravovať používateľov prostredníctvom konfigurácie
To je všetko, server je pripravený.
Ladenie servera
Teraz je potrebné pridať IP adresy agentov alebo celú podsieť do kormidlového agenta, zameriavame sa na bezpečnostnú politiku.
Nastavenia -> Všeobecné
Do poľa „Pridať sieť“ zadajte adresu a masku vo formáte xxxx/xx. Aby ste povolili prístup zo všetkých adries internej siete (ak samozrejme nejde o testovaciu sieť a nie ste za NAT), zadajte: 0.0.0.0/0
Dôležité - po pridaní adresy IP nezabudnite kliknúť na tlačidlo Uložiť zmeny, inak sa nič neuloží.
porty
Otvorte nasledujúce porty na serveri
-
443 - tcp
-
5309 - tcp
-
514 - udp
Vyriešili sme počiatočné nastavenie servera.
Inštalácia agenta
Spojler
Pridanie kľúča
wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -
Odtlačok kľúča
pub 4096R/474A19E8 2011-12-15 Rudder Project (release key) <[email protected]>
Key fingerprint = 7C16 9817 7904 212D D58C B4D1 9322 C330 474A 19E8
Pridanie úložiska
echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list
Inštalácia agenta
apt update
apt install rudder-agent
Nastavenie agenta
Agentovi oznámime IP adresu servera politík
rudder agent policy-server <rudder server ip or hostname> #Без скобок. Можно также использовать доменное имя
Spustením nasledujúceho príkazu odošleme požiadavku na pridanie nového agenta na server, o pár minút sa objaví v zozname nových agentov, ako pridať vysvetlím v ďalšej časti
rudder agent inventory
Môžeme tiež prinútiť agenta, aby spustil a okamžite odošle požiadavku
rudder agent run
Náš agent je pripravený, poďme ďalej.
Pridávanie agentov
Prihlásiť sa
https://127.0.0.1/rudder/index.html
Váš agent sa zobrazí v časti „Prijať nové uzly“, začiarknite políčko a kliknite na tlačidlo Prijať
Systém by mal chvíľu trvať, kým skontroluje súlad servera
Vytváranie skupín serverov
Poďme vytvoriť skupinu (to je stále zábava), netušíme, prečo vývojári urobili takú ohavnú formáciu skupiny, ale ako som pochopil, nie je iná cesta. Prejdite do časti Správa uzlov -> Skupiny a kliknite na Vytvoriť, vyberte statickú skupinu a názov.
Server, ktorý potrebujeme, vyfiltrujeme podľa špeciálnych funkcií, napríklad podľa IP adresy, a uložíme
Skupina je zostavená.
Nastavenie pravidiel
Prejdite do Zásady konfigurácie → Pravidlá a vytvorte nové pravidlo
Pridajte skupinu pripravenú skôr (môžete to urobiť neskôr)
A tvoríme novú smernicu
Vytvorme si smernicu na pridávanie verejných kľúčov do .ssh/authorized_keys. Používam to pri odchode nového zamestnanca, alebo napríklad na preistenie, ak mi niekto náhodou vystrihne kľúč.
Prejdite na Zásady konfigurácie → Direktívy vľavo vidíme „Knižnica smerníc“ Nájdite „Vzdialený prístup → Autorizované kľúče SSH“, vpravo kliknite na Vytvoriť smernicu
Zadáme informácie o používateľovi a pridáme jeho kľúč. Ďalej vyberte politiku aplikácie
-
Globálne – Predvolená politika
-
Vynútiť – spustiť na vybraných serveroch
-
Audit – vykoná audit a povie, ktorí klienti majú kľúč
Nezabudnite uviesť naše pravidlo
Potom uložte a máte hotovo.
check
Kľúč bol úspešne pridaný
Buchty
Agent poskytuje úplné informácie o serveri. Zoznamy nainštalovaných balíkov, rozhraní, otvorených portov a oveľa viac, ktoré môžete vidieť na obrázku nižšie
Softvér môžete nainštalovať a ovládať nielen v systéme Linux, ale aj v systéme Windows, toto som nekontroloval, nebolo to potrebné.
Od autora
Možno sa pýtate, prečo znovu vynájsť koleso, ak ansible a bábka už boli dávno vynájdené?
Odpovedám: Ansible má určité nevýhody, napríklad nevidíme, v akom stave je teraz táto konfigurácia, alebo známa situácia, keď spustíte rolu alebo playbook a objavia sa chyby zrútenia a začnete liezť na server a uvidíte aký balík bol kde aktualizovaný. A to som jednoducho nepracoval s bábkou..
Má kormidlo nejaké nevýhody? Veľa.. Počnúc tým, že agenti odpadávajú a musíte ich preinštalovať alebo použiť príkaz reset kormidla. (ale mimochodom, vo verzii 6 som to ešte nevidel), čo má za následok mimoriadne zložité nastavenie a nelogické rozhranie.
Sú nejaké výhody? A je tu aj veľa výhod: Na rozdiel od známeho Ansible máme webové rozhranie, v ktorom si môžete pozrieť, aký súlad sme aplikovali. Napríklad, či porty trčia do sveta, v akom stave je firewall, či sú nainštalované bezpečnostné agenty alebo iné pomôcky.
Tento softvér je ideálny pre oddelenie informačnej bezpečnosti, pretože stav infraštruktúry budete mať vždy na očiach a ak sa niektoré z pravidiel rozsvieti na červeno, je to dôvod na návštevu servera. Ako som povedal, používam Rudder už 2 roky a ak ho trochu fajčíte, život sa zlepší. Najťažšia vec vo veľkej infraštruktúre je, že si nepamätáte, v akom stave je server, či June zmeškal inštaláciu bezpečnostných agentov alebo či správne nakonfiguroval iptables, ale kormidlo vám pomôže držať krok so všetkými udalosťami. Aware znamená ozbrojený! )
PS Vyšlo to oveľa viac, ako som plánoval, nebudem popisovať, ako nainštalovať balíčky, ak sa zrazu objavia požiadavky, napíšem druhú časť.
PSS Článok je informatívny, rozhodol som sa ho zdieľať, keďže na internete je veľmi málo informácií. Možno to bude pre niekoho zaujímavé. Prajem pekný deň, milí priatelia)
O právach reklamy
Epické servery - je
Zdroj: hab.com