Windows서버/Apache2 서버에 Comodo Positive SSL적용기
2012.08.17 14:38
이건 강좌라고 해야 할지 사용기라고 해야할지.
일단 Comodo Positive SSL를 구매했으니까 구매기, 사용도 했으니까 사용기라고 하고 올려봅니다.
이 글은 Windows Server (2003/2008 또는 R2)에 대한 사전지식이 있음을 기재하고 작성합니다.
커맨드라인은 도스창에서 작업하는 것을 지칭합니다.
예제에서 등장한 www.vistahill.co.kr 은 제가 쓰는 도메인입니다.
본인이 사용하는 도메인명을 이용하시면 됩니다.
vistahill.co.kr과 www.vistahill.co.kr은 엄연히 다릅니다.
보안서버설정을 한 도메인이 www.vistahill.co.kr / m.vistahill.co.kr 2개라면 인증서도 2개 구매하시고
VirtualServer 설정도 2개 해주셔야 합니다. 포트도 2개 여셔야 하고요.
일단 저는 Apache2 서버를 Windows Server 2008 R2에서 돌립니다.
액티브 디렉토리 등이 필요하고, IIS + PHP 의 경우 권한 문제 때문에 제약이 있는 부분이 있고
그걸 풀자니 너무 보안을 풀어버리는 것 같아서 아예 IIS에서 웹서버기능을 끄고, Apache2를 돌리고 있습니다.
이 상황에서 보안서버의무화가 나와버린 것이죠.
한 이틀 사전 준비하고 2시간 정도 잡아서 처리했습니다.
하기 내용은 Linux 서버에서도 대동소이 하니 지식이 있으시면 보시고서 몇가지만 수정해서 돌릴 수 있으실 겁니다.
[준비물]
- Windows 서버(2003/2008/2008R2 기타 NT이상급-XP포함-도 다 된다고 봅니다)
- Apache2서버. mod_ssl(static)이나 mod_so(dynamic)중 아무거나 하나를 가지고 계셔야 합니다. 확인 방법은 httpd -l 를 통해서 mod_ssl.c 나 mod_so.c가 있는지 확인하시기 바랍니다. mod_so.c는 다이나믹 모듈이기 때문에 modules 경로하에 mod_ssl.so 가 존재해야 합니다.
- 기타 인증서생성도구(인증서마법사 or OpenSSL)
[단계]
인증서마법사를 통해서 서버인증서를 생성하셔도 됩니다만
저는 OpenSSL이 설치되어있는 관계로 이것으로 진행했습니다. 표준은 1024이지만 저는 2048길이로 했습니다.
"-des" 옵션을 키면 사용자가 패스워드를 넣어서 한번 더 꼬아줄 수 있지만 귀찮아서 안했습니다.
하실 분은 하시고 패스워드 잊지 마시기 바랍니다. apache설정하거나 기동할 때 써먹습니다.
OpenSSL이 없으신 분은 인증서마법사를 이용하시던가, OpenSSL Windows를 설치하시기 바랍니다.
커맨드라인>openssl genrsa -out www.vistahill.co.kr.key 2048
이제 .key 파일이 생성됐습니다. 보관하시기 바랍니다. 나중에 써먹습니다.
키를 생성했으면 이제 공인인증요청(CSR)을 생성합니다.
커맨드라인> openssl req -config "openssl.cnf절대경로" -new -key www.vistahill.co.kr.key > www.vistahill.co.kr.csr
그리고 이제 내용을 채워넣습니다. whois에 나오는 것과 같은 국가코드/주소/이름/전화번호 등등을 사용합니다.
여기서 채운 이메일로 나중에 인증서가 옵니다. 내용을 엉뚱한 거 채우시면 거부되거나 Comodo에서 연락이 옵니다.
이제 CSR까지 생성했습니다.
이 CSR의 내용을 그대로 복사해서 Comodo에 가서 필요한 SSL을 발급 받습니다. 저는 저렴하게 Positive SSL을 했습니다.
나중에 CA 설정할 때 차이가 좀 있는데 별거 아닙니다. 무시해도 될 수준입니다.
이제 커피한잔 마시면서 기다리면 이메일로 벨리데이션키가 옵니다. 그걸로 벨리데이션을 시켜줍니다.
한 10분 지나면 이제 완성된 인증서가 이메일로 날라옵니다.
우선 443포트를 열어줍시다. 관리도구의 Windows 방화벽으로 가서 새규칙을 만듭니다.
443포트는 RPC지만, 원하면 아무거나 써도 됩니다. 일단 443이라고 하고 진행하겠습니다.
그리고 아파치의 httpd.conf를 여시고 LoadModule 에서 ssl_module 를 활성화시켜줍니다.
그리고 httpd-ssl.cnf읠 Include가 주석처리 되어있을 건데 그걸 풀어줍니다.
이제 httpd-ssl.cnf로 가서
<VirtualHost www.vistahill.co.kr:443>
DocumentRoot "여기 도큐먼트 루트"
ServerName www.vistahill.co.kr:443
ServerAdmin 어드민이메일
SSLEngine on
SSLCertificateFile "절대경로/발급받은인증서"
SSLCertificateKeyFile "절대경로/아까만들어서 보관한 key파일"
SSLCACertificateFile "절대경로/발급받은PositiveSSLCA2.crt"
이 부분들을 찾아서 올바르게 설정해줍니다.
만약 -des를 통해서 패스워드를 만들었다면
SSLPassPhraseDialog builtin
부분을 보셔야 합니다. 이게 디폴트인데, 이러면 아파치가 기동할 때 비밀번호를 쳐줘야 합니다.
아파치가 서비스로 구동되도록(runservice 옵션) 올라가 있다면 좀 많이 까다롭겠죠.
다른 방법은 "builtin" 부분에 비번을 실행시키는 쉘코드(sh echo 비밀번호)을 통해서 비밀번호를 자동타이프하던가
어딘가 비밀번호를 텍스트로 저장해둔 파일을 불러오는 것입니다.
윈도우라면 "type 비밀번호를저장한파일" 과 같이 처리가 될겁니다.(전 -des없이 해서요 ^^)
여기까지 하셨으면 신택스를 점검해봅시다.
커맨드라인> httpd -t
Syntax OK가 나오면 다 된 것입니다.
커맨드라인> netstat -anb
번호 | 제목 | 작성자 | 작성일 | 조회 |
---|---|---|---|---|
1159 | Dell Inspiron 7620 2 in 1 사용 소감 | matsal | 04.25 | 35 |
1158 |
중국제 블루투스 전력측정기
[1]
![]() | matsal | 07.31 | 311 |
1157 |
안드로이드 전용 블루투스 트래커. 치폴로 원 포인트 추천
[2]
![]() | 스노우캣 | 10.25 | 455 |
1156 |
블루투스 USB 동글 개선된 안테나
![]() | matsal | 08.18 | 469 |
1155 |
Wifi + BT 합쳐진 초미니 USB 동글
[3]
![]() | matsal | 09.19 | 499 |
1154 |
중국제 허접 CDP 사용기
[3]
![]() | matsal | 04.07 | 510 |
1153 |
블루투스 체중계 길들이기
[1]
![]() | matsal | 08.25 | 537 |
1152 | 물 안쓰는 세차 키트 | 왕초보 | 12.03 | 545 |
1151 |
rx 470 사용기?
[2]
![]() | 박영민 | 03.13 | 599 |
1150 | 라이젠 레이븐 릿지 2200g 영상 리뷰 입니다. [4] | 스파르타 | 05.30 | 608 |
1149 |
옛날 오디오 2.4Ghz 트랜스미터/리시버
![]() | matsal | 12.23 | 634 |
1148 | QCY MeloBuds Pro 간단 사용기 [3] | matsal | 10.29 | 700 |
1147 | 보일러 온도 조절기 교체(대성 제품) [3] | 아람이아빠 | 12.12 | 727 |
1146 |
2만 원으로 아이폰X 고속 무선 충전을 할 수 있는 피플 고속 무선 충전기
[4]
![]() | 스파르타 | 04.11 | 766 |
1145 |
MDR-NWBT20 노이즈 캔슬링 블루투스 리시버 개봉기
[3]
![]() | matsal | 03.30 | 773 |
1144 | Bitdefender 와 Avast 비교 | matsal | 01.25 | 791 |
1143 |
Ugreen USB 케이블 11종 테스트
![]() | matsal | 12.26 | 796 |
1142 | BOSE Sleepbud 사용기 v2 [4] | matsal | 03.20 | 848 |
1141 |
USB cable checker 사용기
![]() | matsal | 12.11 | 883 |
1140 |
샤오미 전기면도기 W482
[2]
![]() | matsal | 10.22 | 906 |
작업후 사이트를 올렸는데 TLS관련 문제때문에 보안된 사이트가 아니라거나, 문제가 있을 수 있다는 에러가 나올 수 있습니다.
(Safari/Opera/Firefox만, IE와 Chrome은 상관없습니다)
이 문제는 https요청속에 명시적 http가 있는데 보통 서버는 보안이슈로 TLS renego를 막아놓기 때문에
TLS renego를 못하기 때문입니다. 그러니까 명시적 http를 제거하는 작업을 하셔야 합니다.