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 키 (2048 비트암호화 ) 를생성합니다. (support.inet.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 ( 회사명 ) [] : Inet hosting, ltd. Organizational Unit Name ( 부서명 ) [] : Engineering & Operation Common Name ( 서비스도메인명 ) [] : support.inet.co.kr Email Address [] : support@inet.co.kr
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 주소를통해인증서를첨부파일로수신하게됩니다. 1 인증서서버에복사메일로받은인증서파일을압축을해제하시면 AddTrustExternalCARoot.cert.pem,UTNAddTrustServerCA.cert.pem, 도메인.cert.pem 3개의파일을보실수있습니다. 여기에서필요한파일은 UTNAddTrustServerCA.cert.pem, 도메인.cert.pem 2개의파일입니다. 이파일을서버에서적절한위치에복사합니다. 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 에는인증서의설치경로와개인키파일의경로를적어줍니다. 3 root 인증서경로설정 SSLCACertificateFile 에는 root 인증서위치를알려주는것으로유저의브라우저에신뢰받는 CA 리 스트가없을경우를위해경로를반드시지정해주어야합니다. 4 웹서버재실행
설정파일의정상적인수정여부를점검하기위한체크./httpd -t 수정된사항의적용을위해아파치데몬정지./apachectl stop 아파치데몬활성화./apachectl startssl ( 아파치데몬활성화는./apachectl start 로가능합니다. 여기에 ssl 를붙여줌으로서 ssl 를사용하게됩니다.) 초기개인키생성시입력했던패스워드를기억하시고계실겁니다. SSL 실행을위해패스워드를 물어보는데이때개인키생성시입력했던패스워드를입력하시면 SSL 웹데몬이활성화됩니다. 5 웹서버포트점검 아래와같이활성화된데몬의포트를점검해봅니다. 6 웹서비스동작상태점검 인터넷주소창에 https:// 사용도메인와입력후해당페이지의정상적인동작여부를점검합니다. SSL 설정한사이트에대한정상적인서비스상태점검
페이지상단혹은하단을보시면열쇠아이콘이보이게됩니다. 아이콘을클릭하게되면위와같이인증서정보를확인하실수있습니다.