Home | Data Center | Contact US | Login

제목 멀티도메인 CSR(인증 신청서) 생성 및 CRT(인증서) 적용방법
첨부파일 CSR 생성방법(멀티도메인).pdf 작성일 2007-08-17 13:32:13
멀티도메인 CSR(인증 신청서) 생성 및 CRT(인증서) 적용방법
 
멀티도메인의 경우 단일도메인과 유사한 설정으로 이루어지며 대표 도메인의 개인키와 인증서, CA root인증서 파일을 다른 도메인에도 동일하게 적용을 시키는 방식이며 인증서 파일에 멀티도메인으로 신청한 도메인 키 값이 모두 포함되어 있습니다.
 
nextline.co.kr 을 대표 도메인으로 한 www.nextline.co.kr 2개 도메인의 CSR생성 과 CRT을 적용한 예입니다.
 
Apache 웹서버에 SSL를 적용하기 위해 아래 항목이 설치되어 있어야 합니다.
 
- OpenSSL 암호화 라이브러리
- Mod_ssl 모듈
 

( 1 ) OpenSSL 라이브러리 설치확인
 
OpenSSL 라이브러리가 설치되지 않은 경우 기술문서를 참고하여 설치하여 주시기 바랍니다.
 
① rpm 버전확인
[root@nextline ~]# rpm -qa | grep openssl
rpm 버전으로 설치된 openssl의 유/무를 확인합니다.

 

② Source 버전확인
 
whereis 명령어
명령의 실행 파일, 소스, 매뉴얼 페이지가 어디 있는지 보여줍니다.
 
[root@nextline ~]# whereis openssl
rpm 버전이 설치되어 있지 않을 시 위 명령어를 통해 소스버전 설치 유/무를 확인합니다.

 
 
 
( 2 ) mod_ssl 모듈확인
 
[vi 에디터 사용법]
사용형식: vi [옵션] [생성할 파일명/편집할 파일명]
vi 에디터는 입력모드, 명령모드, 실행모드로 구분됩니다.
입력모드: vi 편집화면에서 문자를 입력할 수 있는 모드로서 입력모드로 진입하기 위해서는 i, a, o, I, A, O, R등이 있습니다. 즉 초기 vi 편집기 모드는 명령어 모드로 진입을 하기 때문에 문자를 입력하기 전에 앞의 단축키 중 하나를 먼저 입력해야 원하는 문자를 입력할 수 있습니다.
명령모드: 커서이동/문자삭제/문자(열)교체/문자열검색 등을 할 수 있는 모드로서 입력모드에서 편집이 완료되면 Esc키를 눌러 명령모드로 진입하면 됩니다.
실행모드: 특별한 명령어를 실행하는 모드로서 명령어모드에서 ":"(콜론)를 누르면 vi 화면 하단 좌측에 vi 특수명령어를 입력할 수 있습니다.
 
[실행모드의 일반적으로 쓰이는 특수 명령어]
q : 수정 작업이 이루어지지 않은 상태에서 vi 편집기에서 빠져나옵니다.
q! : 수정 작업이 이루어진 부분을 적용시키지 않고 vi 편집기를 강제로 빠져나옵니다.
w : 수정된 작업을 저장합니다.
wq : 수정된 작업을 저장하고 vi 편집기에서 빠져나옵니다.
초기 명령어모드-> 입력모드진입 -> 편집 -> 명령어모드 -> 실행모드 -> 종료

 
① phpinfo 파일생성
[root@nextline ~]#vi /usr/local/apache/htdocs/php_test.php

 
 
② phpinfo 코드설정
phpinfo();
?>



③ 모듈확인
http://xxx.xxx.xxx.xxx/php_test.php
 
 

( 3 ) CSR 생성
 
CSR ( Certificate Signing Request ) 이란?
 
SSL 서버를 운영하는 회사의 정보를 암호화하여 인증기관으로 보내 인증서를 발급받게 하는 일종의 신청서이며 CSR은 ASCII 텍스트 화일로 생성됩니다.
 
