předmluva
Naše „přátelství“ začalo před dvěma lety. Přišel jsem na nové působiště, kde mi předchozí admin náhodně zanechal tento software jako dědictví. Na internetu jsem nenašel nic jiného než oficiální dokumentaci. I teď, když si zadáte do googlu „kormidlo“, v 99 % případů vám to přijde: lodní kormidla a kvadrokoptéry. Podařilo se mi k němu najít přístup. Protože komunita tohoto softwaru je zanedbatelná, rozhodl jsem se podělit o své zkušenosti a rake. Myslím, že se to někomu bude hodit.
Takže Kormidlo
Rudder je nástroj pro audit a správu konfigurace s otevřeným zdrojovým kódem, který pomáhá automatizovat konfiguraci systému. Funguje na principu instalace agenta pro každého koncového uživatele. Prostřednictvím pohodlného rozhraní můžeme sledovat, do jaké míry naše infrastruktura vyhovuje všem stanoveným zásadám.
Použití
Níže uvedu, k čemu používám Rudder.
-
Kontrola souborů a konfigurací: ./ssh/authorized_keys ; /etc/hosts ; iptables; (a kam potom vede vaše představivost)
-
Kontrola nainstalovaných balíčků: zabbix.agent nebo jakýkoli jiný software
Instalace serveru
Onehdy jsem upgradoval z verze 5 na 6.1, vše šlo dobře. Níže budou uvedeny příkazy pro Deban/Ubuntu, ale také podpora:
Instalaci schovám do spoilerů, abych vás nerozptylovala.
Spoiler
Závislosti
rudder-server vyžaduje alespoň Java RE verze 8, lze nainstalovat ze standardního úložiště:
Zkontrolujte, zda je nainstalován
java -version
pokud výstup
-bash: java: command not found
poté nainstalujte
apt install default-jre
Server
Import klíče
wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -
Zde je otisk
pub 4096R/474A19E8 2011-12-15 Rudder Project (release key) <[email protected]>
Key fingerprint = 7C16 9817 7904 212D D58C B4D1 9322 C330 474A 19E8
Protože nemáme placené předplatné, přidáváme následující úložiště
echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list
Aktualizujte seznam úložišť a nainstalujte server
apt update
apt install rudder-server-root
Vytvořit uživatele admin
rudder server create-user -u admin -p "Ваш Пароль"
V budoucnu můžeme spravovat uživatele prostřednictvím config
Vše, server je připraven.
Ladění serveru
Nyní je potřeba přidat IP adresy agentů nebo celou podsíť do kormidelního agenta se zaměřením na bezpečnostní politiku.
Nastavení -> Obecné
Do pole „Přidat síť“ zadejte adresu a masku ve formátu xxxx/xx. Chcete-li povolit přístup ze všech adres vnitřní sítě (pokud se samozřejmě nejedná o testovací síť a nejste za NAT), zadejte: 0.0.0.0/0
Důležité - po přidání ip adresy nezapomeňte kliknout na Uložit změny, jinak se nic neuloží.
Порты
Otevřete na serveru následující porty
-
443 - tcp
-
5309-tcp
-
514-udp
Vyřešili jsme počáteční nastavení serveru.
Instalace agenta
Spoiler
Přidání klíče
wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -
Klíčový otisk prstu
pub 4096R/474A19E8 2011-12-15 Rudder Project (release key) <[email protected]>
Key fingerprint = 7C16 9817 7904 212D D58C B4D1 9322 C330 474A 19E8
Přidání úložiště
echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list
Instalace agenta
apt update
apt install rudder-agent
Nastavení agenta
Zadejte ip adresu serveru politik pro agenta
rudder agent policy-server <rudder server ip or hostname> #Без скобок. Можно также использовать доменное имя
Spuštěním následujícího příkazu odešleme požadavek na přidání nového agenta na server, za pár minut se objeví v seznamu nových agentů, jak přidat vysvětlím v další části
rudder agent inventory
Můžeme také přinutit agenta, aby se spustil, a ten požadavek okamžitě odešle
rudder agent run
Náš agent je připraven, pojďme dál.
Přidávání agentů
Přihlásit se
https://127.0.0.1/rudder/index.html
Váš agent se objeví v sekci "Přijmout nové uzly", zaškrtněte políčko a klikněte na Přijmout
Systém by měl chvíli trvat, než systém zkontroluje shodu serveru
Vytvořte skupiny serverů
Pojďme vytvořit skupinu (to je ještě zábava), aniž bychom věděli, proč vývojáři vytvořili takové hemeroidní formace skupin, ale jak jsem pochopil, není jiné cesty. Přejděte do sekce Správa uzlů -> Skupiny a klikněte na Vytvořit, vyberte statickou skupinu a název.
Server, který potřebujeme, vyfiltrujeme podle speciálních funkcí, například podle IP adresy, a uložíme
Skupina je ustavena.
Nastavení pravidel
Přejděte do Zásady konfigurace → Pravidla a vytvořte nové pravidlo
Přidejte skupinu připravenou dříve (to lze provést později)
A tvoříme novou směrnici
Vytvořme direktivu pro přidání veřejných klíčů do .ssh/authorized_keys. To využívám při odchodu nového zaměstnance nebo třeba k zajištění, když mi někdo omylem vystřihne klíč.
Přejděte na Zásady konfigurace → Direktivy vlevo, vidíme „Knihovna směrnic“ Najděte „Vzdálený přístup → Autorizované klíče SSH“, vpravo klikněte na Vytvořit směrnici
Zadáme údaje o uživateli a přidáme jeho klíč. Dále vyberte zásady aplikace
-
Globální – výchozí zásady
-
Vynutit – spustit na vybraných serverech
-
Audit – Proveďte audit a sdělte, kteří klienti mají klíč
Nezapomeňte specifikovat naše pravidlo
Poté uložte a máte hotovo.
Zkontrolujte
Klíč byl úspěšně přidán
Buchty
Agent poskytuje úplné informace o serveru. Seznamy nainstalovaných balíčků, rozhraní, otevřených portů a mnoho dalšího, které můžete vidět na obrázku níže
Můžete také nainstalovat a ovládat software nejen na Linuxu, ale také na Windows, to jsem nekontroloval, nebylo potřeba..
Od autora
Určitě se ptáte, proč znovu vynalézat kolo, když ansible a loutka už byly dávno vynalezeny?
Odpovídám: Ansible má nevýhody, například nevidíme, v jakém stavu je tato konfigurace nyní, nebo každý zná situaci, kdy spustíte roli nebo playbook a poletí chyby zhroucení a začnete lézt na server a uvidíte který balíček byl kde aktualizován. A to jsem prostě nepracoval s loutkou..
Má Rudder nějaké nevýhody? Hodně.. Počínaje tím, že agenti odpadnou a musíte je znovu nainstalovat nebo použít příkaz reset kormidla. (ale mimochodem, ve verzi 6 jsem to ještě neviděl), což má za následek extrémně složité nastavení a nelogické rozhraní.
Existují nějaké výhody? A je tu i spousta plusů: Na rozdíl od známého ansible máme webové rozhraní, ve kterém vidíme námi uplatňovaný soulad. Například zda porty trčí do světa, v jakém stavu je firewall, zda jsou nainstalováni bezpečnostní agenti nebo jiní zbloudilí.
Tento software je ideální pro oddělení informační bezpečnosti, protože stav infrastruktury budete mít neustále na očích, a pokud se některé z pravidel rozsvítí červeně, je to důvod k návštěvě serveru. Jak jsem řekl, používám Rudder už 2 roky, a když ho trochu kouříte, život se zlepší. Nejobtížnější věcí ve velké infrastruktuře je, že si nepamatujete, v jakém stavu je server, zda June zmeškal instalaci bezpečnostních agentů nebo zda správně nakonfiguroval iptables, ale kormidlo vám pomůže udržet krok se všemi událostmi. Vědomý znamená ozbrojený! )
PS Vyšlo to mnohem víc, než jsem plánoval, nebudu popisovat jak instalovat balíčky, pokud budou nějaké požadavky, napíšu druhý díl.
PSS Článek je informativní, rozhodl jsem se ho sdílet, protože informací je na internetu velmi málo. Třeba to někoho bude zajímat. Přeji hezký den vážení přátelé
Jako reklama
Epické servery - Je
Zdroj: www.habr.com