- ÇöÀç À§Ä¡
- home > ÄÄÇ»ÅÍ¡¤ICT¡¤¾îÇÐ > ÄÄÇ»ÅÍ¡¤IT µµ¼ > º¸¾È/ÇØÅ· > Microservices Security in Action[¿¡ÀÌÄÜÃâÆÇ]
¸¶ÀÌÅ©·Î¼ºñ½º ¾ÆÅ°ÅØó¿¡¼ ¹ß»ýÇÒ ¼ö ÀÖ´Â ´Ù¾çÇÑ º¸¾È À̽´¸¦ »ìÆ캸°í ¿¹Á¦ ÄÚµå¿Í ½Ç½ÀÀ» È°¿ëÇØ ÇØ´ç À̽´¸¦ ÇØ°áÇÏ´Â µ¥ ÇÊ¿äÇÑ Áö½ÄÀ» Àü´ÞÇÑ´Ù. Ã¥À» ´Ù ÀÐÀ» ¶§ÂëÀÌ¸é ¸¶ÀÌÅ©·Î¼ºñ½º º¸¾ÈÀ» ÀÌÇØÇÏ°í ¾ÈÀüÇÑ ¼³°è¿Í ±¸Çö¿¡ ÇÊ¿äÇÑ Áö½Ä±îÁö ½ÀµæÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
ÀúÀÚ: ÇÁ¶ó¹Ù½º ½Ã¸®¿Íµ¥³ª
1ºÎ. °³¿ä
1Àå. ¸¶ÀÌÅ©·Î¼ºñ½º º¸¾ÈÀÇ Æ¯Â¡
1.1 ¸ð³î¸®½Ä ¾ÖÇø®ÄÉÀ̼ÇÀÇ º¸¾È µ¿ÀÛ ¿ø¸®
1.2 ¸¶ÀÌÅ©·Î¼ºñ½º º¸¾ÈÀÇ ¾î·Á¿ò
1.2.1 °ø°Ý ³ëÃâ ÁöÁ¡ÀÌ ³Ð¾îÁú¼ö·Ï °ø°Ý¹ÞÀ» À§Çèµµ Áõ°¡
1.2.2 º¸¾È °ËÁõ ÁöÁ¡ ºÐ¸®´Â ¼º´É ÀúÇϸ¦ ÃÊ·¡
1.2.3 ¹èÆ÷ º¹À⼺À¸·Î ÀÎÇÑ ¸¶ÀÌÅ©·Î¼ºñ½º °£ ÃÊ±â ½Å·Ú ¼³Á¤ ¾î·Á¿ò
1.2.4 ´Ù¾çÇÑ ¸¶ÀÌÅ©·Î¼ºñ½º °£ Åë½Å ÃßÀûÀÇ ¾î·Á¿ò
1.2.5 ÄÁÅ×À̳ÊÀÇ ºÒº¯¼ºÀ¸·Î ÀÎÇÑ ÀÚ°ÝÁõ¸í°ú Á¢±Ù Á¦¾î Á¤Ã¥ À¯ÁöÀÇ ¾î·Á¿ò
1.2.6 ¸¶ÀÌÅ©·Î¼ºñ½ºÀÇ ºÐ»êµÈ Ư¼ºÀ¸·Î ÀÎÇÑ »ç¿ëÀÚ ÄÁÅؽºÆ® °øÀ¯ÀÇ ¾î·Á¿ò
1.2.7 ´ÙÁß °³¹ß ¾ð¾î Áö¿ø ¾ÆÅ°ÅØó´Â °³¹ß ÆÀ¿¡ ´õ ¸¹Àº º¸¾È Àü¹®Áö½ÄÀ» ¿ä±¸
1.3 ÇÙ½É º¸¾È ¿øÄ¢
1.3.1 ÀÎÁõÀº ½ºÇªÇÎÀ¸·ÎºÎÅÍ ½Ã½ºÅÛÀ» º¸È£
1.3.2 ¹«°á¼º °ËÁõÀ¸·Î µ¥ÀÌÅÍ º¯Á¶¿¡¼ ½Ã½ºÅÛÀ» º¸È£
1.3.3 ºÎÀιæÁö: ÇÑ ¹øÀÇ ¼¸íÀ¸·Î ¿µ±¸ÀûÀ¸·Î ±â·ÏÇÏÀÚ
1.3.4 ±â¹Ð¼ºÀº ÀǵµÇÏÁö ¾ÊÀº Á¤º¸ ³ëÃâ¿¡¼ ½Ã½ºÅÛÀ» º¸È£
1.3.5 °¡¿ë¼º: ¾î¶°ÇÑ »óȲ¿¡¼µµ ½Ã½ºÅÛÀ» °¡µ¿ ÁßÀÎ »óÅ·ΠÀ¯Áö
1.3.6 Àΰ¡: ±ÇÇÑ ¹üÀ§¸¦ ³Ñ¾î¼± ÇàÀ§ Â÷´Ü
1.4 ¿ÜºÎ °æ°è º¸¾È
1.4.1 ¸¶ÀÌÅ©·Î¼ºñ½º ±×·ì¿¡¼ API °ÔÀÌÆ®¿þÀÌÀÇ ¿ªÇÒ
1.4.2 °æ°è ÁöÁ¡¿¡¼ÀÇ ÀÎÁõ
1.4.3 °æ°è ÁöÁ¡ Àΰ¡ ÀýÂ÷
1.4.4 Ŭ¶óÀ̾ðÆ® ¾ÖÇø®ÄÉÀ̼Ç/»ç¿ëÀÚ ÄÁÅؽºÆ®¸¦ »óÀ§ ¸¶ÀÌÅ©·Î¼ºñ½º·Î Àü´Þ
1.5 ¼ºñ½º °£ Åë½Å º¸¾È
1.5.1 ¼ºñ½º °£ ÀÎÁõ
1.5.2 ¼ºñ½º ¼öÁØ Àΰ¡
1.5.3 ¸¶ÀÌÅ©·Î¼ºñ½º °£ »ç¿ëÀÚ ÄÁÅؽºÆ® ÀüÆÄ
1.5.4 ½Å·Ú °æ°è °£ ¿¬°á
¿ä¾à
2Àå. ¸¶ÀÌÅ©·Î¼ºñ½º º¸¾ÈÀ» À§ÇÑ Ã¹ ´Ü°è
2.1 ù ¹ø° ¸¶ÀÌÅ©·Î¼ºñ½º Á¦ÀÛ
2.1.1 ÇÊ¿ä ¼ÒÇÁÆ®¿þ¾î ´Ù¿î·Îµå ¹× ¼³Ä¡
2.1.2 ¿¹Á¦ ÄÚµå ÀúÀå¼Ò º¹»çº» »ý¼º
2.1.3 ÁÖ¹® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½º ÄÄÆÄÀÏ
2.1.4 ÁÖ¹® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½º Á¢±Ù
2.1.5 ¼Ò½º ÄÚµå µð·ºÅ丮¿¡´Â ¾î¶² °ÍÀÌ Àִ°¡?
2.1.6 ¸¶ÀÌÅ©·Î¼ºñ½ºÀÇ ¼Ò½º ÄÚµå ÀÌÇØ
2.2 OAuth 2.0 ¼¹ö Áغñ
2.2.1 Àΰ¡ ¼¹ö¿ÍÀÇ Åë½Å
2.2.2 OAuth 20 Àΰ¡ ¼¹ö ½ÇÇà
2.2.3 OAuth 20 Àΰ¡ ¼¹ö¿¡¼ ¾×¼¼½º ÅäÅ« ȹµæ
2.2.4 ¾×¼¼½º ÅäÅ« ÀÀ´ä ÀÌÇØÇϱâ
2.3 OAuth 2.0À» »ç¿ëÇÑ ¸¶ÀÌÅ©·Î¼ºñ½º º¸¾È
2.3.1 OAuth 20 ±â¹Ý º¸¾È
2.3.2 ¿¹Á¦ ÄÚµå ½ÇÇà
2.4 Ŭ¶óÀ̾ðÆ® ¾ÖÇø®ÄÉÀ̼ǿ¡¼ º¸¾ÈÀÌ Àû¿ëµÈ ¸¶ÀÌÅ©·Î¼ºñ½º È£Ãâ
2.5 OAuth 2.0 ±ÇÇÑ ¹üÀ§¸¦ »ç¿ëÇÑ ¼ºñ½º ¼öÁØ Àΰ¡ ¼öÇà
2.5.1 Àΰ¡ ¼¹ö¿¡¼ ¹üÀ§°¡ ÁöÁ¤µÈ ¾×¼¼½º ÅäÅ« ȹµæ
2.5.2 OAuth 20 ¹üÀ§¸¦ »ç¿ëÇÑ ¸¶ÀÌÅ©·Î¼ºñ½º Á¢±Ù º¸È£
¿ä¾à
2ºÎ. ¿ÜºÎ °æ°è º¸¾È
3Àå. API °ÔÀÌÆ®¿þÀ̸¦ »ç¿ëÇÑ Å¬¶óÀ̾ðÆ®¿Í ³»ºÎ ½Ã½ºÅÛ »çÀÌÀÇ Æ®·¡ÇÈ º¸¾È
3.1 ¸¶ÀÌÅ©·Î¼ºñ½º ±×·ì¿¡¼ API °ÔÀÌÆ®¿þÀÌÀÇ Çʿ伺
3.1.1 ¸¶ÀÌÅ©·Î¼ºñ½º¿¡¼ º¸¾È ¿µ¿ª ºÐ¸®
3.1.2 ¼Òºñ¸¦ ´õ ¾î·Æ°Ô ÇÏ´Â ¸¶ÀÌÅ©·Î¼ºñ½º ±×·ìÀÇ °íÀ¯ÇÑ º¹À⼺
3.1.3 ¿ÜºÎ¿¡ ³ëÃâÇÏÁö ¾Ê´Â °Ô ¹Ù¶÷Á÷ÇÑ ¸¶ÀÌÅ©·Î¼ºñ½ºÀÇ Æ¯¼º
3.2 ¿ÜºÎ °æ°è º¸¾È
3.2.1 ¸¶ÀÌÅ©·Î¼ºñ½º ¼ÒºñÀÚ È¯°æ ÀÌÇØ
3.2.2 Á¢±Ù À§ÀÓ
3.2.3 API º¸È£¸¦ À§ÇØ Basic ÀÎÁõÀ» »ç¿ëÇؼ± ¾È µÇ´Â ÀÌÀ¯
3.2.4 API º¸È£¸¦ À§ÇØ °øÅë Àü¼Û °èÃþ º¸¾ÈÀ» »ç¿ëÇؼ± ¾È µÇ´Â ÀÌÀ¯
3.2.5 OAuth 20À» »ç¿ëÇØ¾ß ÇÏ´Â ÀÌÀ¯
3.3 Zuul API °ÔÀÌÆ®¿þÀÌ ¼³Ä¡
3.3.1 ÁÖ¹® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½º ÄÄÆÄÀÏ ¹× ½ÇÇà
3.3.2 Zuul ÇÁ·Ï½Ã ÄÄÆÄÀÏ ¹× ½ÇÇà
3.3.3 Zuul °ÔÀÌÆ®¿þÀÌ¿¡ OAuth 20 ±â¹Ý º¸¾È Àû¿ë
3.4 Zuul°ú ¸¶ÀÌÅ©·Î¼ºñ½º °£ÀÇ Åë½Å º¸¾È
3.4.1 ¹æȺ®À¸·Î Á¢±Ù ¹æÁö
3.4.2 mTLS¸¦ »ç¿ëÇÑ API °ÔÀÌÆ®¿þÀÌ¿Í ¸¶ÀÌÅ©·Î¼ºñ½º °£ÀÇ Åë½Å º¸¾È
¿ä¾à
4Àå. ´ÜÀÏ ÆäÀÌÁö ¾ÖÇø®ÄÉÀ̼ÇÀ¸·Î º¸¾ÈÀ» °ÈÇÑ ¸¶ÀÌÅ©·Î¼ºñ½º Á¢±Ù
4.1 ¾Þ±Ö·¯¸¦ »ç¿ëÇØ ´ÜÀÏ ÆäÀÌÁö ¾ÖÇø®ÄÉÀÌ¼Ç ½ÇÇà
4.1.1 ¾Þ±Ö·¯ ¾ÖÇø®ÄÉÀÌ¼Ç ºôµå ¹× ½ÇÇà
4.1.2 ´ÜÀÏ ÆäÀÌÁö ¾ÖÇø®ÄÉÀ̼ÇÀÇ µ¿ÀÛ¿ø¸® »ìÆ캸±â
4.2 CORS ±¸Ãà
4.2.1 µ¿ÀÏ Ãâó Á¤Ã¥ »ç¿ë
4.2.2 CORS »ç¿ë
4.2.3 ±³Â÷ Ãâó ¿äûÀ» Çã¿ëÇÏ´Â Ãâ¹ßÁö °Ë»ç
4.2.4 API °ÔÀÌÆ®¿þÀ̸¦ ¸®¼Ò½º ¼¹ö ÇÁ·Ï½Ã·Î ¿î¿µ
4.3 OIDC¸¦ »ç¿ëÇÑ ´ÜÀÏ ÆäÀÌÁö ¾ÖÇø®ÄÉÀÌ¼Ç º¸¾È
4.3.1 OIDC ·Î±×ÀÎ È帧 ÀÌÇØ
4.3.2 ¾ÖÇø®ÄÉÀÌ¼Ç ÄÚµå ºÐ¼®
4.4 ¿¬ÇÕ ÀÎÁõ »ç¿ë
4.4.1 ´Ù¼öÀÇ ½Å·Ú µµ¸ÞÀεé
4.4.2 µµ¸ÞÀÎ °£ÀÇ ½Å·Ú Çü¼º
¿ä¾à
5Àå. ¿äû Á¦ÇÑ, ¸ð´ÏÅ͸µ ¹× Á¢±Ù Á¦¾î ¼öÇà
5.1 ZuulÀ» »ç¿ëÇØ API °ÔÀÌÆ®¿þÀÌ·Î º¸³»Áö´Â ¿äû °ü¸®
5.1.1 ÇÒ´ç·® ±â¹Ý ¾ÖÇø®ÄÉÀÌ¼Ç ¿äû Á¦ÇÑ
5.1.2 »ç¿ëÀÚ¸¦ À§ÇÑ °øÆòÇÑ »ç¿ë Á¤Ã¥
5.1.3 ÁÖ¹® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½º¿¡ ÇÒ´ç·® ±â¹Ý ¿äû Á¦ÇÑ Àû¿ë
5.1.4 ¸¶ÀÌÅ©·Î¼ºñ½ºÀÇ ÃÖ´ë ó¸® ¿ë·®
5.1.5 ¿î¿µ °üÁ¡¿¡¼ÀÇ ¿äû Á¦ÇÑ
5.1.6 OAuth 20 ÅäÅ« ¹× Àΰ¡ ó¸® ÁöÁ¡À» ÇâÇÑ ¿äû Á¦ÇÑ
5.1.7 ±ÇÇÑ ±â¹Ý ¿äû Á¦ÇÑ
5.2 ÇÁ·Î¸ÞÅ׿콺¿Í ±×¶óÆijª¸¦ »ç¿ëÇÑ ¸ð´ÏÅ͸µ ¹× ºÐ¼®
5.2.1 ÁÖ¹® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½º ¸ð´ÏÅ͸µ
5.2.2 ÇÁ·Î¸ÞÅ׿콺 ¸ÞÆ®¸¯ ¸ð´ÏÅ͸µÀÇ µ¿ÀÛ¿ø¸®
5.3 OPA¸¦ »ç¿ëÇØ API °ÔÀÌÆ®¿þÀÌ¿¡ Á¢±Ù Á¦¾î Á¤Ã¥ Àû¿ë
5.3.1 µµÄ¿ ÄÁÅ×À̳ʷΠOPA ½ÇÇà
5.3.2 OPA ¿£Áø¿¡ µ¥ÀÌÅÍ Á¦°ø
5.3.3 OPA ¿£Áø¿¡ Á¢±Ù Á¦¾î Á¤Ã¥ Á¦°ø
5.3.4 OPA Á¤Ã¥ Æò°¡
5.3.5 OPA »ç¿ë ½Ã Âü°í»çÇ×
¿ä¾à
3ºÎ. ¼ºñ½º °£ Åë½Å
6Àå. ÀÎÁõ¼¸¦ »ç¿ëÇØ ³»ºÎ ½Ã½ºÅÛ(¼ºñ½º) °£ÀÇ Æ®·¡ÇÈ º¸È£
6.1 mTLS¸¦ »ç¿ëÇÏ´Â ÀÌÀ¯
6.1.1 ÀÎÁõ±â°üÀ» ÀÌ¿ëÇØ Å¬¶óÀ̾ðÆ®¿Í ¼¹ö °£¿¡ ½Å·Ú ±¸Ãà
6.1.2 mTLS´Â Ŭ¶óÀ̾ðÆ®¿Í ¼¹ö°¡ ¼·Î¸¦ ½Äº°Çϵµ·Ï Áö¿ø
6.1.3 HTTPS´Â TLS ±â¹ÝÀ¸·Î µ¿ÀÛÇÏ´Â HTTP ÇÁ·ÎÅäÄÝ
6.2 ¸¶ÀÌÅ©·Î¼ºñ½º Á¢±ÙÀ» º¸È£Çϱâ À§ÇØ ÀÎÁõ¼ »ý¼º
6.2.1 ÀÎÁõ±â°ü »ý¼º
6.2.2 ÁÖ¹® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½º¿¡¼ »ç¿ëÇÒ Å° »ý¼º
6.2.3 Àç°í ¸¶ÀÌÅ©·Î¼ºñ½º¿¡¼ »ç¿ëÇÒ Å° »ý¼º
6.2.4 ÇÑ ¹øÀÇ ½ºÅ©¸³Æ® ½ÇÇàÀ¸·Î ÇÊ¿äÇÑ ¸ðµç Å° »ý¼º
6.3 TLS¸¦ »ç¿ëÇØ ¸¶ÀÌÅ©·Î¼ºñ½º º¸È£
6.3.1 TLS¸¦ Àû¿ëÇÑ ÁÖ¹® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½º ½ÇÇà
6.3.2 TLS¸¦ Àû¿ëÇÑ Àç°í ¸¶ÀÌÅ©·Î¼ºñ½º ½ÇÇà
6.3.3 TLS¸¦ »ç¿ëÇØ 2°³ÀÇ ¸¶ÀÌÅ©·Î¼ºñ½º °£ Åë½Å º¸È£
6.4 ¸Å·ÂÀûÀÎ mTLS
6.5 Å° °ü¸®ÀÇ ¾î·Á¿ò
6.5.1 Å° ÇÁ·ÎºñÀú´×°ú ºÎÆ®½ºÆ®·¡ÇÎ ½Å·Ú
6.5.2 ÀÎÁõ¼ ÇØÁö
6.6 Å° ¼øȯ
6.7 Å° »ç¿ë ¸ð´ÏÅ͸µ
¿ä¾à
7Àå JWT¸¦ »ç¿ëÇÑ ³»ºÎ ½Ã½ºÅÛ(¼ºñ½º) °£ÀÇ Æ®·¡ÇÈ º¸È£
7.1 ¸¶ÀÌÅ©·Î¼ºñ½º º¸È£¸¦ À§ÇÑ JWT »ç¿ë »ç·Ê
7.1.1 °øÀ¯ JWT¸¦ »ç¿ëÇØ ¸¶ÀÌÅ©·Î¼ºñ½º °£ »ç¿ëÀÚ ÄÁÅؽºÆ® °øÀ¯
7.1.2 ¼ºñ½º °£ »óÈ£ÀÛ¿ëÀ» À§ÇØ »õ·Î ¹ß±ÞÇÑ JWT¸¦ »ç¿ëÇØ »ç¿ëÀÚ ÄÁÅؽºÆ® °øÀ¯
7.1.3 ´Ù¸¥ ½Å·Ú µµ¸ÞÀο¡ ¼ÓÇÑ ¸¶ÀÌÅ©·Î¼ºñ½º¿Í »ç¿ëÀÚ ÄÁÅؽºÆ® °øÀ¯
7.1.4 ÀÚü¹ß±Þ JWT
7.1.5 ³×½ºÆ¼µå JWT
7.2 JWT¸¦ ¹ß±ÞÇÏ´Â STS ±¸Ãà
7.3 JWT¸¦ »ç¿ëÇØ ¸¶ÀÌÅ©·Î¼ºñ½º º¸È£
7.4 Á¢±Ù Á¦¾î¿¡ »ç¿ëÇÒ ±ÇÇÑ ¹üÀ§ Ãâó·Î JWT »ç¿ë
7.5 JWT¸¦ »ç¿ëÇØ ¼ºñ½º °£ Åë½Å º¸È£
7.6 ´Ù¸¥ aud ¼Ó¼ºÀ» °¡Áø »õ·Î¿î JWT·Î JWT ±³È¯
¿ä¾à
8Àå. gRPC¸¦ »ç¿ëÇÑ ³»ºÎ ½Ã½ºÅÛ(¼ºñ½º) °£ÀÇ Æ®·¡ÇÈ º¸È£
8.1 gRPC¸¦ »ç¿ëÇÑ ¼ºñ½º °£ Åë½Å
8.2 mTLS¸¦ »ç¿ëÇØ ¼ºñ½º °£ gRPC Åë½Å º¸È£
8.3 JWT¸¦ »ç¿ëÇØ ¼ºñ½º °£ gRPC Åë½Å º¸È£
¿ä¾à
9Àå. ¹ÝÀÀÇü ¸¶ÀÌÅ©·Î¼ºñ½º º¸È£
9.1 ¹ÝÀÀÇü ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ »ç¿ëÇÏ´Â ÀÌÀ¯
9.2 Ä«ÇÁÄ«¸¦ ¸Þ½ÃÁö ºê·ÎÄ¿·Î ±¸Ãà
9.3 À̺¥Æ®¸¦ Ä«ÇÁÄ« ÅäÇÈ¿¡ Ǫ½ÃÇÏ´Â ¸¶ÀÌÅ©·Î¼ºñ½º °³¹ß
9.4 Ä«ÇÁÄ« ÅäÇÈ¿¡¼ À̺¥Æ®¸¦ Àд ¸¶ÀÌÅ©·Î¼ºñ½º °³¹ß
9.5 TLS¸¦ »ç¿ëÇØ Àü¼Û µ¥ÀÌÅÍ º¸È£
9.5.1 TLS Å°¿Í Ä«ÇÁÄ« ÀÎÁõ¼ »ý¼º ¹× ¼¸í
9.5.2 Ä«ÇÁÄ« ¼¹ö¿¡ TLS ¼³Á¤
9.5.3 ¸¶ÀÌÅ©·Î¼ºñ½º¿¡ TLS ¼³Á¤
9.6 mTLS¸¦ »ç¿ëÇÑ ÀÎÁõ
9.7 Á¢±Ù Á¦¾î ¸ñ·ÏÀ» »ç¿ëÇØ Ä«ÇÁÄ« ÅäÇÈ¿¡ ´ëÇÑ Á¢±Ù Á¦¾î
9.7.1 Ä«ÇÁÄ« Á¢±Ù Á¦¾î ¸ñ·Ï È°¼ºÈ ¹× Ŭ¶óÀ̾ðÆ® ½Äº°
9.7.2 Ä«ÇÁÄ«¿¡¼ Á¢±Ù Á¦¾î ¸ñ·Ï Á¤ÀÇ
9.8 NATS¸¦ ¸Þ½ÃÁö ºê·ÎÄ¿·Î ¼³Á¤
¿ä¾à
4ºÎ. ¾ÈÀüÇÑ ¹èÆ÷
10Àå. µµÄ¿·Î ÄÁÅ×ÀÌ³Ê º¸¾È Á¤º¹
10.1 µµÄ¿¿¡¼ STS ½ÇÇà
10.2 µµÄ¿ ÄÁÅ×À̳ʿ¡¼ ½ÃÅ©¸´ °ü¸®
10.2.1 µµÄ¿ À̹ÌÁö¿¡ Æ÷ÇÔÇÑ ½ÃÅ©¸´ ¿ÜºÎÈ
10.2.2 ȯ°æ º¯¼ö·Î ½ÃÅ©¸´ Àü´Þ
10.2.3 µµÄ¿·Î ¹èÆ÷ÇÏ´Â ¿î¿µ ȯ°æÀÇ ½ÃÅ©¸´ °ü¸® ¹æ¾È
10.3 µµÄ¿ À̹ÌÁö ¼¸í ¹× °ËÁõÀ» À§ÇØ µµÄ¿ ÄÁÅÙÆ® Æ®·¯½ºÆ® »ç¿ë
10.3.1 TUF
10.3.2 µµÄ¿ ÄÁÅÙÆ® Æ®·¯½ºÆ®
10.3.3 Å° »ý¼º
10.3.4 DCT·Î ¼¸í
10.3.5 DCT·Î ¼¸í °ËÁõ
10.3.6 DCT°¡ »ç¿ëÇÏ´Â Å° À¯Çü
10.3.7 DCT°¡ Ŭ¶óÀ̾ðÆ® ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸®Ç÷¹ÀÌ °ø°ÝÀ¸·ÎºÎÅÍ º¸È£ÇÏ´Â ¹æ¹ý
10.4 ÁÖ¹® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ µµÄ¿¿¡¼ ½ÇÇà
10.5 Á¦ÇÑµÈ ±ÇÇÑÀ¸·Î ÄÁÅ×ÀÌ³Ê ½ÇÇà
10.5.1 ÄÁÅ×À̳ʸ¦ root ¿ÜÀÇ »ç¿ëÀÚ·Î ½ÇÇà
10.5.2 root »ç¿ëÀÚÀÇ ±ÇÇÑ »èÁ¦
10.6 Docker Bench for Security ½ÇÇà
10.7 µµÄ¿ È£½ºÆ®¿¡ ´ëÇÑ Á¢±Ù º¸È£
10.7.1 µµÄ¿ µ¥¸ó¿¡ ¿ø°Ý Á¢±Ù È°¼ºÈ
10.7.2 µµÄ¿ API Á¢±ÙÀ» º¸È£Çϱâ À§ÇØ ¿£Áø¿¢½º ¼¹ö¿¡¼ mTLS È°¼ºÈ
10.8 ÄÁÅ×ÀÌ³Ê ÀÌ»óÀÇ º¸¾È °í·Á
¿ä¾à
11Àå Äí¹ö³×Ƽ½º»óÀÇ ¸¶ÀÌÅ©·Î¼ºñ½º º¸¾È 367
11.1 Äí¹ö³×Ƽ½º»ó¿¡¼ STS ½ÇÇà
11.1.1 STS·Î »ç¿ëÇÒ Äí¹ö³×Ƽ½º µðÇ÷ÎÀ̸ÕÆ®¸¦ YAML Çü½ÄÀ¸·Î Á¤ÀÇ
11.1.2 Äí¹ö³×Ƽ½º¿¡¼ STS µðÇ÷ÎÀ̸ÕÆ® »ý¼º
11.1.3 µðÇ÷ÎÀ̸ÕÆ® Æ®·¯ºí½´ÆÃ
11.1.4 Äí¹ö³×Ƽ½º Ŭ·¯½ºÅÍ ¿ÜºÎ¿¡ STS ³ëÃâ
11.2 Äí¹ö³×Ƽ½º ȯ°æ¿¡¼ ½ÃÅ©¸´ °ü¸®
11.2.1 ÄÁÇDZ׸ÊÀ» »ç¿ëÇÑ Äí¹ö³×Ƽ½º ¼³Á¤ ¿ÜºÎÈ
11.2.2 applicationproperties ÆÄÀÏÀ» À§ÇÑ ÄÁÇÇ±×¸Ê Á¤ÀÇ
11.2.3 keystorejks¿Í jwtjks ÆÄÀÏÀ» À§ÇÑ ÄÁÇÇ±×¸Ê Á¤ÀÇ
11.2.4 Å° ÀúÀå¼Ò ÀÚ°ÝÁõ¸íÀ» À§ÇÑ ÄÁÇÇ±×¸Ê Á¤ÀÇ
11.2.5 kubectl Ŭ¶óÀ̾ðÆ®·Î ÄÁÇÇ±×¸Ê »ý¼º
11.2.6 Äí¹ö³×Ƽ½º µðÇ÷ÎÀ̸ÕÆ®¿¡¼ ÄÁÇÇ±×¸Ê ¼Òºñ
11.2.7 ÃʱâÈ ÄÁÅ×À̳ʸ¦ »ç¿ëÇÑ Å° ÀúÀå¼Ò ·Îµù
11.3 Äí¹ö³×Ƽ½º ½ÃÅ©¸´ »ç¿ë
11.3.1 ¸ðµç ÄÁÅ×À̳ÊÀÇ µðÆúÆ® ÅäÅ« ½ÃÅ©¸´
11.3.2 ½ÃÅ©¸´ »ç¿ëÀ» À§ÇØ STS ¾÷µ¥ÀÌÆ®
11.3.3 Äí¹ö³×Ƽ½º°¡ ½ÃÅ©¸´À» ÀúÀåÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ ÀÌÇØ
11.4 Äí¹ö³×Ƽ½º¿¡¼ ÁÖ¹® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½º ½ÇÇà
11.4.1 ÁÖ¹® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½ºÀÇ ÄÁÇDZ׸Ê/½ÃÅ©¸´ »ý¼º
11.4.2 ÁÖ¹® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½ºÀÇ µðÇ÷ÎÀ̸ÕÆ® »ý¼º
11.4.3 ÁÖ¹® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½ºÀÇ ¼ºñ½º »ý¼º
11.4.4 Á¾´Ü °£ È帧 Å×½ºÆ®
11.5 Äí¹ö³×Ƽ½º¿¡¼ Àç°í ¸¶ÀÌÅ©·Î¼ºñ½º ½ÇÇà
11.6 Äí¹ö³×Ƽ½º ¼ºñ½º °èÁ¤ »ç¿ë
11.6.1 ¼ºñ½º °èÁ¤ »ý¼º ¹× Æĵå¿Í °èÁ¤ ¿¬°á
11.6.2 »ç¿ëÀÚ ÁöÁ¤ ¼ºñ½º °èÁ¤À¸·Î ÆÄµå ½ÇÇà ½Ã ÀÌÁ¡
11.7 Äí¹ö³×Ƽ½º¿¡¼ ¿ªÇÒ ±â¹Ý Á¢±Ù Á¦¾î »ç¿ë
11.7.1 STS¿¡¼ Äí¹ö³×Ƽ½º API ¼¹ö¿Í Åë½Å
11.7.2 ¼ºñ½º °èÁ¤À» Ŭ·¯½ºÅÍ·Ñ°ú ¿¬°á
¿ä¾à
12Àå À̽ºÆ¼¿À ¼ºñ½º ¸Þ½Ã·Î ¸¶ÀÌÅ©·Î¼ºñ½º º¸È£ 413
12.1 Äí¹ö³×Ƽ½º µðÇ÷ÎÀ̸ÕÆ® ¼³Á¤
12.1.1 À̽ºÆ¼¿À ÀÚµ¿»ðÀÔ È°¼ºÈ
12.1.2 ±âÁ¸ ÀÛ¾÷ Á¤¸®
12.1.3 ¸¶ÀÌÅ©·Î¼ºñ½º ¹èÆ÷
12.1.4 ÁÖ¹® ó¸®¿Í STS¸¦ ³ëµåÆ÷Æ® ¼ºñ½º À¯ÇüÀ¸·Î Àç¹èÆ÷
12.1.5 Á¾´Ü °£ È帧 Å×½ºÆ®
12.2 À̽ºÆ¼¿À Àα׷¹½º °ÔÀÌÆ®¿þÀÌ¿¡¼ TLS Å͹̳×ÀÌ¼Ç È°¼ºÈ
12.2.1 À̽ºÆ¼¿À Àα׷¹½º °ÔÀÌÆ®¿þÀÌ¿¡ TLS ÀÎÁõ¼ ¹èÆ÷
12.2.2 °¡»ó ¼ºñ½º ¹èÆ÷
12.2.3 PERMISSIVE ÀÎÁõ Á¤Ã¥ Á¤ÀÇ
12.2.4 Á¾´Ü °£ È帧 Å×½ºÆ®
12.3 mTLS·Î ¼ºñ½º °£ Åë½Å º¸È£
12.4 JWT·Î ¼ºñ½º °£ Åë½Å º¸È£
12.4.1 JWT ÀÎÁõ Àû¿ë
12.4.2 JWT ÀÎÁõÀ¸·Î Á¾´Ü °£ È帧 Å×½ºÆ®
12.4.3 PeerAuthentication°ú RequestAuthentication
12.4.4 ¼ºñ½º °£ Åë½Å¿¡¼ JWT¸¦ »ç¿ëÇÏ´Â ¹æ¹ý
12.4.5 JWK »ó¼¼È÷ »ìÆ캸±â
12.5 Àΰ¡ Àû¿ë
12.5.1 JWT »ó¼¼È÷ »ìÆ캸±â
12.5.2 ¿ªÇÒ ±â¹Ý Á¢±Ù Á¦¾î Àû¿ë
12.5.3 ¿ªÇÒ ±â¹Ý Á¢±Ù Á¦¾î¸¦ »ç¿ëÇÑ Á¾´Ü °£ È帧 Å×½ºÆ®
12.5.4 À̽ºÆ¼¿À 14.0 ¹öÀü ÀÌÈÄ ¿ªÇÒ ±â¹Ý Á¢±Ù Á¦¾î °³¼±»çÇ×
12.6 À̽ºÆ¼¿À¿¡¼ Å° °ü¸®
12.6.1 º¼·ý ¸¶¿îÆ®¸¦ ÅëÇÑ Å° ÇÁ·ÎºñÀú´×°ú ±³Ã¼
12.6.2 º¼·ý ¸¶¿îÆ®¸¦ ÅëÇÑ Å° ÇÁ·ÎºñÀú´× ¹× Å° ±³Ã¼ Á¦ÇÑ
12.6.3 SDS·Î Å° ÇÁ·ÎºñÀú´× ¹× ±³Ã¼
¿ä¾à
5ºÎ. ¾ÈÀüÇÑ °³¹ß
13Àå. ½ÃÅ¥¾î ÄÚµù °üÇà ¹× ÀÚµ¿È
13.1 OWASP API º¸¾È TOP 10
13.1.1 Ãë¾àÇÑ °´Ã¼ ¼öÁØ Àΰ¡
13.1.2 Ãë¾àÇÑ ÀÎÁõ
13.1.3 °úµµÇÑ µ¥ÀÌÅÍ ³ëÃâ
13.1.4 ¸®¼Ò½º ºÎÁ· ¹× ¼Óµµ Á¦ÇÑ
13.1.5 Ãë¾àÇÑ ÇÔ¼ö ¼öÁØ Àΰ¡
13.1.6 ´ë·® ÇÒ´ç
13.1.7 À߸øµÈ º¸¾È ¼³Á¤
13.1.8 ÀÎÁ§¼Ç
13.1.9 ºÎÀûÀýÇÑ ÀÚ»ê °ü¸®
13.1.10 ºÒÃæºÐÇÑ ·Î±ë ¹× ¸ð´ÏÅ͸µ
13.2 Á¤Àû ÄÚµå ºÐ¼® ½ÇÇà
13.3 Á¨Å²½º¿Í º¸¾È Á¡°Ë ÅëÇÕ
13.3.1 Á¨Å²½º ¼³Á¤ ¹× ½ÇÇà
13.3.2 Á¨Å²½º·Î ºôµå ÆÄÀÌÇÁ¶óÀÎ ¼³Á¤
13.4 OWASP ZAPÀ¸·Î µ¿Àû ºÐ¼® ½ÇÇà
13.4.1 ÆÐ½Ãºê ½ºÄ³´×°ú ¾×Ƽºê ½ºÄ³´× ºñ±³
13.4.2 ZAPÀ¸·Î ¸ðÀÇÇØÅ· ¼öÇà
¿ä¾à
ºÎ·Ï A. OAuth 2.0°ú OIDC
ºÎ·Ï B. JWT
ºÎ·Ï C. ´ÜÀÏ ÆäÀÌÁö ¾ÖÇø®ÄÉÀÌ¼Ç ¾ÆÅ°ÅØó
ºÎ·Ï D. ¸¶ÀÌÅ©·Î¼ºñ½º ȯ°æÀÇ ¸ð´ÏÅ͸µ °¡´É¼º
ºÎ·Ï E. µµÄ¿ÀÇ ¿ø¸®
ºÎ·Ï F. OPA
ºÎ·Ï G. OpenSSLÀ» »ç¿ëÇÑ ÀÎÁõ±â°ü ¹× °ü·Ã Å° »ý¼º
ºÎ·Ï H. SPIFFE
ºÎ·Ï I. gRPC ¿ø¸®
ºÎ·Ï J. Äí¹ö³×Ƽ½ºÀÇ ¿ø¸®
ºÎ·Ï K. ¼ºñ½º ¸Þ½Ã¿Í À̽ºÆ¼¿ÀÀÇ ¿ø¸®
1Àå. ¸¶ÀÌÅ©·Î¼ºñ½º º¸¾ÈÀÇ Æ¯Â¡
1.1 ¸ð³î¸®½Ä ¾ÖÇø®ÄÉÀ̼ÇÀÇ º¸¾È µ¿ÀÛ ¿ø¸®
1.2 ¸¶ÀÌÅ©·Î¼ºñ½º º¸¾ÈÀÇ ¾î·Á¿ò
1.2.1 °ø°Ý ³ëÃâ ÁöÁ¡ÀÌ ³Ð¾îÁú¼ö·Ï °ø°Ý¹ÞÀ» À§Çèµµ Áõ°¡
1.2.2 º¸¾È °ËÁõ ÁöÁ¡ ºÐ¸®´Â ¼º´É ÀúÇϸ¦ ÃÊ·¡
1.2.3 ¹èÆ÷ º¹À⼺À¸·Î ÀÎÇÑ ¸¶ÀÌÅ©·Î¼ºñ½º °£ ÃÊ±â ½Å·Ú ¼³Á¤ ¾î·Á¿ò
1.2.4 ´Ù¾çÇÑ ¸¶ÀÌÅ©·Î¼ºñ½º °£ Åë½Å ÃßÀûÀÇ ¾î·Á¿ò
1.2.5 ÄÁÅ×À̳ÊÀÇ ºÒº¯¼ºÀ¸·Î ÀÎÇÑ ÀÚ°ÝÁõ¸í°ú Á¢±Ù Á¦¾î Á¤Ã¥ À¯ÁöÀÇ ¾î·Á¿ò
1.2.6 ¸¶ÀÌÅ©·Î¼ºñ½ºÀÇ ºÐ»êµÈ Ư¼ºÀ¸·Î ÀÎÇÑ »ç¿ëÀÚ ÄÁÅؽºÆ® °øÀ¯ÀÇ ¾î·Á¿ò
1.2.7 ´ÙÁß °³¹ß ¾ð¾î Áö¿ø ¾ÆÅ°ÅØó´Â °³¹ß ÆÀ¿¡ ´õ ¸¹Àº º¸¾È Àü¹®Áö½ÄÀ» ¿ä±¸
1.3 ÇÙ½É º¸¾È ¿øÄ¢
1.3.1 ÀÎÁõÀº ½ºÇªÇÎÀ¸·ÎºÎÅÍ ½Ã½ºÅÛÀ» º¸È£
1.3.2 ¹«°á¼º °ËÁõÀ¸·Î µ¥ÀÌÅÍ º¯Á¶¿¡¼ ½Ã½ºÅÛÀ» º¸È£
1.3.3 ºÎÀιæÁö: ÇÑ ¹øÀÇ ¼¸íÀ¸·Î ¿µ±¸ÀûÀ¸·Î ±â·ÏÇÏÀÚ
1.3.4 ±â¹Ð¼ºÀº ÀǵµÇÏÁö ¾ÊÀº Á¤º¸ ³ëÃâ¿¡¼ ½Ã½ºÅÛÀ» º¸È£
1.3.5 °¡¿ë¼º: ¾î¶°ÇÑ »óȲ¿¡¼µµ ½Ã½ºÅÛÀ» °¡µ¿ ÁßÀÎ »óÅ·ΠÀ¯Áö
1.3.6 Àΰ¡: ±ÇÇÑ ¹üÀ§¸¦ ³Ñ¾î¼± ÇàÀ§ Â÷´Ü
1.4 ¿ÜºÎ °æ°è º¸¾È
1.4.1 ¸¶ÀÌÅ©·Î¼ºñ½º ±×·ì¿¡¼ API °ÔÀÌÆ®¿þÀÌÀÇ ¿ªÇÒ
1.4.2 °æ°è ÁöÁ¡¿¡¼ÀÇ ÀÎÁõ
1.4.3 °æ°è ÁöÁ¡ Àΰ¡ ÀýÂ÷
1.4.4 Ŭ¶óÀ̾ðÆ® ¾ÖÇø®ÄÉÀ̼Ç/»ç¿ëÀÚ ÄÁÅؽºÆ®¸¦ »óÀ§ ¸¶ÀÌÅ©·Î¼ºñ½º·Î Àü´Þ
1.5 ¼ºñ½º °£ Åë½Å º¸¾È
1.5.1 ¼ºñ½º °£ ÀÎÁõ
1.5.2 ¼ºñ½º ¼öÁØ Àΰ¡
1.5.3 ¸¶ÀÌÅ©·Î¼ºñ½º °£ »ç¿ëÀÚ ÄÁÅؽºÆ® ÀüÆÄ
1.5.4 ½Å·Ú °æ°è °£ ¿¬°á
¿ä¾à
2Àå. ¸¶ÀÌÅ©·Î¼ºñ½º º¸¾ÈÀ» À§ÇÑ Ã¹ ´Ü°è
2.1 ù ¹ø° ¸¶ÀÌÅ©·Î¼ºñ½º Á¦ÀÛ
2.1.1 ÇÊ¿ä ¼ÒÇÁÆ®¿þ¾î ´Ù¿î·Îµå ¹× ¼³Ä¡
2.1.2 ¿¹Á¦ ÄÚµå ÀúÀå¼Ò º¹»çº» »ý¼º
2.1.3 ÁÖ¹® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½º ÄÄÆÄÀÏ
2.1.4 ÁÖ¹® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½º Á¢±Ù
2.1.5 ¼Ò½º ÄÚµå µð·ºÅ丮¿¡´Â ¾î¶² °ÍÀÌ Àִ°¡?
2.1.6 ¸¶ÀÌÅ©·Î¼ºñ½ºÀÇ ¼Ò½º ÄÚµå ÀÌÇØ
2.2 OAuth 2.0 ¼¹ö Áغñ
2.2.1 Àΰ¡ ¼¹ö¿ÍÀÇ Åë½Å
2.2.2 OAuth 20 Àΰ¡ ¼¹ö ½ÇÇà
2.2.3 OAuth 20 Àΰ¡ ¼¹ö¿¡¼ ¾×¼¼½º ÅäÅ« ȹµæ
2.2.4 ¾×¼¼½º ÅäÅ« ÀÀ´ä ÀÌÇØÇϱâ
2.3 OAuth 2.0À» »ç¿ëÇÑ ¸¶ÀÌÅ©·Î¼ºñ½º º¸¾È
2.3.1 OAuth 20 ±â¹Ý º¸¾È
2.3.2 ¿¹Á¦ ÄÚµå ½ÇÇà
2.4 Ŭ¶óÀ̾ðÆ® ¾ÖÇø®ÄÉÀ̼ǿ¡¼ º¸¾ÈÀÌ Àû¿ëµÈ ¸¶ÀÌÅ©·Î¼ºñ½º È£Ãâ
2.5 OAuth 2.0 ±ÇÇÑ ¹üÀ§¸¦ »ç¿ëÇÑ ¼ºñ½º ¼öÁØ Àΰ¡ ¼öÇà
2.5.1 Àΰ¡ ¼¹ö¿¡¼ ¹üÀ§°¡ ÁöÁ¤µÈ ¾×¼¼½º ÅäÅ« ȹµæ
2.5.2 OAuth 20 ¹üÀ§¸¦ »ç¿ëÇÑ ¸¶ÀÌÅ©·Î¼ºñ½º Á¢±Ù º¸È£
¿ä¾à
2ºÎ. ¿ÜºÎ °æ°è º¸¾È
3Àå. API °ÔÀÌÆ®¿þÀ̸¦ »ç¿ëÇÑ Å¬¶óÀ̾ðÆ®¿Í ³»ºÎ ½Ã½ºÅÛ »çÀÌÀÇ Æ®·¡ÇÈ º¸¾È
3.1 ¸¶ÀÌÅ©·Î¼ºñ½º ±×·ì¿¡¼ API °ÔÀÌÆ®¿þÀÌÀÇ Çʿ伺
3.1.1 ¸¶ÀÌÅ©·Î¼ºñ½º¿¡¼ º¸¾È ¿µ¿ª ºÐ¸®
3.1.2 ¼Òºñ¸¦ ´õ ¾î·Æ°Ô ÇÏ´Â ¸¶ÀÌÅ©·Î¼ºñ½º ±×·ìÀÇ °íÀ¯ÇÑ º¹À⼺
3.1.3 ¿ÜºÎ¿¡ ³ëÃâÇÏÁö ¾Ê´Â °Ô ¹Ù¶÷Á÷ÇÑ ¸¶ÀÌÅ©·Î¼ºñ½ºÀÇ Æ¯¼º
3.2 ¿ÜºÎ °æ°è º¸¾È
3.2.1 ¸¶ÀÌÅ©·Î¼ºñ½º ¼ÒºñÀÚ È¯°æ ÀÌÇØ
3.2.2 Á¢±Ù À§ÀÓ
3.2.3 API º¸È£¸¦ À§ÇØ Basic ÀÎÁõÀ» »ç¿ëÇؼ± ¾È µÇ´Â ÀÌÀ¯
3.2.4 API º¸È£¸¦ À§ÇØ °øÅë Àü¼Û °èÃþ º¸¾ÈÀ» »ç¿ëÇؼ± ¾È µÇ´Â ÀÌÀ¯
3.2.5 OAuth 20À» »ç¿ëÇØ¾ß ÇÏ´Â ÀÌÀ¯
3.3 Zuul API °ÔÀÌÆ®¿þÀÌ ¼³Ä¡
3.3.1 ÁÖ¹® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½º ÄÄÆÄÀÏ ¹× ½ÇÇà
3.3.2 Zuul ÇÁ·Ï½Ã ÄÄÆÄÀÏ ¹× ½ÇÇà
3.3.3 Zuul °ÔÀÌÆ®¿þÀÌ¿¡ OAuth 20 ±â¹Ý º¸¾È Àû¿ë
3.4 Zuul°ú ¸¶ÀÌÅ©·Î¼ºñ½º °£ÀÇ Åë½Å º¸¾È
3.4.1 ¹æȺ®À¸·Î Á¢±Ù ¹æÁö
3.4.2 mTLS¸¦ »ç¿ëÇÑ API °ÔÀÌÆ®¿þÀÌ¿Í ¸¶ÀÌÅ©·Î¼ºñ½º °£ÀÇ Åë½Å º¸¾È
¿ä¾à
4Àå. ´ÜÀÏ ÆäÀÌÁö ¾ÖÇø®ÄÉÀ̼ÇÀ¸·Î º¸¾ÈÀ» °ÈÇÑ ¸¶ÀÌÅ©·Î¼ºñ½º Á¢±Ù
4.1 ¾Þ±Ö·¯¸¦ »ç¿ëÇØ ´ÜÀÏ ÆäÀÌÁö ¾ÖÇø®ÄÉÀÌ¼Ç ½ÇÇà
4.1.1 ¾Þ±Ö·¯ ¾ÖÇø®ÄÉÀÌ¼Ç ºôµå ¹× ½ÇÇà
4.1.2 ´ÜÀÏ ÆäÀÌÁö ¾ÖÇø®ÄÉÀ̼ÇÀÇ µ¿ÀÛ¿ø¸® »ìÆ캸±â
4.2 CORS ±¸Ãà
4.2.1 µ¿ÀÏ Ãâó Á¤Ã¥ »ç¿ë
4.2.2 CORS »ç¿ë
4.2.3 ±³Â÷ Ãâó ¿äûÀ» Çã¿ëÇÏ´Â Ãâ¹ßÁö °Ë»ç
4.2.4 API °ÔÀÌÆ®¿þÀ̸¦ ¸®¼Ò½º ¼¹ö ÇÁ·Ï½Ã·Î ¿î¿µ
4.3 OIDC¸¦ »ç¿ëÇÑ ´ÜÀÏ ÆäÀÌÁö ¾ÖÇø®ÄÉÀÌ¼Ç º¸¾È
4.3.1 OIDC ·Î±×ÀÎ È帧 ÀÌÇØ
4.3.2 ¾ÖÇø®ÄÉÀÌ¼Ç ÄÚµå ºÐ¼®
4.4 ¿¬ÇÕ ÀÎÁõ »ç¿ë
4.4.1 ´Ù¼öÀÇ ½Å·Ú µµ¸ÞÀεé
4.4.2 µµ¸ÞÀÎ °£ÀÇ ½Å·Ú Çü¼º
¿ä¾à
5Àå. ¿äû Á¦ÇÑ, ¸ð´ÏÅ͸µ ¹× Á¢±Ù Á¦¾î ¼öÇà
5.1 ZuulÀ» »ç¿ëÇØ API °ÔÀÌÆ®¿þÀÌ·Î º¸³»Áö´Â ¿äû °ü¸®
5.1.1 ÇÒ´ç·® ±â¹Ý ¾ÖÇø®ÄÉÀÌ¼Ç ¿äû Á¦ÇÑ
5.1.2 »ç¿ëÀÚ¸¦ À§ÇÑ °øÆòÇÑ »ç¿ë Á¤Ã¥
5.1.3 ÁÖ¹® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½º¿¡ ÇÒ´ç·® ±â¹Ý ¿äû Á¦ÇÑ Àû¿ë
5.1.4 ¸¶ÀÌÅ©·Î¼ºñ½ºÀÇ ÃÖ´ë ó¸® ¿ë·®
5.1.5 ¿î¿µ °üÁ¡¿¡¼ÀÇ ¿äû Á¦ÇÑ
5.1.6 OAuth 20 ÅäÅ« ¹× Àΰ¡ ó¸® ÁöÁ¡À» ÇâÇÑ ¿äû Á¦ÇÑ
5.1.7 ±ÇÇÑ ±â¹Ý ¿äû Á¦ÇÑ
5.2 ÇÁ·Î¸ÞÅ׿콺¿Í ±×¶óÆijª¸¦ »ç¿ëÇÑ ¸ð´ÏÅ͸µ ¹× ºÐ¼®
5.2.1 ÁÖ¹® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½º ¸ð´ÏÅ͸µ
5.2.2 ÇÁ·Î¸ÞÅ׿콺 ¸ÞÆ®¸¯ ¸ð´ÏÅ͸µÀÇ µ¿ÀÛ¿ø¸®
5.3 OPA¸¦ »ç¿ëÇØ API °ÔÀÌÆ®¿þÀÌ¿¡ Á¢±Ù Á¦¾î Á¤Ã¥ Àû¿ë
5.3.1 µµÄ¿ ÄÁÅ×À̳ʷΠOPA ½ÇÇà
5.3.2 OPA ¿£Áø¿¡ µ¥ÀÌÅÍ Á¦°ø
5.3.3 OPA ¿£Áø¿¡ Á¢±Ù Á¦¾î Á¤Ã¥ Á¦°ø
5.3.4 OPA Á¤Ã¥ Æò°¡
5.3.5 OPA »ç¿ë ½Ã Âü°í»çÇ×
¿ä¾à
3ºÎ. ¼ºñ½º °£ Åë½Å
6Àå. ÀÎÁõ¼¸¦ »ç¿ëÇØ ³»ºÎ ½Ã½ºÅÛ(¼ºñ½º) °£ÀÇ Æ®·¡ÇÈ º¸È£
6.1 mTLS¸¦ »ç¿ëÇÏ´Â ÀÌÀ¯
6.1.1 ÀÎÁõ±â°üÀ» ÀÌ¿ëÇØ Å¬¶óÀ̾ðÆ®¿Í ¼¹ö °£¿¡ ½Å·Ú ±¸Ãà
6.1.2 mTLS´Â Ŭ¶óÀ̾ðÆ®¿Í ¼¹ö°¡ ¼·Î¸¦ ½Äº°Çϵµ·Ï Áö¿ø
6.1.3 HTTPS´Â TLS ±â¹ÝÀ¸·Î µ¿ÀÛÇÏ´Â HTTP ÇÁ·ÎÅäÄÝ
6.2 ¸¶ÀÌÅ©·Î¼ºñ½º Á¢±ÙÀ» º¸È£Çϱâ À§ÇØ ÀÎÁõ¼ »ý¼º
6.2.1 ÀÎÁõ±â°ü »ý¼º
6.2.2 ÁÖ¹® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½º¿¡¼ »ç¿ëÇÒ Å° »ý¼º
6.2.3 Àç°í ¸¶ÀÌÅ©·Î¼ºñ½º¿¡¼ »ç¿ëÇÒ Å° »ý¼º
6.2.4 ÇÑ ¹øÀÇ ½ºÅ©¸³Æ® ½ÇÇàÀ¸·Î ÇÊ¿äÇÑ ¸ðµç Å° »ý¼º
6.3 TLS¸¦ »ç¿ëÇØ ¸¶ÀÌÅ©·Î¼ºñ½º º¸È£
6.3.1 TLS¸¦ Àû¿ëÇÑ ÁÖ¹® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½º ½ÇÇà
6.3.2 TLS¸¦ Àû¿ëÇÑ Àç°í ¸¶ÀÌÅ©·Î¼ºñ½º ½ÇÇà
6.3.3 TLS¸¦ »ç¿ëÇØ 2°³ÀÇ ¸¶ÀÌÅ©·Î¼ºñ½º °£ Åë½Å º¸È£
6.4 ¸Å·ÂÀûÀÎ mTLS
6.5 Å° °ü¸®ÀÇ ¾î·Á¿ò
6.5.1 Å° ÇÁ·ÎºñÀú´×°ú ºÎÆ®½ºÆ®·¡ÇÎ ½Å·Ú
6.5.2 ÀÎÁõ¼ ÇØÁö
6.6 Å° ¼øȯ
6.7 Å° »ç¿ë ¸ð´ÏÅ͸µ
¿ä¾à
7Àå JWT¸¦ »ç¿ëÇÑ ³»ºÎ ½Ã½ºÅÛ(¼ºñ½º) °£ÀÇ Æ®·¡ÇÈ º¸È£
7.1 ¸¶ÀÌÅ©·Î¼ºñ½º º¸È£¸¦ À§ÇÑ JWT »ç¿ë »ç·Ê
7.1.1 °øÀ¯ JWT¸¦ »ç¿ëÇØ ¸¶ÀÌÅ©·Î¼ºñ½º °£ »ç¿ëÀÚ ÄÁÅؽºÆ® °øÀ¯
7.1.2 ¼ºñ½º °£ »óÈ£ÀÛ¿ëÀ» À§ÇØ »õ·Î ¹ß±ÞÇÑ JWT¸¦ »ç¿ëÇØ »ç¿ëÀÚ ÄÁÅؽºÆ® °øÀ¯
7.1.3 ´Ù¸¥ ½Å·Ú µµ¸ÞÀο¡ ¼ÓÇÑ ¸¶ÀÌÅ©·Î¼ºñ½º¿Í »ç¿ëÀÚ ÄÁÅؽºÆ® °øÀ¯
7.1.4 ÀÚü¹ß±Þ JWT
7.1.5 ³×½ºÆ¼µå JWT
7.2 JWT¸¦ ¹ß±ÞÇÏ´Â STS ±¸Ãà
7.3 JWT¸¦ »ç¿ëÇØ ¸¶ÀÌÅ©·Î¼ºñ½º º¸È£
7.4 Á¢±Ù Á¦¾î¿¡ »ç¿ëÇÒ ±ÇÇÑ ¹üÀ§ Ãâó·Î JWT »ç¿ë
7.5 JWT¸¦ »ç¿ëÇØ ¼ºñ½º °£ Åë½Å º¸È£
7.6 ´Ù¸¥ aud ¼Ó¼ºÀ» °¡Áø »õ·Î¿î JWT·Î JWT ±³È¯
¿ä¾à
8Àå. gRPC¸¦ »ç¿ëÇÑ ³»ºÎ ½Ã½ºÅÛ(¼ºñ½º) °£ÀÇ Æ®·¡ÇÈ º¸È£
8.1 gRPC¸¦ »ç¿ëÇÑ ¼ºñ½º °£ Åë½Å
8.2 mTLS¸¦ »ç¿ëÇØ ¼ºñ½º °£ gRPC Åë½Å º¸È£
8.3 JWT¸¦ »ç¿ëÇØ ¼ºñ½º °£ gRPC Åë½Å º¸È£
¿ä¾à
9Àå. ¹ÝÀÀÇü ¸¶ÀÌÅ©·Î¼ºñ½º º¸È£
9.1 ¹ÝÀÀÇü ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ »ç¿ëÇÏ´Â ÀÌÀ¯
9.2 Ä«ÇÁÄ«¸¦ ¸Þ½ÃÁö ºê·ÎÄ¿·Î ±¸Ãà
9.3 À̺¥Æ®¸¦ Ä«ÇÁÄ« ÅäÇÈ¿¡ Ǫ½ÃÇÏ´Â ¸¶ÀÌÅ©·Î¼ºñ½º °³¹ß
9.4 Ä«ÇÁÄ« ÅäÇÈ¿¡¼ À̺¥Æ®¸¦ Àд ¸¶ÀÌÅ©·Î¼ºñ½º °³¹ß
9.5 TLS¸¦ »ç¿ëÇØ Àü¼Û µ¥ÀÌÅÍ º¸È£
9.5.1 TLS Å°¿Í Ä«ÇÁÄ« ÀÎÁõ¼ »ý¼º ¹× ¼¸í
9.5.2 Ä«ÇÁÄ« ¼¹ö¿¡ TLS ¼³Á¤
9.5.3 ¸¶ÀÌÅ©·Î¼ºñ½º¿¡ TLS ¼³Á¤
9.6 mTLS¸¦ »ç¿ëÇÑ ÀÎÁõ
9.7 Á¢±Ù Á¦¾î ¸ñ·ÏÀ» »ç¿ëÇØ Ä«ÇÁÄ« ÅäÇÈ¿¡ ´ëÇÑ Á¢±Ù Á¦¾î
9.7.1 Ä«ÇÁÄ« Á¢±Ù Á¦¾î ¸ñ·Ï È°¼ºÈ ¹× Ŭ¶óÀ̾ðÆ® ½Äº°
9.7.2 Ä«ÇÁÄ«¿¡¼ Á¢±Ù Á¦¾î ¸ñ·Ï Á¤ÀÇ
9.8 NATS¸¦ ¸Þ½ÃÁö ºê·ÎÄ¿·Î ¼³Á¤
¿ä¾à
4ºÎ. ¾ÈÀüÇÑ ¹èÆ÷
10Àå. µµÄ¿·Î ÄÁÅ×ÀÌ³Ê º¸¾È Á¤º¹
10.1 µµÄ¿¿¡¼ STS ½ÇÇà
10.2 µµÄ¿ ÄÁÅ×À̳ʿ¡¼ ½ÃÅ©¸´ °ü¸®
10.2.1 µµÄ¿ À̹ÌÁö¿¡ Æ÷ÇÔÇÑ ½ÃÅ©¸´ ¿ÜºÎÈ
10.2.2 ȯ°æ º¯¼ö·Î ½ÃÅ©¸´ Àü´Þ
10.2.3 µµÄ¿·Î ¹èÆ÷ÇÏ´Â ¿î¿µ ȯ°æÀÇ ½ÃÅ©¸´ °ü¸® ¹æ¾È
10.3 µµÄ¿ À̹ÌÁö ¼¸í ¹× °ËÁõÀ» À§ÇØ µµÄ¿ ÄÁÅÙÆ® Æ®·¯½ºÆ® »ç¿ë
10.3.1 TUF
10.3.2 µµÄ¿ ÄÁÅÙÆ® Æ®·¯½ºÆ®
10.3.3 Å° »ý¼º
10.3.4 DCT·Î ¼¸í
10.3.5 DCT·Î ¼¸í °ËÁõ
10.3.6 DCT°¡ »ç¿ëÇÏ´Â Å° À¯Çü
10.3.7 DCT°¡ Ŭ¶óÀ̾ðÆ® ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸®Ç÷¹ÀÌ °ø°ÝÀ¸·ÎºÎÅÍ º¸È£ÇÏ´Â ¹æ¹ý
10.4 ÁÖ¹® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ µµÄ¿¿¡¼ ½ÇÇà
10.5 Á¦ÇÑµÈ ±ÇÇÑÀ¸·Î ÄÁÅ×ÀÌ³Ê ½ÇÇà
10.5.1 ÄÁÅ×À̳ʸ¦ root ¿ÜÀÇ »ç¿ëÀÚ·Î ½ÇÇà
10.5.2 root »ç¿ëÀÚÀÇ ±ÇÇÑ »èÁ¦
10.6 Docker Bench for Security ½ÇÇà
10.7 µµÄ¿ È£½ºÆ®¿¡ ´ëÇÑ Á¢±Ù º¸È£
10.7.1 µµÄ¿ µ¥¸ó¿¡ ¿ø°Ý Á¢±Ù È°¼ºÈ
10.7.2 µµÄ¿ API Á¢±ÙÀ» º¸È£Çϱâ À§ÇØ ¿£Áø¿¢½º ¼¹ö¿¡¼ mTLS È°¼ºÈ
10.8 ÄÁÅ×ÀÌ³Ê ÀÌ»óÀÇ º¸¾È °í·Á
¿ä¾à
11Àå Äí¹ö³×Ƽ½º»óÀÇ ¸¶ÀÌÅ©·Î¼ºñ½º º¸¾È 367
11.1 Äí¹ö³×Ƽ½º»ó¿¡¼ STS ½ÇÇà
11.1.1 STS·Î »ç¿ëÇÒ Äí¹ö³×Ƽ½º µðÇ÷ÎÀ̸ÕÆ®¸¦ YAML Çü½ÄÀ¸·Î Á¤ÀÇ
11.1.2 Äí¹ö³×Ƽ½º¿¡¼ STS µðÇ÷ÎÀ̸ÕÆ® »ý¼º
11.1.3 µðÇ÷ÎÀ̸ÕÆ® Æ®·¯ºí½´ÆÃ
11.1.4 Äí¹ö³×Ƽ½º Ŭ·¯½ºÅÍ ¿ÜºÎ¿¡ STS ³ëÃâ
11.2 Äí¹ö³×Ƽ½º ȯ°æ¿¡¼ ½ÃÅ©¸´ °ü¸®
11.2.1 ÄÁÇDZ׸ÊÀ» »ç¿ëÇÑ Äí¹ö³×Ƽ½º ¼³Á¤ ¿ÜºÎÈ
11.2.2 applicationproperties ÆÄÀÏÀ» À§ÇÑ ÄÁÇÇ±×¸Ê Á¤ÀÇ
11.2.3 keystorejks¿Í jwtjks ÆÄÀÏÀ» À§ÇÑ ÄÁÇÇ±×¸Ê Á¤ÀÇ
11.2.4 Å° ÀúÀå¼Ò ÀÚ°ÝÁõ¸íÀ» À§ÇÑ ÄÁÇÇ±×¸Ê Á¤ÀÇ
11.2.5 kubectl Ŭ¶óÀ̾ðÆ®·Î ÄÁÇÇ±×¸Ê »ý¼º
11.2.6 Äí¹ö³×Ƽ½º µðÇ÷ÎÀ̸ÕÆ®¿¡¼ ÄÁÇÇ±×¸Ê ¼Òºñ
11.2.7 ÃʱâÈ ÄÁÅ×À̳ʸ¦ »ç¿ëÇÑ Å° ÀúÀå¼Ò ·Îµù
11.3 Äí¹ö³×Ƽ½º ½ÃÅ©¸´ »ç¿ë
11.3.1 ¸ðµç ÄÁÅ×À̳ÊÀÇ µðÆúÆ® ÅäÅ« ½ÃÅ©¸´
11.3.2 ½ÃÅ©¸´ »ç¿ëÀ» À§ÇØ STS ¾÷µ¥ÀÌÆ®
11.3.3 Äí¹ö³×Ƽ½º°¡ ½ÃÅ©¸´À» ÀúÀåÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ ÀÌÇØ
11.4 Äí¹ö³×Ƽ½º¿¡¼ ÁÖ¹® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½º ½ÇÇà
11.4.1 ÁÖ¹® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½ºÀÇ ÄÁÇDZ׸Ê/½ÃÅ©¸´ »ý¼º
11.4.2 ÁÖ¹® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½ºÀÇ µðÇ÷ÎÀ̸ÕÆ® »ý¼º
11.4.3 ÁÖ¹® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½ºÀÇ ¼ºñ½º »ý¼º
11.4.4 Á¾´Ü °£ È帧 Å×½ºÆ®
11.5 Äí¹ö³×Ƽ½º¿¡¼ Àç°í ¸¶ÀÌÅ©·Î¼ºñ½º ½ÇÇà
11.6 Äí¹ö³×Ƽ½º ¼ºñ½º °èÁ¤ »ç¿ë
11.6.1 ¼ºñ½º °èÁ¤ »ý¼º ¹× Æĵå¿Í °èÁ¤ ¿¬°á
11.6.2 »ç¿ëÀÚ ÁöÁ¤ ¼ºñ½º °èÁ¤À¸·Î ÆÄµå ½ÇÇà ½Ã ÀÌÁ¡
11.7 Äí¹ö³×Ƽ½º¿¡¼ ¿ªÇÒ ±â¹Ý Á¢±Ù Á¦¾î »ç¿ë
11.7.1 STS¿¡¼ Äí¹ö³×Ƽ½º API ¼¹ö¿Í Åë½Å
11.7.2 ¼ºñ½º °èÁ¤À» Ŭ·¯½ºÅÍ·Ñ°ú ¿¬°á
¿ä¾à
12Àå À̽ºÆ¼¿À ¼ºñ½º ¸Þ½Ã·Î ¸¶ÀÌÅ©·Î¼ºñ½º º¸È£ 413
12.1 Äí¹ö³×Ƽ½º µðÇ÷ÎÀ̸ÕÆ® ¼³Á¤
12.1.1 À̽ºÆ¼¿À ÀÚµ¿»ðÀÔ È°¼ºÈ
12.1.2 ±âÁ¸ ÀÛ¾÷ Á¤¸®
12.1.3 ¸¶ÀÌÅ©·Î¼ºñ½º ¹èÆ÷
12.1.4 ÁÖ¹® ó¸®¿Í STS¸¦ ³ëµåÆ÷Æ® ¼ºñ½º À¯ÇüÀ¸·Î Àç¹èÆ÷
12.1.5 Á¾´Ü °£ È帧 Å×½ºÆ®
12.2 À̽ºÆ¼¿À Àα׷¹½º °ÔÀÌÆ®¿þÀÌ¿¡¼ TLS Å͹̳×ÀÌ¼Ç È°¼ºÈ
12.2.1 À̽ºÆ¼¿À Àα׷¹½º °ÔÀÌÆ®¿þÀÌ¿¡ TLS ÀÎÁõ¼ ¹èÆ÷
12.2.2 °¡»ó ¼ºñ½º ¹èÆ÷
12.2.3 PERMISSIVE ÀÎÁõ Á¤Ã¥ Á¤ÀÇ
12.2.4 Á¾´Ü °£ È帧 Å×½ºÆ®
12.3 mTLS·Î ¼ºñ½º °£ Åë½Å º¸È£
12.4 JWT·Î ¼ºñ½º °£ Åë½Å º¸È£
12.4.1 JWT ÀÎÁõ Àû¿ë
12.4.2 JWT ÀÎÁõÀ¸·Î Á¾´Ü °£ È帧 Å×½ºÆ®
12.4.3 PeerAuthentication°ú RequestAuthentication
12.4.4 ¼ºñ½º °£ Åë½Å¿¡¼ JWT¸¦ »ç¿ëÇÏ´Â ¹æ¹ý
12.4.5 JWK »ó¼¼È÷ »ìÆ캸±â
12.5 Àΰ¡ Àû¿ë
12.5.1 JWT »ó¼¼È÷ »ìÆ캸±â
12.5.2 ¿ªÇÒ ±â¹Ý Á¢±Ù Á¦¾î Àû¿ë
12.5.3 ¿ªÇÒ ±â¹Ý Á¢±Ù Á¦¾î¸¦ »ç¿ëÇÑ Á¾´Ü °£ È帧 Å×½ºÆ®
12.5.4 À̽ºÆ¼¿À 14.0 ¹öÀü ÀÌÈÄ ¿ªÇÒ ±â¹Ý Á¢±Ù Á¦¾î °³¼±»çÇ×
12.6 À̽ºÆ¼¿À¿¡¼ Å° °ü¸®
12.6.1 º¼·ý ¸¶¿îÆ®¸¦ ÅëÇÑ Å° ÇÁ·ÎºñÀú´×°ú ±³Ã¼
12.6.2 º¼·ý ¸¶¿îÆ®¸¦ ÅëÇÑ Å° ÇÁ·ÎºñÀú´× ¹× Å° ±³Ã¼ Á¦ÇÑ
12.6.3 SDS·Î Å° ÇÁ·ÎºñÀú´× ¹× ±³Ã¼
¿ä¾à
5ºÎ. ¾ÈÀüÇÑ °³¹ß
13Àå. ½ÃÅ¥¾î ÄÚµù °üÇà ¹× ÀÚµ¿È
13.1 OWASP API º¸¾È TOP 10
13.1.1 Ãë¾àÇÑ °´Ã¼ ¼öÁØ Àΰ¡
13.1.2 Ãë¾àÇÑ ÀÎÁõ
13.1.3 °úµµÇÑ µ¥ÀÌÅÍ ³ëÃâ
13.1.4 ¸®¼Ò½º ºÎÁ· ¹× ¼Óµµ Á¦ÇÑ
13.1.5 Ãë¾àÇÑ ÇÔ¼ö ¼öÁØ Àΰ¡
13.1.6 ´ë·® ÇÒ´ç
13.1.7 À߸øµÈ º¸¾È ¼³Á¤
13.1.8 ÀÎÁ§¼Ç
13.1.9 ºÎÀûÀýÇÑ ÀÚ»ê °ü¸®
13.1.10 ºÒÃæºÐÇÑ ·Î±ë ¹× ¸ð´ÏÅ͸µ
13.2 Á¤Àû ÄÚµå ºÐ¼® ½ÇÇà
13.3 Á¨Å²½º¿Í º¸¾È Á¡°Ë ÅëÇÕ
13.3.1 Á¨Å²½º ¼³Á¤ ¹× ½ÇÇà
13.3.2 Á¨Å²½º·Î ºôµå ÆÄÀÌÇÁ¶óÀÎ ¼³Á¤
13.4 OWASP ZAPÀ¸·Î µ¿Àû ºÐ¼® ½ÇÇà
13.4.1 ÆÐ½Ãºê ½ºÄ³´×°ú ¾×Ƽºê ½ºÄ³´× ºñ±³
13.4.2 ZAPÀ¸·Î ¸ðÀÇÇØÅ· ¼öÇà
¿ä¾à
ºÎ·Ï A. OAuth 2.0°ú OIDC
ºÎ·Ï B. JWT
ºÎ·Ï C. ´ÜÀÏ ÆäÀÌÁö ¾ÖÇø®ÄÉÀÌ¼Ç ¾ÆÅ°ÅØó
ºÎ·Ï D. ¸¶ÀÌÅ©·Î¼ºñ½º ȯ°æÀÇ ¸ð´ÏÅ͸µ °¡´É¼º
ºÎ·Ï E. µµÄ¿ÀÇ ¿ø¸®
ºÎ·Ï F. OPA
ºÎ·Ï G. OpenSSLÀ» »ç¿ëÇÑ ÀÎÁõ±â°ü ¹× °ü·Ã Å° »ý¼º
ºÎ·Ï H. SPIFFE
ºÎ·Ï I. gRPC ¿ø¸®
ºÎ·Ï J. Äí¹ö³×Ƽ½ºÀÇ ¿ø¸®
ºÎ·Ï K. ¼ºñ½º ¸Þ½Ã¿Í À̽ºÆ¼¿ÀÀÇ ¿ø¸®