① 개인키 생성
Openssl 명령어를 이용하여 웹서버의 RSA키(1024비트 암호화)를 생성합니다.
개인키 생성시 DES/RSA 암호화 방식을 선택할 수 있으나 DES 방식으로 개인키를 생성하실 경우 아파치를 구동하면 개인키 생성시 입력한 패스워드를 묻게 되며 부팅 시 아파치 데몬이 자동으로 구동되도록 설정하신 경우 부팅 중 패스워드를 묻게 되므로 관리의 원활함을 위해 RSA 방식으로 개인키를 생성합니다.
/usr/local/src 디렉토리로 이동하여 키생성 합니다.
 
[root@nextline ~]# cd /usr/local/src
openssl genrsa 1024 > 도메인.key
 
[root@nextline src]# openssl genrsa 1024 > nextline.co.kr.key

 
 
② 도메인 조회
CSR 정보입력 및 인증신청서 작성시 도메인 등록업체 및 도메인 조회사이트에서 도메인을 조회하여 조회결과와 일치하게 정보를 입력하여야 합니다.
http://whois.nic.or.kr

 
 
[CSR 항목에 대한 설명]
CSR 정보 입력 시 도메인 등록업체에 등록하신 정보와 동일한 정보를 입력합니다.
 
Country Name
이것은 두 자로 된 ISO 형식의 국가 코드입니다.
State or Province Name
시 이름을 입력해야 하며 약어를 사용할 수 없습니다.
Locality Name
이 필드는 대부분의 경우 생략이 가능하며 업체가 위치한 곳를 나타냅니다.
Organization
사업자 등록증에 있는 회사명과 일치되는 영문회사명을 입력하시면 됩니다.
Organization Unit
"리눅스 관리팀", "윈도우 관리팀" 등과 같이 업체의 부서를 입력할 수 있습니다.
Common Name
인증받을 도메인주소를 입력하시면 됩니다.
 
이 정보로 웹 사이트를 식별하므로 호스트 이름을 변경할 경우 다른 디지털 ID를 요청해야 합니다. 호스트에 연결하는 클라이언트 브라우저가 디지털 ID의 이름과 URL이 일치하는지를 확인합니다.
 
[CSR 항목 입력시 주의사항]
Common Name 에는 인증서를 설치할 사이트의 도메인의 이름을 정확하게 입력하셔야 하며 IP 주소, 포트번호, 경로명, http:// 나 https:// 등은 포함할 수 없습니다. 
CSR 항목에는 < > ~ ! @ # $ % ^ * / \ ( ) ? 등의 특수 68 문자를 넣을 수 없습니다. 
CSR 생성후 서버에 개인키 (Private Key) 가 생성됩니다. 개인키를 삭제하거나 분실할 경우 인증서를 발급받아도 설치가 불가합니다. 따라서 꼭 개인키를 백업받아 두셔야 합니다.
정보입력과정 마지막에 나오는 A challenge password 와 An optional company name 두 항목은 입력하지 마시고 Enter 만 누르고 넘어가야 합니다. 두 정보가 입력될 경우 잘못된 CSR 생성될 수 있습니다.
 
③ CSR(인증요청서) 생성
[root@nextline src]# openssl req -new -key nextline.co.kr.key > nextline.co.kr.csr

 
 
[CSR 정보입력 항목]
Country Name (2 letter code) [AU]:KR
State or Province Name (full name) [Some-State]:Seongnam Gyeonggi-do
Locality Name (eg, city) []:Yatap-dong Bundang-gu
Organization Name (eg, company) [Internet Widgits Pty Ltd]:nextline
Organizational Unit Name (eg, section) []:Technological Support Department
Common Name (eg, YOUR name) []:nextline.co.kr
Email Address []:nextline@nextline.co.kr
A challenge password/An optional company name 항목은 입력하지 않고 Enter만 누르고 넘어갑니다.
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
 


 
③ CSR 확인
[root@nextline src]# openssl req -noout -text -in nextline.co.kr.csr

 
 
( 4 ) 인증서 접수

넥스트라인에 인증서발급 요청 시 접수양식에 따라 정보 기입 후 인증서발급을 신청합니다.
 
