MS_CloudUsageConsiderations - NetDevInfraWGinOSSConsortium/NetDevInfraWiki GitHub Wiki
- æ»ãïŒã¯ã©ãŠãïŒ
- ã¡ã¬ã¯ã©ãŠããµãŒãã¹
- ã¯ã©ãŠãå©çšæã®æ³šæäºé
ã¯ã©ãŠãå©çšæã®æ³šæäºé ããŸãšããã
æ§ã ãªã¯ã©ãŠããªãœãŒã¹ã®ã¢ã¯ã»ã¹å¶åŸ¡
- NW çµè·¯å¶åŸ¡
- VM ç®¡çæš©éå¶åŸ¡
- Storage ã¢ã¯ã»ã¹å¶åŸ¡
è£è¶³ïŒãã® 3 ã€ããå€å±€é²åŸ¡ããæ§æããïŒ: äžèŠãã©ãã©ã«èŠãããã
åããªãœãŒã¹ã«å¯Ÿãã 3 ã€ã®ç¬ç«ããé¢éã§ããããæ»æè ããèŠãå°éçµè·¯ã â ããããå°éã§ãããïŒ â NW çµè·¯å¶åŸ¡ïŒNSG / Private LinkïŒ â¡ ç®¡çæäœãå®è¡ã§ãããïŒ â VM ç®¡çæš©éå¶åŸ¡ïŒRBACïŒ â¢ ããŒã¿ãèªã¿æžãã§ãããïŒ â Storage ã¢ã¯ã»ã¹å¶åŸ¡ïŒSAS / RBAC / FWïŒéèŠãªã®ã¯ãã©ãã 1 ã€ã§ãå®ãããŠããã°äŸµå®³ãããªããšããç¹ã§ã
éã«èšãã°1 ã€ã«é Œã£ãŠã¯ãããªããšããããšã§ãããã
å±€ Azure ã§ã®ææ®µ NW çµè·¯ Network Security Group (NSG)ãAzure Private LinkãAzureã®ãããã·çãªã¢ãã ç®¡çæš©é RBACãAzureã®ã¢ã¯ã»ã¹å¶åŸ¡ãšæš©é ããŒã¿ ã¹ãã¬ãŒãž ãã¡ã€ã¢ãŠã©ãŒã«ãSASããããŒãžã IDïŒAzure Key VaultïŒ ãããã倱æã¯ã**ãéåã«ããããæš©éã¯ç·©ããŠããã**ãšãã倿ã§ã
ããã¯â ã ãã«é Œã£ãŠããç¶æ ã§ããã
å éšããã®æäœãã¹ãã䟵害ãããèžã¿å°ããã®æ»æã«ã¯ç¡åã«ãªãã
èªèšŒåºç€ã®ç®¡ç
- èªèšŒæ å ±
- èªèšŒã·ã¹ãã
è£è¶³ïŒã¯ã©ãŠãã§æãçãããã®ã¯èªèšŒæ å ±ïŒ: ã¯ã©ãŠãã§ã¯
管çã³ã³ãœãŒã«ïŒARM APIïŒãã€ã³ã¿ãŒãããã«å ¬éãããŠããããã
è³æ Œæ å ±ãæŒããæç¹ã§ãçµè·¯å¶åŸ¡ã¯ç¡æå³ã«ãªã
ïŒæ»æè ã¯æ£èŠã® API çµç±ã§æäœã§ããïŒããããã£ãŠã次㮠3 ç¹ãèŠç¹ã«ãªãã
察ç å 容 è³æ Œæ å ±ãã眮ããªãã ãããŒãžã ID ã䜿ããæ¥ç¶æååãããŒãã³ãŒããèšå®ã«æããªã å€èŠçŽ èªèšŒïŒMFAïŒ ç®¡çæäœã«ã¯å¿ é ïŒAzureã®PoCç°å¢ãå¥çŽããïŒ ç¹æš©ã®åžžæä»äžãé¿ãã PIMïŒPrivileged Identity ManagementïŒã§å¿ èŠãªæã ãææ Œ ç¹ã« 1 ã€ç®ãæ¬è³ªçã§ã
Web/APã®åé¢ã§è¿°ã¹ã
ãéµãçãŸããªãããã«ããããããããããéµã眮ããªãããžãšãã
転æãããã§ãåœãŠã¯ãŸãããŸãããœãŒã¹ã³ãŒããžã®è³æ Œæ å ±ã®æ··å ¥ïŒGitHub ãžã®èª€ã³ãããïŒã¯
å®éã«å€çºããŠãããèªåã¹ãã£ã³ã§æ€åºãããä»çµã¿
ïŒGitHub Secret ScanningãDefender for CloudïŒã
æå¹ã«ããŠããã¹ãã§ããã
- ã¢ã¯ã»ã¹å¶åŸ¡
- ããŒã¿æå·å
è£è¶³ïŒæå·åã¯ãäœããå®ãããã§éžã¶ïŒ: ãããŒã¿æå·åããš
äžæ¬ãã«ãããããå®ãã察象ãå±€ããšã«ç°ãªã
ïŒAzureã®ä»®æ³ãã·ã³ã®è£è¶³ãåç §ïŒã
å±€ å®ãããã® å®ããªããã® ä¿åæïŒSSEãTDEïŒ ç©çãã£ã¹ã¯ã®çé£ã»å»æ£ æ£èŠã®æš©éãæã€è 転éæïŒTLSïŒ çµè·¯äžã®çèŽ äž¡ç«¯ ã¢ããªã±ãŒã·ã§ã³å±€ïŒAlways Encrypted çïŒ DB 管çè ãããèŠããªã ã¢ããªèªèº« 䜿çšäžïŒConfidential ComputingïŒ ãã¹ãïŒåºç€äºæ¥è ãã ïŒ Azure ã§ã¯ã¹ãã¬ãŒãžã DB ãæ¢å®ã§æå·åãããŠããããã
ãæå·åããŠããªãããšããç¶æ ã¯ååãšããŠååšããªãã
远å ã®æå·åãæ€èšãã¹ããªã®ã¯ã
- èŠå¶èŠä»¶ã§é¡§å®¢ç®¡çããŒïŒCMKïŒãæ±ããããã
- DB 管çè ã«ãèŠããããªãåãããïŒãã€ãã³ããŒçïŒ
ãšãã£ãå ·äœçãªçç±ãããå Žåã«éãããã
ç¹ã«ãçµæžçæå€±ãçã£ããã®ã«ã¯æ³šæãå¿ èŠã
è£è¶³ïŒãçµæžçæå€±ãçã£ããã®ãã®å ·äœäŸïŒ: ãã®äžè¡ã¯
ã¯ã©ãŠãç¹æã®æ»æãæããŠãããéèŠãªææã§ããã
ãªã³ãã¬ãã¹ã«ã¯ç¡ãæ§è³ªãšããŠã
ãªãœãŒã¹ãåŸé課éã§ãããããæ»æãçŽæ¥çã«éé被害ã«ãªãã
æ»æ å 容 ã¯ãªãããžã£ããã³ã° 䟵害ãããµãã¹ã¯ãªãã·ã§ã³ã§æå·é貚ããã€ãã³ã°ã髿§èœ VM ã倧éã«èµ·åãããæ°æ¥ã§æ°çŸäžåã®è«æ± çµæžç DoSïŒEDoSïŒ å€§éã¢ã¯ã»ã¹ã§èªåã¹ã±ãŒã«ãæŽèµ°ããã課éãèšããŸãã äžã転éã®æªçš 倧容éããŒã¿ãç¹°ãè¿ãããŠã³ããŒããããegress 課éãçºçããã ã¹ãã¬ãŒãžãžã®å€§éæžã蟌㿠ãã©ã³ã¶ã¯ã·ã§ã³èª²éã®æ¶è²» 察çãšããŠã¯ã
ææ®µ å 容 äºç®ã¢ã©ãŒã ãã ãéç¥ããã ãã§æ¢ãŸããªãïŒAzureã®PoCç°å¢ãå¥çŽããïŒ ã¯ã©ãŒã¿ã®å¶é vCPU äžéãå¿ èŠæå°éã«ïŒAzureã®ã¯ã©ãŒã¿ïŒ Azure Policy é«äŸ¡ãª SKU ã®äœæèªäœãçŠæ¢ èªåã¹ã±ãŒã«ã®äžéèšå® ééãªãå¢ããªãããã«ãã Defender for Cloud ç°åžžãªãªãœãŒã¹äœæãæ€ç¥ ç¹ã« ã¯ã©ãŒã¿ãš Policy ã«ãããäœããªãããã«ããã ãå¹ãã
æ€ç¥ãéç¥ã¯äºåŸã§ããã課éã¯æ¢ã«çºçããŠããããã§ããã
ã¢ãŠãããŠã³ããçµãå¿
èŠæ§ã¯äœããã
ã»ãã¥ãªãã£ãéèŠã«ãªãç°å¢ã§ã¯ã
ããŒã«ãã«ãŒãçãªæå³ã§ã¢ãŠãããŠã³ããçµãã
è£è¶³ïŒçŸåšã¯ãã®å€æãé転ããŠããïŒ: ãã¢ãŠãããŠã³ããçµã
å¿ èŠæ§ã¯äœãããšããèšè¿°ã¯å·çåœæã®äžè¬çãªèªèã ãã
**çŸåšã®èãæ¹ã¯ãçµãã®ãååã**ã«å€ãã£ãŠãããçç±ã¯ã䟵害ãåæãšããïŒãŒã ãã©ã¹ãïŒãšããçºæ³ã®æ®åã«ããã
ãåŸæ¥ã®çºæ³ã å ¥ãå£ãå®ãã°äžã¯å®å š â ã¢ãŠãããŠã³ãã¯èªç±ã§ãã ãçŸåšã®çºæ³ã 䟵害ãããããšãåæ â 䟵害åŸã®è¢«å®³ãæå°åãã â ã¢ãŠãããŠã³ãã®å¶éïŒ ã»ããŒã¿ãå€ã«æã¡åºãããªã ã»C2 ãµãŒãã«ç¹ãããªã詳现ã¯Azureã®ã¢ãŠãããŠã³ãèšèšã
Azureã®ãããã·çãªã¢ããã«æŽçããŠããã
Network Security Group (NSG)ã§è¿°ã¹ããšãã
æ¢å®ã¯ã¢ãŠãããŠã³ãå šéã§ããããã
äœãããªããã°å¶éãããŠããªãç¹ã«æ³šæãèŠãããã ããæ¬æã®ãå¿ èŠæ§ã¯äœãããšãã倿ã«ãæ ¹æ ã¯ããã
ã¢ãŠãããŠã³ããçµããšéçšè² è·ãäžããïŒããã±ãŒãžååŸã
æŽæ°ããã°ã©ã ãã©ã€ã»ã³ã¹èªèšŒãªã©ãè»äžŠã¿éããªããªãïŒããã§ã
èŠä»¶ãšéçšäœå¶ã«å¿ããŠæ®µéçã«çµãã®ãçŸå®çã§ããã
- äžçšæã«éããªãããŠã£ã«ã¹ææããã
- éããå Žåã¯ã以äžã«æ³šæããã
- 補å
- 補åã«è匱æ§ããã£ããã¢ãŠãã
- 補åéçºå ã«åãåãããŠãè匱æ§ããã§ãã¯ãããªã©ããã
- OSS
- OSS ã«è匱æ§ããã£ããã¢ãŠãã
- æ å ±ãåéããŠãåœè©²ããŒãžã§ã³ã®è匱æ§ããã§ãã¯ãããªã©ããã
- èªäœããã°ã©ã
- èªäœããã°ã©ã ã«è匱æ§ããã£ããã¢ãŠãã
- èªäœããã°ã©ã ã«è匱æ§èšºæãæœãå¿ èŠãããã
è£è¶³ïŒ3 åé¡ã¯ã誰ãè匱æ§ãèŠã€ããŠçŽãããã®éãïŒ: ãã®åé¡ã®
å®åçãªæå³ã¯ãè²¬ä»»ã®æåšãšå¯Ÿå¿ã®éãã«ããã
çš®é¡ è匱æ§ãèŠã€ããã®ã¯ ä¿®æ£ãäœãã®ã¯ æ å ±ã®å ¥æ 補å ãã³ã ãã³ãïŒåŸ ã€ãããªãïŒ ãµããŒãå¥çŽãéç¥ OSS ã³ãã¥ãã㣠ã³ãã¥ããã£ïŒèªåã§åœãŠãïŒ CVEãGitHub Advisory èªäœ èªå èªå 蚺æããªãéãåãããªã äžã«è¡ãã»ã©èªåã®è²¬ä»»ãéããªãã
ç¹ã«èªäœããã°ã©ã ã¯ã誰ãæããŠãããªããšããç¹ã決å®çã§ã
ã ããããæ¬æã¯ãè匱æ§èšºæãæœãå¿ èŠãããããšããŠãã
ïŒWebã¢ããªã±ãŒã·ã§ã³è匱æ§å¯Ÿçã
è匱æ§å¯Ÿçã®ãã€ã³ãïŒããªããçŸåšã¯äŸåã©ã€ãã©ãªã®è匱æ§ïŒãµãã©ã€ ãã§ãŒã³ïŒã
倧ããªæ¯éãå ãããèªäœããã°ã©ã ã§ãã£ãŠãã
äžèº«ã®å€§å㯠OSS ã®ã©ã€ãã©ãªã§ããããã§ã
ææ®µ å 容 SCAïŒãœãããŠã§ã¢æ§æåæïŒ Dependabotã dotnet list package --vulnerableSBOM 䜿ã£ãŠããéšåã®äžèЧã管çãã ã³ã³ãã ã€ã¡ãŒãžã®ã¹ãã£ã³ Defender for ContainersãTrivy ãšãã£ãä»çµã¿ã CI ã«çµã¿èŸŒãã®ãæšæºçã«ãªã£ãŠãã
ïŒCI/CD ãã€ãã©ã€ã³ïŒã
- åè¿°ã®è£œåïŒWindows ã® RDPïŒãOSSïŒLinux ã® SSHïŒã®ãšã³ããã€ã³ãã«è©²åœããã
- SSH ã RDP ã®ã€ã³ããŠã³ãã»ããŒããéããå Žåã
ã¬ãŒãããã¹ã¯ãŒãã®ã¿ã«ãªãããããã¹ã¯ãŒãã®åŒ·åºŠãåé¡ã«ãªãã
ç§»è¡ã¡ã¢ïŒäœè£ïŒ: åå žã®ããã¹ã¯ãŒãã«åŒ·åºŠã泚æã«ãªããã¯
ææããããã¹ã¯ãŒãã®åŒ·åºŠãåé¡ã«ãªãããšèªããããæŽããã
è£è¶³ïŒãã®ææã¯çŸåšãæéèŠïŒ: Azure ã® IP ã¬ã³ãžã¯
åžžæã¹ãã£ã³ãããŠããã3389 / 22 ãéãããš
æ°åãæ°æéã§ç·åœããæ»æãå§ãŸãã察çã®åªå é äœã¯æ¬¡ã®ãšããã
åªå ææ®µ 1 ããããéããªãïŒAzure Bastionããªã¢ãŒã ãã¹ã¯ããã ã²ãŒããŠã§ã€ïŒ 2 Just-in-Time VM ã¢ã¯ã»ã¹ïŒå¿ èŠãªæã ãéããïŒ 3 éä¿¡å IP ãéå®ïŒNSGïŒ 4 éµèªèšŒã®ã¿ã«ããïŒãã¹ã¯ãŒãèªèšŒãç¡å¹åãOpenSSHïŒ æ¬æããã¬ãŒãããã¹ã¯ãŒãã®ã¿ã«ãªãããšæžããŠããã®ã¯
ãã¹ã¯ãŒãèªèšŒã䜿ã£ãŠããå Žåã®è©±ã§ã
å ¬ééµèªèšŒã«ããã°ç·åœããã¯äºå®äžäžå¯èœã«ãªãã
Azureã®è©äŸ¡ç°å¢ãå ¥æããã®æ§æäŸã§ã
Linux åŽã¯ãèªèšŒã®çš®é¡: SSH å ¬éããŒããéžãã§ããã
äžèšã§äžå®ãããå Žåã¯ãã¯ã©ã€ã¢ã³ã ïŒ ãµãŒãéã VPN ã§ã¬ãŒãããã
ã¯ã©ãŠãäžã§ããããã
äžèšããŒã¿ã¯åºæ¬çã«ä¿åããªãã
- å人æ å ±
- æ©å¯æ å ±
- 茞åºäžå¯ã®æ å ±
äžèšããŒã¿ã¯åºæ¬çã«ã¢ããããŒãããªãã
- å人æ å ±
- æ©å¯æ å ±
- 茞åºäžå¯ã®æ å ±
è£è¶³ïŒãã®æ¹éã®äœçœ®ä»ãïŒ: æ¬ç¯ã®èšè¿°ã¯
PoCã»æ€èšŒç°å¢ãåæãšããæ¹éãšããŠèªãã®ãé©åã§ãã
ïŒAzureã«ããåºç€éçºæ³ã®
3 ç°å¢ãããªãã¯ã¹ã§ãPoC ç°å¢ïŒæ¬çªããã¹ãã®ããŒã¿ã¯æã¡èŸŒã¿äžå¯ããš
ãããŠããã®ãšåãèãæ¹ïŒãæ¬çªç°å¢ã§ãã¯ã©ãŠãã«ã¯å人æ å ±ã眮ããªãããšãã倿ã¯ã
çŸåšã§ã¯äžè¬çã§ã¯ãªããéèæ©é¢ãå®å ¬åºãå«ãã
é©åãªçµ±å¶ã®ããšã§ã¯ã©ãŠãã«æ©å¯ããŒã¿ã眮ãéçšãå®çããŠãããæ¬çªã§æ©å¯ããŒã¿ãæ±ãå Žåã®èŠç¹ã¯æ¬¡ã®ãšããã
èŠ³ç¹ å 容 ããŒã¿ã®æåšïŒãªãŒãžã§ã³ïŒ æ¥æ¬åœå ã«éå®ããïŒããŒã¿äž»æš©ïŒ æå·å ä¿åæã»è»¢éæãå¿ èŠãªã顧客管çããŒïŒCMKïŒ ã¢ã¯ã»ã¹ã®æå°å RBACãPrivate Endpointãç£æ»ãã° èªå®ã»ç£æ» ISMAPãSOC2ãISO 27001 çã®æºæ ç¶æ³ 茞åºç®¡ç æè¡æ å ±ã®è¶å¢ç§»è»¢ïŒå€çºæ³ïŒããªãŒãžã§ã³éžæãšéçšè ã®æåšãè«ç¹ ç¹ã«ã茞åºäžå¯ã®æ å ±ãã«ã€ããŠã¯ã
ããŒã¿ãæ¥æ¬åœå ã«ä¿åãããŠããŠãã
æµ·å€ã®éçšè ãã¢ã¯ã»ã¹ã§ããç¶æ ãªãã茞åºãã«åœããåŸããšãã
è«ç¹ããããå¥çŽãšæè¡ã®äž¡é¢ã§ã®ç¢ºèªãå¿ èŠã«ãªããã€ãŸããã眮ããªãããšããåçŽãªæ¹éããã
ãã©ãããæ¡ä»¶ãªã眮ããŠãããããå®çŸ©ããæ¹åãžã
çŸåšã®å®åã¯ç§»ã£ãŠããã
-
äž»èŠãªã¡ã¬ã¯ã©ã§ã¯ã
- ããŒã¿ã«ã®æäœãæš©éã§å¶åŸ¡
- VM ã®éä¿¡ã src-dst ã§å¶åŸ¡
ãªã©ãå¯èœã
-
詳ããã¯ããAzure Subscriptionã®ç®¡ç@ãšã³ãã©ããåç §ã
è£è¶³ïŒãã¯ã©ãŠãæ©èœã䜿çšããŠç®¡çããããæ¹éãšããŠéèŠïŒ: äžè¡ã ãã
ãªã³ãã¬ã®ç®¡çææ³ããã®ãŸãŸæã¡èŸŒãŸãªããšããæéã§ããã
ããããããš ãªã³ãã¬çãªçºæ³ ã¯ã©ãŠãã®æ©èœ æäœãå¶éãã æé æžãç³è«ãã㌠RBACãAzure PolicyïŒããããå®è¡ã§ããªãããïŒ æ§æãå®ã å°åž³ãå®æç¹æ€ PolicyããªãœãŒã¹ ããã¯ïŒå€æŽãæåŠããïŒ å€æŽã远ã äœæ¥å ±åæž ã¢ã¯ãã£ãã㣠ãã°ïŒèªåçã«å šéšæ®ãïŒ éä¿¡ãå¶åŸ¡ãã æ©åšã®èšå® NSGãUDRïŒAPI ã§å®£èšçã«ïŒ èŠç¹ã¯ãã人ãå®ãã«ãŒã«ããããã·ã¹ãã ã匷å¶ããå¶çŽããžãšãã
転æã§ãããç¹ã« Azure Policy ã¯ã
- é«äŸ¡ãª SKU ãäœãããªãã
- ã¿ã°ã®ä»äžãå¿ é ã«ããã
- ãããªã㯠IP ã®äœæãçŠæ¢ããã
- 蚺æèšå®ãèªåã§ä»äžããïŒDeployIfNotExistsïŒ
ãšãã£ãå¶åŸ¡ããµãã¹ã¯ãªãã·ã§ã³å šäœã«åŒ·å¶ã§ãã
æé æžãã¬ãã¥ãŒããã¯ããã«ç¢ºå®ã§ãã
ïŒAzureã®ã¢ã¯ã»ã¹å¶åŸ¡ãšæš©éã
Azureã«ããåºç€éçºæ³ïŒã
Tags: ç§»è¡, ã€ã³ãã©ã¹ãã©ã¯ãã£, ã¯ã©ãŠã