ã³ã³ããã¯ä»æ¥ã®ãã€ã¯ããµãŒãã¹ãéçºããã³ãããã€ããããã®äž»èŠãªææ®µã§ãããããããããå®å šã«ä¿ã€ããšã¯éåžžã«éèŠã§ãã ããããã©ãããå§ããã°ããã®ã§ããããã å å®ãªã³ã³ããã»ãã¥ãªãã£ã¯ãŒã¯ãããŒã¯ãå€ãã®å Žåãã€ã¡ãŒãžã®è©äŸ¡ããå§ãŸããŸãã ãããã®ã€ã¡ãŒãžã«ã¯ãããŸããŸãªè匱æ§ãå«ãŸããŠããå¯èœæ§ããããŸãã Sysdigã®ææ°ã®ã¬ããŒãã«ãããšãç»åã®75%ã«ãéåžžã«æ·±å»ãŸãã¯éåžžã«æ·±å»ãšèŠãªãããè匱æ§ããããŸããÂ
ããããè¯ããã¥ãŒã¹ããããŸãâãããã®è匱æ§ã«ããããé©çšããããšãã§ããŸã! ãŸãã調æŽãšéææ§ãåäžããããšã§ããŠãŒã¶ãŒã«åœ±é¿ãäžããåã«éçºäžã®ãããã®åé¡ãææ¡ã§ããŸãã ããã«ããã匷åãªã»ãã¥ãªãã£ãå¿ èŠãšããæ¥åžžã®ãŠãŒã¶ãŒãšäŒæ¥ã®é¡§å®¢ãä¿è·ãããŸããÂ
Snykã®Fani BaharãšHadar Mutaiã¯ã DockerConã»ãã·ã§ã³äžã«ãã®ã³ã³ããã»ãã¥ãªãã£ã®è°è«ã«é£ã³èŸŒã¿ãŸããã ã·ããã¬ããã®ã¢ãããŒããåããäž»èŠãªã»ãã¥ãªãã£ç®æšã«åããŠããŒã ãçµéããããšã§ããã匷åãªã€ã¡ãŒãžã»ãã¥ãªãã£ãã¯ããã«éæå¯èœã«ãªããŸããÂ
Fani ãš Hadar ã®è¬æŒã«é£ã³èŸŒãã§ãéçºè ãšçµç¹ã«ãšã£ãŠéèŠãªãã€ã³ããæ¶åããŠã¿ãŸãããã æ åºŠãæ§é ãããŒã«ãã³ã³ããã®ã»ãã¥ãªãã£ã«ã©ã®ããã«å€§ããªåœ±é¿ãäžããããåŠã³ãŸãã
ã»ãã¥ãªãã£ã«ã¯ãçµç¹å šäœã§é©åãªèãæ¹ãå¿ èŠã§ã
ãã€ã³ãã»ããã¯ããã匷åãªã³ã³ããã»ãã¥ãªãã£ãå®è£ ããéã«å æããã®ãæãé£ããããŒãã«ã®1ã€ã§ãã ããŒã ã¯ã»ãã¥ãªãã£ãéèŠèŠããŠããŸãããå®éã«ã¯å€ãã®å Žåãã»ãã¥ãªãã£ãç ©ããããšæããŠããŸãã ããã¯ãã»ãã¥ãªãã£ãäŒçµ±çã«æ£ããçµæãåŸãããã«éæ¹ããªãåªåãããŠããããã§ãã Hadaræ°ã«ãããšã仿¥ã§ããã³ã³ããã®ã»ãã¥ãªãã£ã¯ãã»ãšãã©ã®éçºè ãé¿ããã¡ãªãããã¯ãã«ãªã£ãŠããŸããÂ
ãŸããããŒã ã¯ç· ãåããçºå£²æ¥ã«éã«åãããã«ã¹ã¯ã©ã³ãã«ããããŸãããããé«ãã¬ãã«ã®è匱æ§ãçºèŠããããšé å»¶ãçºçããå¯èœæ§ããããŸãã ã»ãã¥ãªãã£ã¯ããã«å人ã§ã¯ãªãæµã«ãªããŸãã ã§ã¯ãã¹ã¯ãªãããå転ããã«ã¯ã©ãããã°ããã§ããããã çæ³çã«ã¯ãå¥å šãªã³ã³ããã»ãã¥ãªãã£ã¯ãŒã¯ãããŒã¯æ¬¡ã®ããšãè¡ãå¿ èŠããããŸãã
- ãã€ã¯ããµãŒãã¹éçºã§çè§£ããããã«ãªã£ãã¢ãžã£ã€ã«éçºã®ååããµããŒããã
- æ¬çªç°å¢ã«ãããã¢ããªã±ãŒã·ã§ã³ã»ãã¥ãªãã£ã®åäžãä¿é²
- çžåããåªå é äœãäœæããã®ã§ã¯ãªããå ±éã®ã»ãã¥ãªãã£ç®æšãäžå¿ã«ããŒã ãçµ±å
ã¢ããªã±ãŒã·ã§ã³ã®ã»ãã¥ãªãã£ã®åäžã«ã¯ãéçºè ãš DevSecOps ãšãã 2 ã€ã®äž»èŠãªãã«ãœããæè³ãããŠããŸãã ãããã®åå¥ã®ãã«ãœãã«ã¯ãéåžžã«ãã䌌ãç®æšããããŸãã éçºè ã¯ãé©åã«å®è¡ãããå®å šãªã¢ããªã±ãŒã·ã§ã³ãåºè·ããããšèããŠããŸãã äžæ¹ãDevSecOps ããŒã ã¯ããããã€ããããã¹ãŠã®ãã®ãã»ãã¥ãªãã£ã§ä¿è·ããããšèããŠããŸããÂ
ãããã®ç®æšãçµ±äžããç§èš£ã¯ããã¹ãŠã®äººã«å©çããããã广çãªã³ã³ããã»ãã¥ãªãã£ã¯ãŒã¯ãããŒãäœæããããšã§ãã ããã«ããã®ã¯ãŒã¯ãããŒã¯ãçŸåšããã³å°æ¥ã®ã³ã³ããã»ãã¥ãªãã£ã«åœ±é¿ãäžããæå€§ã®èª²é¡ãå æããå¿ èŠããããŸãã Hadarã匷調ãã課é¡ãåæããŠã¿ãŸããããÂ
çµç¹ã¯äžè¬çãªã³ã³ããã»ãã¥ãªãã£ã®èª²é¡ã«çŽé¢ããŠããŸã
ã»ãã¥ãªãã£ã®èåŸã«ããè¬ãè§£ãæããã®ã¯å°é£ãªããã«æããŸãããäžè¬çãªèª²é¡ãçè§£ããããšã¯æŠç¥ãç«ãŠãã®ã«åœ¹ç«ã¡ãŸãã çµç¹ã¯æ¬¡ã®ããšã«åãçµãã§ããŸããÂ
- è匱æ§ã®éè² è· (ã³ã³ãã㌠ã€ã¡ãŒãžã«ãã£ãŠ 900 ãè¶ ããå¯èœæ§ããã)
- ã»ãã¥ãªãã£ä¿®æ£ãä»ã®ä¿®æ£ãããåªå ãã
- ã³ã³ããã»ãã¥ãªãã£ãåºæ¬çã«ã©ã®ããã«æ©èœããããçè§£ãã(ããã¯ãããŒã ãåé¡ãä¿®æ£ã§ãããã©ããã«åœ±é¿ããŸã)
- ã»ãã¥ãªãã£ã®åé¡(ããã³ãã¹ã)ã«èµ·å ããããé·ãéçºãã€ãã©ã€ã³
- éçºè ããµããŒããã䟿å©ãªã»ãã¥ãªãã£ããŒã«ãæ¢åã®ã¯ãŒã¯ãããŒãã·ã¹ãã ã«çµ±å
ãã®ããšãããããŒã ãååããŠã»ãã¥ãªãã£ã調æŽããå¿ èŠãããããšãããããŸãã ããã«ã¯ãã»ãã¥ãªãã£ã®çµæãç¹å®ãã圹å²ãšè²¬ä»»ãå®çŸ©ããªãããäžæãæå°éã«æããããšãå«ãŸããŸãã ã³ã³ããã®ã»ãã¥ãªãã£ã¯å¯èœãªéãã·ãŒã ã¬ã¹ã§ããå¿ èŠããããŸããÂ
DevSecOps ã®æç床ãšçµç¹æ§é ãéèŠ
DevSecOpsã¯éçºãã»ãã¥ãªãã£ãããã³éçšã®ç¥ã§ãããããã¯ã©ãããæå³ã§ãã? DevSecOpsã·ã¹ãã ã®äžã§ã®ã»ãã¥ãªãã£ã¯ããœãããŠã§ã¢éçºã©ã€ããµã€ã¯ã«ã®ããªãæ©ã段éã§ã責任ã®å ±æãšåªå äºé ã«ãªããŸãã äžéšã®äŒæ¥ã¯ãã®æŠå¿µãæã£ãŠããŸãããä»ã®å€ãã®äŒæ¥ã¯ããã«äžæ £ãã§ãã ä»ã®äººã¯çãäžã®ã©ããã«ãããŸããÂ
Faniãè¿°ã¹ãããã«ãäŒæ¥ã®éçºããã»ã¹ãšã»ãã¥ãªãã£ã®æç床ã«ãã£ãŠãããããã©ã®ããã«åé¡ãããããæ±ºãŸããŸãã 䞡極端ããããŸãã äžæ¹ã§ã¯ãäŒæ¥ã¯DevSecOpsãå®å šã«ãå®çŸãããŠããå¯èœæ§ããããããã»ã¹ã®æ¡åŒµãšã»ãã¥ãªãã£ã®åŒ·åã«æåããŠããŸãã éã«ãäŒæ¥ã¯ æ¢çŽ¢æ®µéã«ããå¯èœæ§ããããŸãã 圌ãã¯DevSecOpsã«ã€ããŠèããããšãããããããæ¬²ãã(ãŸãã¯å¿ èŠã§ãã)ããšãç¥ã£ãŠããŸãã ãããã圌ãã®éçºããã»ã¹ã¯ååã«å®çããŠããããã»ãã¥ãªãã£äœå¶ã¯ããã»ã©åŒ·åã§ã¯ãããŸãããÂ
æ¢çŽ¢æ®µéã«ãããŠãŒã¶ãŒã¯ã次ã®è³ªåãããŠããããšã«æ°ä»ããããããŸããã
- ã»ãã¥ãªãã£ãæ¹åã§ããŸãã?
- ã©ã®çµç¹ããåŠã¶ããšãã§ããŸãã?
- ã©ã®ãã¹ããã©ã¯ãã£ã¹ã«åŸãã¹ãã§ãã?
äžæ¹ãä»ã®äŒæ¥ã¯DevOpsãæçããŠãã(ãã ãã»ãã¥ãªãã£ã¯æªæçã§ãã)ããDevSecOpsã«å¯Ÿå¿ããŠããŸãã äŒç€Ÿã®æåšå°ãç¥ãããšã¯ãããã»ã¹ãŸãã¯ã»ãã¥ãªãã£ãæ¡åŒµããããã®æ£ããæ¬¡ã®ã¹ããããèžãã®ã«åœ¹ç«ã¡ãŸããÂ
èªåŸæ§ãšéäžåãã»ãã¥ãªãã£ã«äžãã圱é¿
éåžžãããŒã ãç·šæããããã«äœ¿çšããã 2 ã€ã®æ¹æ³è«ã衚瀺ãããŸãã 1ã€ã¯ èªåŸæ§ã«çŠç¹ãåœãŠããã1ã€ã¯ éäžåãåªå ããŸãã
èªåŸçãªã¢ãããŒã
èªåŸåçµç¹ã«ã¯ãå€ããå°ãªãããµã€ãåãããè€æ°ã®ããŒã ãå容ãããå ŽåããããŸãã ãããããç¬èªã®ã¢ããªã±ãŒã·ã§ã³ã§åäœãããã®ã¢ããªã±ãŒã·ã§ã³ã®ã»ãã¥ãªãã£ãç£èŠããŸãã ããã«ã¯ããã«ãããã¹ããããã³æ€èšŒãå«ãŸããŸãã ã»ãã¥ãªãã£ã®æææš©ã¯ããããã®éçºè ãšããŒã å ã«çµ±åãããä»ã®ãã¹ãŠã®ãŠãŒã¶ãŒã«ãããŸããÂ
ããããããã¯DevSecOpsãå®å šã«ããã¯ã°ã©ãŠã³ãã«ãã§ãŒãã€ã³ãããšããããšã§ã¯ãããŸãã! 代ããã«ããµããŒããšã€ããŒãã«ã¡ã³ãã®åœ¹å²ãæãããŸãã ãã®DevSecOpsããŒã ã¯ãã±ãŒã¹ãã€ã±ãŒã¹ã§éçºè ãšçŽæ¥é£æºããããšãã䟿å©ãªå éšããŒã«ãæ§ç¯ããŠçæŽ»ãæ¥œã«ããããšãã§ããŸããÂ
äžå åãããã¢ãããŒã
ããããªããšãåã ã®éçºè ãäžå åãããDevOpsããã³AppSec(ã¢ããªã±ãŒã·ã§ã³ã»ãã¥ãªãã£)ããŒã ã®åšãã«éãŸãå¯èœæ§ããããŸãã ãã®ã°ã«ãŒãã¯ãããŸããŸãªéçºããŒã éã§æšæºã®ãã¹ããšèšå®ãæ åœããŸãã ããšãã°ãDevAppSec ã¯æ¿èªãããåºæ¬ã€ã¡ãŒãžãå®çŸ©ãã峿 Œãªã»ãã¥ãªã㣠ãããã³ã«ãæºããã³ã³ãããŒèšèšã®ãã¬ãŒã ã¯ãŒã¯ãã¬ã€ã¢ãŠãããŸãã ãã®èšç»ã¯ãçµç¹å šäœã®åã¢ããªã±ãŒã·ã§ã³ ããŒã ãšèª¿åããå¿ èŠããããŸããÂ
ãªãæ¿èªããã芪ç»åã䜿çšããã®ã§ãã? ãããã®ã€ã¡ãŒãžã¯ãç®ãèŠåŒµããããªè匱æ§ãååšããªãããšã確èªããããã«å³æ Œãªãã¹ããåããŠããŸãã ãŸããããŸããŸãªãããžã§ã¯ãã察象ãšããåºæ¬çãªæ©èœã»ãããå«ãŸããŠããŸãã DevSecOpsã¯ãç¶ç¶çãªãšã³ãžãã¢ãªã³ã°äœæ¥ããµããŒãããããã«ãæ©èœãšã»ãã¥ãªãã£ã®éã®çæ³çãªåŠ¥åç¹ãèŠã€ããå¿ èŠããããŸããÂ
ã©ã¡ãã®é£å¶ã«åé¡ãããŠããåºæ¬çã«ããªãã®èšç»ãã©ãã»ã©ãæççãã§ããããæ±ºãŸããŸãã éçºè ãæé©ã«äœæ¥ããæ¹æ³ã¯ãã»ãã¥ãªãã£èšç»ã«ã圱é¿ããŸãã ããšãã°ãããŒã ã¯ç¬èªã®å°çšããŒã«ã»ããã䜿çšããã®ãæã幞ããããããŸããã ãã®å Žåãéäžåã«ç§»è¡ãããšãæ©æŠãçºçããããç§»è¡æéãéå§ããããããå¯èœæ§ããããŸããÂ
å察ã«ãèªåŸããŒã ã¯ãäžå åãããããªã·ãŒã«äŸåããåŸã匷åãªã»ãã¥ãªãã£ãæ¡çšããããã®ç¥èãæã£ãŠããŸãã?Â
å€ãã®äŒæ¥ãæ¢åã®æ§é ãç¶æããããšã¯èšåãã䟡å€ããããŸãã ãã ããäžèšã®ãããªæ§é äžã®å€æŽã¯ãçæçããã³é·æçã«ã³ã³ããã®ã»ãã¥ãªãã£ã«åœ±é¿ãäžããå¯èœæ§ããããŸããÂ
倿§ãªããŒã«ãã³ã³ããã»ãã¥ãªãã£ã¯ãŒã¯ãããŒãå®çŸ©
次ã«ãFaniã¯ãã³ã³ããã»ãã¥ãªãã£ããŒã«åžå Žãããã«å 調ã§ãããã瀺ããŸããã éçºãã€ãã©ã€ã³ã®åã¹ããããã€ãŸãã¯ãŒã¯ãããŒã«ã¯ããžã§ãçšã®è€æ°ã®ããŒã«ããããŸãã IDEããéžæã§ããŸãã ãªããžããªãšããŒãžã§ã³ç®¡çããããŸãã ãŸããçµ±åããŒã«ãã¹ãã¬ãŒãžããªãŒã±ã¹ãã¬ãŒã·ã§ã³ããããŸããÂ
ãããã¯ãéçºã®æ¬¡ã®åŽé¢ã®ç®çãæãããŸããÂ
- å°åéçº
- ã®ããªãã¹
- CI/CD
- èšåž³
- çç£ã³ã³ãã管ç
ãããããããšã«ãç¹å®ã®ä»äºã«æé©ãªããŒã«ããææªã®ãããŒã«ã¯ãããŸããã ãã ããçµç¹ã¯ãäžæãæå°éã«æããŠåªããã³ã³ããã»ãã¥ãªãã£ãæäŸããããŒã«ãéžæããå¿ èŠããããŸãã Docker Desktopã®ãããªãã©ãããã©ãŒã ããã€ã¡ãŒãžç®¡çã ãœãããŠã§ã¢éšå衚(SBOM)æ©èœãªã©ã®ããŒã«ãéããŠãã»ãã¥ãªãã£ã¯ãŒã¯ãããŒã«çŽæ¥çãŸãã¯éæ¥çã«ã©ã®ããã«è²¢ç®ã§ããããæ€èšããå¿ èŠããããŸãã
ããŒã«ã«å¯Ÿå¿ããããã«ããã»ã¹ãåèšèšããå¿ èŠã¯ãããŸããã ããšãã°ãVisual Studio Code ã®æ¹ã IntelliJ IDEA ãããããŒã ã«é©ããŠããå¯èœæ§ããããŸãã Jenkins 察 CircleCIããŸã㯠GitHub 察 Bitbucket ã«ã€ããŠãåãããšãèšããŸãã éžæããããŒã«ã¯ãæ¢åã®ã»ãã¥ãªãã£ããã»ã¹ã«é©åããããã«ãããã匷åããå¿ èŠããããŸãã ããã ãã§ãªãããããã®ããŒã«ã¯ãçç£æ§ã®ããŒãã«ãåé¿ããããã«ããŸãåã¿åãå¿ èŠããããŸããÂ
ã³ã³ããã»ãã¥ãªãã£ã¯ãŒã¯ãããŒã®äŸ
ã»ãã¥ãªãã£ã®èåŸã«ããçè«ã¯éèŠã§ãããå ·äœçãªäŸãéèŠã§ãã Fani ã¯ãèªåŸçãªããŒã ã¯ãŒã¯ãããŒã«é£ã³ä¹ãããšããããããã®äŸãéå§ããŸããã ãŸããŸãå€ãã®çµç¹ããåã ã®ããŒã ã«åãäžãããããèªåŸæ§ãæ¡çšããŠããŸããÂ
èªåŸã¯ãŒã¯ãããŒã®èª¿æ»
ææ°ã®ã¯ãŒã¯ãããŒãšåæ§ã«ãéçºãšã»ãã¥ãªãã£ã¯ããŸããŸãªçšåºŠã®èªååã«é ŒããŸãã ããã¯ãGitãªããžããªãžã®ã³ãŒãããã·ã¥ã§å§ãŸãFaniã®äŸã®å Žåã§ãã ãã®ã¢ã¯ã·ã§ã³ã«ãããäžé£ã®ã·ãŒã±ã³ã·ã£ã«ãªãŠãŒã¶ãŒå®çŸ©ã¿ã¹ã¯ã§ãã Jenkins ãžã§ããéå§ãããŸãã æ¬¡ã«ãSnykãã©ã°ã€ã³ã®ãããªãã®ããã«ãç Žå£ã®åé¡ãã¹ãã£ã³ããŸããÂ
Snyk ã§åé¡ãæ€åºãããªãå ŽåãJenkins ãžã§ãã¯æåãããšèŠãªãããŸãã Snykã¯ãã以éç¶ç¶çã«ç£èŠããæ°ããåé¡ã«ã€ããŠããŒã ã«èŠåããŸããÂ
åé¡ãèŠã€ãããšãã³ã³ãã㌠ã»ãã¥ãªã㣠ããŒã«ã¯ããããã®ãã«ãã®åé¡ã«ãã©ã°ãä»ããéçºè ã«éç¥ããææç©ãžã®ã¢ã¯ã»ã¹ãæäŸããé©åãªä¿®åŸ©æé ãæäŸããå ŽåããããŸãã ããããããµã€ã¯ã«ãç¹°ãè¿ãããŸãã ãŸãã¯ãè匱ãªã³ã³ããŒãã³ããŸãã¯äŸåé¢ä¿ã代æ¿ã«çœ®ãæããæ¹ãå®å šãªå ŽåããããŸããÂ
å ±éåºæ¬ã¯ãŒã¯ãããŒã®èª¿æ»
DevSecOps ãã»ãã¥ãªãã£ã®èµåãã«æ®ãããšãããã»ã¹ã¯å°ãéã£ãŠèŠããããšããããŸãã Hadarã¯ãDevOpsã®éèŠãªåœ¹å²ã匷調ããããã«ããããã®ãŠããŒã¯ãªã³ã³ããã»ãã¥ãªãã£æ®µéã«ã€ããŠèª¬æããŠãããŸããã ããã¯éçºè ã®ã¯ãŒã¯ãããŒã«é£æ¥ããŠããŸãããéçºè ã®ã¯ãŒã¯ãããŒãšã¯å€å°ç°ãªããŸãã ãã ããå ±éã®ã¬ãžã¹ããªã«ãã£ãŠäžå çã«ãªã³ã¯ãããŠããŸããÂ
DevOpsã¯ãé©åãªåºæ¬ã€ã¡ãŒãžãéžæããã«ã¹ã¿ãã€ãºããæé©åãã匷åãªã»ãã¥ãªãã£ã確ä¿ããããã«ãã®ããŒã¹ã詊ãããšããå§ãŸããŸãã æ¿èªãããã€ã¡ãŒãžã¯ãå ±éã®éçºã¬ãžã¹ããªã«ç§»åããŸãã éã«ãDevOpsã¯ããã®ã€ã¡ãŒãžãå éšã§å©çšã§ããããã«ããåã«ãè匱æ§ãä¿®æ£ããŸããÂ
次ã«ãåéçºè ã¯ãéèŠãªã«ã¹ã¿ã ãœãããŠã§ã¢ããã±ãŒãžãç ç²ã«ããããšãªãã¹ãã£ã³ã«åæ Œãããå®å šã§ç²Ÿæ»ãããã€ã¡ãŒãžããå§ããŸãã åé¡ã¯ä¿®æ£ããŠæ¯ãåºãã«æ»ãå¿ èŠããããŸãããæåãšã¯ã³ã³ããã¢ãŒãã£ãã¡ã¯ããããŠã³ã¹ããªãŒã ã¬ãžã¹ããªã«ããã·ã¥ããããšãæå³ããŸããÂ
å°æ¥ãèŠæ®ããããå®å šãªå®¹åšã¥ããÂ
å šäœãšããŠãã³ã³ããã®ã»ãã¥ãªãã£ã¯å€ãã®äººãèããã»ã©è€éã§ã¯ãããŸããã ã»ãã¥ãªãã£ã調æŽããããŒã«ãšäžç·ã«ã³ã¢ããã»ã¹ãéçºããããšã§ãè¿ éãªé²æ©ãéããããšãã§ããŸãã èªååã¯å€§ããªåœ¹å²ãæãããŸãã ãŸããã³ã³ããã»ãã¥ãªãã£ã¯ãŒã¯ãããŒã«åãçµãæ¹æ³ã¯ãããããããŸããã1ã€ã®ã¢ãããŒãã§ç¢ºå®ã«æ©èœãããã®ã¯ãããŸãããÂ
ããå®å šãªãããªãã¯ããŒã¹ã€ã¡ãŒãžãšã«ã¹ã¿ã ã€ã¡ãŒãžã¯ãå®å šãªã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããéã®éèŠãªèŠçŽ ã§ãã 詳现ã«ã€ããŠã¯ããã¡ããšããã«ã®å®å šãªè©± ãèŠãããšãã§ããŸãããŸãã Docker Hub ã® Docker Desktop çšã® Snyk Extension ã®è©³çްãèªãããšãã§ããŸãã