기존에 HTTP 프로토콜을 사용하는 서버 프로그램이 여러 대의 장비에서 운영중입니다.
여기에 SSL 인증서를 이용해서 HTTPS 로 서비스를 하고 싶습니다.
물론, 모든 장비에 SSL 을 설치할 경우 비용 문제도 크고 그래서 L4 에서 SSL 인증서를 처리하고 L4 와 장비 사이에서는 HTTP 로 통신하는 형태로 서비스(소프트웨어 적으로는 stunnel 이라는 놈이 https->http 로 변환해주기는 합니다만...)가 되면 좋겠다고 생각하는데요...
이게 가능할까요? 그리고 하드웨어에서 SSL 처리를 해서 일종의 가속(HTTP 와 거의 비슷한 속도를 제공)을 제공하는 것도 있다고 하는데, L4 차원에서 가능할까요?
장비를 별도로 운영하는 곳이 있어서 그런 장비가 보편적이라면 설정을 요청할 계획인데, 별도의 구입이 필요하거나 하다면...이론적인 것만 알고 넘어가야 할 수도 있어서요.
조언 부탁드립니다.
Àåºñ°¡ ¿©·¯´ë¿©µµ SSLÀÎÁõ¼ ¹ß±ÞµÈ µµ¸ÞÀÎ ±âÁØÀ¸·Î ¿©·¯´ë ¼³Ä¡ °¡´ÉÇÕ´Ï´Ù.
¹Ý´ë·Î µµ¸ÞÀÎÀÌ ¿©·¯°³¸é Àåºñ°¡ 1´ë¿©µµ µµ¸ÞÀκ°·Î SSLÀÎÁõ¼°¡ µµ¸ÞÀΰ¹¼ö´ë·Î ÇÊ¿ä ÇÕ´Ï´Ù.
SSL ÀÇ ¹®Á¦¶ó±â º¸´Ù´Â, ¿ö³« ¼ÒÇÁÆ®¿þ¾î¿¡¼ÀÇ SSL ó¸® ¼Óµµ°¡ ÁÁÁö ¾Ê¾Æ¼ Àåºñ°¡ ¸¹ÀÌ ´Ã¾î³¯ °Í °°¾Æ¼...±× ºñ¿ëÀÌ ¹«¼·±âµµ Çϱ¸¿ä.
ÃÖ¼Ò 2¸¸DAU~ÃÖ´ë 10¸¸DAU ÀÌ»óÀÏ °Í °°½À´Ï´Ù.
À¥¼¹ö¿¡¼ SSLÀ» ó¸®ÇÏ´Â °ÍÀ» ¸ÕÀú »ý°¢ÇØ º¸¼Å¾ß ÇÒ °ÍÀ¸·Î º¸ÀÔ´Ï´Ù.
L4 ¿¡¼ SSL À» ó¸®ÇÏ°Ô µÉ °æ¿ì, °á±¹ L4 ÀÇ CPU ¸¦ »ç¿ëÇؼ RIP ¼¹ö±îÁöÀÇ ÇÁ·Ï½Ã ±¸¼ºÀ» ÇÏ°Ô µÇ´Âµ¥, 󸮸¦ À§ÇÑ 'ºñ¿ë' ÀÌ ½ò½òÇÕ´Ï´Ù.
(¹°·Ð, $ µµ $ ÀÌÁö¸¸, ¼º´ÉÀûÀÎ Ãø¸éÀ̸ç, ÀϹÝÀûÀÎ '»ó¿ë' À¥ ¼¹öµéÀÇ SSL ¼º´ÉÀº 'Ç¥ÁØÀûÀÎ' VM À̳ª ¼¹ö±Þ¿¡¼ ÃæºÐÈ÷ ó¸®ÇÒ ¼º´É ³ª¿É´Ï´Ù)
WAS ´Â undertow ¶ó°í, netty ±â¹Ý jboss ÀÇ °æ·® WAS ÀÔ´Ï´Ù.
±×¸®°í, ¿¹Àü¿¡ »ó¿ë ¼ºñ½º ½Ã CPU ºÎÇÏÀ²ÀÌ 10¹è Á¤µµ Â÷ÀÌ°¡ ³ª¼¿ä...ó¸® ¼Óµµµµ ¼ÓµµÁö¸¸ CPU ºÎÇÏÀ² µîÀ» ¸ø°ßµ®¼ Àåºñ ´Ã¾î³ª´Â°Ô Àå³ ¾Æ´Ï¾ú°Åµç¿ä. ÀÌ°Ô ¿Ö ¹Î°¨Çϳĸé...Àåºñ Ãß°¡ ½Ã ÃÖ¼Ò 2ÁÖ, ±æ¸é 1°³¿ù °É¸³´Ï´Ù. ¾÷ü°¡ Àåºñ ´Ã¸®´Âµ¥ ¾öû ÀÏ󸮸¦ ´Ê°Ô ÇÕ´Ï´Ù.
L4 ¿¡¼ ÇÒ ¼ö ÀÖ´Ù¸é, ÀÏ´Ü L4 ÀÚü´Â ¾÷üÀÇ °üÇÒÀÌ°í ±× ÂÊ¿¡¼ ´Ù ó¸®ÇÒ ºÎºÐÀ̶ó...L4 ¿¡¼ ¾î¶² ¿É¼ÇÀ¸·Î ±×·±°Ô °¡´ÉÇÑÁö, ¾î¶² ±â´ÉÀ» Áö¿øÇÏ´Â L4 °¡ ÇÊ¿äÇÑÁö ¾Ë¸é ±×°É·Î ÁغñÇ϶ó°í ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ºÎºÐ¿¡ ´ëÇÑ Á¶¾ðÀ» ÇØÁÖ½Ã¸é °í¸¿°Ú½À´Ï´Ù.
¿äÁò Çʼö ±¸¼º ¿ä¼ÒÀÎ SHA256 ¼¸íÀÌ Áö¿øµÇ´Â ³à¼®À¸·Î ã¾Æ º¸½Ã¸é µÉ °ÍÀ¸·Î º¸ÀÔ´Ï´Ù.
¶ÇÇÑ, L4 °¡ ÇÁ·Ï½Ã¸ðµå·Î µ¿ÀÛÇϱ⠶§¹®¿¡, WAS ¿¡¼µµ Ŭ¶óÀ̾ðÆ®ÀÇ RIP ¸¦ ¾ò¾î¿À±â À§ÇÑ º°µµÀÇ Ã³¸® (X-Forwarded-For µîÀÇ Çì´õ ó¸®) °¡ ÇÊ¿ä ÇÕ´Ï´Ù.
(±Ùµ¥, Àü¹æ Reverse Proxy µîÀÇ ±¸Á¶ ¾øÀÌ ¹Ù·Î WS °¡ ¿ÜºÎ¿¡ ³ëÃâµÇ³ª º¸³×¿ä)
SSL À» L4 ¿¡¼ ó¸®Çϸé, ÀÌ¿¡ ´ëÇÑ °ü¸® Ã¥ÀÓÀÌ Àú¿¡°Ô ¿ÀÁö ¾Ê´Â´Ù´Â°Ô Å« °Í °°³×¿ä. SSL Termination À̳ª SSL Offloading ·Î ÇÑ ¹ø Á¶»çÇغ¸°Ú½À´Ï´Ù. --> AWS °ü·ÃÇÑ ¹®¼¿¡¼ ³»¿ëÀ» ã¾Æ¼ Àо´Ï ÀÌ ³»¿ëÀÌ ¸Â³×¿ä. °í¸¿½À´Ï´Ù.
±×¸®°í, X-Forwarded-For °¡ Á¦´ë·Î Áö¿øµÇ¾î¾ß ÀÌ°Ô µÇ´Â °ÇÁöµµ ÇÑ ¹ø Á¶»çÇغ¸°Ú½À´Ï´Ù. undertow ¿¡¼ server.use-forward-headers ·Î »ç¿ë À¯¹«¸¦ üũÇÏ´Â °Í¸¸ ÀÖÀ» »Ó Áö¿øÀÌ µÇ´ÂÁö È®ÀÎÇÏ´Â ¹ýÀ» ¸ô¶ó¼ Àß µÇ´ÂÁö¸¦ ¸ð¸£°Ú³×¿ä. --> Ŭ¶óÀ̾ðÆ®ÀÇ IP À» Á¦´ë·Î ¹Þ¾Æ¿À±â À§ÇÔÀÎ °Í °°³×¿ä. ÇÁ·Î±×·¥¿¡¼ Ŭ¶óÀ̾ðÆ®ÀÇ IP À» ƯÁ¤ ºÎºÐ¿¡¼ È®ÀÎÇؼ IP ¸¦ ÀúÀåÇسõ´Âµ¥, ½ÇÁ¦ Àåºñ¿¡ ³Ö¾îºÁ¾ß Ŭ¶óÀ̾ðÆ®ÀÇ IP À» Á¦´ë·Î ¹Þ¾Æ¿À´ÂÁö È®ÀÎ °¡´ÉÇϰڳ׿ä.