Apache ¼³Ä¡¹æ¹ý º¸±â

Apache À¥¼­¹ö¿¡ SSL¸¦ Àû¿ëÇϱâ À§ÇØ ¾Æ·¡ µÎ Ç׸ñÀÌ À¥¼­¹ö¿¡ ¼³Ä¡µÇ¾î ÀÖ¾î¾ß ÇÕ´Ï´Ù.

- Openssl ¾Ïȣȭ ¶óÀ̺귯¸®
- Mod_ssl ¸ðµâ

À§ µÎ Ç׸ñÀÌ À¥¼­¹ö¿¡ ¼³Ä¡µÇ¾î ÀÖ´Ù¸é °³ÀÎ۸¦ »ý¼ºÇÏ°í »ý¼ºµÈ °³ÀÎ۸¦ ¹ÙÅÁÀ¸·Î CSR ÆÄÀÏÀ» »ý¼ºÇÕ´Ï´Ù.
»ý¼ºµÈ CSR ÆÄÀÏÀ» ÇѺñ·Î¿¡ Á¢¼öÇÏ¿© Á¤½Ä ÀÎÁõ¼­¸¦ ¹ß±Þ¹Þ½À´Ï´Ù.
¹ß±ÞµÈ ÀÎÁõ¼­¸¦ À¥¼­¹ö¿¡ ¼³Ä¡ÇÏ°Ô µÇ¸é SSL ¼³Á¤À» ¿Ï·áÇÏ°Ô µË´Ï´Ù.

À§ ÀÏ·ÃÀÇ ÁøÇà»çÇ×Àº ¾Æ·¡¿Í °°Àº ÀýÂ÷¸¦ µû¸£°Ô µË´Ï´Ù.

1. openssl ¶óÀ̺귯¸® ¼³Ä¡»óÅ ȮÀÎ
2. mod_ssl ¸ðµâ ¼³Ä¡»óÅ ȮÀÎ
3. °³ÀÎŰ »ý¼º
4. CSR »ý¼º
5. ÇѺñ·Î¿¡ Á¢¼ö
6. Á¤½Ä ÀÎÁõ¼­ ¹ß±Þ
7. SSL ¼³Á¤


1. Openssl ¶óÀ̺귯¸® ¼³Ä¡»óÅ ȮÀÎ

¸ÕÀú SSL¸¦ ¼³Ä¡ÇϰíÀÚ ÇÏ´Â À¥¼­¹ö¿¡ openssl ¶óÀ̺귯¸® ¼³Ä¡»óŸ¦ find ¸í·É¾î¸¦ Ȱ¿ëÇÏ¿© ¾Æ·¡¿Í °°ÀÌ È®ÀÎÇÕ´Ï´Ù.

À§¿Í °°Àº °ªÀ» º¸Àδٸé openssl ¶óÀ̺귯¸® ¸ðµâÀº rpmÀ¸·Î ¼³Ä¡µÈ°ÍÀÔ´Ï´Ù.
¸¸¾à¿¡ °æ·Î°¡ /usr/local ¾Æ·¡ ÀÖ´Ù¸é ¸ðµâÀº ¼Ò½º·Î ¼³Ä¡µÈ °ÍÀÔ´Ï´Ù.
rpmÀ¸·Î ¼³Ä¡µÈ °ÍÀ̶ó¸é rpm -qa ¸í·É¾î¸¦ »ç¿ëÇÏ¿© openssl-devel ¼³Ä¡¿©ºÎµµ ÇÔ²² Á¡°ËÇÕ´Ï´Ù. ¹öÀü¿¡ µû¶ó ¶óÀ̺귯¸® ¹öÀüÀÌ ¾Æ·¡º¸ÀÌ´Â °ª°ú Â÷À̰¡ ÀÖÀ»¼ö ÀÖ½À´Ï´Ù.


Openssl Àº ¾Ïȣȭ 󸮸¦ À§ÇÑ µ¶¸³ ¸ðµâ·Î ÃֽŹöÁ¯À¸·Î ¼³Ä¡ÇÏ´Â °ÍÀ» ±ÇÀåÇÕ´Ï´Ù.


