3.2. 도메인 및 호스트 컨트롤러 간 SSL/TLS 구성
관리형 도메인의 JBoss EAP 인스턴스 간에 사용할 SSL/TLS를 구성하는 경우 각 인스턴스에 상호 작용에 따라 클라이언트 또는 서버 역할이 있을 수 있습니다. 여기에는 모든 호스트 컨트롤러와 도메인 컨트롤러가 포함됩니다. 따라서 끝점 간에 양방향 SSL/TLS를 설정하는 것이 좋습니다.
관리형 도메인에서 JBoss EAP 인스턴스를 구성하여 마스터 도메인 컨트롤러와 호스트 컨트롤러 간에 서로 통신할 때 SSL/TLS를 사용할 수 있습니다. 이렇게 하려면 다음을 수행해야 합니다.
필요한 모든 인증서 및 키 저장소를 생성하고 구성합니다.
끝점 간에 양방향 SSL/TLS를 설정하려면 마스터 도메인 컨트롤러와 각 호스트 컨트롤러에 대한 인증서 및 키 저장소를 생성하고 구성해야 합니다. 또한 마스터 도메인 컨트롤러의 인증서를 각 호스트 컨트롤러의 키 저장소로 가져오고 각 호스트 컨트롤러의 인증서를 마스터 도메인 컨트롤러의 키 저장소로 가져와야합니다. 이 프로세스의 세부 사항은 관리 인터페이스에 대한 2 단계 SSL/TLS 설정에서 다룹니다.
SSL/TLS를 사용하도록 마스터 도메인 컨트롤러를 구성합니다.
모든 인증서와 키 저장소를 구성한 후에는 양방향 SSL/TLS를 사용하도록 보안 영역을 구성해야 합니다. 이 작업은 SSL/TLS를 사용하도록 보안 영역을 구성하고 인증을 위해 필요합니다. 그런 다음 해당 보안 영역을 사용하여 호스트 컨트롤러와 마스터 도메인 컨트롤러 간의 연결에 사용되는 관리 인터페이스를 보호합니다.
참고아래 명령은 배치 모드로 실행하거나 ssl 서버 ID를 추가한 후 서버를 다시 로드해야 합니다. 아래 예제는 일괄 처리 모드를 사용하여 보여줍니다.
batch /host=master/core-service=management/security-realm=CertificateRealm:add() /host=master/core-service=management/security-realm=CertificateRealm/server-identity=ssl:add(alias=domaincontroller,keystore-relative-to=jboss.domain.config.dir,keystore-path=domaincontroller.jks,keystore-password=secret) /host=master/core-service=management/security-realm=CertificateRealm/authentication=truststore:add(keystore-relative-to=jboss.domain.config.dir,keystore-path=domaincontroller.jks,keystore-password=secret) /host=master/core-service=management/security-realm=CertificateRealm/authentication=local:add(default-user=\$local) /host=master/core-service=management/security-realm=CertificateRealm/authentication=properties:add(relative-to=jboss.domain.config.dir,path=mgmt-users.properties) /host=master/core-service=management/management-interface=native-interface:write-attribute(name=security-realm,value=CertificateRealm) run-batch
SSL/TLS를 사용하도록 모든 호스트 컨트롤러를 구성합니다.
양방향 SSL/TLS를 사용하도록 마스터 도메인 컨트롤러가 구성된 경우 이를 사용하도록 각 호스트 컨트롤러를 구성해야 합니다. 프로세스는 마스터 도메인 컨트롤러 구성과 매우 동일합니다. 단, 각 호스트에 고유한 키 저장소를 사용해야 합니다.
참고아래 명령은 배치 모드로 실행하거나 ssl 서버 ID를 추가한 후 서버를 다시 로드해야 합니다. 아래 예제는 일괄 처리 모드를 사용하여 보여줍니다.
batch /host=instance1/core-service=management/security-realm=CertificateRealm:add() /host=instance1/core-service=management/security-realm=CertificateRealm/server-identity=ssl:add(alias=instance1,keystore-relative-to=jboss.domain.config.dir,keystore-path=instance1.jks,keystore-password=secret) /host=instance1/core-service=management/security-realm=CertificateRealm/authentication=truststore:add(keystore-relative-to=jboss.domain.config.dir,keystore-path=instance1.jks,keystore-password=secret) /host=instance1/core-service=management/security-realm=CertificateRealm/authentication=local:add(default-user="\$local") /host=instance1/core-service=management/security-realm=CertificateRealm/authentication=properties:add(relative-to=jboss.domain.config.dir,path=mgmt-users.properties) /host=instance1/core-service=management/management-interface=native-interface:write-attribute(name=security-realm,value=CertificateRealm) run-batch
또한 마스터 도메인 컨트롤러를 연결할 때 사용되는 보안 영역을 업데이트해야 합니다. 이 변경 사항은 서버가 실행되지 않는 동안 호스트 컨트롤러의 구성 파일(예:
host.xml
또는host-slave.xml
)에서 직접 수행해야 합니다.호스트 컨트롤러 구성 파일의 예
<domain-controller> <remote security-realm="CertificateRealm" username="slave-user"> <discovery-options> <static-discovery name="primary" protocol="${jboss.domain.master.protocol:remote}" host="${jboss.domain.master.address}" port="${jboss.domain.master.port:9999}"/> </discovery-options> </remote> </domain-controller>
주의Red Hat은 영향을 받는 모든 패키지에서 TLSv1.1 또는 TLSv1.2를 사용하도록 SSLv2, SSLv3 및 TLSv1.0을 명시적으로 비활성화할 것을 권장합니다.