付録

XSP 認証サービス(mTLS 使用)を設定する

mTLS 認証を使用するよう BroadWorks の認証サービスを設定するには、この付録の手順を実行します。 以下の場合を含め、CI トークン検証(TLS 使用)がサポートされていない場合では、mTLS 認証が必須です。

  • R21SP1 を実行している場合

  • R22 以降を実行し、同じ XSP サーバーで実行している複数の Webex 組織がある場合


R22 以降を実行し、同じ XSP サーバーで実行している複数の Webex 組織がない場合は、認証サービスには CI トークン検証(TLS 使用)をお勧めします。

認証サービスをインストールする

BroadWorks 21SP1 では、認証サービスは管理対象でないアプリケーションです。 次の手順に従いインストールします。

  1. authenticationService_1.0.war (Web アプリケーション リソース) のファイルを 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

認証サービスを構成する

BroadWorks の長期認証トークンが、XSP でホストされている認証サービスにより生成され、検証されます。

要件

  • 認証サービスをホストする XSP サーバーは、構成された mTLS インターフェイスを持つ必要があります。

  • XSP は、BroadWorks の長期認証トークンを暗号化/復号化するために同じ鍵を共有する必要があります。 これらの鍵を各 XSP にコピーする操作は手動で行います。

  • XSP は NTP と同期されている必要があります。

構成の概要

XSP 上の重要な構成には以下が含まれます。

  • 認証サービスを展開します。

  • トークンの継続時間を少なくとも 60 日間構成します (BroadWorks として発行者を残します)。

  • XSP で RSA 鍵を生成し、共有します。

  • ウェブ コンテナに 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 鍵の生成と共有

  • 認証サービスのすべてのインスタンスで、トークンの暗号化/暗号解除に同じ公開/秘密鍵のペアを使用する必要があります。

  • 鍵ペアは、トークンを発行するために最初に必要な認証サービスにより生成されます。

これら 2 つの要因により、1 つの XSP で鍵を生成し、それを他のすべての XSP にコピーする必要があります。


鍵をサイクルするか、鍵の長さを変更する場合、次の構成を繰り返し、すべての XSP を再起動する必要があります。

  1. 鍵ペアを生成するために使用する XSP を 1 つ選択します。

  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 ディレクトリ全体( public および private サブディレクトリを含む)を、他のすべての XSP にコピーします。

ウェブ コンテナに authService URL を指定する

XSP のウェブ コンテナはトークンを検証するために、authService URL が必要です。

各 XSP について:

  1. 次のように、認証サービス URL を BroadWorks Communications ユーティリティの外部認証サービスとして追加します。

    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

    これにより、Cisco Webex で認証サービスを使用して、資格情報として提示されたトークンを検証できます。

  3. パラメーターを、 get

  4. XSP を再起動します。

認証サービス(mTLS 使用)に信頼を設定する

信頼 (R21 SP1) の構成
  1. Partner Hub にサインインします。

  2. [設定] > [BroadWorks Calling] に移動し、[Webex CA 証明書 をダウンロードする] をクリックしてCombinedCertChain.txt をローカルコンピューターに取得します。


    このファイルには 2 つの証明書が含まれています。 ファイルを XSP にアップロードする前に、ファイルを分割する必要があります。
  3. 証明書チェーンを 2 つの証明書に分割します。

    1. テキストエディタで combinedcertchain.txt を開きます。

    2. -----BEGIN CERTIFICATE----- および -----END CERTIFICATE----- を含むテキストの最初のブロックを選択して切り取り、テキストブロックを新しいファイルに貼り付けます。

    3. 新しいファイルを次の名前で保存します: broadcloudroot.txt

    4. 元のファイルを次の名前で保存します: broadcloudissuing.txt

      元のファイルにはテキストのブロックが 1 つだけ残っており、次の行で囲まれているはずです: -----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


    webexclientroot および webexclientissuing はトラストアンカーのエイリアスの例です。独自のものを使用することもできます。
  10. 両方の証明書がアップロードされているのを確認します。

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

信頼 (R22 以降) の構成

  1. パートナー管理者アカウントを使って Control Hub にサインインします。

  2. [設定] > [BroadWorks Calling] に移動し、[Webex CA 証明書 をダウンロードする] をクリックしてCombinedCertChain.txt をローカルコンピューターに取得します。


    このファイルには 2 つの証明書が含まれています。 ファイルを XSP にアップロードする前に、ファイルを分割する必要があります。
  3. 証明書チェーンを 2 つの証明書に分割します。

    1. テキストエディタで combinedcertchain.txt を開きます。

    2. -----BEGIN CERTIFICATE----- および -----END CERTIFICATE----- を含むテキストの最初のブロックを選択して切り取り、テキストブロックを新しいファイルに貼り付けます。

    3. 新しいファイルを次の名前で保存します: broadcloudroot.txt

    4. 元のファイルを次の名前で保存します: broadcloudissuing.txt

      元のファイルにはテキストのブロックが 1 つだけ残っており、次の行で囲まれているはずです: -----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


    webexclientroot および webexclientissuing はトラストアンカーのエイリアスの例です。独自のものを使用することもできます。
  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 インターフェイスを使用する複数のアプリケーションの 1 つのみをセキュアにする必要がある場合、アプリケーション レベルで 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 でインターフェイスをセキュリティで保護し(必要な場合はサーバー証明書が作成されます)、2 番目の 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 インターフェイスを使用する複数のアプリケーションの 1 つのみをセキュアにする必要がある場合、アプリケーション レベルで 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 認証に必要な追加の証明書要件

Cisco Webex は相互 TLS 認証接続で認証サービスと対話します。 言い換えると、Webex はクライアント証明書を提示し、XSP はこれを検証する必要があります。 この証明書を信頼するには、Webex CA 証明書チェーンを使用して、XSP (またはプロキシ) に信頼アンカーを作成します。 証明書チェーンは、パートナー ハブからダウンロードできます:

  1. [Settings (設定) > BroadWorks Calling (BroadWorks の Calling 機能)] の順に移動します。

  2. 証明書のダウンロード リンクをクリックします。


https://bwks-uap.webex.com/assets/public/CombinedCertChain.txt から証明書チェーンも取得できます。

この Webex CA 証明書チェーンを展開するための具体的な要件は、パブリック XSP が展開される方法によって異なります。

  • TLS ブリッジ プロキシを使用

  • TLS パススルー プロキシを経由

  • XSP に直接

下図はこの 3 つのケースで 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 を信頼します。

DMZ の XSP または TLS パススルー プロキシに対する相互 TLS 証明書要件

  • Webex が XSP に対して Webex CA の署名済みクライアント証明書を提示します。

  • Webex CA 証明書チェーンが XSP の信頼ストアに展開され、XSP はクライアント証明書を信頼します。

  • パブリック署名の XSP サーバー証明書も XSP にロードされます。

  • XSP がパブリック署名サーバー証明書を Webex に提示します。

  • Webex が XSP のサーバー証明書に署名したパブリック CA を信頼します。