2. Mod-ssl Openssl ¶óÀ̺귯¸® ¼³Ä¡»óÅ ȮÀÎ

Openssl °ú ¸¶Âù°¡Áö·Î À¥¼­¹öÀÇ mod_ssl ¼³Ä¡¿©ºÎ¸¦ Á¡°ËÇÕ´Ï´Ù.
Apache À¥¼­¹ö´Â µÎ°¡Áö ¹æ½ÄÀ¸·Î ¸ðµâ¼³Ä¡¸¦ Áö¿øÇϰí ÀÖ½À´Ï´Ù. Á¤Àû°ú µ¿ÀûÀÎ ¹æ½ÄÀ¸·Î Á¤ÀûÀ¸·Î ¼³Ä¡µÈ °æ¿ì´Â ¾ÆÆÄÄ¡ÀÇ À缳ġ±îÁö ¿ä±¸µÇ¸ç µ¿ÀûÀÎ °æ¿ì´Â ¼Õ½±°Ô ¸ðµâ ¼³Ä¡°¡ °¡´ÉÇÕ´Ï´Ù.
Apache °¡ /usr/local ¾Æ·¡ ¼³Ä¡µÈ °ÍÀ» ±âÁØÀ¸·Î ¾Æ·¡¿Í °°Àº ¹æ½ÄÀ¸·Î È®ÀÎÇÕ´Ï´Ù.

Á¤ÀûÀ¸·Î ¼³Ä¡µÈ mod_ssl ¸ðµâÈ®ÀÎ

µ¿ÀûÀ¸·Î ¼³Ä¡µÈ mod_ssl ¸ðµâÈ®ÀÎ

À¥¼­¹ö¿¡ ¼³Ä¡µÈ ¸ðµâÁß mod_so.c ¸¦ ¸ÕÀú È®ÀÎÈÄ µ¿ÀûÀ¸·Î ¼³Ä¡µÈ ¸ðµâÁß mod_ssl.so ¸¦ È®ÀÎÇÕ´Ï´Ù.
µ¿ÀûÀ¸·Î ¼³Ä¡µÈ °æ¿ì apache ¼³Ä¡ µð·ºÅ丮ÀÇ module À̳ª libexec µð·ºÅ丮³»¿¡ mod_ssl.so ÀÇ Á¸Àç¿©ºÎ¸¦ È®ÀÎÇÕ´Ï´Ù.


3. °³ÀÎŰ »ý¼º

Openssl ¸í·É¾î¸¦ ÀÌ¿ëÇÏ¿© À¥¼­¹öÀÇ RSAŰ( 1024ºñÆ® ¾Ïȣȭ )¸¦ »ý¼ºÇÕ´Ï´Ù. ( sslhanbiro.key ´Â ÀÓÀÇ·Î ÁöÁ¤µÈ ۰ªÀÔ´Ï´Ù. ¿øÇÏ´Â À̸§À¸·Î ۸¦ »ý¼ºÇÕ´Ï´Ù. )
ÆÐ½º¿öµå¸¦ ÁöÁ¤ÇÏ°Ô µË´Ï´Ù. À̶§ ÀÔ·ÂµÈ ÆÐ½º¿öµå´Â Â÷ÈÄ ¿©·¯Â÷·Ê »ç¿ëµÇ¹Ç·Î º»Àθ¸ÀÌ ¾Ë ¼ö ÀÖ´Â ÆÐ½º¿öµå·Î ÁöÁ¤ÇØ Áֽô °ÍÀÌ ÁÁ½À´Ï´Ù.

À̶§ »ý¼ºµÇ´Â °³ÀÎŰ´Â ¹Ýµå½Ã ¹é¾÷À» ¹Þ¾Æ³õ°í »ç¿ëÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù.
»ý¼ºµÈ Ű´Â ¾Æ·¡¿Í °°ÀÌ È®ÀÎÀÌ °¡´ÉÇÕ´Ï´Ù. ÆÐ½º¿öµå¸¦ È®ÀÎ Çϴµ¥ À̶§´Â Ű»ý¼º½Ã ÀÔ·ÂÇÑ ÆÐ½º¿öµå¸¦ ÀÔ·ÂÇÕ´Ï´Ù.
°³ÀÎŰ »ý¼º±îÁö ¿Ï·áµÇ¸é ÀÌÁ¦ CSR »ý¼ºÀ» ÇϰԵ˴ϴÙ.



