NginX SSL 인증서 설치/적용 가이드

사전 구성 환경

  • OpenSSL 라이브러리 http://www.openssl.org/ (TLS 1.2 지원 필수)
  • SHA-2(SHA256) 암호화 지원 모듈 구성/활성 확인 필수
  • SNI(Server Name Indication, 서버 이름 표시) 기능 OS/웹서버 운영/활성화 권장 (443공용)
  • MD5, RC4 등 국제 보안 기구에서 해제를 권장하는 취약 암호화 모듈 비활성화
  • SSL 2.0, 3.0 및 TLS 1.0 1.1 취약 프로토콜 해제. 최신 TLS 1.2 1.3 접속 설정 권장

진행 과정

  1. 개인키(Private Key) 생성
  2. CSR(Certificate Signing Request) 생성
  3. 인증서 발급 신청 제출
  4. 인증서 발급 완료 (발급내역서/파일설명서 PDF 참조)
  5. 인증서 설치 적용 - 신규,갱신,재발급,도메인추가
  6. 서버 정상 적용 완료 테스트
  7. 웹페이지에 https:// 링크 적용

개인키 및 CSR 생성

⦁ SSL 인증서 발급 신청시, CSR 입력 단계에서 "CSR 자동생성" 선택시 수작업 생성 과정은 필요가 없습니다. (자동 이용 권장)
 ⦁ CSR 자동 발급 완료시, "개인키 / 서버인증서 / 체인인증서 / 루트인증서" 의 pem(crt,key), pfx, jks, p7b 파일이 첨부 제공됩니다.


- FAQ : 개인키(private key) 생성/보관 관련 참고 사항
- FAQ : SSL 발급 신청시 CSR 생성 관련 참고 사항
- FAQ : SSL 발급 신청시 도메인 형식 예제 및 참고 사항

※ CSR 직접 생성이 필요한 경우, Apache 매뉴얼의 Key/CSR 부분을 참고하시기 바랍니다. 자세히보기


Single

CN : sub.example.com 처럼 FQDN 도메인 형식 이어야 합니다.

Wildcard

CN : *.example.com 과 같은 패턴 이어야 합니다.

MultiDomain

CN : example.com 대표성을 가진 FQDN 도메인 1개만 입력 합니다.
SAN : 인증서에 포함될 나머지 FQDN 도메인은, 신청서 작성중 DCV 설정 단계에서 추가 입력합니다.

Multi-Wildcard

CN : example.com 대표 루트 도메인 1개을 CN으로 입력 합니다.
SAN : *.example.com 형식의 와일드카드 도메인은, 신청서 작성중 DCV 설정 단계에서 추가 입력합니다.

인증서 발급 완료 및 참고 사항

- 발급 완료 후에는, 메일첨부 또는 주문상세의 압축파일(zip)에 인증서 파일이 포함되어 있습니다.
- 서버 적용에 필요한 파일 정보는, zip 파일내 '발급내역서 및 루트/체인' PDF 에서 확인해야 합니다. (필수)
- 이후 과정 부터는, 서버에 SSL 인증서 설치/적용/확인 절차 입니다. (인터넷에 공개된 설정법과 차이 없음)
- 직접 설치/적용에 어려움이 있다면, 서버운영 전문업체 기술지원도 검토해 보시기 바랍니다 유료기술지원 확인하기

- 서버이름표시(SNI) 지원되는 서버의 경우, SSL 인증서 마다 각 포트 구분없이 모두 443 포트 적용가능합니다.
- SNI 설정으로 하는 경우, 사이트에 접속하는 클라이언트의 호환성을 미리 검토해야 합니다.

nginx.conf 1.3.7+ 적용 예제 (서버 설정)

server {
listen 443; (1.15 버젼 부터는 listen 443 ssl; 형식으로 변경됨)
ssl on; (1.15 버젼 부터는 옵션 지원 종료)
server_name www.sslcert.co.kr sslcert.co.kr; (지정한 서버인증서에 포함(지원)된 도메인)
ssl_certificate_key /파일경로/www.sslcert.co.kr.key.pem; (개인키 파일 지정)
ssl_certificate /파일경로/www.sslcert.co.kr.all.crt.pem; (서버인증서+체인+루트 통합 unified 파일 지정)
ssl_protocols TLSv1.2; (서버 환경에 따라 선택적 적용)

location /
root path
}
}

* 예제에 포함되어 있지 않은 Property 는 공식 매뉴얼 또는 서버별 속성값을 사용합니다.
* 도메인.all.crt.pem 통합 unified 파일은, 발급 완료후 zip 파일에 포함되어 있습니다. (별도 조합 불필요)
* 도메인.key.pem 개인키는 CSR 자동생성 신청시 발급 완료후 zip 파일에 포함되어 있습니다. (CSR 직접생성시 고객측에만 존재)
* SNI 방식으로 설정하려면, nginx -V : "TLS SNI support enabled" 활성화가 되어 있어야 합니다. (도메인별 여러개 server{} 적용)

설치 적용 확인

- SSL 설정 적용 후, NginX 서버를 재시작하여 정상 구동이 되는지 확인이 필요합니다.

- 서버 데몬 시작시 SSL 설정 관련 오류,경고가 있는지 콘솔/데몬/이벤트 로그 확인이 필요합니다.
- 서버 로컬에서 설정한 HTTPS 포트가 활성화 되어 있는지 netstat 등으로 확인해야 합니다.
- 외부에서 HTTPS 포트 접속이 되지 않는 다면 보안설정(방화벽등) 허용을 확인해야 합니다.
- L4 분산 환경은, HTTPS 패킷을 수신하는 모든 노드 웹서버에 SSL 적용이 필요합니다.
- L7 라우팅 환경은, L7 에도 HTTPS 활성 및 SSL 인증서 설정이 필요합니다. (장비별 자체 매뉴얼 참조)

- SSL 발급 도메인 웹페이지에 https:// 링크 적용을 별도 진행해야 최종적으로 SSL 암호화가 적용됩니다. (개발자,웹디자이너)
- PC 및 스마트폰의 "Chrome / Firefox / IE / Edge" 각 웹브라우져에서 "루트,체인,SSL,TLS" 경고가 발생 하는지 확인해야 합니다.

SSL 설치/적용 트러블슈팅 SSL 설치 적용 확인 하기 체인인증서 적용 여부 확인 인증서 포맷 변환 방법
컨텐츠의 무단 전재/복사 및 이메일 주소의 수집/이용을 허용하지 않습니다.
bitSyrup 2023. All rights reserved.