ãã®èšäºã¯ãInterSystemsCachéDBMSãé£æåã¢ãŒãã§ã€ã³ã¹ããŒã«ããçµéšãå
±æããããã«æžãããŸããã éçºçšã®DBMSã®æ§æãæŠéæ¡ä»¶ãšã¯éåžžã«ç°ãªãããšã¯èª°ããç¥ã£ãŠããŸãã ååãšããŠãæå°éã®ã»ãã¥ãªãã£èšå®ã§æž©å®€æ¡ä»¶ã§éçºãå®æœããå Žåãã©ã€ãã€ã³ã¿ãŒãããã«ãããžã§ã¯ããæçš¿ãããšãã¯ãæ»æçãªç°å¢ã§ãã®ä¿¡é Œæ§ã®é«ãäžæã®ãªãååšã«æ³šæããå¿
èŠããããŸãã
é«åºŠãªã»ãã¥ãªãã£ã§InterSystemsCachéDBMSãã€ã³ã¹ããŒã«ããæ¹æ³OSã»ãã¥ãªãã£èšå®
ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ããéå§ããå¿
èŠããããŸãã以äžãå®è¡ããå¿
èŠããããŸãã
- CachéDBMSãã¯ãããžãŒã¢ã«ãŠã³ãã®æš©å©ãæå°éã«æãã
- ããŒã«ã«ã³ã³ãã¥ãŒã¿ãŒã®ç®¡çè
ã¢ã«ãŠã³ãã®ååãå€æŽããŸãã
- OSã«æäœéå¿
èŠãªãŠãŒã¶ãŒã®ã¿ãæ®ããŸãã
- OSããã³äœ¿çšãããµãŒãã¹ã®ã»ãã¥ãªãã£æŽæ°ããã°ã©ã ãã¿ã€ã ãªãŒã«ã€ã³ã¹ããŒã«ããŸãã
- ãŠã€ã«ã¹å¯ŸçãœãããŠã§ã¢ã䜿çšããŠå®æçã«æŽæ°ãã
- æªäœ¿çšã®ãµãŒãã¹ããã³ãµãŒãã¹ãç¡å¹åãŸãã¯åé€ããŸãã
- ããŒã¿ããŒã¹ãã¡ã€ã«ãžã®ã¢ã¯ã»ã¹ãå¶éãã
- CachéããŒã¿ãã¡ã€ã«ã«å¯Ÿããæš©éãå¶éããŸãïŒææè
ãšDBAã®ã¿ã«ä»»ããŸãïŒã
- UNIX / Linuxã·ã¹ãã ã®å Žåã次ã®ã¿ã€ãã®ã°ã«ãŒããšãŠãŒã¶ãŒãäœæããå¿
èŠããããŸãããããã¯ã€ã³ã¹ããŒã«åã«äœæããå¿
èŠããããŸãã
- ææè
ã®ãŠãŒã¶ãŒID
- 管çã°ã«ãŒãID
- å
éšCachéã·ã¹ãã ã°ã«ãŒãID
- å
éšCachéãŠãŒã¶ãŒID
InterSystemsCachéã€ã³ã¹ããŒã«æã®ã»ãã¥ãªãã£èšå®
DBMSã¡ãŒã«ãŒã®ã€ã³ã¿ãŒã·ã¹ãã ãºã¯ãCaché2015.2以éã®ããŒãžã§ã³ã«ã®ã¿ã¢ããªã±ãŒã·ã§ã³ãœãªã¥ãŒã·ã§ã³ãå±éããããšã匷ããå§ãããŸãã
ã€ã³ã¹ããŒã«äžã«ã次ã®æé ãå®è¡ããå¿
èŠããããŸãã
- ã€ã³ã¹ããŒã«ã¢ãŒããéžæãã
- ã«ã¹ã¿ã ã»ããã¢ããã€ã³ã¹ããŒã«ã¢ãŒããéžæããã¢ããªã±ãŒã·ã§ã³ãæ©èœããããã«æäœéå¿
èŠãªã³ã³ããŒãã³ãã®ã¿ãéžæããŸãã
- ã€ã³ã¹ããŒã«æã«ãTCPããŒã1972ã€ã³ã¹ããŒã«ã®æšæºãšã¯ç°ãªãSuperServerããŒããæå®ããŸã
- ã€ã³ã¹ããŒã«äžã«ãTCPã€ã³ã¹ããŒã«ã®æšæºããŒã57772ãšã¯ç°ãªãå
éšWebãµãŒããŒã®ããŒããæå®ããŸã
- Cachéã€ã³ã¹ã¿ã³ã¹ã®å Žæã«æšæºã®ãã¹ãšã¯ç°ãªããã¹ãæå®ããŸãïŒWindowsã·ã¹ãã ã®å Žåãããã©ã«ãã®ãã¹ã¯CïŒ\ lnterSystems \ CacheãUNIX / Linuxã·ã¹ãã ã®å Žå-/ usr / Cachesys
ã€ã³ã¹ããŒã«åŸã®Cachéã»ãã¥ãªãã£èšå®
ã€ã³ã¹ããŒã«åŸã次ã®ã¢ã¯ã·ã§ã³ãå®è¡ããå¿
èŠããããŸãïŒãããã®ã»ãšãã©ã¯ãã€ã³ã¹ããŒã«ã¢ãŒãLocked downïŒElevatedïŒäžã«å®è¡ãããŸãïŒã
èªå®ãœãªã¥ãŒã·ã§ã³ã®ã¢ããªã±ãŒã·ã§ã³ã·ã¹ãã ã§äœ¿çšãããŠããªããã¹ãŠã®ãµãŒãã¹ãšãªãœãŒã¹ãç¡å¹ã«ããŸããã
ãããã¯ãŒã¯ã¢ã¯ã»ã¹ã䜿çšãããµãŒãã¹ã®å Žåããªã¢ãŒãã€ã³ã¿ã©ã¯ã·ã§ã³ãå¯èœãªIPã¢ãã¬ã¹ãæ瀺çã«æå®ããå¿
èŠããããŸãã
æªäœ¿çšã®CSP Webã¢ããªã±ãŒã·ã§ã³ã¯ç¡å¹ã«ããå¿
èŠããããŸãã
å¿
èŠãªCSPã¢ããªã±ãŒã·ã§ã³ã«ã€ããŠã¯ãèªèšŒããã³æ¿èªãªãã§ããããžã®ã¢ã¯ã»ã¹ãé€å€ããå¿
èŠããããŸãã
ãã¹ã¯ãŒãã§ä¿è·ãããCSPã²ãŒããŠã§ã€ãžã®ã¢ã¯ã»ã¹ãå¶éãããŠããå¿
èŠããããŸãã
DBMSã®ç£æ»ãå«ããå¿
èŠããããŸãã
æ§æãã¡ã€ã«ã®æå·åãªãã·ã§ã³ãæå¹ã«ããå¿
èŠããããŸãã
ã»ãã¥ãªãã£ãã§ãã¯ãšããŠãã·ã¹ãã èšå®ãSecurity Advisor管çããŒã¿ã«ããéå§ãããã®äœæ¥ã®çµæã«åºã¥ãæšå¥šäºé
ãå®è£
ããå¿
èŠããããŸãã
[ããŒã ]-> [ã·ã¹ãã ]> [ã»ãã¥ãªãã£ç®¡ç]> [ãµãŒãã¹]ãµãŒãã¹ã®å ŽåïŒã»ã¯ã·ã§ã³ãµãŒãã¹ïŒïŒïŒ
ã°ããŒãã«ãèšå®ããæ©èœã
ãªãã«ããå¿
èŠããããŸã -
ã°ããŒãã«ã®ããŒã»ã³ããŒãžãå€æŽããæ©èœã
ãªãã«ããå¿
èŠããããŸã ã ãã®ãããªã°ããŒãã«ã¯ã·ã¹ãã ã³ãŒãã®æäœã«ãã䜿çšãããããããã®ãããªå€æ°ã®å€æŽã¯äºæž¬ã§ããªãçµæãæãå¯èœæ§ããããŸãã
éèªèšŒã¯ãªãã«ããå¿
èŠããããŸã -éèªèšŒã¢ã¯ã»ã¹ã¯ãªãã«ããå¿
èŠããããŸãã ãµãŒãã¹ãžã®èªèšŒãããŠããªãã¢ã¯ã»ã¹ã«ããããã¹ãŠã®ãŠãŒã¶ãŒããµãŒãã¹ã«ã¢ã¯ã»ã¹ã§ããŸãã
å¿
èŠãªå Žåã
é€ã ããµãŒãã¹ãç¡å¹ã«ããå¿
èŠããããŸã-ãµãŒãã¹ã䜿çšããªãå Žåã¯ãç¡å¹ã«ããå¿
èŠããããŸãã ã¢ããªã±ãŒã·ã§ã³ãœãªã¥ãŒã·ã§ã³ã§äœ¿çšãããŠããªããµãŒãã¹ãžã®ã¢ã¯ã»ã¹ã¯ãã·ã¹ãã ãžã®äžåœãªã¬ãã«ã®ã¢ã¯ã»ã¹ãæäŸããå¯èœæ§ããããŸã
ãµãŒãã¹ã¯KerberosèªèšŒã䜿çšããå¿
èŠããããŸã -ä»ã®èªèšŒã¡ã«ããºã ãä»ããã¢ã¯ã»ã¹ã§ã¯ãæ倧ã¬ãã«ã®ã»ãã¥ãªãã£ã¯æäŸãããŸããã
ãµãŒãã¹ã«ã¯ã¯ã©ã€ã¢ã³ãIPã¢ãã¬ã¹ãå²ãåœãŠãå¿
èŠããããŸã -ãµãŒãã¹ãžã®æ¥ç¶ã®IPã¢ãã¬ã¹ã¯æ瀺çã«èšå®ããå¿
èŠããããŸãã æ¥ç¶ãåãå
¥ããããIPã¢ãã¬ã¹ãå¶éãããšãCachéãžã®æ¥ç¶ãããå³å¯ã«å¶åŸ¡ã§ããŸãã
ãµãŒãã¹ã¯ãããªãã¯ã§ã -ãããªãã¯ãµãŒãã¹ã«ãããèªèšŒãå¿
èŠãšããªãUnknownUserã¢ã«ãŠã³ããå«ããã¹ãŠã®ãŠãŒã¶ãŒããCachéãžã®ç¡å¶éã®ã¢ã¯ã»ã¹ãååŸã§ããŸãã
[ããŒã ]-> [ã·ã¹ãã ]> [ã»ãã¥ãªãã£ç®¡ç]> [Webã¢ããªã±ãŒã·ã§ã³]ã¢ããªã±ãŒã·ã§ã³ïŒCSPãç¹æš©ã«ãŒãã³ãããã³ã¯ã©ã€ã¢ã³ãã¢ããªã±ãŒã·ã§ã³ïŒã¢ããªã±ãŒã·ã§ã³ã¯ãããªãã¯ã§ã -ãããªãã¯ã¢ããªã±ãŒã·ã§ã³ã«ãããèªèšŒãå¿
èŠãšããªãUnknownUserã¢ã«ãŠã³ããå«ããã¹ãŠã®ãŠãŒã¶ãŒããCachéãžã®ç¡å¶éã®ã¢ã¯ã»ã¹ãååŸã§ããŸãã
ã¢ããªã±ãŒã·ã§ã³ã¯æ¡ä»¶ä»ãã§ïŒ
AIIããŒã«ãä»äžããŸã -ã¢ããªã±ãŒã·ã§ã³ããã¹ãŠã®ç¹æš©ããŠãŒã¶ãŒã«å§ä»»ããå¯èœæ§ãããå Žåãã·ã¹ãã ã¯å®å
šã§ãããšã¯èŠãªãããŸããã ã¢ããªã±ãŒã·ã§ã³ã¯ãã¹ãŠã®ç¹æš©ãå§ä»»ããå¿
èŠã¯ãããŸãã
ã¢ããªã±ãŒã·ã§ã³ãïŒ
AIIããŒã«ãä»äžãã -
ã¢ããªã±ãŒã·ã§ã³ã¯ããã¹ãŠã®ç¹æš©ããŠãŒã¶ãŒã«æ瀺çã«å§ä»»ããŸãã ã¢ããªã±ãŒã·ã§ã³ã¯ãã¹ãŠã®ç¹æš©ãå§ä»»ããå¿
èŠã¯ãããŸãã
1.ãŠãŒã¶ãŒç®¡ç
1.1ã·ã¹ãã ã¢ã«ãŠã³ã管ç
æªäœ¿çšã®ã·ã¹ãã ã¢ã«ãŠã³ãããããã¯ãŸãã¯åé€ãããŠããããšãããã³äœ¿çšãããŠããã·ã¹ãã ã¢ã«ãŠã³ãã®ãã¹ã¯ãŒããå€æŽãããŠããããšã確èªããå¿
èŠããããŸãã
ãããã®ã¢ã«ãŠã³ããèå¥ããã«ã¯ãSecurity Advisor管çããŒã¿ã«ã³ã³ããŒãã³ãã䜿çšããå¿
èŠããããŸãã ãããè¡ãã«ã¯ã
[ããŒã ]> [ã»ãã¥ãªãã£ç®¡ç]> [ã»ãã¥ãªãã£ã¢ããã€ã¶ãŒ]ã®ç®¡çããŒã¿ã«ã«ç§»åããæšå¥šäºé
=ããã¹ã¯ãŒããããã©ã«ããã¹ã¯ãŒãããå€æŽããå¿
èŠãããããŠãŒã¶ãŒã»ã¯ã·ã§ã³ã®ãšã³ããªã«ã€ããŠã察å¿ãããŠãŒã¶ãŒã®ãã¹ã¯ãŒããå€æŽããå¿
èŠããããŸãã
1.2ç¹æš©ã¢ã«ãŠã³ã管ç
è€æ°ã®äººãDBMSã管çããŠããå Žåã¯ãããããã«å人ã¢ã«ãŠã³ããäœæããå
¬åãéè¡ããããã«æäœéå¿
èŠãªæš©éãä»äžããå¿
èŠããããŸãã
1.3æš©å©ãšç¹æš©ã®ç®¡ç
ã¢ã¯ã»ã¹ãå¶éããå Žåãæå°éã®ç¹æš©ã®ååã«åŸãå¿
èŠããããŸãã ã€ãŸãããŠãŒã¶ãŒã«ãã¹ãŠãçŠæ¢ããå
¬åŒã®è·åã®éè¡ã«å¿
èŠãªæš©å©ã®ã¿ãæäŸããŸãã ç¹æš©ãå²ãåœãŠããšãã¯ãããŒã«ã®ã¿ã§ç¹æš©ãä»äžããã«ãŒã«ã«åŸã£ãŠãã ããã ã€ãŸããç¹å®ã®ãŠãŒã¶ãŒã§ã¯ãªãããŒã«ã«ã®ã¿æš©éãå²ãåœãŠãŠãããç¹å®ã®ãŠãŒã¶ãŒã«ããŒã«ãå²ãåœãŠãããšãã§ããŸãã
1.4ã¢ã¯ã»ã¹æš©ã®å·®å¥å
ã¢ã¯ã»ã¹å¶åŸ¡ã«é¢ããŠã»ãã¥ãªãã£èšå®ã確èªããã«ã¯ãã»ãã¥ãªãã£ã¢ããã€ã¶ãå®è¡ããŸãã ã»ãã¥ãªãã£ã¢ããã€ã¶ãçºè¡ããæšå¥šäºé
ã«å¿ããŠã次ã®æé ã«åŸãå¿
èŠããããŸãã
ããŒã«ïŒããŒã«ïŒã®å ŽåïŒ
ãã®åœ¹å²ã¯ãç£æ»ããŒã¿ããŒã¹ã«å¯Ÿããç¹æš©ãä¿æããŸã -ãã®åœ¹å²ã«ã¯ãç£æ»ããŒã¿ããŒã¹ãžã®ã¢ã¯ã»ã¹ç¹æš©ããããŸãã èªã¿åãã¢ã¯ã»ã¹ã¯ãç£æ»ããŒã¿ã®äžé©åãªäœ¿çšãèš±å¯ããŸãã æžã蟌ã¿ã¢ã¯ã»ã¹ã«ãããç£æ»ããŒã¿ã䟵害ããããšãã§ããŸã
ãã®ããŒã«ã¯ïŒ
Admin_Secureç¹æš©ãä¿æããŸã -ãã®ããŒã«ã«ã¯ïŒ
Admin_SecureããŒã«ãå«ãŸããŸããããã«ãããä»ã®ãŠãŒã¶ãŒã®ã¢ã¯ã»ã¹ç¹æš©ãå€æŽã§ããŸã/
ãã®ããŒã«ã¯ãCACHESYSããŒã¿ããŒã¹ã«å¯ŸããWRITEç¹æš©ãä¿æããŸã -ãã®ããŒã«ã¯ãCACHESYSã·ã¹ãã ããŒã¿ããŒã¹ã«æžã蟌ãæš©å©ãäžããŸããããã«ãããCachéã·ã¹ãã ã³ãŒããšã·ã¹ãã èšå®ãå€æŽã§ããŸãã
ãŠãŒã¶ãŒåãïŒ
å°ãªããšã2人ãæ倧5人ã®ãŠãŒã¶ãŒãïŒ
AIIããŒã«ãæã€å¿
èŠããããŸã -å°ãªããšã2人ãæ倧5人ã®ãŠãŒã¶ãŒãïŒ
AllããŒã«ãæã€å¿
èŠããããŸãã ãã®åœ¹å²ãæã€ãŠãŒã¶ãŒãå°ãªããããšãç·æ¥æã«ã¢ã¯ã»ã¹ã®åé¡ãçºçããå¯èœæ§ããããŸãã ãŠãŒã¶ãŒãå€ããããšãã·ã¹ãã ã®å
šäœçãªã»ãã¥ãªãã£ãæãªãããå¯èœæ§ããããŸãã
ãã®ãŠãŒã¶ãŒã¯ïŒ
AIIããŒã«ãä¿æããŠããŸã -ãã®ãŠãŒã¶ãŒã¯ïŒ
AllããŒã«ãæã£ãŠããŸãã ãã®ãŠãŒã¶ãŒã«ãã®åœ¹å²ãå²ãåœãŠãå¿
èŠãããããšã確èªããå¿
èŠããããŸãã
UnknownUserã¢ã«ãŠã³ãã«ã¯ãïŒ
AIIããŒã«ãæãããªãã§ãã ãã -UnknownUserã«ïŒ
AllããŒã«ãããå Žåãã·ã¹ãã ãå®å
šãšèŠãªãããšã¯ã§ããŸããã
ã¢ã«ãŠã³ãã䜿çšãããããšããªã -ã¢ã«ãŠã³ã
ã¯äœ¿çšããã
ããšããªã ã æªäœ¿çšã®ã¢ã«ãŠã³ãã¯ãäžæ£ãªã¢ã¯ã»ã¹ãè©Šã¿ããšãã«äœ¿çšã§ããŸãã
ã¢ã«ãŠã³ãã¯äŒæ¢ç¶æ
ã§ããããç¡å¹ã«ããå¿
èŠããããŸã -ã¢ã«ãŠã³ãã¯éã¢ã¯ãã£ãã§ãããç¡å¹ã«ããå¿
èŠããããŸãã éã¢ã¯ãã£ããªã¢ã«ãŠã³ãïŒ30æ¥é䜿çšãããŠããªãã¢ã«ãŠã³ãïŒã¯ãäžæ£ãªã¢ã¯ã»ã¹ãååŸãããšãã«äœ¿çšã§ããŸãã
ãã¹ã¯ãŒãã¯ããã©ã«ãã®ãã¹ã¯ãŒãããå€æŽããå¿
èŠããããŸã -
ãã¹ã¯ãŒãã®ããã©ã«ãå€ãå€æŽããå¿
èŠããããŸãã
ãŠãŒã¶ãŒãåé€ããå Žåããã®ãŠãŒã¶ãŒã«ãã£ãŠäœæãããããŒã«ãšæš©éãäžèŠãªå Žåã¯å¿
ãåé€ããå¿
èŠããããŸãã
1.5ãã¹ã¯ãŒãããªã·ãŒã®èšå®
ãã¹ã¯ãŒãã®å€§æåãšå°æåã®åºå¥ã®ãµããŒãã¯ãæ¢å®ã§Cachéã«å«ãŸããŠããŸãã
ãã¹ã¯ãŒãããªã·ãŒã¯ã次ã®ã»ã¯ã·ã§ã³ã®ã·ã¹ãã 管çããŒã¿ã«ãéããŠå®è£
ãããŸãã
[ããŒã ]> [ã»ãã¥ãªãã£ç®¡ç]> [ã·ã¹ãã ã»ãã¥ãªãã£èšå®]> [ã·ã¹ãã å
šäœã®ã»ãã¥ãªãã£ãã©ã¡ãŒã¿]å¿
èŠãªãã¹ã¯ãŒãã®è€éãã¯ã
ãã¹ã¯ãŒããã¿ãŒã³ãã©ã¡ãŒã¿ãŒã§ãã¹ã¯ãŒããã³ãã¬ãŒããæå®ããããšã«ããèšå®ãããŸãã æ倧ã®ã€ã³ã¹ããŒã«ã®ããã©ã«ã
ã»ãã¥ãªãã£
ãã¹ã¯ãŒããã¿ãŒã³ = 8.32ANPãããã¯ãæå°é·8æåãæ倧ãµã€ãº32æåã®ãã¹ã¯ãŒãã®äœ¿çšãè±æ°åããã³å¥èªç¹æåã®äœ¿çšãèš±å¯ãããããšãæå³ããŸãã ç¹å®ã®ãã¹ã¯ãŒãæ€èšŒã¢ã«ãŽãªãºã ãæ¥ç¶ããã«ã¯ããã¹ã¯ãŒãæ€èšŒã«ãŒãã³ãã©ã¡ãŒã¿ãŒã䜿çšãããŸãã
詳现ãªèª¬æã¯ã[1]ãã»ã¯ã·ã§ã³ããã¹ã¯ãŒãã®åŒ·åºŠãšãã¹ã¯ãŒãããªã·ãŒãã«èšèŒãããŠããŸãã
å
éšã¡ã«ããºã ã®äœ¿çšã«å ããŠãCachéã®èªèšŒããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãKerberosããŸãã¯LDAPãµãŒããŒã«å§ä»»ã§ããŸãã
æè¿ããããããžã§ã¯ãã§ãCachéDBMSã2016幎4æã«æ¡çšãããPCI DSS 3.2ãã€ã¡ã³ãã«ãŒãæ¥çããŒã¿ã»ãã¥ãªãã£æšæºã®æ°çã®èŠä»¶ã«ã©ã®ããã«æºæ ããŠãããã確èªããå¿
èŠããããŸããã
PCI DSSããŒãžã§ã³3.2 [5]ã«æºæ ããCachéDBMSã»ãã¥ãªãã£èšå®
ç£ç£ä»ã ãã©ã¡ãŒã¿ ãã¹ã¯ãŒã æ¿æ²»å®¶
| PCI DSSèŠä»¶ | ã·ã¹ãã 管çããŒã¿ã«ã®èšå®
|
ãã¹ã¯ãŒããå€æŽããåã®ãŠãŒã¶ãŒèªèšŒã
| 8.3 ãã¹ã¯ãŒããšèªèšŒæé ã調ã¹ãé»è©±ãé»åã¡ãŒã«ãWebã¢ããªã±ãŒã·ã§ã³ããŸãã¯ãã®ä»ã®ãªã¢ãŒãæ段ã§ãã¹ã¯ãŒããå€æŽããåã«ããŠãŒã¶ãŒãèªèšŒãããŠããããšã確èªããŸãã
| [ã·ã¹ãã ]> [ã»ãã¥ãªãã£ç®¡ç]> [ãŠãŒã¶ãŒ]> [ãŠãŒã¶ãŒã®ç·šé] >
äºèŠçŽ èªèšŒ
èªèšŒã§ã¯ãæºåž¯é»è©±ã§SMSã䜿çšããŠ2èŠçŽ èªèšŒãæå¹ã«ã§ããŸãã
|
åãŠãŒã¶ãŒã«äžæã®åæãã¹ã¯ãŒããèšå®ããæåã®ãŠãŒã¶ãŒãã°ã€ã³æã«ããã«å€æŽããŸãã
| 8.2.6 åãŠãŒã¶ãŒã«äžæã®åæãã¹ã¯ãŒããèšå®ãããŠãŒã¶ãŒãæåã«ãã°ã€ã³ãããšãã«ããã«å€æŽããŸãã
| [ã·ã¹ãã ]> [ã»ãã¥ãªãã£ç®¡ç]> [ãŠãŒã¶ãŒ]> [ãŠãŒã¶ãŒã®ç·šé] >
次åãã°ã€ã³æã«ãã¹ã¯ãŒããå€æŽãã
|
ãã¹ã¯ãŒãã®æ倧æå¹æé
| 8.2.4 90æ¥é
| [ã·ã¹ãã ã»ãã¥ãªãã£]> [ã·ã¹ãã å
šäœã®ã»ãã¥ãªãã£ãã©ã¡ãŒã¿]
ãã¹ã¯ãŒãã®æå¹æé= 80
|
æå°é· ãã¹ã¯ãŒã
| 8.2.3 7æå
| [ã·ã¹ãã ã»ãã¥ãªãã£]> [ã·ã¹ãã å
šäœã®ã»ãã¥ãªãã£ãã©ã¡ãŒã¿]
ãã¹ã¯ãŒããã¿ãŒã³= 7.32ANP
|
ãã¹ã¯ãŒãã®è€éã
| 8.2.3 æ°åãšèšå·
| [ã·ã¹ãã ã»ãã¥ãªãã£]> [ã·ã¹ãã å
šäœã®ã»ãã¥ãªãã£ãã©ã¡ãŒã¿]
ãã¹ã¯ãŒããã¿ãŒã³= 7.32ANP
|
ç¹°ãè¿ãçŠæ¢ å€ããã¹ã¯ãŒãã䜿çšãã
| 8.2.5 4ã€ã®å€ããã¹ã¯ãŒã
| ããã©ã«ãã§ã¯ããããã å®è£
ããã«ã¯ãå€éšèªèšŒãæ¥ç¶ããããã¢ããªã±ãŒã·ã§ã³ã³ãŒããå®è£
ããŠæ©èœãæ¡åŒµããŸãã [ã·ã¹ãã ]> [ã»ãã¥ãªãã£ç®¡ç]> [ãŠãŒã¶ãŒ]> [ãŠãŒã¶ãŒã®ç·šé]> ãã¹ã¯ãŒãæ€èšŒã«ãŒãã³
|
ç¡å¹ãªæ°ãå¶éãã è¶
éããããšãããšãã¢ã«ãŠã³ããããã¯ãããŸã
| 8.1.6 6å
8.1.7 æé ããã¯ãªã 30åæªæº
| [ã·ã¹ãã ã»ãã¥ãªãã£]> [ã·ã¹ãã å
šäœã®ã»ãã¥ãªãã£ãã©ã¡ãŒã¿] ç¡å¹ãªãã°ã€ã³å¶é= 6
ãã°ã€ã³å¶éãããå Žåã¯ã¢ã«ãŠã³ããç¡å¹ã«ããŸã å°éæžã¿=ãã§ãã¯æžã¿
|
1.6éã¢ã¯ãã£ããªæ¥ç¶ããŒã¹ã®åæã®æ§æ
éã¢ã¯ãã£ããªãŠãŒã¶ãŒã»ãã·ã§ã³ã®ããŒã¿ããŒã¹ãåæããããã®èšå®ã¯ãCachéãžã®æ¥ç¶ã®ã¿ã€ãã«ãã£ãŠç°ãªããŸãã
TCPãä»ããSQLããã³ãªããžã§ã¯ãã¢ã¯ã»ã¹ã®å Žåããã©ã¡ãŒã¿ãŒã¯ã³ã³ãããŒã«ããŒã¿ã«ã»ã¯ã·ã§ã³
[ããŒã ]> [æ§æ]> [SQLèšå®]> [äžè¬SQLèšå®]ã§
èšå®ãããŸããTCPããŒãã¢ã©ã€ãééïŒç§ïŒãã©ã¡ãŒã¿ãŒïŒ900ã«èšå®ãããŸãã 15åã
Webã¢ã¯ã»ã¹ã®å Žåããã©ã¡ãŒã¿ãŒã¯
[ããŒã ]> [æ§æ]> [CSPã²ãŒããŠã§ã€ç®¡ç]ã®[ã¢ã¯ãã£ããã£ã¿ã€ã ã¢ãŠããªã]èšå®ã§èšå®ãããŸãã ããã©ã«ãå€ã900ç§ã«çœ®ãæããããã¹ãŠã®æ¥ç¶ã«ã¿ã€ã ã¢ãŠããé©çšããããªãã·ã§ã³ãæå¹ã«ããå¿
èŠããããŸãã
2ã€ãã³ããã®ã³ã°
2.1äžè¬èšå®
ç£æ»ã€ãã³ãã®ãã°ãæå¹ã«ããã«ã¯ãCachéDBMSã€ã³ã¹ã¿ã³ã¹å
šäœã§ãã®ãªãã·ã§ã³ãæå¹ã«ããå¿
èŠããããŸãã ãããè¡ãã«ã¯ãç£æ»ç®¡çããŒãž
[ã·ã¹ãã
]> [ã»ãã¥ãªãã£ç®¡ç]> [ç£æ»]ã®ã·ã¹ãã 管çããŒã¿ã«ã«ç§»åãã
[ç£æ»ãç¡å¹ã«ãã]ãªãã·ã§ã³ã䜿çšå¯èœã§ãããç£æ»ãæå¹ã«ãããªãã·ã§ã³ã䜿çšã§ããªãããšã確èªããŸãå«ãŸããŠããŸãã éã¯ãç£æ»ããªãã«ãªã£ãŠããããšãæå³ããŸãã
ç£æ»ããªãã®å Žåãã¡ãã¥ãŒé
ç®ãç£æ»ãæå¹ã«ããããéžæããŠç£æ»ãæå¹ã«ããå¿
èŠããããŸãã ã€ãã³ããã°ã®è¡šç€ºã¯ãã·ã¹ãã 管çããŒã¿ã«ããå¯èœã§ãïŒ
[ããŒã ]> [ã»ãã¥ãªãã£ç®¡ç]> [ç£æ»]> [ç£æ»ããŒã¿ããŒã¹ã®è¡šç€º]ã€ãã³ããã°ã衚瀺ããããã®ã·ã¹ãã ã¯ã©ã¹ïŒãŠãŒãã£ãªãã£ïŒããããŸãã 次ã®ããŒã¿ãã€ãã³ããã°ã«èšé²ãããŸãã
- æ¥æ
- ã€ãã³ãã®çš®é¡
- ã¢ã«ãŠã³ãåïŒãŠãŒã¶ãŒIDïŒ
ç£æ»ããŒã¿ãžã®ã¢ã¯ã»ã¹ã¯ãïŒ
DB_CACHEAUDITãªãœãŒã¹ã«ãã£ãŠå¶åŸ¡ãããŸããã®ãªãœãŒã¹ãžã®ãããªãã¯ã¢ã¯ã»ã¹ãç¡å¹ã«ããã«ã¯ããããªãã¯ã®ãã®ãªãœãŒã¹ã®ããããã£ãèªã¿åãïŒèªã¿åãïŒããã³æžã蟌ã¿ïŒæžã蟌ã¿ïŒã®ããã«éããããŠããããšã確èªããå¿
èŠããããŸãã ãªãœãŒã¹ã®ãªã¹ããžã®ã¢ã¯ã»ã¹ã¯ãã·ã¹ãã 管çããŒã¿ã«[ããŒã ]> [ã»ãã¥ãªãã£ç®¡ç]> [ãªãœãŒã¹]> [ãªãœãŒã¹ã®ç·šé]ã§å¯èœã§ãããã®åŸãéžæãããªãœãŒã¹ã®[ç·šé]ãªã³ã¯ãã¯ãªãã¯ããå¿
èŠããããŸãã
ããã©ã«ãã§ã¯ãåãååã®ïŒ
DB_CACHEAUDITããŒã«ããªãœãŒã¹ïŒ
DB_CACHEAUDITã«å²ãåœãŠãããŸããã€ãã³ããã°ãžã®ãŠãŒã¶ãŒã¢ã¯ã»ã¹ãå¶éããã«ã¯ããã®ããŒã«ã«å±ãããŠãŒã¶ãŒã®ãªã¹ãã確ç«ããå¿
èŠããããŸããããã¯ã·ã¹ãã 管çããŒã¿ã«ã§å®è¡ã§ããŸãã
[ããŒã ]> [ã»ãã¥ãªãã£ç®¡ç]> [ããŒã«]> [ããŒã«ã®ç·šé]ãããŠãïŒ
DB_CACHEAUDITããŒã«ã®[ç·šé]ãã¿ã³ãéžæããå¿
èŠããããŸãã
2.2èšé²ãããã€ãã³ãã¿ã€ãã®ãªã¹ã
2.2.1æ¯æãã«ãŒãã®ããŒã¿ãå«ãããŒãã«ãžã®ã¢ã¯ã»ã¹ã®ãã®ã³ã°ïŒPCI DSS 10.2.1ïŒ
æ¯æãã«ãŒãã®ããŒã¿ãå«ãããŒãã«ïŒããŒã¿ã»ããïŒãžã®ã¢ã¯ã»ã¹ã¯ã次ã®ã¡ã«ããºã ã䜿çšããŠèšé²ãããŸãã
1.ã·ã¹ãã ç£æ»ã¡ã«ããºã ãæ¯æãã«ãŒãã®ããŒã¿ã®ä¿åãæ
åœãããªãœãŒã¹ãžã®ã¢ã¯ã»ã¹æš©ãå€æŽãããå Žåã«ããªãœãŒã¹å€æŽã¿ã€ãã®ã€ãã³ããã€ãã³ããã°ã«èšé²ããŸãïŒè¡šç€ºã®ããã®ç£æ»ãã°ãžã®ã¢ã¯ã»ã¹ã¯ãã·ã¹ãã 管çããŒã¿ã«
[ããŒã ]> [ã»ãã¥ãªãã£ç®¡ç] > [ç£æ»]> [ç£æ»ããŒã¿ããŒã¹ã®è¡šç€º] ïŒ;
2.ã¢ããªã±ãŒã·ã§ã³ã¬ãã«ã§ã¯ãåã
ã®ã¬ã³ãŒããžã®ã¢ã¯ã»ã¹ãèšé²ããããã«ãã·ã¹ãã ã«ã¢ããªã±ãŒã·ã§ã³ã€ãã³ããç»é²ãã察å¿ããã€ãã³ããçºçãããã³ã«ã¢ããªã±ãŒã·ã§ã³ããã°ã©ã ããåŒã³åºãããšãã§ããŸãã
[ã·ã¹ãã ]> [ã»ãã¥ãªãã£ç®¡ç]> [ãŠãŒã¶ãŒç£æ»ã€ãã³ãã®æ§æ]> [ç£æ»ã€ãã³ãã®ç·šé]2.2.2管çè
æš©éã䜿çšããããšãããã°èšé²ïŒPCI DSS 10.2.2ïŒ
ãã¹ãŠã®ãŠãŒã¶ãŒã®ã¢ã¯ã·ã§ã³ã¯CachéDBMSã«èšé²ãããŸãããã°èšé²ã®æ¹æ³ã¯ãèšé²ããã€ãã³ããæå®ããããšã«ããæ§æãããŸã
[ããŒã ]> [ã»ãã¥ãªãã£ç®¡ç]> [ç£æ»]> [ã·ã¹ãã ã€ãã³ãã®
èšå®]ãã¹ãŠã®ã·ã¹ãã ã€ãã³ããèšé²ããå¿
èŠããããŸãã
2.2.3ã€ãã³ããã°ãžã®å€æŽã®èšé²ïŒPCI DSS 10.2.3ïŒ
CachéDBMSã¯ãåäžã®ç£æ»ãã°ã䜿çšããŸããããã¯ããã®å
容ãšãšã©ãŒã®äºå®ã®èªç¶ãªå€æŽããã°ã®ã¯ãªã¢ãç£æ»ã€ãã³ãã®ãªã¹ãã®å€æŽãªã©ãé€ããå€æŽã§ããŸãããããã«ããã察å¿ããAuditChangeã€ãã³ãããã°ã«èšé²ãããŸãã
AuditChangeã€ãã³ããã®ã³ã°ã¿ã¹ã¯ã¯ããã¹ãŠã®ã€ãã³ãã®ç£æ»ãæå¹ã«ããããšã§å®è¡ãããŸããïŒ2.2.2ãåç
§ïŒã
2.2.4倱æããè«çã¢ã¯ã»ã¹è©Šè¡ã®ãã°èšé²ïŒPCIDSS 10.2.4ïŒ
è«çã¢ã¯ã»ã¹ãååŸããè©Šã¿ã®å€±æããã°ã«èšé²ããã¿ã¹ã¯ã¯ããã¹ãŠã®ã€ãã³ãã®ç£æ»ãå«ããããšã«ãã£ãŠå®è¡ãããŸããïŒ2.2.2ãåç
§ïŒã
è«çã¢ã¯ã»ã¹ãååŸããããšãããšãç£æ»ãã°ã«ãLoginFailureãã€ãã³ããçæãããŸãã
2.2.5ã·ã¹ãã ãžã®ã¢ã¯ã»ã¹è©Šè¡ã®ãã®ã³ã°ïŒPCI DSS 10.2.5ïŒ
ã·ã¹ãã ãžã®ã¢ã¯ã»ã¹ãååŸããããšãããã®ã³ã°ã®ã¿ã¹ã¯ã¯ããã¹ãŠã®ã€ãã³ãã®ç£æ»ãå«ããããšã«ãã£ãŠå®è¡ãããŸããïŒ2.2.2ãåç
§ïŒã
ã¢ã¯ã»ã¹ã®ååŸã«å€±æãããšãç£æ»ãã°ã«ãLoginFailureãã€ãã³ããçæãããŸãã ç£æ»ãã°ã«ã¢ã¯ã»ã¹ããããšããè©Šã¿ãæåãããšãããã°ã€ã³ãã€ãã³ããçæãããŸãã
2.2.6ç£æ»ãã©ã¡ãŒã¿ã®å€æŽã®ãã®ã³ã°ïŒPCI DSS 10.2.6ïŒ
ç£æ»ãã©ã¡ãŒã¿ã®å€æŽãèšé²ããã¿ã¹ã¯ã¯ããã¹ãŠã®ã€ãã³ãã®ç£æ»ãå«ããããšã«ããå®è¡ãããŸããïŒ2.2.2ãåç
§ïŒã
è«çã¢ã¯ã»ã¹ãååŸããããšãããšãAuditChangeã€ãã³ããç£æ»ãã°ã«çæãããŸãã
2.2.7ã·ã¹ãã ãªããžã§ã¯ãã®äœæããã³åé€ã®ãã°èšé²ïŒPCI DSS 10.2.7ïŒ
CachéDBMSã¯ãããŒã«ãç¹æš©ããªãœãŒã¹ããŠãŒã¶ãŒãšããã·ã¹ãã ãªããžã§ã¯ãã®äœæãå€æŽãåé€ãèšé²ããŸãã
ã·ã¹ãã ãªããžã§ã¯ãã®äœæãšåé€ããã°ã«èšé²ããã¿ã¹ã¯ã¯ããã¹ãŠã®ã€ãã³ãã®ç£æ»ãå«ããããšã§éæãããŸããïŒ2.2.2ãåç
§ïŒã
ã·ã¹ãã ãªããžã§ã¯ãã®äœæãå€æŽãããã³åé€æã«ãã€ãã³ããResourceChangeãããRoleChangeãããServiceChangeãããUserChangeããç£æ»ãã°ã«äœæãããŸãã
2.3ã€ãã³ããã°ã®ä¿è·
ïŒ
DB_CACHEAUDITãªãœãŒã¹ãžã®ã¢ã¯ã»ã¹ãå¶éãããŠããããšã確èªããå¿
èŠããããŸãã ã€ãŸãããã°ã®ç£èŠãå«ã管çè
ãŸãã¯æ
åœè
ã®ã¿ãããã®ãªãœãŒã¹ãèªã¿æžãããæš©å©ãæã¡ãŸãã
äžèšã®æšå¥šäºé
ã«åŸã£ãŠãCachéDBMSãæ倧ã»ãŒãã¢ãŒãã§ã€ã³ã¹ããŒã«ããŸããã 8.2.5é
ãå€ããã¹ã¯ãŒãã®åå©çšã®çŠæ¢ãã®PCI DSSæšæºã®èŠä»¶ãžã®æºæ ã瀺ãããã«ããŠãŒã¶ãŒããã¹ã¯ãŒããç·šéããŠå䜿çšããããã©ããã確èªãããšãã«ã·ã¹ãã ã«ãã£ãŠèµ·åãããå°ããªããã°ã©ã ãå®è£
ããŸããã
ãã®ããã°ã©ã ãã€ã³ã¹ããŒã«ããã«ã¯ãCachéã¹ã¿ãžãªãAtelierããŸãã¯ã³ã³ãããŒã«ããã«ããã¯ã©ã¹ã€ã³ããŒãããŒãžã䜿çšããŠãœãŒã¹ã³ãŒããã€ã³ããŒãããå¿
èŠããããŸããROUTINE PASSWORD PASSWORD ; #include %occInclude CHECK(Username,Password) PUBLIC { if '$match(Password,"(?=.*[0-9])(?=.*[a-zA-Z]).{7,}") quit $$$ERROR($$$GeneralError," PCI_DSS_v3.2") set Remember=4 ; , PCI-DSS set GlobRef="^PASSWORDLIST" ; set PasswordHash=$System.Encryption.SHA1Hash(Password) if $d(@GlobRef@(Username,"hash",PasswordHash)){ quit $$$ERROR($$$GeneralError," ") } set hor="" for i=1:1 { ; set hor=$order(@GlobRef@(Username,"datetime",hor),-1) quit:hor="" ; if i>(Remember-1) { set hash=$g(@GlobRef@(Username,"datetime",hor)) kill @GlobRef@(Username,"datetime",hor) kill:hash'="" @GlobRef@(Username,"hash",hash) } } ; set @GlobRef@(Username,"hash",PasswordHash)=$h set @GlobRef@(Username,"datetime",$h)=PasswordHash quit $$$OK }
ãããŠã管çããŒã¿ã«ã§ããã®ããã°ã©ã ã®ååãä¿åããŸãã
ç§ã®è£œåã®æ§æã¯ãã»ãã¥ãªãã£ã®ã¬ãã«ã ãã§ãªãããŠãŒã¶ãŒæ°ããã¹ãã®ãã®ãšã¯ç°ãªãããšãããããŸããã ãããã®æ°åãæŠéã§äœ¿çšãããŸããã ãŸããã·ã¹ãã ã管çãããšãã«ãæ¢åã®èšå®ãã³ããŒããŠæ°ãããŠãŒã¶ãŒãäœæããããšãã§ããŸããã§ããã
DBMSéçºè
ã¯ããªã¹ãåºåã1000èŠçŽ ã«å¶éããŠããŸãã ç§ã®æšæºã¯ä»¥äžã®ã©ããã§å€±ããããªã¹ãã«èŒããŸããã§ããã
Intersystems WRCãµããŒããµãŒãã¹ãšçžè«ã
ãåŸã次ã®ã³ãã³ãã䜿çšããŠã·ã¹ãã é åã«ç¹å¥ãªã°ããŒãã«ããŒããäœæããããšã§ããã®åé¡ã解決ã§ãããšããæšå¥šäºé
ãåãåããŸããã
%SYS>set ^CacheTemp.MgtPortalSettings($Username,"MaxUsers")=5000
ããã«ãããããããããŠã³ãªã¹ãã«è¡šç€ºããããŠãŒã¶ãŒã®æ°ãå¢ããããšãã§ããŸããã ãã®ã°ããŒãã«ã調ã¹ãŠã¿ããšãçŸåšã®ãŠãŒã¶ãŒåãã«ä»ã®å€ãã®äŸ¿å©ãªä¿åèšå®ãèŠã€ãããŸããã ãã ããäžäŸ¿ãªç¹ããããŸãããã®ã°ããŒãã«ã«ã¯äžæçãªCacheTempããŒã¿ããŒã¹ãžã®ãããã³ã°ããããåèµ·ååŸã«åé€ãããŸãã ãã®åé¡ã¯ãã·ã¹ãã ãã·ã£ããããŠã³ããŠèµ·åæã«åŸ©å
ããåã«ãã®ã°ããŒãã«ãä¿åããããšã«ãã£ãŠã®ã¿è§£æ±ºã§ããŸãã
ãã®ãããå¿
èŠãªæ©èœãæã€2ã€ã®ããã°ã©ã
^ïŒ
ZSARTãš^ïŒ
ZSTOPãäœæããŸããã
ïŒ
ZSTOPã®ãœãŒã¹ã³ãŒã %ZSTOP ; quit SYSTEM ; merge ^tmpMgtPortalSettings=^CacheTemp.MgtPortalSettings quit
ïŒ
ZSTARTã®ãœãŒã¹ã³ãŒã %ZSTART ; quit SYSTEM ; if $data(^tmpMgtPortalSettings) merge ^CacheTemp.MgtPortalSettings=^tmpMgtPortalSettings quit
ãããŠãã»ãã¥ãªãã£ãšæšæºã®èŠä»¶ã«æ»ããšãããã¯ã¢ããæé ã«ã€ããŠèšããããåŸãŸããã PCI DSSæšæºã§ã¯ãããŒã¿ã ãã§ãªãã€ãã³ããã°ã®ããã¯ã¢ãããå¿
èŠã§ãã CachéDBMSã§ã¯ããã°ã«èšé²ããããã¹ãŠã®ã€ãã³ãã¯CACHEAUDITããŒã¿ããŒã¹ã«èšé²ãããŸãããã®ããŒã¿ããŒã¹ã¯ãä»ã®ããŒã¿ããŒã¹ãšãšãã«ãããã¯ã¢ããçšã®ããŒã¿ããŒã¹ã®ãªã¹ãã«å«ããããšãã§ããŸãã
CachéDBMSã«ã¯ããã§ã«ããã€ãã®æ¢è£œã®ããã¯ã¢ãããžã§ãããããŸãã
ãããã圌ãã¯ãã€ãç§ã«åã£ãŠããŸããã§ããã ç¹å®ã®ãããžã§ã¯ãã§ã¯ãæ¯åããããã«äœ¿ãããã¿ã¹ã¯ã«ãªãæ©èœãå¿
èŠã§ããã ãããããžã§ã¯ãã§ã¯ãå€ãã³ããŒãåé€ããæ©èœãåããã³ããŒã®æ°ã®å¶åŸ¡ãèªååããå¿
èŠããããŸããã å¥ã®æ¹æ³ã§ã¯ãã³ããŒããåã«ãå°æ¥ã®ãã¡ã€ã«ã®äºæž¬å æããªã¥ãŒã ãè©äŸ¡ããå¿
èŠããããŸããã ãããŠãããã¯ã¢ããããã°ã©ã ãå®è£
ããŸããã
CustomListBackup.cls Include %occKeyword /// Class %SYS.Task.CustomListBackup Extends %SYS.Task.Definition [ LegacyInstanceContext ] { /// ..AllDatabases=1, ..PrefixIncludeDB ..IncludeDatabases - Property AllDatabases As %Integer [ InitialExpression = 0 ]; /// ..AllDatabases=1, , ..IgnoreForAllDatabases Property IgnoreForAllDatabases As %String(MAXLEN = 32000) [ InitialExpression = " AllDatabases=0 " ]; /// ..IgnoreTempDatabases=1, Property IgnoreTempDatabases As %Integer [ InitialExpression = 1 ]; /// ..IgnorePreparedDatabases=1, Property IgnorePreparedDatabases As %Integer [ InitialExpression = 1 ]; /// ..AllDatabases=0 PrefixIncludeDB , , ..PrefixIncludeDB Property PrefixIncludeDB As %String [ SqlComputeCode = {S {*}=..ListNS()}, SqlComputed ]; /// ..AllDatabases=0, ..IncludeDatabases , Property IncludeDatabases As %String(MAXLEN = 32000) [ InitialExpression = {" AllDatabases=1 "_..ListDB()} ]; /// Parameter TaskName = "CustomListBackup"; /// , Property DirBackup As %String(MAXLEN = 1024) [ InitialExpression = {##class(%File).NormalizeDirectory("Backup")} ]; /// , Property DirBackupLog As %String(MAXLEN = 1024) [ InitialExpression = {##class(%File).NormalizeDirectory("Backup")} ]; /// (Full-, Incremental-, Cumulative-) Property TypeBackup As %String(DISPLAYLIST = ",Full,Incremental,Cumulative", VALUELIST = ",Full,Inc,Cum") [ InitialExpression = "Full", SqlColumnNumber = 4 ]; /// Property PrefixBackUpFile As %String [ InitialExpression = "back" ]; /// , Property MaxBackUpFiles As %Integer [ InitialExpression = 3 ]; ClassMethod DeviceIsValid(Directory As %String) As %Status { If '##class(%Library.File).DirectoryExists(Directory) quit $$$ERROR($$$GeneralError,"Directory does not exist") quit $$$OK } ClassMethod CheckBackup(Device, MaxBackUpFiles, del = 0) As %Status { set path=##class(%File).NormalizeFilename(Device) quit:'##class(%File).DirectoryExists(path) $$$ERROR($$$GeneralError," "_path_" ") set max=MaxBackUpFiles set result=##class(%ResultSet).%New("%File:FileSet") set st=result.Execute(path,"*.cbk",,1) while result.Next() { If result.GetData(2)="F" { continue:result.GetData(3)=0 set ts=$tr(result.GetData(4),"-: ") set ts(ts)=$lb(result.GetData(1),result.GetData(3)) } } #; set i="" for count=1:1 { set i=$order(ts(i),-1) quit:i="" #; if $data(size),'$data(delta) set delta=size-$lg(ts(i),2) #; if '$data(size) set size=$lg(ts(i),2) #; , if count'<max { set cbk=$lg(ts(i),1) set log=$replace($lg(ts(i),1),".cbk",".log") if del { if ##CLASS(%File).Delete(cbk) if ##CLASS(%File).Delete(log) } } } do result.%Close() If $$$isUNIX quit $$$OK ##; #; set drive=$e(path,1) do ##CLASS(%File).GetDirectorySpace(drive_":/",.free,.total,0) #; quit:($g(size)+$g(delta))>$g(free) $$$ERROR($$$GeneralError," , :("_$g(size)_"+"_$g(delta)_")>"_$g(free)) quit $$$OK } Method OnTask() As %Status { do $zu(5,"%SYS") set list="" merge oldDBList=^SYS("BACKUPDB") kill ^SYS("BACKUPDB") #; set status=$$$OK try { ##; , ##; set status=..CheckBackup(..DirBackup,..MaxBackUpFiles,1) quit:$$$ISERR(status) #; if ..AllDatabases { set vals="" set disp="" set rss=##class(%ResultSet).%New("Config.Databases:List") do rss.Execute() while rss.Next(.sc) { if ..IgnoreForAllDatabases'="",(","_..IgnoreForAllDatabases_",")[(","_$zconvert(rss.Data("Name"),"U")_",") continue if ..IgnoreTempDatabases continue:..IsTempDB(rss.Data("Name")) if ..IgnorePreparedDatabases continue:..IsPreparedDB(rss.Data("Name")) set ^SYS("BACKUPDB",rss.Data("Name"))="" } } else { #; PrefixIncludeDB , ..PrefixIncludeDB if ..PrefixIncludeDB'="" { set rss=##class(%ResultSet).%New("Config.Databases:List") do rss.Execute(..PrefixIncludeDB_"*") while rss.Next(.sc) { if ..IgnoreTempDatabases continue:..IsTempDB(rss.Data("Name")) set ^SYS("BACKUPDB",rss.Data("Name"))="" } } #; if ..IncludeDatabases'="" { set rss=##class(%ResultSet).%New("Config.Databases:List") do rss.Execute("*") while rss.Next(.sc) { if ..IgnoreTempDatabases continue:..IsTempDB(rss.Data("Name")) if (","_..IncludeDatabases_",")'[(","_$zconvert(rss.Data("Name"),"U")_",") continue set ^SYS("BACKUPDB",rss.Data("Name"))="" } } } do ..GetFileName(.backFile,.logFile) set typeB=$zconvert($e(..TypeBackup,1),"U") set:"FIC"'[typeB typeB="F" set res=$$BACKUP^DBACK("",typeB,"",backFile,"Y",logFile,"NOINPUT","Y","Y","","","") if 'res set status=$$$ERROR($$$GeneralError,": "_res) } catch { set status=$$$ERROR($$$GeneralError,": "_$ze) set $ze="" } kill ^SYS("BACKUPDB") merge ^SYS("BACKUPDB")=oldDBList quit status } /// Method GetFileName(aBackupFile, ByRef aLogFile) As %Status { set tmpName=..PrefixBackUpFile_"_"_..TypeBackup_"_"_$s(..AllDatabases:"All",1:"List")_"_"_$zd($h,8)_$tr($j($i(cnt),3)," ",0) do { s aBackupFile=##class(%File).NormalizeFilename(..DirBackup_"/"_tmpName_".cbk") } while ##class(%File).Exists(aBackupFile) set aLogFile=##class(%File).NormalizeFilename(..DirBackupLog_"/"_tmpName_".log") quit 1 } /// ClassMethod IsPreparedDB(name) { if (",ENSDEMO,ENSEMBLE,ENSEMBLEENSTEMP,ENSEMBLESECONDARY,ENSLIB,CACHESYS,CACHELIB,CACHETEMP,CACHE,CACHEAUDIT,DOCBOOK,USER,SAMPLES,")[(","_$zconvert(name,"U")_",") quit 1 quit 0 } /// ClassMethod IsTempDB(name) { quit:$zconvert(name,"U")["TEMP" 1 quit:$zconvert(name,"U")["SECONDARY" 1 quit 0 } /// ClassMethod ListDB() { set list="" set rss=##class(%ResultSet).%New("Config.Databases:List") do rss.Execute() while rss.Next(.sc) { set list=list_","_rss.Data("Name") } quit list } ClassMethod ListNS() [ Private ] { set disp="" set tRS = ##class(%ResultSet).%New("Config.Namespaces:List") set tSC = tRS.Execute() While tRS.Next() { set disp=disp_","_tRS.GetData(1) } set %class=..%ClassName(1) $$$comSubMemberSet(%class,$$$cCLASSproperty,"PrefixIncludeDB",$$$cPROPparameter,"VALUELIST",disp) quit "" } ClassMethod oncompile() [ CodeMode = generator ] { $$$defMemberKeySet(%class,$$$cCLASSproperty,"PrefixIncludeDB",$$$cPROPtype,"%String") set updateClass=##class("%Dictionary.ClassDefinition").%OpenId(%class) set updateClass.Modified=0 do updateClass.%Save() do updateClass.%Close() } }
äž»ãªèŠæã¯ãã¹ãŠå®è£
ãããŠããŸããå€ããã®ãåé€ããŠã³ããŒæ°ãå¶éããæ°ãããã¡ã€ã«ã®ãµã€ãºãäºæž¬ããããŒã¿ããŒã¹ã®ãªã¹ãããéžæãŸãã¯é€å€ããããŸããŸãªæ¹æ³ã§ãã ã·ã¹ãã ã«ã€ã³ããŒãããã¿ã¹ã¯ãããŒãžã£ãŒã䜿çšããŠæ°ããã¿ã¹ã¯ãäœæããŸãã
ãããŠãã³ããŒããããŒã¿ããŒã¹ã®ãªã¹ãã«ããŒã¿ããŒã¹ãå«ããŸãã
ãã¹ãŠã®äŸã¯ãCachéDBMS 2016.1ããŒãžã§ã³çšã§ãã äŸã¯æ
å ±æäŸã®ã¿ãç®çãšããŠæäŸãããŠããã補åã·ã¹ãã ãžã®ã€ã³ã¹ããŒã«ã¯ãæ·±å»ãªãã¹ãã®åŸã«ã®ã¿è¡ãå¿
èŠããããŸãã äžèšã®ã³ãŒãã誰ãã®ä»äºãå©ããŠããããããšã©ãŒããç§ãæã£ãŠããããå¬ããã§ãã
â
Githubã®ãªããžããªãã®èšäºã®æºåã§ã¯ã次ã®è³æã䜿çšãããŸããã
- Cachéã»ãã¥ãªãã£ç®¡çã¬ã€ãïŒInterSystemsïŒ
- Cachéã€ã³ã¹ããŒã«ã¬ã€ãã Cachéã»ãã¥ãªãã£ã®æºåïŒã€ã³ã¿ãŒã·ã¹ãã ãºïŒ
- Cachéã·ã¹ãã 管çã¬ã€ãïŒInterSystemsïŒ
- Cachéã®çŽ¹ä»ã Cachéã»ãã¥ãªãã£ïŒã€ã³ã¿ãŒã·ã¹ãã ãºïŒ
- PCIDSS.RUã èŠä»¶ãšã»ãã¥ãªãã£ç£æ»æé ã ããŒãžã§ã³3.2