4. ÀÎÁõ¿äû¼­( CSR ) »ý¼º

*¹ß±ÞÀÌ ¿Ï·áµÈ ÀÎÁõ¼­´Â Àç¹ß±Þ ¶Ç´Â º¯°æÀÌ ºÒ°¡ÇϹǷΠCSR »ý¼º½Ã Àý´ë ÁÖÀÇ ¹Ù¶ø´Ï´Ù.

¢Ñ CSR ( Certificate Signing Request ) À̶õ?


SSL ¼­¹ö¸¦ ¿î¿µÇϴ ȸ»çÀÇ Á¤º¸¸¦ ¾ÏȣȭÇÏ¿© ÀÎÁõ±â°üÀ¸·Î º¸³» ÀÎÁõ¼­¸¦ ¹ß±Þ¹Þ°Ô ÇÏ´Â ÀÏÁ¾ÀÇ ½Åû¼­ÀÔ´Ï´Ù.
CSRÀº ASCII ÅØ½ºÆ® È­ÀÏ·Î »ý¼ºµË´Ï´Ù.
CSRÀ» »ý¼ºÇÒ ¶§ ¼­¹öÀÇ ½Äº°¸íÀ» ÀÔ·ÂÇÏ°Ô µË´Ï´Ù. ½Äº°¸íÀº °¢ ¼­¹ö¸¦ °øÀ¯ÇÏ°Ô ³ªÅ¸³»´Â À̸§À¸·Î ´ÙÀ½°ú °°Àº Á¤º¸¸¦ Æ÷ÇÔÇÕ´Ï´Ù.

Country Name ( ±¹°¡ÄÚµå) [] : KR
State or Province Name ( Áö¿ª ) [] : Seoul
Locality Name ( ½Ã/±º/±¸ ) [] : Seocho
Organization Name ( ȸ»ç¸í ) [] : Hanbiro Inc
Organizational Unit Name ( ºÎ¼­¸í ) [] : Linux Team
Common Name ( ¼­ºñ½ºµµ¸ÞÀθí ) [] : www.hanbiro.com
Email Address [] : hanbiro@hanbiro.com

¢Ñ CSR Ç׸ñ¿¡ ´ëÇÑ ¼³¸í

Country Name : À̰ÍÀº µÎ ÀÚ·Î µÈ ISO Çü½ÄÀÇ ±¹°¡ ÄÚµåÀÔ´Ï´Ù.
State or Province Name : ½Ã À̸§À» ÀÔ·ÂÇØ¾ß ÇÏ¸ç ¾à¾î¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.
Locality Name : ÀÌ Çʵå´Â ´ëºÎºÐÀÇ °æ¿ì »ý·«ÀÌ °¡´ÉÇÏ¸ç ¾÷ü°¡ À§Ä¡ÇÑ °÷¸¦ ³ªÅ¸³À´Ï´Ù.
Organization : »ç¾÷ÀÚ µî·ÏÁõ¿¡ Àִ ȸ»ç¸í°ú ÀÏÄ¡µÇ´Â ¿µ¹®È¸»ç¸íÀ» ÀÔ·ÂÇÏ½Ã¸é µË´Ï´Ù.
Organization Unit : "¸®´ª½º °ü¸®ÆÀ", "À©µµ¿ì °ü¸®ÆÀ" µî°ú °°ÀÌ ¾÷üÀÇ ºÎ¼­¸¦ ÀÔ·ÂÇÒ ¼ö ÀÖ½À´Ï´Ù.
Common Name : ÀÎÁõ¹ÞÀ» µµ¸ÞÀÎÁÖ¼Ò¸¦ ÀÔ·ÂÇÏ½Ã¸é µË´Ï´Ù.

