부록

XSP 인증 서비스 구성 (mTLS 사용)

BroadWorks에서 인증 서비스가 mTLS 인증을 사용하게 구성하려면 이 부록에 있는 절차를 완료하십시오. CI 토큰 유효성 검증(TLS 사용)이 지원되지 않는 경우에 다음 인스턴스를 포함하여 mTLS 인증은 필수입니다.

  • R21SP1을 실행하고 있는 경우

  • R22 이상을 실행하고 있으며 여러 Webex 조직에서 동일한 XSP 서버를 실행하고 있는 경우


R22 이상을 실행하고 있으며 여러 Webex 조직에서 동일한 XSP 서버를 실행하지 않고 경우, 인증 서비스에 대해 CI 토큰 유효성 검증(TLS 사용)이 권장됩니다. 자세한 내용은 (CI 토큰 검증으로) 인증 서비스 구성BroadWorks용 Webex 배포 장에서 참조하십시오.

인증 서비스 설치

BroadWorks 21SP1에서 인증 서비스는 관리되지 않는 응용프로그램입니다. 다음 단계를 완료하여 설치하십시오.

  1. Xchange authenticationService_1.0.war (웹 응용프로그램 리소스) 파일을 Xchange(https://xchange.broadsoft.com/node/499012)에서 다운로드합니다.

    Webex와 함께 사용되는 각 XSP에서 다음을 실행하십시오.

  2. .war 파일을 XSP의 임시 위치로 복사합니다(예: /tmp/

  3. 다음 CLI 컨텍스트 및 명령어로 인증 서비스 응용프로그램을 설치합니다.

    XSP_CLI/Maintenance/ManagedObjects> install application /tmp/authenticationService_1.0.war

인증 서비스 구성

XSP에 호스팅되는 인증 서비스가 BroadWorks 장기 토큰을 생성하고 유효성을 검증합니다.

요구 사항

  • 인증 서비스를 호스팅하는 XSP 서버에는 구성된 mTLS 인터페이스가 있어야 합니다.

  • XSP는 BroadWorks 장기 토큰을 암호화/해독하기 위해 동일한 키를 공유해야 합니다. 각 XSP에 해당 키를 복사하는 것은 수동 프로세스입니다.

  • XSP는 NTP와 동기화되어야 합니다.

구성 개요

XSP의 필수 구성에는 다음이 포함됩니다.

  • 인증 서비스를 배포합니다.

  • 토큰 지속 시간을 최소 60일로 구성합니다(발급자를 BroadWorks로 그대로 둠).

  • RSA 키를 생성하여 XSP 전체적으로 공유합니다.

  • authService URL을 웹 컨테이너에 제공합니다.

XSP에 인증 서비스 배포

Webex와 함께 사용하는 각 XSP에서:

  1. 다음 경로에서 인증 서비스 응용프로그램을 활성화하십시오 /authService(이 경로를 사용해야 함).

    XSP_CLI/Maintenance/ManagedObjects> activate application authenticationService <version> /authService

    (위치: <version> 이(가) 1.0 이며, 21SP1에서 관리되지 않는 응용프로그램에 해당하는 경우).

  2. 응용프로그램을 배포합니다.

    XSP_CLI/Maintenance/ManagedObjects> deploy application /authService

토큰 지속 시간 구성

  1. 기존의 토큰 구성을 확인합니다(시간).

    21SP1에서: XSP_CLI/Applications/authenticationService_1.0/TokenManagement> get

  2. 지속 기간을 60일로 설정합니다(최대 180일).

    21SP1에서: XSP_CLI/Applications/authenticationService_1.0/TokenManagement> set tokenDuration 1440

RSA 키 생성 및 공유

  • 토큰 암호화/해독을 위해서는 인증 서비스의 모든 인스턴스에서 동일한 공개/비공개 키 쌍을 사용해야 합니다.

  • 키 쌍은 처음 토큰을 발급하도록 요구 받았을 때 인증 서비스에서 생성합니다.

이 두 가지 요소 때문에 한 XSP에서 키를 생성한 후 다른 모든 XSP로 복사해야 합니다.


키를 주기적으로 순환시키거나 키 길이를 변경하는 경우, 다음 구성을 반복 수행하고 모든 XSP를 다시 시작해야 합니다.

  1. 키 쌍을 생성하기 위해 사용할 한 개의 XSP를 선택합니다.

  2. 클라이언트를 사용하여 클라이언트의 브라우저에서 다음 URL을 요청하여 해당 XSP로 암호화된 토큰을 요청합니다.

    https://<XSP-IPAddress>/authService/token?key=BASE64URL(clientPublicKey)

    (이미 존재하지 않는 경우, 이 작업은 XSP에서 비공개/공개 키 쌍을 생성합니다.)

  3. (21SP1 전용) 다음 명령어를 사용하여 구성 가능한 키 위치를 확인하십시오.

    XSP_CLI/Applications/authenticationService_1.0/KeyManagement> get

  4. (21SP1 전용) 반환된 fileLocation 파라미터를 적어두십시오.

  5. (21SP1 전용) 전체 fileLocation 디렉터리를 복사합니다. 여기에는 publicprivate 하위 디렉터리가 포함되며, 다른 모든 XSP에 복사합니다.

authService URL을 웹 컨테이너에 제공

XSP의 웹 컨테이너는 토큰의 유효성을 검증하기 위해 authService URL이 필요합니다.

각 XSP에서:

  1. 인증 서비스 URL을 BroadWorks Communications Utility의 외부 인증 서비스로 추가합니다.

    XSP_CLI/System/CommunicationUtility/DefaultSettings/ExternalAuthentication/AuthService> set url http://127.0.0.1/authService

  2. 인증 서비스 URL을 컨테이너에 추가합니다.

    XSP_CLI/Maintenance/ContainerOptions> add tomcat bw.authservice.authServiceUrl http://127.0.0.1/authService

    이렇게 하면 Webex는 인증 서비스를 사용하여 자격 증명으로 제공된 토큰의 유효성을 검증할 수 있습니다.

  3. 파라미터를 확인합니다. get.

  4. XSP를 다시 시작합니다.

인증 서비스에 대해 신뢰 구성 (mTLS 사용)

트러스트 구성(R21 SP1)
  1. Partner Hub에 로그인합니다.

  2. 설정 > BroadWorks 통화로 이동하고 Webex CA 인증서 다운로드를 클릭하여 CombinedCertChain.txt 을(를) 로컬 컴퓨터에서 가져옵니다.


    이 파일에는 2개의 인증서가 포함되어 있습니다. XSP에 업로드하기 전에 이 파일을 분할해야 합니다.
  3. 인증서 체인을 2개의 인증서로 분할합니다.

    1. 열기 combinedcertchain.txt 을(를) 텍스트 편집기에서 엽니다.

    2. 텍스트의 첫 번째 블록을 선택하고 잘라냅니다. 여기에는 줄 -----BEGIN CERTIFICATE----------END CERTIFICATE----- 이(가) 포함되며, 해당 텍스트 블록을 새로운 파일에 붙여넣습니다.

    3. 새 파일을 다음과 같이 저장합니다. broadcloudroot.txt.

    4. 원래 파일을 다음과 같이 저장합니다. broadcloudissuing.txt.

      이제 원본 파일에는 다음 항목으로 묶여진 텍스트의 블록만 포함됩니다. 줄 -----BEGIN CERTIFICATE----------END CERTIFICATE-----.

  4. 보안하고 있는 XSP의 임시 위치에 두 텍스트 파일을 모두 복사합니다. 예: /tmp/broadcloudroot.txt/tmp/broadcloudissuing.txt.

  5. XSP에 로그인하고 탐색합니다. /XSP_CLI/Interface/Http/ClientAuthentication>

  6. 해당 get 명령어를 실행하고 chainDepth 파라미터를 적어두십시오.

    (chainDepth는 기본값이 1인데, 2개의 인증서를 갖고 있는 Webex 체인에는 너무 낮음)

  7. chainDepth가 아직 2보다 크지 않은 경우, 다음을 실행합니다. set chainDepth 2.

  8. (선택 사항) help updateTrust 을(를) 실행하여 파라미터 및 명령어 형식을 확인합니다.

  9. 인증서 파일을 새로운 트러스트 앵커로 업로드합니다.

    XSP_CLI/Interface/Http/ClientAuthentication/Trusts> updateTrust webexclientroot /tmp/broadcloudroot.txt

    XSP_CLI/Interface/Http/ClientAuthentication/Trusts> updateTrust webexclientissuing /tmp/broadcloudissuing.txt


    webexclientrootwebexclientissuing 은(는) 트러스트 앵커의 예제 별칭입니다. 자신의 별칭을 직접 사용할 수 있습니다.
  10. 두 인증서가 모두 업로드되었는지 확인합니다.

    /XSP_CLI/Interface/Http/ClientAuthentication/Trusts> get

트러스트 구성(R22 이상)

  1. 파트너 관리자 계정으로 Control Hub에 로그인합니다.

  2. 설정 > BroadWorks 통화로 이동하고 Webex CA 인증서 다운로드를 클릭하여 CombinedCertChain.txt 을(를) 로컬 컴퓨터에서 가져옵니다.


    이 파일에는 2개의 인증서가 포함되어 있습니다. XSP에 업로드하기 전에 이 파일을 분할해야 합니다.
  3. 인증서 체인을 2개의 인증서로 분할합니다.

    1. 열기 combinedcertchain.txt 을(를) 텍스트 편집기에서 엽니다.

    2. 텍스트의 첫 번째 블록을 선택하고 잘라냅니다. 여기에는 줄 -----BEGIN CERTIFICATE----------END CERTIFICATE----- 이(가) 포함되며, 해당 텍스트 블록을 새로운 파일에 붙여넣습니다.

    3. 새 파일을 다음과 같이 저장합니다. broadcloudroot.txt.

    4. 원래 파일을 다음과 같이 저장합니다. broadcloudissuing.txt.

      이제 원본 파일에는 다음 항목으로 묶여진 텍스트의 블록만 포함됩니다. 줄 -----BEGIN CERTIFICATE----------END CERTIFICATE-----.

  4. 보안하고 있는 XSP의 임시 위치에 두 텍스트 파일을 모두 복사합니다. 예: /tmp/broadcloudroot.txt/tmp/broadcloudissuing.txt.

  5. (선택 사항) help UpdateTrust 을(를) 실행하여 파라미터 및 명령어 형식을 확인합니다.

  6. 인증서 파일을 새로운 트러스트 앵커로 업로드합니다.

    XSP_CLI/Interface/Http/SSLCommonSettings/ClientAuthentication/Trusts> updateTrust webexclientroot /tmp/broadcloudroot.txt

    XSP_CLI/Interface/Http/SSLCommonSettings/ClientAuthentication/Trusts> updateTrust webexclientissuing /tmp/broadcloudissuing.txt


    webexclientrootwebexclientissuing 은(는) 트러스트 앵커의 예제 별칭입니다. 자신의 별칭을 직접 사용할 수 있습니다.
  7. 앵커가 업데이트되었는지 확인합니다.

    XSP_CLI/Interface/Http/SSLCommonSettings/ClientAuthentication/Trusts> get

      Alias   Owner                                   Issuer
    =============================================================================
    webexclientissuing    BroadCloud Commercial Issuing CA – DA3     BroadCloud Commercial Trusted Root CA
    webexclientroot       BroadCloud Commercial Trusted Root CA      BroadCloud Commercial Trusted Root CA[self-signed]

(선택 사항) HTTP 인터페이스/포트 수준에서 mTLS 구성

HTTP 인터페이스/포트 수준 또는 웹 응용프로그램 단위로 mTLS를 구성할 수 있습니다.

응용프로그램에 대해 mTLS를 활성화하는 방법은 XSP에서 호스팅하고 있는 응용프로그램에 따라 다를 수 있습니다. mTLS가 필요한 여러 응용프로그램을 호스팅하는 경우, 인터페이스에서 mTLS를 활성화해야 합니다. 동일한 HTTP 인터페이스를 사용하는 여러 응용프로그램 중 하나만 보호해야 하는 경우, 응용프로그램 수준에서 mTLS를 구성할 수 있습니다.

HTTP 인터페이스/포트 수준에서 mTLS를 구성하면 mTLS는 이 인터페이스/포트를 통해 액세스하는 모든 호스팅된 웹 응용프로그램을 위해 필요합니다.

  1. 현재 구성하고 있는 인터페이스의 XSP에 로그인합니다.

  2. 탐색 XSP_CLI/Interface/Http/HttpServer> 을(를) 탐색하고 get 명령어를 실행하여 인터페이스를 확인합니다.

  3. 인터페이스를 추가하고 거기에서 클라이언트 인증을 요구하려면(이는 mTLS와 동일함을 의미함):

    XSP_CLI/Interface/Http/HttpServer> add IPAddress Port Name true true

    자세한 사항은 XSP CLI 설명서를 참조하십시오. 기본적으로 첫 번째 true 은(는) TLS(필요한 경우 서버 인증서가 생성됨)의 인터페이스를 보안하고, 두 번째 true 은(는) 인터페이스가 클라이언트 인증서 인증을 요구하게 합니다(모두 mTLS임).

예:

XSP_CLI/Interface/Http/HttpServer> get

Interface Port Name Secure Client Auth Req Cluster Fqdn
         =======================================================
         192.0.2.7 443 xsp01.collab.example.net true false 
         192.0.2.7 444 xsp01.collab.example.net true true

이 예제에서 mTLS(Client Auth Req = true)가 다음 포트에서 활성화됩니다. 192.0.2.7 포트 444. TLS가 다음 포트에서 활성화됩니다. 192.0.2.7 포트 443.

(선택 사항) 특정한 웹 응용프로그램에 대해 mTLS 구성

HTTP 인터페이스/포트 수준 또는 웹 응용프로그램 단위로 mTLS를 구성할 수 있습니다.

응용프로그램에 대해 mTLS를 활성화하는 방법은 XSP에서 호스팅하고 있는 응용프로그램에 따라 다를 수 있습니다. mTLS가 필요한 여러 응용프로그램을 호스팅하는 경우, 인터페이스에서 mTLS를 활성화해야 합니다. 동일한 HTTP 인터페이스를 사용하는 여러 응용프로그램 중 하나만 보호해야 하는 경우, 응용프로그램 수준에서 mTLS를 구성할 수 있습니다.

응용프로그램 수준에서 mTLS를 구성하면 HTTP 서버 인터페이스 구성과 관계없이 해당 응용프로그램에 mTLS가 필요합니다.

  1. 현재 구성하고 있는 인터페이스의 XSP에 로그인합니다.

  2. 탐색 XSP_CLI/Interface/Http/SSLCommonSettings/ClientAuthentication/WebApps> 을(를) 탐색하고 get 명령어를 실행하여 어떤 응용프로그램이 실행되고 있는지 확인합니다.

  3. 응용프로그램을 추가하고 클라이언트 인증을 요구하려면(이는 mTLS와 동일함을 의미함):

    XSP_CLI/Interface/Http/SSLCommonSettings/ClientAuthentication/WebApps> add IPAddress Port ApplicationName true

    자세한 사항은 XSP CLI 설명서를 참조하십시오. 응용프로그램 이름이 열거되어 있습니다. 이 true 은(는) 이 명령어에서 mTLS를 활성화합니다.

예:

XSP_CLI/Interface/Http/SSLCommonSettings/ClientAuthentication/WebApps> add 192.0.2.7 443 AuthenticationService true

이 예제 명령은 AuthenticationService 응용프로그램을 192.0.2.7:443에 추가하고, 그것이 클라이언트로 인증서를 요청하여 인증하도록 요구합니다.

확인 get:

XSP_CLI/Interface/Http/SSLCommonSettings/ClientAuthentication/WebApps> get

Interface Ip Port Application Name Client Auth Req
         ===================================================
         192.0.2.7 443 AuthenticationService      true          

AuthService에 대한 상호 TLS 인증을 위한 추가 인증서 요구 사항

Webex는 상호 TLS 인증된 연결을 통해 인증 서비스와 상호 작업합니다. 이것은 Webex가 클라이언트 인증서를 제시하고 XSP가 그것을 검증해야 하다는 의미입니다. 이 인증서를 신뢰하려면 Webex CA 인증서 체인을 사용하여 XSP(또는 프록시)에 트러스트 앵커를 만드하십시오. 이 인증서 체인은 Partner Hub를 통해 다운로드할 수 있습니다.

  1. 설정 > BroadWorks 통화로 이동합니다.

  2. 인증서 다운로드 링크를 클릭합니다.


https://bwks-uap.webex.com/assets/public/CombinedCertChain.txt에서도 인증서 체인을 얻을 수 있습니다.

이 Webex CA 인증서 체인을 배포하기 위한 정확한 요구 사항은 공용 XSP가 배포되는 방법에 따라 다릅니다.

  • TLS 연결 프록시를 통해

  • TLS 통과 프록시를 통해

  • 직접 XSP로

다음의 다이어그램은 이런 세 가지 경우에 Webex CA 인증서 체인이 어디에 배포되어야 하는지를 요약한 것입니다.

TLS 연결 프록시를 위한 상호 TLS 인증서 요구 사항

  • Webex는 Webex CA 서명된 클라이언트 인증서를 프록시에 제시합니다.

  • Webex CA 인증서 체인은 프록시 트러스트 저장소에 배포되고, 프록시는 클라이언트 인증서를 신뢰합니다.

  • 공개 서명된 XSP 서버 인증서도 프록시에 로드됩니다.

  • 프록시는 공개 서명된 서버 인증서를 Webex에 제시합니다.

  • Webex는 프록시의 서버 인증서를 서명한 공용 CA를 신뢰합니다.

  • 프록시는 내부적으로 서명된 클라이언트 인증서를 XSP에 제시합니다.

    이 인증서에는 BroadWorks OID 1.3.6.1.4.1.6431.1.1.8.2.1.3 및 TLS clientAuth 목적으로 채워진 x509.v3 확장 프로그램 필드 확장된 키 사용있어야 합니다. 예:

    X509v3 extensions:

    X509v3 Extended Key Usage:

    1.3.6.1.4.1.6431.1.1.8.2.1.3, TLS Web Client
                  Authentication 

    프록시를 위한 내부 클라이언트 인증서를 생성하는 경우, SAN 인증서는 지원되지 않습니다. XSP를 위한 내부 서버 인증서는 SAN일 수 있습니다.

  • XSP는 내부 CA를 신뢰합니다.

  • XSP는 내부적으로 서명된 서버 인증서를 제시합니다.

  • 프록시는 내부 CA를 신뢰합니다.

TLS 통과 프록시 또는 DMZ의 XSP를 위한 상호 TLS 인증서 요구 사항

  • Webex는 Webex CA 서명된 클라이언트 인증서를 XSP에 제시합니다.

  • Webex CA 인증서 체인은 XSP의 트러스트 저장소에 배포되고, XSP는 클라이언트 인증서를 신뢰합니다.

  • 공개 서명된 XSP 서버 인증서도 XSP에 로드됩니다.

  • XSP는 공개 서명된 서버 인증서를 Webex에 제시합니다.

  • Webex는 XSP의 서버 인증서에 서명한 공용 CA를 신뢰합니다.