ÃֽŠ°Ô½Ã±Û(OS/WAS)
2021.09.14 / 23:10

¾ÆÆÄÄ¡ Apache À¥¼­¹ö¿¡ HTTPS / SSL º¸¾ÈÀÎÁõ¼­ ¼³Ä¡Çϱâ - ÄÚ¸®¾ÆSSL

ÇϾá¼Ò
Ãßõ ¼ö 142

¾ÆÆÄÄ¡ Apache À¥¼­¹ö¿¡ HTTPS / SSL º¸¾ÈÀÎÁõ¼­ ¼³Ä¡Çϱâ - ÄÚ¸®¾ÆSSL

Apache À¥¼­¹ö´Â Ç¥ÁØÀ̶ó°í ÇÒ ¼ö ÀÖÀ» ¸¸Å­ ±¤¹üÀ§ÇÏ°Ô »ç¿ëµÇ°í ÀÖ½À´Ï´Ù.

¾Æ·¡ÀÇ ¼³Ä¡°úÁ¤Àº VirtualHost ¼³Á¤À» ±âÁØÀ¸·Î ÀÛ¼ºµÇ¾ú½À´Ï´Ù.

¼³Ä¡Áغñ

1. ÄÚ¸®¾Æ SSL¿¡¼­ ÀÎÁõ¼­ ±¸ÀÔ / ¹ß±Þ

2. Linux(CentOS 7) °è¿­ OS ¶Ç´Â À©µµ¿ìÁî °è¿­ ¼­¹ö

3. Apache Web Server(HTTPD) °¡ ¼³Ä¡µÇ¾î ÀÖ¾î¾ß ÇÔ. (¾Æ·¡ ¿¹Á¦´Â ver 2.4.43 ±âÁØ)

4. Apache¿¡ SSL ¸ðµâÀÌ ¼³Ä¡µÇ¾î ÀÖ´ÂÁö È®ÀÎ

5. Çϵå¿þ¾î / ¼ÒÇÁÆ®¿þ¾î ¹æÈ­º®¿¡ 443 Port°¡ °³¹æµÇ¾î ÀÖ´ÂÁö È®ÀÎ

6. MacOS Å͹̳Π/ À©µµ¿ìÁî ssh ÀÀ¿ëÇÁ·Î±×·¥ µî Á¢¼Ó ÇÁ·Î±×·¥

°úÁ¤

Apache ÀÇ °æ¿ì À§ ¹öÁ¯°ú »óÀÌÇصµ ¼³Á¤¿¡´Â Å©°Ô ¹®Á¦ ¾ø½À´Ï´Ù. ±×¸®°í ÀÌ °úÁ¤¿¡¼­´Â ÀÌ¹Ì Apache °¡ ¼³Ä¡µÇ¾ú´Ù´Â ÀüÁ¦·Î ÁøÇàµË´Ï´Ù.

¿ì¼± ÄÚ¸®¾ÆSSL ¿¡ Á¢¼ÓÇؼ­ ÀÎÁõ¼­¸¦ ±¸ÀÔÇØ¾ß °ÚÁÒ? :) ^-^/

±¸ÀÔ ¹æ¹ý ¹× ÀÎÁõ¼­ ´Ù¿î·Îµå ¹æ¹ýÀº ´ÙÀ½ ¸µÅ©¸¦ ÂüÁ¶ÇØÁÖ¼¼¿ä.

https://blog.naver.com/deepact/221888284743

±× ´ÙÀ½ Å͹̳ο¡ Á¢¼ÓÀ» ÇÕ´Ï´Ù.

ÇØ´ç ÀÎÁõ±â°ü¿¡¼­ Á÷Á¢ ÀÎÁõ¼­¸¦ ¸ÞÀÏ·Î º¸³»ÁÖÁö¸¸ ÄÚ¸®¾ÆSSL¿¡¼­µµ ´Ù¿î·Îµå °¡´ÉÇÕ´Ï´Ù.