ÀÌ Á¤º¸·Î À¥ »çÀÌÆ®¸¦ ½Äº°ÇϹǷΠȣ½ºÆ® À̸§À» º¯°æÇÒ °æ¿ì ´Ù¸¥ µðÁöÅÐ ID¸¦ ¿äÃ»ÇØ¾ß ÇÕ´Ï´Ù.
È£½ºÆ®¿¡ ¿¬°áÇϴ Ŭ¶óÀÌ¾ðÆ® ºê¶ó¿ìÀú°¡ µðÁöÅÐ IDÀÇ À̸§°ú URLÀÌ ÀÏÄ¡ÇÏ´ÂÁö¸¦ È®ÀÎÇÕ´Ï´Ù.

¢Ñ CSR Ç׸ñ ÀԷ½à ÁÖÀÇ»çÇ×
* Common Name ¿¡´Â ÀÎÁõ¼­¸¦ ¼³Ä¡ÇÒ »çÀÌÆ®ÀÇ µµ¸ÞÀÎÀÇ À̸§À» Á¤È®ÇÏ°Ô ÀÔ·ÂÇÏ¼Å¾ß ÇÕ´Ï´Ù.
* Common Name ¿¡´Â IP ÁÖ¼Ò, Æ÷Æ®¹øÈ£, °æ·Î¸í, http:// ³ª https:// µîÀº Æ÷ÇÔÇÒ ¼ö ¾ø½À´Ï´Ù.
* CSR Ç׸ñ¿¡´Â < > ~ ! @ # $ % ^ * / \ ( ) ? µîÀÇ Æ¯¼ö 68 ¹®ÀÚ¸¦ ³ÖÀ» ¼ö ¾ø½À´Ï´Ù.
* CSR »ý¼ºÈÄ ¼­¹ö¿¡ °³ÀÎŰ (Private Key) °¡ »ý¼ºµË´Ï´Ù. °³ÀÎ۸¦ »èÁ¦Çϰųª ºÐ½ÇÇÒ °æ¿ì ÀÎÁõ¼­¸¦ ¹ß±Þ¹Þ¾Æµµ ¼³Ä¡°¡ ºÒ°¡ÇÕ´Ï´Ù. µû¶ó¼­ ²À °³ÀÎ۸¦ ¹é¾÷¹Þ¾Æ µÎ¼Å¾ß ÇÕ´Ï´Ù.
* Á¤º¸ÀԷ°úÁ¤ ¸¶Áö¸·¿¡ ³ª¿À´Â A challenge password ¿Í An optional company name µÎ Ç׸ñÀº ÀÔ·ÂÇÏÁö ¸¶½Ã°í Enter ¸¸ ´©¸£°í ³Ñ¾î°¡¾ß ÇÕ´Ï´Ù. µÎ Á¤º¸°¡ ÀÔ·ÂµÉ °æ¿ì À߸øµÈ CSR »ý¼ºµÉ ¼ö ÀÖ½À´Ï´Ù.

¢Ù À§ ÁÖÀÇ»çÇ×À» À¯ÀÇÇÏ¿© ¾Æ·¡¿Í °°Àº ÀýÂ÷·Î CSR »ý¼ºÀ» ÁøÇàÇÕ´Ï´Ù.

¢Ù »ý¼ºµÈ CSR Á¤º¸´Â ¾Æ·¡Ã³·³ È®ÀÎÀÌ °¡´ÉÇÕ´Ï´Ù.


5. ÇѺñ·Î¿¡ Á¢¼ö--->6. Á¤½Ä ÀÎÁõ¼­ ¹ß±Þ

»ý¼ºµÈ CSR À» Ãâ·ÂÇÏ¸é ¾Æ·¡¿Í °°Àº base64 Çü½ÄÀÇ ¹®¼­¸¦ º¼ ¼ö ÀÖ½À´Ï´Ù.

À̹®¼­ÀÇ Ã¹ ÁÙ -----BEGIN ¡¦ ºÎÅÍ ¸¶Áö¸· ÁÙ -----END ¡¦ ±îÁö º¹»çÇÏ¿© ÁöÁ¤µÈ SSL Á¢¼öÆäÀÌÁö¿¡ º¹»çÇÏ¿© ºÙ¿© ³ÖÀº µÚ ÀÔ·ÂÁ¤º¸¿Í ÇÔ²² Àü¼ÛÇϸé Á¢¼ö°¡ ¿Ï·áµË´Ï´Ù.

7. ÀÎÁõ¼­ ¼³Ä¡

