Esipuhe
"Ystävyytemme" alkoi kaksi vuotta sitten. Tulin uudelle työpaikalle, jossa edellinen ylläpitäjä jätti minulle tämän ohjelmiston satunnaisesti perinnöksi. En löytänyt netistä mitään muuta kuin virallisia asiakirjoja. Jo nyt, jos googlettaa "rudder", 99 %:ssa tapauksista se keksii: laivojen ruorit ja nelikopterit. Onnistuin löytämään lähestymistavan häneen. Koska tämän ohjelmiston yhteisö on mitätön, päätin jakaa kokemukseni ja rakeaa. Uskon, että tästä on jollekin hyötyä.
Rudder siis
Rudder on avoimen lähdekoodin tarkastus- ja kokoonpanonhallintaapuohjelma, joka auttaa automatisoimaan järjestelmän määrityksen. Se toimii periaatteella, että jokaiselle loppukäyttäjälle asennetaan agentti. Kätevän käyttöliittymän kautta voimme valvoa, kuinka paljon infrastruktuurimme noudattaa kaikkia määritettyjä käytäntöjä.
Käyttää
Alla listaan mihin käytän Rudderia.
-
Tiedostojen ja asetusten hallinta: ./ssh/authorized_keys ; /etc/hosts ; iptables; (ja sitten mihin mielikuvituksesi johtaa)
-
Asennettujen pakettien hallinta: zabbix.agent tai mikä tahansa muu ohjelmisto
Palvelimen asennus
Äskettäin päivitin versiosta 5 6.1:een, kaikki meni hyvin. Alla on Deban/Ubuntu komennot, mutta siellä on myös tuki:
Piilotan asennuksen spoilereihin, jotta en häiritse sinua.
Spoileri
Riippuvuudet
ruder-server vaatii Java RE:n vähintään version 8, voidaan asentaa vakiovarastosta:
Tarkistaa, onko se asennettu
java -version
jos johtopäätös
-bash: java: command not found
asenna sitten
apt install default-jre
Server
Avaimen tuonti
wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -
Tässä itse printti
pub 4096R/474A19E8 2011-12-15 Rudder Project (release key) <[email protected]>
Key fingerprint = 7C16 9817 7904 212D D58C B4D1 9322 C330 474A 19E8
Koska meillä ei ole maksullista tilausta, lisäämme seuraavan arkiston
echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list
Päivitä arkistoluettelo ja asenna palvelin
apt update
apt install rudder-server-root
Luo käyttäjäjärjestelmänvalvoja
rudder server create-user -u admin -p "Ваш Пароль"
Jatkossa voimme hallita käyttäjiä asetusten kautta
Siinä kaikki, palvelin on valmis.
Palvelimen viritys
Nyt sinun on lisättävä agenttien IP-osoitteet tai koko aliverkko peräsinagenttiin, keskitymme turvallisuuspolitiikkaan.
Asetukset -> Yleiset
Kirjoita "Lisää verkko" -kenttään osoite ja maski muodossa xxxx/xx. Jos haluat sallia pääsyn kaikista sisäisen verkon osoitteista (ellei tämä tietenkään ole testiverkko ja olet NAT:n takana), kirjoita: 0.0.0.0/0
Tärkeää - ip-osoitteen lisäämisen jälkeen älä unohda napsauttaa Tallenna muutokset, muuten mitään ei tallenneta.
satamat
Avaa seuraavat palvelimen portit
-
443 - tcp
-
5309 - tcp
-
514 - udp
Olemme selvittäneet palvelimen alustavat asetukset.
Agentin asennus
Spoileri
Avaimen lisääminen
wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -
Avaimen sormenjälki
pub 4096R/474A19E8 2011-12-15 Rudder Project (release key) <[email protected]>
Key fingerprint = 7C16 9817 7904 212D D58C B4D1 9322 C330 474A 19E8
Arkiston lisääminen
echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list
Agentin asentaminen
apt update
apt install rudder-agent
Agentin asetukset
Ilmoitamme agentille käytäntöpalvelimen IP-osoitteen
rudder agent policy-server <rudder server ip or hostname> #Без скобок. Можно также использовать доменное имя
Suorittamalla seuraavan komennon lähetämme pyynnön lisätä uusi agentti palvelimelle, parin minuutin kuluttua se ilmestyy uusien agenttien luetteloon, selitän kuinka lisääminen tapahtuu seuraavassa osiossa
rudder agent inventory
Voimme myös pakottaa agentin aloittamaan ja se lähettää pyynnön välittömästi
rudder agent run
Agenttimme on valmis, jatketaan.
Agenttien lisääminen
Kirjaudu sisään
https://127.0.0.1/rudder/index.html
Edustajasi näkyy Hyväksy uudet solmut -osiossa, valitse valintaruutu ja napsauta Hyväksy
Kestää jonkin aikaa, ennen kuin järjestelmä tarkistaa palvelimen vaatimustenmukaisuuden
Palvelinryhmien luominen
Tehdään ryhmä (se on silti viihdettä), ei aavistustakaan miksi kehittäjät tekivät niin hirveän ryhmämuodostelman, mutta ymmärtääkseni ei ole muuta tapaa. Siirry Solmunhallinta -> Ryhmät -osioon ja napsauta Luo, valitse staattinen ryhmä ja nimi.
Suodatamme tarvitsemamme palvelimen erikoisominaisuuksien, esimerkiksi ip-osoitteen, mukaan ja tallennamme
Ryhmä on perustettu.
Sääntöjen asettaminen
Siirry kohtaan Määrityskäytäntö → Säännöt ja luo uusi sääntö
Lisää aiemmin valmisteltu ryhmä (tämän voi tehdä myöhemmin)
Ja muodostamme uuden direktiivin
Luodaan ohje julkisten avainten lisäämiseksi .ssh/authorized_keys-tiedostoon. Käytän tätä, kun uusi työntekijä lähtee, tai esimerkiksi jälleenvakuutukseen, jos joku vahingossa leikkaa avaimeni.
Siirry kohtaan Asetuskäytäntö → Direktiivit vasemmalla, näet "Direktiivikirjasto" Etsi "Etäkäyttö → SSH-valtuutetut avaimet", napsauta oikealla Luo direktiivi
Annamme tietoja käyttäjästä ja lisäämme hänen avaimensa. Valitse seuraavaksi sovelluskäytäntö
-
Globaali - oletuskäytäntö
-
Pakota - Suorita valituilla palvelimilla
-
Audit - Suorittaa tarkastuksen ja kertoo, millä asiakkailla on avain
Muista ilmoittaa sääntömme
Tallenna sitten ja olet valmis.
tarkista
Avain lisätty onnistuneesti
Pullat
Agentti tarjoaa täydelliset tiedot palvelimesta. Luettelot asennetuista paketeista, käyttöliittymistä, avoimista porteista ja paljon muuta, jotka näet alla olevassa kuvakaappauksessa
Voit myös asentaa ja hallita ohjelmistoja ei vain Linuxiin, vaan myös Windowsiin, jälkimmäistä en tarkistanut, ei ollut tarvetta.
Kirjoittajalta
Saatat kysyä, miksi keksiä pyörä uudelleen, jos ansible ja nukke on keksitty jo kauan sitten?
Vastaan: Ansiblessa on puutteita, esim. emme näe missä tilassa tämä konfiguraatio on nyt tai tuttu tilanne, kun käynnistät roolin tai pelikirjan ja tulee kaatumisvirheitä ja alat kiivetä palvelimelle ja katsoa mitä paketti on päivitetty minne. Ja en vain työskennellyt nuken kanssa..
Onko Rudderissa haittoja? Paljon.. Alkaen siitä, että agentit putoavat ja sinun täytyy asentaa ne uudelleen tai käyttää peräsimen nollauskomentoa. (mutta muuten, en ole nähnyt tätä vielä versiossa 6), mikä johtaa erittäin monimutkaisiin asetuksiin ja epäloogiseen käyttöliittymään.
Onko mitään etuja? Ja siinä on myös paljon etuja: Toisin kuin tunnetussa Ansiblessa, meillä on verkkokäyttöliittymä, josta näet noudattamamme vaatimustenmukaisuuden. Esimerkiksi, tunkeutuvatko portit maailmaan, mikä on palomuurin tila, onko asennettuna turvaagentteja tai muita vempaimia.
Tämä ohjelmisto on täydellinen tietoturvaosastolle, koska infrastruktuurin tila on aina silmiesi edessä, ja jos jokin säännöistä palaa punaisena, tämä on syy vierailla palvelimella. Kuten sanoin, olen käyttänyt Rudderia nyt 2 vuotta, ja jos poltat sitä vähän, elämä paranee. Vaikeinta suuressa infrastruktuurissa on, että et muista, missä tilassa palvelin on, onko June jäänyt asentamatta tietoturva-agentteja tai onko hän konfiguroinut iptablesin oikein, mutta peräsin auttaa sinua pysymään ajan tasalla kaikista tapahtumista. Tietoinen tarkoittaa aseistettua! )
PS Se osoittautui paljon enemmän kuin suunnittelin, en kuvaile pakettien asentamista, jos yhtäkkiä tulee pyyntöjä, kirjoitan toisen osan.
PSS Artikkeli on tiedoksi, päätin jakaa sen, koska Internetissä on hyvin vähän tietoa. Ehkä tämä kiinnostaa jotakuta. Hyvää päivää, rakkaat ystävät)
Mainonnan oikeuksista
Epic palvelimet - Onko
Lähde: will.com