´Ü, CSR »ý¼º´Ü°è¿¡¼­ »ý¼ºµÈ Key ÆÄÀÏÀº ÄÚ¸®¾ÆSSL¿¡ º¸°üµÇÁö ¾Ê±â ¶§¹®¿¡ ºÐ½ÇÇÏ½Ã¸é ¹Ýµå½Ã ÀÎÁõ¼­ Àç¹ß±ÞÀ» ½ÅûÇÏ¼Å¾ß ÇÕ´Ï´Ù.

°£È¤ ´Ù¸¥ ¾÷ü¿¡¼­´Â Key ÆÄÀϱîÁö º¸°üÇÏ´Â °æ¿ì°¡ Àִµ¥ º¸¾È¿¡ ¸Å¿ì Ãë¾àÇÒ ¼ö ÀÖÀ¸¹Ç·Î ¼­¹ö¿¡ Key º¸°üº¸´Ù´Â Key ÆÄÀÏ ºÐ½Ç½Ã¿¡´Â Á¶±Ý ¹ø°Å·ÓÁö¸¸ Àç¹ß±ÞÀÌ º¸¾ÈÀûÀ¸·Îµµ Çö¸íÇÑ ¼±ÅÃÀÌ ¾Æ´Ò±î »ý°¢µË´Ï´Ù.

ÄÚ¸®¾ÆSSL ¿¡¼­ ´Ù¿î·Îµå ÇÒ ¼ö ÀÖ´Â ÆÄÀÏÀº ÃÑ 4°³ ÀÔ´Ï´Ù.

CSR(Certificate Signing Request) / CRT(¶Ç´Â CER) / CA / ÅëÇÕÀÎÁõ¼­(CRT+CA)

CSR ÆÄÀÏÀº Á÷Á¢ »ý¼ºÇؼ­ Á¦ÃâÇÑ ÆÄÀÏ

CRT ÆÄÀÏÀº ½ÅûÇϽŠÀÎÁõ¼­ ÆÄÀÏ

CA ÆÄÀÏÀº ÇØ´ç ÀÎÁõ¼­ ÀÎÁõ±â°üÀÇ ROOT ÀÎÁõ¼­ ÆÄÀÏ

½ÇÁ¦ Apache ¿¡ ¼³Ä¡¿¡ ÇÊ¿äÇÑ ÆÄÀÏÀº 3°³ÀÇ ÆÄÀÏÀÔ´Ï´Ù.

ApacheÀÇ conf ÆÄÀÏÀ» ¿¡µðÅÍ·Î ÆíÁýÇÕ´Ï´Ù.

* ¼³Ä¡È¯°æ¿¡ µû¶ó ´Ù¸¦ ¼ö ÀÖ½À´Ï´Ù.

* ¹ß±Þ¹ÞÀº µµ¸ÞÀÎ¸í¿¡ µû¶ó ÆÄÀϸíÀÌ ´Ù¸¦ ¼ö ÀÖ½À´Ï´Ù.

ÄÚ¸®¾ÆSSL ¿¡¼­ ¹ß±Þ¹ÞÀº ÀÎÁõ¼­´Â

/etc/apache2/ssl °æ·Î¿¡ ¾÷·Îµå ÇÏ¿´½À´Ï´Ù.

ÀÌÁ¦ µµ¸ÞÀΰú ¿¬°áµÉ ¼³Á¤ÆÄÀÏÀ» »ý¼º ¶Ç´Â ¼öÁ¤À» ÇÕ´Ï´Ù.