Á¢¼öÇÑ CSR ÆÄÀÏÀÌ Á¤»óÀûÀ¸·Î »ý¼ºµÇ¾ú´Ù¸é º°´Ù¸¥ ¹®Á¦¾øÀÌ ÀÎÁõ¼­¸¦ ¹ß±Þ ¹ÞÀ» ¼ö ÀÖ½À´Ï´Ù.
ÀÎÁõ¼­ ÆÄÀÏÀº ½Åû½Ã ±â·ÏÇÑ Email ÁÖ¼Ò¸¦ ÅëÇØ ÀÎÁõ¼­¸¦ ÷ºÎÆÄÀÏ·Î ¼ö½ÅÇÏ°Ô µË´Ï´Ù.

¨ç ÀÎÁõ¼­ ¼­¹ö¿¡ º¹»ç

¸ÞÀÏ·Î ¹ÞÀº ÀÎÁõ¼­ ÆÄÀÏÀ» ¾ÐÃàÀ» ÇØÁ¦ÇϽøé AddTrustExternalCARoot.crt,UTNAddTrustServerCA.crt, µµ¸ÞÀÎ.crt 3°³ÀÇ ÆÄÀÏÀ» º¸½Ç ¼ö ÀÖ½À´Ï´Ù.
¿©±â¿¡¼­ ÇÊ¿äÇÑ ÆÄÀÏÀº UTNAddTrustServerCA.crt,µµ¸ÞÀÎ.crt 2°³ÀÇ ÆÄÀÏÀÔ´Ï´Ù.
ÀÌ ÆÄÀÏÀ» ¼­¹ö¿¡¼­ ÀûÀýÇÑ À§Ä¡¿¡ º¹»çÇÕ´Ï´Ù.

¨è À¥¼­¹ö ȯ°æ¼³Á¤

¾ÆÆÄÄ¡°¡ ¼³Ä¡µÈ µð·ºÅ丮·Î À̵¿ÇÏ¿© conf µð·ºÅ丮³»ÀÇ httpd.conf ÆÄÀÏÀÇ º¹»çº»À» ¸¸µé¾î µÓ´Ï´Ù.
À¥¼­¹ö ¼³Á¤ÀÇ ±âº»ÀÌ µÇ´Â ÆÄÀÏ·Î ¸¸ÀÏÀÇ °æ¿ì¸¦ ´ëºñÇÏ¿© ¹é¾÷º»À» À¯ÁöÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù.
¹é¾÷ÀÌ ¿Ï·áµÇ¸é vi ÆíÁý±â¸¦ ÀÌ¿ëÇÏ¿© httpd.conf ³»¿ëÁß ¾Æ·¡»çÇ×À» ¼³Á¤ÇϽŠÁ¤º¸¿¡ ¸Â°Ô²û ¼öÁ¤ÇÕ´Ï´Ù.

httpd.conf ¿¹¹®

[ ½Ì±Û µµ¸ÞÀÎÀÏ °æ¿ì ]

[ ¸ÖƼ µµ¸ÞÀÎÀÏ °æ¿ì ]

1. <VirtualHost 127.0.0.1:443> 127.0.0.1 ¸¦ »ç¿ëÇÏ´Â ÀåºñÀÇ ¾ÆÀÌÇÇ·Î º¯°æ
 - 443 : SSL Åë½ÅÆ÷Æ®¹øÈ£ ÀÔ´Ï´Ù. ÀϹÝÀûÀ¸·Î À¥¼­¹ö´Â 80 Æ÷Æ®¸¦ »ç¿ëÇÕ´Ï´Ù.
2. SSLEngine ½ºÀ§Ä¡ off ¸¦ on À¸·Î º¯°æÇØ ÁÝ´Ï´Ù.
3. SSLCertificateFile / SSLCertificateKeyFile ¿¡´Â ÀÎÁõ¼­ÀÇ ¼³Ä¡°æ·Î¿Í °³ÀÎŰ ÆÄÀÏÀÇ °æ·Î¸¦ Àû¾î ÁÝ´Ï´Ù.


