ÃֽŠ°Ô½Ã±Û(OS/WAS)
2018.10.18 / 15:17
apache httpd ¿¡ SSL/HTTPS Àû¿ë ¹× VirtualHost ¿¡ SNI(Server Name Indication) ¹®Á¦ ÇØ°á
hanulbit
Ãßõ ¼ö 146
»çÀü ÀÛ¾÷
- ¸ÕÀú SSL ÀÎÁõ¼¸¦ ¹ß±Þ ¹Þ¾Æ¾ß ÇÑ´Ù. Self Signed CA ¸¦ ±¸¼ºÇÏ·Á¸é OpenSSL ·Î ROOT CA »ý¼º ¹× SSL ÀÎÁõ¼ ¹ß±Þ ¸¦ Âü°íÇÏ¿© SSL ÀÎÁõ¼¸¦ »ý¼ºÇÑ´Ù.
apache web server ¿ë SSL ¸ðµâÀÎ mod_ssl À» ¼³Ä¡ÇÑ´Ù.
¾ÆÆÄÄ¡ À¥¼¹ö ¿¡ SSL Àû¿ë
°®°í ÀÖ´Â SSL ÀÎÁõ¼¿Í °³ÀÎÅ°´Â /etc/pki/tls/certs/lesstif.com.crt, /etc/pki/tls/private/lesstif.com.key ¶ó°í °¡Á¤ÇÑ´Ù.
vi /etc/httpd/conf.d/ssl.conf
- NameVirtualHost ¸¦ Ãß°¡ÇÑ´Ù.
NameVirtualHost *:443 SSL À» Àû¿ëÇÒ VirtualHost ¸¦ ¼³Á¤ÇÑ´Ù.
- service httpd restart
- Web browser¿¡¼ https ·Î ¿¬°áÇؼ Á¦´ë·Î º¸ÀÌ´ÂÁö È®ÀÎÇÑ´Ù.
SELinux ÁÖÀÇ »çÇ×
ºÐ¸íÈ÷ ÆÄÀÏÀÌ Àִµ¥ httpd °¡ ÀÎÁõ¼³ª °³ÀÎÅ°¸¦ ¸ø ãÀ» °æ¿ì SELinux context ¹®Á¦ÀÌ´Ù. restorecon ¸í·É¾î·Î context ¸¦ º¹±¸ÇØÁØ´Ù.
Browser ¿¡ ½Å·ÚÇÏ´Â ÀÎÁõ¼ Ãß°¡
Chrome
- ¿¬°á -> ÀÎÁõÁ¤º¸ Ŭ¸¯
- ÇâÈÄ Ãß°¡
VirtualHost °ü·Ã issue
¹®Á¦
¿©·¯ µµ¸ÞÀÎÀÇ »çÀÌÆ®¸¦ VirtualHost ±â´ÉÀ» ÀÌ¿ëÇÏ¿© SSL ·Î Á¦°øÇÒ °æ¿ì ´ÙÀ½°ú °°Àº ¹®Á¦°¡ ÀÖ´Ù.
VirtualHost ´Â Web Browser°¡ WebServer¿¡¼ HTTP ¿äû½Ã ´ÙÀ½°ú °°ÀÌ Host Header¸¦ Àü¼Û
- Web Server´Â Host ¿¡ ÀÖ´Â ¿äûÀ» º¸°í VirtualHost ¿¡ ¼³Á¤µÈ resource ¸¦ Browser ¿¡ Àü¼Û
- Browser°¡ Host Header ¸¦ º¸³»±âÀü¿¡ SSL handshakingÀÌ ÀÌ·ç¾î Áö°í ¼¹ö ÀÎÁõ¼°¡ ¿À¹Ç·Î Browser ¿¡¼ SSL ÀÎÁõ¼ °ËÁõ½Ã ÀÎÁõ¼¿Í HostName ÀÌ ´Ù¸£´Ù´Â ¿¡·¯°¡ ¹ß»ý
ÇØ°áÃ¥
- SNI(Server Name Indication - RFC 4366) À» Áö¿øÇÏ´Â Web Server(apache ÀÇ °æ¿ì 2.2.12) ¿Í Web Browser(IE7+, FF2+ µî)¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù.
- Windows ÀÇ °æ¿ì IE7 ÀÌ»óÀÌ°í Vista ÀÌ»óÀ̾î¾ß (µÎ °³°¡ and Á¶°ÇÀÌ´Ù. XP ¿¡ IE7Àº SNI ¸¦ Áö¿øÇÏÁö ¾Ê´Â´Ù) SNI Áö¿øµÈ´Ù.
- Java´Â 7 ÀÌ»óºÎÅÍ Áö¿øÇÑ´Ù. ((http://docs.oracle.com/javase/7/docs/technotes/guides/security/enhancements-7.html)
- ±âŸ ¹ÌÁö¿øÇϴ ȯ°æÀº wikipedia ÀÇ SNI Ç׸ñÀ» Âü°í(http://en.wikipedia.org/wiki/Server_Name_Indication#No_support)
- Web Server¿¡ Multiple IP ¸¦ ÇÒ´çÇÏ°í IP-based Virtual Hosts ¸¦ ¼³Á¤ÇÑ´Ù.