/etc/apache2/sites-available/koreassl.conf (ÇØ´ç À§Ä¡´Â ´Ù¸¦ ¼ö ÀÖ½À´Ï´Ù.

¾Æ·¡ Code ¸¦ º¹»çÇÏ¿© »ç¿ëÇϼ¼¿ä.

<VirtualHost *:80> ServerName koreassl.com DocumentRoot /home/koreassl/www ... </VirtualHost> <VirtualHost *:443> ServerName koreassl.com DocumentRoot /home/koreassl/www SSLEngine on SSLCertificateKeyFile /etc/apache2/ssl/koreassl_com.key SSLCertificateFile /etc/apache2/ssl/koreassl_com.crt SSLCACertificateFile /etc/apache2/ssl/koreassl_com.ca SSLCipherSuite HIGH:MEDIUM:!MD5:!RC4:!3DES SSLProxyCipherSuite HIGH:MEDIUM:!MD5:!RC4:!3DES SSLProtocol all -SSLv3 SSLProxyProtocol all -SSLv3 ... </VirtualHost>

ÇØ´ç ¼³Á¤Àº ¼­¹ö ȯ°æ¿¡ µû¶ó ´Ù¸¦ ¼ö ÀÖÀ¸´Ï Âü°í¿ëÀ¸·Î¸¸ È°¿ëÇϽñ⠹ٶø´Ï´Ù.

Áß¿äÇÑ ºÎºÐÀº SSLCertificateKeyFile, SSLCertificateFile, SSLCACertificateFile ÀÔ´Ï´Ù.

SSLProtocol °ú SSLCipherSuite ºÎºÐÀ» ¹Ýµå½Ã È®ÀÎÇØÁÖ¼¼¿ä.

ÃÖ±Ù ºê¶ó¿ìÁ®µé¿¡¼­ ÇÁ·ÎÅäÄÝ ¼³Á¤¿¡ µû¶ó Á¢¼ÓÀÌ ¾ÈµÇ´Â Çö»óÀÌ ³ªÅ¸³ª°í ÀÖ½À´Ï´Ù.

¸¸¾à SSLProtocol °ú SSLCipherSuite ºÎºÐÀÌ Àû¿ëÀÌ ¾ÈµÈ´Ù¸é ¿î¿µÁßÀÌ Apache¸¦ ÃֽŠopenssl·Î ÄÄÆÄÀÏ ¼³Ä¡¸¦ ÁøÇàÇÏ¼Å¾ß ÇÕ´Ï´Ù.

¡Ø TLS 1.3 ÀÌ»ó Áö¿øÇÏ·Á¸é Apache ¹öÀü ÃÖ¼Ò 2.4.37 ÀÌ»ó / openssl 1.1.1 ÀÌ»óÀÌ ÇÊ¿äÇÕ´Ï´Ù.

³» »çÀÌÆ®ÀÇ º¸¾È¼­¹ö ÀÎÁõ¼­´Â Àß ¼³Ä¡µÇ¾ú´ÂÁö È®ÀÎÇÏ´Â ¹æ¹ý

https://blog.naver.com/deepact/221929391971

À§¿Í °°ÀÌ ¼³Á¤ ÈÄ Apache¸¦ Àç½ÃÀÛ ÇϽøé SSL Àû¿ëÀÌ ¿Ï·á µË´Ï´Ù.

¾ÆÁÖ ½±ÁÒ ??? :)

ÇÏÁö¸¸ ¸í½ÉÇÒ ºÎºÐÀÌ ÀÖ½À´Ï´Ù.

¼­¹öÀÇ ³×Æ®¿öÅ© ¹æÈ­º® °°Àº ºÎºÐÀÇ ¼³Á¤Àº ¹Ýµå½Ã È®ÀÎÇØ¾ß ÇÕ´Ï´Ù.

¾Æ½Ã´Ù½ÃÇÇ HTTPS / SSL Åë½ÅÀº ±âº»ÀûÀ¸·Î 443 Port¸¦ ÀÌ¿ëÇÕ´Ï´Ù. ¹°·Ð ´Ù¸¥ Port·Î Åë½ÅÀÌ ºÒ°¡´ÉÇÑ °ÍÀº ¾Æ´ÏÁö¸¸ ±âº»Port´Â 443À̹ǷΠÇØ´ç Port°¡ OpenµÇ¾î ÀÖ´Â ¹Ýµå½Ã È®ÀÎÇÏ¼Å¾ß ÇÕ´Ï´Ù.

°¨»çÇÕ´Ï´Ù.