¡Ø ¸ÖƼ ÀÎÁõ¼­ Ãß°¡ ¼³Á¤.
"SSLCertificateChainFile /ÀÎÁõ¼­°æ·Î/PositiveSSLCA.crt" Ãß°¡
- ÇØ´ç »çÇ× ¹ÌÀû¿ë½Ã ÀϺΠÀ¥ºê¶ó¿ìÁ®¿¡¼­ ÀÎÁõ¼­ ¿À·ù ¹ß»ý ÇÒ¼ö ÀÖ½À´Ï´Ù.

¨é root ÀÎÁõ¼­ °æ·Î¼³Á¤

SSLCACertificateFile ¿¡´Â root ÀÎÁõ¼­ À§Ä¡¸¦ ¾Ë·ÁÁÖ´Â °ÍÀ¸·Î À¯ÀúÀÇ ºê¶ó¿ìÀú¿¡ ½Å·Ú¹Þ´Â CA¸®½ºÆ®°¡ ¾øÀ» °æ¿ì¸¦ À§ÇØ °æ·Î¸¦ ¹Ýµå½Ã ÁöÁ¤ÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù.


¨ê À¥¼­¹ö Àç½ÇÇà

¼³Á¤ÆÄÀÏÀÇ Á¤»óÀûÀÎ ¼öÁ¤¿©ºÎ¸¦ Á¡°ËÇϱâ À§ÇÑ Ã¼Å© ./httpd -t
¼öÁ¤µÈ »çÇ×ÀÇ Àû¿ëÀ» À§ÇØ ¾ÆÆÄÄ¡ µ¥¸óÁ¤Áö ./apachectl stop
¾ÆÆÄÄ¡ µ¥¸ó Ȱ¼ºÈ­ ./apachectl startssl ( ¾ÆÆÄÄ¡ µ¥¸ó Ȱ¼ºÈ­´Â ./apachectl start ·Î °¡´ÉÇÕ´Ï´Ù. ¿©±â¿¡ ssl ¸¦ ºÙ¿©ÁÜÀ¸·Î¼­ ssl ¸¦ »ç¿ëÇÏ°Ô µË´Ï´Ù. )

Ãʱ⠰³ÀÎŰ »ý¼º½Ã ÀÔ·ÂÇß´ø ÆÐ½º¿öµå¸¦ ±â¾ïÇÏ½Ã°í °è½Ç°Ì´Ï´Ù. SSL ½ÇÇàÀ» À§ÇØ ÆÐ½º¿öµå¸¦ ¹°¾îº¸´Âµ¥ À̶§ °³ÀÎŰ »ý¼º½Ã ÀÔ·ÂÇß´ø ÆÐ½º¿öµå¸¦ ÀÔ·ÂÇϽøé SSL À¥µ¥¸óÀÌ È°¼ºÈ­ µË´Ï´Ù.

¨ë À¥¼­¹ö Æ÷Æ®Á¡°Ë

¾Æ·¡¿Í °°ÀÌ È°¼ºÈ­µÈ µ¥¸óÀÇ Æ÷Æ®¸¦ Á¡°ËÇØ º¾´Ï´Ù.

¨ì À¥¼­ºñ½º µ¿ÀÛ»óÅ Á¡°Ë

ÀÎÅÍ³Ý ÁÖ¼Òâ¿¡ https://»ç¿ëµµ¸ÞÀÎ ¿Í ÀÔ·ÂÈÄ ÇØ´ç ÆäÀÌÁöÀÇ Á¤»óÀûÀÎ µ¿ÀÛ ¿©ºÎ¸¦ Á¡°ËÇÕ´Ï´Ù.
SSL ¼³Á¤ÇÑ »çÀÌÆ®¿¡ ´ëÇÑ Á¤»óÀûÀÎ ¼­ºñ½º »óÅ Á¡°Ë

ÆäÀÌÁö ÇÏ´ÜÀ» º¸½Ã¸é ¿­¼è ¾ÆÀÌÄÜÀÌ º¸ÀÌ°Ô µË´Ï´Ù. ¾ÆÀÌÄÜÀ» Ŭ¸¯ÇÏ°Ô µÇ¸é À§¿Í °°ÀÌ ÀÎÁõ¼­ Á¤º¸¸¦ È®ÀÎÇϽǼö ÀÖ½À´Ï´Ù.