8.4. Red Hat Single Sign-On 서버에 HTTPS/SSL 활성화


역방향 프록시 또는 로드 밸런서를 사용하여 HTTPS 트래픽을 처리하지 않는 경우 Red Hat Single Sign-On 서버에 대해 HTTPS를 활성화해야 합니다. 여기에는 다음이 포함됩니다.

  1. SSL/HTTP 트래픽을 위한 개인 키 및 인증서가 포함된 키 저장소 가져오기 또는 생성
  2. 이 키 쌍과 인증서를 사용하도록 Red Hat Single Sign-On 서버 구성.

8.4.1. 인증서 및 Java 키 저장소 생성

HTTPS 연결을 허용하려면 자체 서명된 인증서 또는 타사 서명된 인증서를 가져와 Red Hat Single Sign-On Server를 배포하는 웹 컨테이너에서 HTTPS를 활성화하기 전에 Java 키 저장소로 가져와야 합니다.

8.4.1.1. 자체 서명된 인증서

개발 시 Red Hat Single Sign-On 배포를 테스트하는 데 사용할 수 있는 타사 서명 인증서가 없으므로 Java JDK와 함께 제공되는 keytool 유틸리티를 사용하여 자체 서명된 인증서를 생성해야 합니다.

$ keytool -genkey -alias localhost -keyalg RSA -keystore keycloak.jks -validity 10950
    Enter keystore password: secret
    Re-enter new password: secret
    What is your first and last name?
    [Unknown]:  localhost
    What is the name of your organizational unit?
    [Unknown]:  Keycloak
    What is the name of your organization?
    [Unknown]:  Red Hat
    What is the name of your City or Locality?
    [Unknown]:  Westford
    What is the name of your State or Province?
    [Unknown]:  MA
    What is the two-letter country code for this unit?
    [Unknown]:  US
    Is CN=localhost, OU=Keycloak, O=Test, L=Westford, ST=MA, C=US correct?
    [no]:  yes
Copy to Clipboard

무엇이 첫 번째이자 마지막 이름인지 질문이 표시되면 서버를 설치하는 시스템의 DNS 이름을 제공하십시오. 테스트를 위해 localhost 를 사용해야 합니다. 이 명령을 실행하면 에서 keytool 명령을 실행한 것과 동일한 디렉터리에 keycloak.jks 파일이 생성됩니다.

타사 서명 인증서를 원하지만 존재하지 않는 경우 cacert.org 에서 무료로 사용할 수 있습니다. 그러나 먼저 다음 절차를 사용해야 합니다.

절차

  1. 인증서 요청을 생성합니다.

    $ keytool -certreq -alias yourdomain -keystore keycloak.jks > keycloak.careq
    Copy to Clipboard

    여기서 yourdomain 은 이 인증서가 생성되는 DNS 이름입니다. keytool은 요청을 생성합니다.

    -----BEGIN NEW CERTIFICATE REQUEST-----
    MIIC2jCCAcICAQAwZTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk1BMREwDwYDVQQHEwhXZXN0Zm9y
    ZDEQMA4GA1UEChMHUmVkIEhhdDEQMA4GA1UECxMHUmVkIEhhdDESMBAGA1UEAxMJbG9jYWxob3N0
    MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr7kck2TaavlEOGbcpi9c0rncY4HhdzmY
    Ax2nZfq1eZEaIPqI5aTxwQZzzLDK9qbeAd8Ji79HzSqnRDxNYaZu7mAYhFKHgixsolE3o5Yfzbw1
    29RvyeUVe+WZxv5oo9wolVVpdSINIMEL2LaFhtX/c1dqiqYVpfnvFshZQaIg2nL8juzZcBjj4as
    H98gIS7khql/dkZKsw9NLvyxgJvp7PaXurX29fNf3ihG+oFrL22oFyV54BWWxXCKU/GPn61EGZGw
    Ft2qSIGLdctpMD1aJR2bcnlhEjZKDksjQZoQ5YMXaAGkcYkG6QkgrocDE2YXDbi7GIdf9MegVJ35
    2DQMpwIDAQABoDAwLgYJKoZIhvcNAQkOMSEwHzAdBgNVHQ4EFgQUQwlZJBA+fjiDdiVzaO9vrE/i
    n2swDQYJKoZIhvcNAQELBQADggEBAC5FRvMkhal3q86tHPBYWBuTtmcSjs4qUm6V6f63frhveWHf
    PzRrI1xH272XUIeBk0gtzWo0nNZnf0mMCtUBbHhhDcG82xolikfqibZijoQZCiGiedVjHJFtniDQ
    9bMDUOXEMQ7gHZg5q6mJfNG9MbMpQaUVEEFvfGEQQxbiFK7hRWU8S23/d80e8nExgQxdJWJ6vd0X
    MzzFK6j4Dj55bJVuM7GFmfdNC52pNOD5vYe47Aqh8oajHX9XTycVtPXl45rrWAH33ftbrS8SrZ2S
    vqIFQeuLL3BaHwpl3t7j2lMWcK1p80laAxEASib/fAwrRHpLHBXRcq6uALUOZl4Alt8=
    -----END NEW CERTIFICATE REQUEST-----
    Copy to Clipboard
  2. 이 CA 요청을 CA(인증 기관)로 보냅니다.

    CA는 서명된 인증서를 발행하여 사용자에게 보냅니다.

  3. CA의 루트 인증서를 가져와 가져옵니다.

    CA(즉, root.crt)에서 인증서를 다운로드하고 다음과 같이 가져올 수 있습니다.

    $ keytool -import -keystore keycloak.jks -file root.crt -alias root
    Copy to Clipboard
  4. 새 CA 생성 인증서를 키 저장소로 가져옵니다.

    $ keytool -import -alias yourdomain -keystore keycloak.jks -file your-certificate.cer
    Copy to Clipboard

