Apache + mod_ssl
httpd.conf 파일에서 인증서 파일, 개인키 파일의 위치와 이름을 알맞게 수정합니다.
"1"=>인증서 설정 : SSLCertificateFile /usr/local/httpd2/ssl/cert_www.wincert.com.crt
"2"=>개인키 설정 : SSLCertificateKeyFile /usr/local/httpd2/ssl/prv_www.wincert.com.key
"3"=>CA인증서 설정 : SSLCACertificateFile /usr/local/httpd2/ssl/root_ca_cert.crt
CA인증서 작성법
subca1_도메인명.crt ... 파일과 rootca_도메인명.crt 파일내용을 메모장 또는 텍스트에디터를 이용하여 아래와 같이 합쳐서 하나의 파일로 생성한다.
subca1_도메인명.crt 파일
subca2_도메인명.crt 파일
rootca_도메인명.crt 파일
1. 인증서 설치
A. Apache2.x
i. httpd.conf 수정
------------------------------------------------------------------
# Secure (SSL/TLS) connections
Include conf/extra/httpd-ssl.conf “"#” 제거하여 SSL 활성화
------------------------------------------------------------------
ii. conf/extra/httpd-ssl.conf 수정
DocumentRoot "/home/wincertcom/www"
ServerName www.wincert.com:443
ServerAdmin info@wincert.com
B. 멀티도메인의 경우
conf/extra/httpd-ssl.conf 수정
설치된 인증서 한개에 2개이상의 도메인이 존재하기 때문에 갯수에 맞게 아래의 virtualHost를 추가한다.
ServerName 과 DocumentRoot 정보만 환경에 맞게 수정하면 된다.
NameVirtualHost *:443
#www.wincert.com
# General setup for the virtual host
DocumentRoot "/home/path1/www"
ServerName www.wincert.com:443
ServerAdmin info@wincert.com
#www.wincert.kr
# General setup for the virtual host
DocumentRoot "/home/path2/www"
ServerName www.wincert.kr:443
ServerAdmin info@wincert.com
Windows 2012 IIS 8.0
1. 서버관리자->웹서버, 인증서요청완료 선택-> "다음"
2. 인증서에서 발급받은 인증서 선택 -> "다음"
3. 입력된 SSL인증서를 해당 웹서비스에 바인딩
4. 바인딩 추가
5. SSL 포트 바인딩 설정 -> "다음"
6. 바인딩 및 포트추가 완료
7. IIS 웹사이트 재기동 후, 접속 확인
설치확인
https://도메인명
pfx 파일 설치 방법
1. 서버관리자->웹서버->서버인증서(S) 선택
2. 가져올 .pfx 파일 선택합니다.
3.인증서 입력완료
4. 개인키 비밀번호 입력 -> "다음"
5. 인증서 저장소 선택 -> "다음"
6. 가져오기 정보 요약 확인
7. 입력된 SSL인증서를 해당 웹서비스에 바인딩
8.마침( 설치완료 )
IIS 재시작(중지 & 시작)하면 됩니다.
https://도메인명/ 해서 접속이 안될경우 방화벽이 열려있는지 확인해야 함
Windows 2008 IIS 7.0
1. 서버관리자->웹서버, 인증서요청완료 선택-> "다음"
2. Ncloud24에서 받은 인증서 선택
3.인증서 등록완료
4.SSL 포트 바인딩 설정 -> "다음"
5.바인딩 포트 및 인증서 선택 -> "다음"
6.바인딩 및 포트추가 완료
7.IIS 웹사이트 재기동 후, 접속확인
* 설치확인
https://도메인명
8. pfx 파일 설치 방법
서버관리자->웹서버->서버인증서(S) 선택
9. 가져올 .pfx 파일 선택합니다.
10. 인증서 입력완료
11. SSL 포트 바인딩 설정 -> "다음"
12. 바인딩 포트 및 인증서 선택 -> "다음"
13.바인딩 요약 확인
마침( 설치완료 )
IIS 재시작(중지 & 시작)하면 됩니다.
https://도메인명/ 해서 접속이 안될경우 방화벽이 열려있는지 확인해야 함
* 멀티도메인 설정 안내
1. PFX 인증서 가져오기 또는 인증서 요청서 완료 선택
2. 인증서 가져오기 PFX 선택 및 비밀번호 확인
3. 가져오기 완료 후, 인증서 정보 확인
4. 바인딩 확인 대표 도메인 보안서버 설치 먼저 설치
5. 대표 도메인 SSL 설치
6. SecureBindings 으로 멀티 도메인 SSL 설정
SecureBindings는 다음과 같은 절차를 통해서 설정합니다.
※참고: SecureBindings기능은 IIS6.0 이상에서만 지원하며, IIS5.0 이하에서는 사용이 불가능합니다.
"C:WindowsSystem32inetsrvconfigapplicationHost.config"
메모장으로 열어서 현재 추가된 443포트를 해당 호스트명에 맞게 bind protocol https를 추가하여 수정합니다.
Tomcat
엔클라우드24으로부터 발급 받은 인증서를 CSR를 생성할 때 사용했던 keystore에 import한다.
* 루트인증서 설치
$JAVA_HOME/bin/keytool -import -trustcacerts -alias root -keystore <생성된 keystore파일명> -file 루트인증서파일명(rootca_도메인명.crt)
* 중개인증서
$JAVA_HOME/bin/keytool -import -trustcacerts -alias chainca1 -keystore <생성된 keystore파일명> -file 루트인증서파일명(subca1_도메인명.crt)
$JAVA_HOME/bin/keytool -import -trustcacerts -alias root -keystore <생성된 keystore파일명> -file 루트인증서파일명(rootca_도메인명.crt)
* SSL 인증서
$JAVA_HOME/bin/keytool -import -trustcacerts -alias <생성할 때 입력한 alias> -keystore <생성된 keystore파일명> -file 인증서파일명(cert_도메인명.crt)
* 필요에 따라 ROOT인증서 Chain인증서도 같은 방법으로 추가한다.
server.xml 수정
tomcat 6.0.x 버전
포트는 https의 기본포트는 443이다. 시스템환경에 맞게 수정한다.
Tomcat 재기동
Tmax-WebToB
WebtoB에서 SSL을 이용하기 위해서는 먼저 NODE절이나, 아니면 SSL을 이용하고 싶은 Virtual Host를 선언한 VHOST절에서
SSLFLAG를 선언하여야 한다. 기본적으로 WebtoB는 SSL을 이용하도록 되어 있지 않다.
따라서, 반드시 SSLFLAG를 설정하여야 SSL을 이용할 수 있다. 이 SSLFLAG는 Y와 N으로 설정하는 것이 가능하다.
Y라는 값을 기입하면, SSL을 이용한다는 것이 되고, N은 이와 반대의 역할을 한다.
그러나, SSLFLAG에 대한 설정이 없으면, 기본적으로 SSL을 이용하는 것이 아니기 때문에, N은 거의 쓰일 일이 없을 것이다.
다음은 SSLFLAG의 사용 예이다.
SSLFLAG = Y
*SSL SSL NAME Certificatefile, CertificateKeyFile, CACertificatePath, CACertificateFile, VerifyDepth, VerifyClient, RandomFile, ...
이에 대한 자세한 내용은 부록 [F.14 SSL 절]의 SSL절을 참조하기 바란다.
이곳에서는 기본적인 설정에 필요한 정보만 기술할 것이다. 그리고 이 선언한 SSL을 Authentication절에서 하듯
각각의 SSL 선언을 필요로 하는 절에 선언하면 된다. 단, 주의 할 점은 Authentication은 SVRGROUP절에서
선언하였으나 SSL 절은 Node절이나 VHOST절에서 SSL을 이용하는 곳에서 선언하여야 한다.
선언하는 방법은 SSLNAME라는 항목을 이용한다.즉, SSLNAME라는 항목에 SSL절에서 선언한 것을 적어주면 된다.
이에 대한 사용 예제는 다음과 같다.
SSLNAME = "ssl1"
그러면 이 절에서는 ssl1에서 선언한 값을 토대로 SSL을 이용하겠다는 것이 된다.
그리고 위에서 밝힌 바와 같이 ssl1이라는 항목은 SSL절에서 이루어 진다. 이에 대한 예는 다음과 같다.
*SSL ssl1 CertificateFile = "/user/webtob/ssl/newcert.pem", CertificateKeyFile = "/user/webtob/ssl/newcert.pem", RandomFile = "/user/webtob/bin/.rnd, 2048", RandomFilePerConnection = "/user/webtob/bin/.rnd, 512", VerifyClient = 0, VerifyDepth = 10, FakeBasicAuth = Y
이와 같이 ssl1을 선언하였고 이를 실제 적용하는 방법에 대한 예는 다음과 같다.
(이 방법은 Authentication과 거의 같은 방식이다.)
<<http:m>>
*NODE test WEBTOBDIR="/user/webtob", SHMKEY=69000, HTH=1, PORT=80, SSLFLAG=Y, SSLNAME="ssl1", ...
위의 예를 보면, NODE절에서 SSL을 이용하기 위해서 SSLFLAG라는 항목을 선언하고 이어서 SSLNAME이라는
것을 선언하였음을 알 수 있다. 그리고 SSLNAME="ssl1"이라는 항목에 의해 이 NODE는 ssl1에서 정의된 항목을
통해서 SSL Service를 한다는 것을 알 수 있다.
우리는 앞의 설정파일의 개념이라는 절을 통해서 DOMAIN이나 NODE절에서 선언한 값을 그 이후에 선언되는
절에서 새로 재정의 할 수 있다는 것을 알았다. 그것은 이 SSL에서도 유효하게 되는데, 이 때,Virtual Host를
정의하면서 이와 같은 개념이 적용 된다. 즉, NODE절에서 SSLFLAG를 Y로 선언하면 이후에 선언되는
Virtual Host를 선언하는 VHOST절에서 기본적으로 SSL이 적용되게 된다.
따라서, 굳이 SSLFLAG=Y라고 VHOST절에서 선언을 하지 않아도 SSL을 자동적으로 이용할 수 있게 된다는 것
이다. 이 때 만약 사용자가 특정 VHOST에서 SSL을 이용하고 싶다면 NODE절의 SSLFLAG = N으로 하고 SSL을
사용하고자 하는 VHOST절의 SSLFLAG=Y로 선언하여 SSL기능을 추가 하면 된다.
이는 그 이후의 값에는 영향을 미치지 않는다.
즉, NODE 절에서 선언한 값만이 그 이후에 영향을 미치게 되는 것이다. 그러므로 SSL을 이용하게 되는 경우
이러한 상관 관계를 명확히 하여 설정을 하여야 한다.
--자료출처 Tmax 온라인 매뉴얼 중 webtob SSL 설치--
Node js
1. 개인키, 인증서, CA인증서 노드js 적용 예제입니다.
2. PFX 적용의 예
컨설팅 문의 또는 도움이 필요하세요?
070-4266-7365
consulting@ncloud24.com