① 인증서 신청 정보입력
도메인 : nextline.co.kr
상품종류 : 멀티도메인
도메인 추가 등록 : www.nextline.co.kr (멀티도메인의 경우 해당되며 추가하실 도메인을 기입합니다)
인증서 기간 : 1/2/3 년 
운영환경 : Apache + Mod SSL
CSR 코드입력 : CSR 추출값 입력
상호명(영문입력) : nextline
부서명(영문입력) : Technological Support Department
주소 상세주소(영문입력) : Hostway IDC 343-1
시/군(영문입력) : Yatap-dong Bundang-gu
시/도(영문입력) : Seongnam Gyeonggi-do
우편번호 : 463-828
국가 : KR
등록번호(사업자등록번호/주민등록번호 도메인 소유주) : 도메인 조회 시 나타나는 책임자 및 사업자 정보를 입력합니다.
메일주소(인증서 수령 이메일기입) : 도메인 조회 시 나타나있는 책임자 전자우편을 입력합니다.
담당자 이름 :  도메인 조회 시 나타나는 책임자 명을 입력합니다.
전화 번호 : 도메인 조회 시 나타나는 책임자 전화번호를 입력합니다.
 
② CSR 추출
[root@nextline src]# cat nextline.co.kr.csr

 
 
생성된 CSR 을 출력하면 아래와 같은 base64 형식의 문서를 볼 수 있으며 이 문서의 첫 줄 -----BEGIN … 부터 마지막 줄 -----END … 까지 복사하여 인증서 신청시 CSR 코드입력란에 복사하여 붙여 넣은 뒤 입력정보와 함께 전송 후 주민등록증 사본(개인)/사업자등록증 사본(사업자)를 팩스로 보내주시면 접수가 완료됩니다.

 
 
( 5 ) 인증서 설치

접수한 CSR 파일이 정상적으로 생성되었다면 별다른 문제없이 인증서를 발급 받을 수 있습니다. 인증서 파일은 신청시 기록한 Email 주소를 통해 인증서를 첨부파일로 수신하게 됩니다.
 
① 발급인증서 첨부화일 확인
메일로 받은 인증서 파일의 압축을 해제하시면 인증서 및 CA root인증서 두개의 파일이 확인 하실 수 있습니다.

 
 
② ftp 계정생성
인증서를 서버로 업로드 하기 위해 FTP 계정을 생성합니다. 기존 FTP 계정을 이용하여도 무방합니다.
계정생성
[root@nextline ~]# useradd nextline
계정 패스워드설정
[root@nextline ~]# passwd nextline
Changing password for user nextline.
패스워드 입력
New UNIX password:
패스워드 재입력
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
 
 
 
③ 인증서 업로드
FTP 프로그램을 이용하여 4393142.crt, 4393142.ca-bundle 파일을 업로드 합니다.

 
 
④ 인증서 경로로 인증파일 이동
위 파일 중 4393142.crt 파일을 SSLCertificateFile 경로로 이동합니다.
SSLCertificateFile /usr/local/apache/conf/ssl.crt/4393142.crt

 
 
4393142.ca-bundle 파일을 SSLCACertificateFile 경로로 이동합니다.
SSLCACertificateFile /usr/local/apache/conf/ssl.crt/4393142.ca-bundle

 
 
 
위에서 생성한 개인키(nextline.co.kr.key)를 SSLCertificateKeyFile 경로로 이동합니다.
SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/nextline.co.kr.key

  
   
⑤ 웹서버 환경설정
[root@nextline src]# vi /usr/local/apache/conf/httpd.conf

 
Apache 1.x + mod_ssll 연동 설치시 기본적으로 80, 443포트의 설정부분이 추가되므로 Port 80 부분을 주석처리하여 적용되지 않도록 합니다.
#Port 80 부분 주석처리

 
 
일반 http 80 포트 접속 VirtualHost 설정
 
NameVirtualHost xxx.xxx.xxx.xxx:80
 

DocumentRoot /home/nextline/public_html
ServerName nextline.co.kr

 

DocumentRoot /home/nextline_2/public_html
ServerName www.nextline.co.kr

 

 
 
SSL VirtualHost 멀티도메인 설정
모든 보안 가상 호스트들의 설정은 와 지시자 사이에 포함되어야 하며 CSR을 생성한 netxtline.co.kr 도메인의 개인키 및 인증서, CA root인증서를 www.nextline.co.kr에서도 동일하게 설정합니다.
 
NameVirtualHost xxx.xxx.xxx.xxx:443
 

DocumentRoot "/home/nextline/public_html"
ServerName nextline.co.kr
SSLCertificateFile /usr/local/apache/conf/ssl.crt/4393142.crt
SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/nextline.co.kr.key
SSLCACertificateFile /usr/local/apache/conf/ssl.crt/4393142.ca-bundle

 