8.4.2. 키 저장소를 사용하도록 Red Hat Single Sign-On 구성

이제 적절한 인증서가 있는 Java 키 저장소가 있으므로 이를 사용하도록 Red Hat Single Sign-On 설치를 구성해야 합니다. 설치에 적용되는 구성 절차를 사용합니다.

8.4.2.1. JBoss Security Legacy

절차

  1. 키 저장소를 사용하고 HTTPS를 활성화하도록 standalone.xml,standalone-ha.xml 또는 host.xml 파일을 편집합니다.
  2. 키 저장소 파일을 배포의 구성 디렉터리 또는 선택한 위치에 있는 파일로 이동하여 절대 경로를 제공합니다.

    절대 경로를 사용하는 경우 구성에서 선택적 relative-to 매개 변수를 제거합니다( 운영 모드참조).

  3. JBoss EAP의 bin 디렉토리에 sso_legacy.cli 라는 배치 파일을 만듭니다.
  4. 배치 파일에 다음 내용을 추가합니다.

    # Start batching commands
    
    batch
    
    /core-service=management/security-realm=UndertowRealm:add()
    /core-service=management/security-realm=UndertowRealm/server-identity=ssl:add(keystore-path=keycloak.jks, keystore-relative-to=jboss.server.config.dir, keystore-password=secret)
    /subsystem=undertow/server=default-server/https-listener=https:write-attribute(name=security-realm, value=UndertowRealm)
    
    # Run the batch commands
    
    run-batch
    Copy to Clipboard
  5. Red Hat Single Sign-On 서버를 시작합니다.
  6. JBoss EAP의 bin 디렉토리로 변경합니다.
  7. 다음 스크립트를 실행합니다.

    $ sh jboss-cli.sh --connect --file=sso_legacy.cli
    
    The batch executed successfully
    process-state: reload-required
    Copy to Clipboard
  8. sso_legacy.cli 변경 사항이 적용되도록 Red Hat Single Sign-On 서버를 다시 시작합니다.

8.4.2.2. Elytron TLS v1.2

절차

  1. JBoss EAP의 bin 디렉토리에 sso.cli 라는 배치 파일을 생성합니다.
  2. 배치 파일에 다음 내용을 추가합니다.

    # Start batching commands
    
    batch
    
    # Add the keystore, key manager and ssl context configuration in the elytron subsystem
    
    /subsystem=elytron/key-store=httpsKS:add(relative-to=jboss.server.config.dir,path=keycloak.jks,credential-reference={clear-text=secret},type=JKS)
    /subsystem=elytron/key-manager=httpsKM:add(key-store=httpsKS,credential-reference={clear-text=secret})
    /subsystem=elytron/server-ssl-context=httpsSSC:add(key-manager=httpsKM,protocols=["TLSv1.2"])
    
    # Change the undertow subsystem configuration to use the ssl context defined in the previous step for https
    
    /subsystem=undertow/server=default-server/https-listener=https:undefine-attribute(name=security-realm)
    /subsystem=undertow/server=default-server/https-listener=https:write-attribute(name=ssl-context, value=httpsSSC)
    
    # Run the batch commands
    
    run-batch
    Copy to Clipboard
  3. Red Hat Single Sign-On 서버를 시작합니다.
  4. JBoss EAP의 bin 디렉토리로 변경합니다.
  5. 다음 스크립트를 실행합니다.

    $ sh jboss-cli.sh --connect --file=sso.cli
    
    The batch executed successfully
    process-state: reload-required
    Copy to Clipboard
  6. sso.cli 변경 사항이 적용되도록 Red Hat Single Sign-On 서버를 다시 시작합니다.

TLS 구성에 대한 자세한 내용은 WildFly 문서를 참조하십시오.

8.4.2.3. Elytron TLS 1.3

절차

  1. JBoss EAP의 bin 디렉토리에 sso.cli 라는 배치 파일을 생성합니다.
  2. 배치 파일에 다음 내용을 추가합니다.

    batch
    
    # Add the keystore, key manager and ssl context configuration in the elytron subsystem
    /subsystem=elytron/key-store=httpsKS:add(relative-to=jboss.server.config.dir,path=keycloak.jks,credential-reference={clear-text=secret},type=JKS)
    /subsystem=elytron/key-manager=httpsKM:add(key-store=httpsKS,credential-reference={clear-text=secret})
    
    
    /subsystem=elytron/server-ssl-context=httpsSSC:add(key-manager=httpsKM,protocols=["TLSv1.3"])
    /subsystem=elytron/server-ssl-context=httpsSSC:write-attribute(name=cipher-suite-names,value=TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256)
    
    # Change the undertow subsystem configuration to use the ssl context defined in the previous step for https
    
    /subsystem=undertow/server=default-server/https-listener=https:undefine-attribute(name=security-realm)
    /subsystem=undertow/server=default-server/https-listener=https:write-attribute(name=ssl-context, value=httpsSSC)
    
    # Run the batch commands
    
    run-batch
    Copy to Clipboard
  3. Red Hat Single Sign-On 서버를 시작합니다.
  4. JBoss EAP의 bin 디렉토리로 변경합니다.
  5. 다음 스크립트를 실행합니다.

    $ sh jboss-cli.sh --connect --file=sso.cli
    
    The batch executed successfully
    process-state: reload-required
    Copy to Clipboard
  6. sso.cli 변경 사항이 적용되도록 Red Hat Single Sign-On 서버를 다시 시작합니다.

TLS 구성에 대한 자세한 내용은 WildFly 문서를 참조하십시오.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat