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

사전 구성 환경

  • Java JDK or JRE http://www.java.com/ (Java 7 버전 이상, TLS 1.2 지원 필수)
  • TLS 1.2 / SHA-2(sha256RSA) 암호화 지원 모듈 구성/활성 확인 필수
  • SNI(Server Name Indication, 서버 이름 표시) 기능 지원하는 웹서버 버전 권장 (443공용)
  • MD5, RC4 등 국제 보안 기구에서 해제를 권장하는 취약한 암호화 모듈 비활성화
  • SSL 2.0, 3.0 및 TLS 1.0 1.1 프로토콜 접속 허용 해제. 최신 TLS 1.2 1.3 설정 권장

KeyStore 및 CSR 생성

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


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

※ CSR 직접 생성이 필요한 경우, Tomcat 매뉴얼의 KeyStore/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 인증서 설치/적용/확인 절차 입니다. (인터넷에 공개된 설정법과 차이 없음)
- 직접 설치/적용에 어려움이 있다면, 서버운영 전문업체 기술지원도 검토해 보시기 바랍니다 유료기술지원 확인하기

KeyStore 에 인증서 추가 (CSR 직접 생성한 경우)

⦁ SSL 발급 신청시, "CSR 자동생성" 발급 완료는 .jks / .pfx 파일이 제공되므로, 추가 과정은 불필요합니다. (zip파일)

SSL 발급 신청시 CSR 을 직접 생성한 경우, 고객사측 시스템에만 개인키/KeyStore 가 존재합니다. 인증서 변환 가이드 를 참조하여, 인증서 스토어에 "서버+체인+루트" 인증서를 추가로 통합해야 합니다. 루트/체인 인증서는 상품별로 차이가 있으므로, 발급 완료시 zip 첨부된 파일 내역에서 확인 가능합니다.

application.yml 적용 예제 (CSR 자동 생성 이용 또는 jks 조합 후)

standalone.xml : server > management > security-realms
<security-realm name="ssl-realm">
 <server-identities>
  <ssl>
    <keystore path="/경로/sslcert.co.kr.jks (.jks경로)"  keystore-password=".jks암호"  alias="도메인CN" />
  </ssl>
 </server-identities>
</security-realm>

* security-realms 의 child 노드에, 발급 받은 keystore 파일 정보로 security-realm 을 설정 합니다.
* 예제에 포함되어 있지 않은 나머지 Property 는 공식 매뉴얼 또는 서버 설정값을 사용하시기 바랍니다.


standalone.xml : server > profile > subsystem (urn:jboss:domain:undertow) > server
<https-listener name="default-ssl" socket-binding="https" security-realm="ssl-realm" enabled-protocols="TLSv1.2" />
 

* https-listener 를 추가하고, security-realms 에서 설정한 name 을 리스너에 바인딩 합니다.
* enabled-protocols 은 고객사 환경에 따라 선택적 적용 항목입니다.
* 예제에 포함되어 있지 않은 나머지 Property 는 공식 매뉴얼 또는 서버 설정값을 사용하시기 바랍니다.


standalone.xml : server > socket-binding-group
<socket-binding name="https" port="${jboss.https.port:443}" />
 

* https-listener 에서 설정한 리스너에 대해서 SSL 접속에 사용할 특정 포트 바인딩을 설정합니다.
* 예제에 포함되어 있지 않은 나머지 Property 는 공식 매뉴얼 또는 서버 설정값을 사용하시기 바랍니다.

설치 적용 확인

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

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

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

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