DocumentRoot "/home/nextline/public_html"
ServerName nextline.co.kr
SSLCertificateFile /usr/local/apache/conf/ssl.crt/4393142.crt
SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/nextline.co.kr.key
SSLCACertificateFile /usr/local/apache/conf/ssl.crt/4393142.ca-bundle


 
 
SSL Virtual Host Context 멀티도메인 전체설정

NameVirtualHost xxx.xxx.xxx.xxx:443
아이피 및 https 프로토콜 포트443 포트를 입력합니다.

보안서버 도메인의 홈디렉토리를 입력합니다.
DocumentRoot "/home/nextline/public_html"
도메인을 입력합니다.
ServerName nextline.co.kr
SSL 엔진을 활성화 합니다
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
인증서의 경로와 파일명을 명시합니다.
SSLCertificateFile /usr/local/apache/conf/ssl.crt/4393142.crt
개인키 경로와 파일명을 명시합니다.
SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/nextline.co.kr.key
CA root인증서 경로와 파일명을 명시합니다.
SSLCACertificateFile /usr/local/apache/conf/ssl.crt/4393142.ca-bundle

    SSLOptions +StdEnvVars


    SSLOptions +StdEnvVars

BrowserMatch ".*MSIE.*" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0
CustomLog /usr/local/apache/logs/ssl_request_log \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

 

보안서버 도메인의 홈디렉토리를 입력합니다.
DocumentRoot "/home/nextline/public_html"
도메인을 입력합니다.
ServerName www.nextline.co.kr
SSL 엔진을 활성화 합니다
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
인증서의 경로와 파일명을 명시하며 nextline.co.kr 도메인과 동일한 인증서를 사용합니다.
SSLCertificateFile /usr/local/apache/conf/ssl.crt/4393142.crt
개인키 경로와 파일명을 명시하며 nextline.co.kr 도메인과 동일한 개인키를 사용합니다.
SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/nextline.co.kr.key
CA root인증서 경로와 파일명을 명시하며 nextline.co.kr 도메인과 동일한 CA root인증서를 사용합니다.
SSLCACertificateFile /usr/local/apache/conf/ssl.crt/4393142.ca-bundle

    SSLOptions +StdEnvVars


    SSLOptions +StdEnvVars

BrowserMatch ".*MSIE.*" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0
CustomLog /usr/local/apache/logs/ssl_request_log \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"


 
⑥ 웹서버 재실행
웹설정 파일의 오류가 없는지 체크를 합니다.
[root@nextline ~]# /usr/local/apache/bin/apachectl configtest
Syntax OK [정상]
웹설정 파일을 적용하기 위해 아파치를 재가동합니다.
Apache 1.x 버전에서는 startssl을 이용하여 http, https 모두 구동되도록 합니다.
[root@nextline ~]# /usr/local/apache/bin/apachectl startssl

 
 
Apache 2.x 버전에서는 [start | restart]을 이용하여 http, https 모두 구동되도록 합니다.

 
 
⑦ 웹서버 포트점검
[root@nextline ~]# netstat -anp | grep httpd
httpd 데몬이 80 / 443 포트로 실행됩니다.

 

⑧ 웹서비스 동작상태 점검
https://nextline.co.kr
페이지 하단을 보시면 열쇠 아이콘이 보이게 됩니다. 아이콘을 클릭하게 되면 위와 같이 인증서 정보를 확인하실 수 있습니다.
 
 

⑨ 인증 경로확인
 

 
 
⑩ 웹서비스 동작상태 점검
https://www.nextline.co.kr
멀티도메인의 경우 대표 도메인의 개인키, 인증서, CA root인증서를 동일 적용되므로  nextline.co.kr 도메인과 발급대상, 발급자, 유효 기간이 동일하게 표시됩니다.

 
 
 
⑪ 인증 경로확인
인증 경로역시 nextline.co.kr 도메인과 동일하게 표시됩니다.

  SSH root 접근금지
  보안서버 SSL ( Linux Apache 2.X 버전)





회사소개 개인정보취급방침 이용약관 이메일주소 무단수집거부 CONTACT US IDC 약도
회사소개 개인정보취급방침 이용약관 이메일주소 무단수집거부 CONTACT US IDC 약도 회사소개 개인정보취급방침 이용약관 이메일주소 무단수집거부 CONTACT US IDC 약도