관리 메뉴

태섭씨 블로그

Wildcard SSL 인증서 설치 작업 기록 본문

IT

Wildcard SSL 인증서 설치 작업 기록

태섭씨 2015. 3. 12. 11:22

서버에 SSL 인증서 설치 작업 내용 간략히 기록.


1. 도메인 결정 및 DNS 신청

- Wildcard 도메인 인증서 (*.domain.com) 가 있기 때문에 별 생각없이 aaa.domain.com (2차 sub-domain) aaa.bbb.domain.com (3차 sub-domain) 사용하기로 협의

 - 사내 시스템으로 DNS 신청, 며칠 후 등록 완료되었다는 연락이 오고 nslookup 명령어로 확인 완료.


2. 아파치에 인증서 설치 및 vhosts 설정

 - 아파치에 SSL 인증서 설치 : 

SSLCertificateFile /usr/local/apache2/conf/star.domain.com.crt 

설명 : 발급 받은 파일 중 "인증서 파일"을 지정

SSLCertificateKeyFile /usr/local/apache2/star.domain.com.key 

설명 : 발급 받은 파일 중 "개인키 파일"을 지정

SSLCertificateChainFile /usr/local/apache2/conf/star.domain.com.ca-bundle 

설명 : 발급 받은 파일 중 "Chain CA인증서 파일"을 지정 

설명 : 발신된 메일 내용 중 "CA-1 정보"에 지칭된 이름 작성

설명 : SSLCertificateChainFile 에 주석(#)이 있을 경우 주석 해제

SSLCACertificateFile /usr/local/apache2/conf/star.domain.com.root-bundle 

설명 : 발급 받은 파일 중 "ROOT CA인증서 파일"을 지정 

설명 : 발신된 메일 내용 중 "CA-2 정보"에 지칭된 이름 작성

설명 : SSLCACertificateFile 에 주석(#)이 있을 경우 주석 해제

 - 문제 발생 : 

    - 분명히 설치를 잘 했는데, 3차 sub-domain 에서 인증서 오류가 발생함

    - 확인해보니 해당 인증서는 2차 sub-domain 까지만 지원함 ㅠㅠhttps://www.comodossl.co.kr/support/faq/view.aspx?category=SSL&Seq=1076 

    - 그래서 일단 3차 sub-domain 은 DNS 신청부터 다시... 

 - vhosts 설정 : 

    - DocumentRoot, ServerName 등 설정 (상세한 것은 http://httpd.apache.org/docs/2.4/en/vhosts/ 참고)


3. 개인키 비밀번호 제거

 - 개인키 비밀번호가 걸려있는 경우, 아파치 리스타트시마다 비밀번호 입력이 필요하다.

 - 비밀번호 제거 : 여기도 http://dev.meye.net/196 참고해보자.

[root@localhost ssl]# openssl rsa -in [키 파일] -out [새로운 키 파일명]

[패스워드 입력]


3-2) (실제 적용한 건 아니지만) 패스워드 자동입력

 - 아래와 같이 적용하면 아파치 기동시 자동입력이 된다고 한다 (해보지는 않아서...)

[root@localhost conf]# vi /usr/local/apache2/conf/ssl/pass.sh   # 아래 두 줄을 pass.sh 에 저장하고 종료

#!/bin/sh

echo 패스워드


[root@localhost conf]# chmod 700 /usr/local/apache2/conf/ucert/pass.sh  # 권한 설정 (root 만 접근 가능)

[root@localhost conf]# vi extra/httpd-ssl.conf 

#SSLPassPhraseDialog builtin    

설명 : 개인키 패스워드 수동 입력 설정을 주석처리

SSLPassPhraseDialog exec:/usr/local/apache2/conf/ucert/pass.sh

# 설명 : 개인키 패스워드 자동 입력 스크립트 실행경로 명시


4. 기타 유용한? 커맨드

 - config 가 정상적으로 설정되어 있는지 확인

/usr/local/apache2/bin/apachectl configtest

Syntax OK

# 설명 : "Syntax OK" 정상 적으로 설정 되었을 경우 나오는 메시지

 - 로컬에서 인증서 확인, 인증서 시작/만료일 확인

[root@localhost ~]# netstat -nap | grep httpd 

tcp 0 0 :::80 :::* LISTEN 19301/httpd

tcp 0 0 :::443 :::* LISTEN 19301/httpd

[root@localhost ~]# openssl s_client -connect 127.0.0.1:443 | openssl x509    443포트 Listen 된 상태에서 명령어를 사용하여 로컬에서 인증서를 확인.


depth=2 C = US, O = GeoTrust Inc., CN = GeoTrust Global CA

verify error:num=20:unable to get local issuer certificate

verify return:0

-----BEGIN CERTIFICATE-----

// 생략

-----END CERTIFICATE-----


[root@mail ~]# echo "" | openssl s_client -connect localhost:443 | openssl x509 -noout -dates    # 인증서 시작과 만료일 확인

notBefore=May 2 00:24:14 2011 GMT 

notAfter=Feb 15 21:38:20 2012 GMT  

[root@mail ~]# openssl s_client -connect localhost:443 < /dev/null 2>&1 | openssl x509 -noout -enddate        # 만료일만 확인

notAfter=May 3 08:06:38 2012 GMT





'IT' 카테고리의 다른 글

HTTP Keep-Alive  (0) 2015.03.06
URL 에서의 #! (hash-bang)  (0) 2015.02.11
Dictionary Map 차이점 (자료구조)  (0) 2015.02.02
Comments