2.5. SSL/TLS를 사용하여 JBoss EAP에 배포된 애플리케이션을 보호하도록 server-ssl-context 구성
Elytron은 SSL/TLS를 구성하는 데 사용할 수 있는 applicationSSC 라는 기본 server-ssl-context 를 제공합니다. 또는 Elytron에서 고유한 SSL 컨텍스트를 만들 수 있습니다. 다음 절차에서는 애플리케이션에 대한 SSL/TLS 구성을 위해 기본 SSL 컨텍스트인 applicationSSC 를 사용하는 방법을 보여줍니다.
사전 요구 사항
- JBoss EAP가 실행 중입니다.
클라이언트 인증서에 대한 서버 신뢰 저장소 및 신뢰 관리자를 구성했습니다.
서버 인증서를 구성했습니다.
자세한 내용은 SSL/TLS용 서버 인증서 구성을참조하십시오.
프로세스
양방향 SSL을 사용하도록 기본 서버 SSL 컨텍스트를 구성합니다.
/subsystem=elytron/server-ssl-context=applicationSSC:write-attribute(name=need-client-auth,value=true) { "outcome" => "success", "response-headers" => { "operation-requires-reload" => true, "process-state" => "reload-required" } }기본적으로 SSL 컨텍스트는 TLSv1.2를 사용합니다. 다음과 같이 TLSv1.3을 사용하도록
protocols속성을 구성할 수 있습니다./subsystem=elytron/server-ssl-context=applicationSSC:write-attribute(name=protocols,value=[TLSv1.3])서버 SSL 컨텍스트에 대한 신뢰 관리자를 구성합니다.
구문
/subsystem=elytron/server-ssl-context=applicationSSC:write-attribute(name=trust-manager,value=<server_trust_manager>)예제
/subsystem=elytron/server-ssl-context=applicationSSC:write-attribute(name=trust-manager,value=exampleTLSTrustManager) { "outcome" => "success", "response-headers" => { "operation-requires-reload" => true, "process-state" => "reload-required" } }서버 SSL 컨텍스트의 키 관리자를 구성합니다.
구문
/subsystem=elytron/server-ssl-context=applicationSSC:write-attribute(name=key-manager,value=<key_manager_name>)예제
/subsystem=elytron/server-ssl-context=applicationSSC:write-attribute(name=key-manager,value=exampleServerKeyManager) { "outcome" => "success", "response-headers" => { "operation-requires-reload" => true, "process-state" => "reload-required" } }서버를 다시 로드합니다.
reload
검증
JBoss EAP 시작 페이지에 액세스할 수 있는지 확인합니다.
CLI를 사용하여 확인합니다.
구문
$ curl --verbose --location --cacert <server_certificate> --cert <client_keystore>:<password> --cert-type P12 https://localhost:8443예제
$ curl --verbose --location --cacert server.cer --cert exampleclient.keystore.pkcs12:secret --cert-type P12 https://localhost:8443 ... <h3>Your Red Hat JBoss Enterprise Application Platform is running.</h3> ...브라우저를 사용하여 확인합니다.
클라이언트 인증서를 브라우저로 가져옵니다. 생성 클라이언트 인증서 프로세스에서 생성된 예제 인증서를
exampleclient.keystore.pkcs12라고 하며 이를 가져올 예제 암호는시크릿입니다.브라우저로 인증서를 가져오는 방법에 대한 정보는 브라우저 설명서를 참조하십시오.
브라우저에서
https://localhost:8443으로 이동합니다.브라우저에서 서버와 식별할 수 있는 인증서를 제공하라는 메시지를 표시합니다.
브라우저로 가져온 인증서를 선택합니다.
예:client.keystore.pkcs12.자체 서명된 인증서를 사용하는 경우 브라우저에서 서버에서 제공하는 인증서를 알 수 없다는 경고가 표시됩니다.
인증서를 검사하고 브라우저에 표시된 지문이 키 저장소의 인증서 지문과 일치하는지 확인합니다. 다음 명령을 사용하여 키 저장소에서 인증서를 볼 수 있습니다.
구문
/subsystem=elytron/key-store=<server_keystore_name>:read-alias(alias=<alias>)예제
/subsystem=elytron/key-store=exampleServerKeyStore:read-alias(alias=localhost) ... "sha-1-digest" => "5e:3e:ad:c8:df:d7:f6:63:38:05:e2:a3:a7:31:07:82:c8:c8:94:47", "sha-256-digest" => "11:b6:8f:00:42:e1:7f:6c:16:ef:db:08:5e:13:d9:b8:16:6e:a0:3c:2e:d4:e5:fd:cb:53:90:88:d2:9c:b1:99",
서버 인증서를 수락하면 JBoss EAP 시작 페이지에 액세스할 수 있습니다.
이제 애플리케이션에 대해 양방향 SSL/TLS가 구성되어 있습니다.