2장. 관리 인터페이스 및 애플리케이션에 대해 양방향 SSL/TLS 활성화
SSL/TLS 또는 전송 계층 보안(TLS)은 네트워크를 통해 통신하는 두 엔티티 간에 데이터 전송을 보호하는 데 사용되는 인증서 기반 보안 프로토콜입니다. 서버가 신뢰할 수 있는 클라이언트에만 연결하려는 경우 양방향 SSL/TLS를 사용합니다.
양방향 SSL/TLS는 다음과 같은 보안 기능을 제공합니다.
- 인증
- 단방향 SSL/TLS에서 서버는 자체적으로 인증하기 위해 클라이언트에 인증서를 제공합니다. 양방향 SSL/TLS에서 클라이언트는 클라이언트를 인증하기 위해 서버에 인증서도 제공합니다. 따라서 양방향 SSL/TLS는 상호 인증이라고도 합니다.
- 기밀성
- 클라이언트와 서버 간에 전송된 데이터는 암호화됩니다.
- 데이터 무결성
-
TLS 프로토콜은 메시지 인증 코드(MAC) 계산에 사용되는 보안 해시 함수로 데이터 무결성을 제공합니다. SSL 컨텍스트 리소스의
cipher-suite-filter및cipher-suite-names속성을 사용하여 연결에 특정 알고리즘 및 해시 함수를 적용할 수 있습니다.
자세한 내용은 server-ssl-context 특성을 참조하십시오.
양방향 SSL/TLS를 사용하여 JBoss EAP 관리 인터페이스와 배포된 애플리케이션을 모두 보호할 수 있습니다.
양방향 SSL/TLS를 사용하여 관리 인터페이스를 보호하려면 다음 절차를 사용하십시오.
- 클라이언트의 CA(인증 기관)에서 인증서를 가져옵니다. 또는 프로덕션 환경 이외의 환경의 경우 절차에 따라 자체 서명된 인증서를 생성할 수 있습니다. 클라이언트 인증서 생성.
- 클라이언트 인증서에 대한 신뢰 저장소 및 신뢰 관리자 구성
- 양방향 SSL/TLS에 대한 서버 인증서를 구성합니다.
- SSL/TLS를 사용하여 JBoss EAP 관리 인터페이스를 보호하도록 SSL 컨텍스트 구성
양방향 SSL/TLS를 사용하여 JBoss EAP에 배포된 애플리케이션을 보호하려면 다음 절차를 사용하십시오.
- 클라이언트의 CA(인증 기관)에서 인증서를 가져옵니다. 또는 프로덕션 환경 이외의 환경의 경우 절차에 따라 자체 서명된 인증서를 생성할 수 있습니다. 클라이언트 인증서 생성.
- 클라이언트 인증서에 대한 신뢰 저장소 및 신뢰 관리자 구성
- 양방향 SSL/TLS에 대한 서버 인증서 구성
- SSL/TLS를 사용하여 JBoss EAP에 배포된 애플리케이션을 보호하도록 SSL 컨텍스트 구성
Elytron에서 인증서 취소 검사 구성 절차에 따라 인증서 취소 검사를 구성할 수 있습니다.
2.1. 클라이언트 인증서 생성 링크 복사링크가 클립보드에 복사되었습니다!
양방향 SSL/TLS 구성을 테스트하고 개발하기 위해 CLI에서 keytool 명령을 사용하여 자체 서명된 클라이언트 인증서를 생성합니다.
프로덕션 환경에서는 자체 서명된 인증서를 사용하지 마십시오. CA(인증 기관)에서 서명한 인증서만 사용합니다.
프로세스
클라이언트 인증서를 생성합니다.
구문
keytool -genkeypair -alias <keystore_alias> -keyalg <algorithm> -keysize <key_size> -validity <validity_in_days> -keystore <keystore_name> -dname "<distinguished_name>" -keypass <private_key_password> -storepass <keystore_password>
$ keytool -genkeypair -alias <keystore_alias> -keyalg <algorithm> -keysize <key_size> -validity <validity_in_days> -keystore <keystore_name> -dname "<distinguished_name>" -keypass <private_key_password> -storepass <keystore_password>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
keytool -genkeypair -alias exampleClientKeyStore -keyalg RSA -keysize 2048 -validity 365 -keystore exampleclient.keystore.pkcs12 -dname "CN=client" -keypass secret -storepass secret
$ keytool -genkeypair -alias exampleClientKeyStore -keyalg RSA -keysize 2048 -validity 365 -keystore exampleclient.keystore.pkcs12 -dname "CN=client" -keypass secret -storepass secretCopy to Clipboard Copied! Toggle word wrap Toggle overflow 클라이언트 인증서를 파일로 내보냅니다.
구문
keytool -exportcert -keystore <keystore_name> -alias <keystore_alias> -keypass <private_key_password> -storepass <keystore_password> -file <file_path>
$ keytool -exportcert -keystore <keystore_name> -alias <keystore_alias> -keypass <private_key_password> -storepass <keystore_password> -file <file_path>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
keytool -exportcert -keystore exampleclient.keystore.pkcs12 -alias exampleClientKeyStore -keypass secret -storepass secret -file EAP_HOME/standalone/configuration/client.cer Certificate stored in file <EAP_HOME/standalone/configuration/client.cer>
$ keytool -exportcert -keystore exampleclient.keystore.pkcs12 -alias exampleClientKeyStore -keypass secret -storepass secret -file EAP_HOME/standalone/configuration/client.cer Certificate stored in file <EAP_HOME/standalone/configuration/client.cer>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
이제 생성된 클라이언트 인증서를 사용하여 서버에서 서버 신뢰 저장소 및 신뢰 관리자를 구성할 수 있습니다. 자세한 내용은 클라이언트 인증서에 대한 신뢰 저장소 구성 및 신뢰 관리자를 참조하십시오.