在Webex上为Cisco BroadWorks XSP|ADP配置服务

我们要求在不同的XSP|ADP上运行NPS应用程序。该XSP|ADP要求在从网络配置呼叫通知中描述。

您需要在XSP|ADP上使用以下应用程序/服务。

服务/应用程序

必须验证

服务/应用程序用途

Xsi-Events

TLS(服务器向客户端验证自身)

呼叫控制,服务通知

Xsi-Actions

TLS(服务器向客户端验证自身)

呼叫控制,操作

设备管理

TLS(服务器向客户端验证自身)

呼叫配置下载

验证服务

TLS(服务器向客户端验证自身)

用户身份验证

计算机电话集成

mTLS(客户端和服务器相互验证)

电话状态

呼叫设置网页视图应用程序

TLS(服务器向客户端验证自身)

在 Webex 应用程序内的自助门户中公开用户呼叫设置

本节介绍如何在这些接口上应用TLS和mTLS所需的配置,但您应该参考现有文档,以便在XSP|ADP上安装应用程序。

共驻要求

  • 身份验证服务必须与 Xsi 应用程序共驻,因为这些接口必须接受长效令牌才能进行服务授权。需要身份验证服务才能验证这些令牌。

  • 如有必要,身份验证服务和 Xsi 可以在同一端口上运行。

  • 您可以根据规模要求分离其他服务/应用程序(例如,专用设备管理XSP|ADP农场)。

  • 您可以将 Xsi、CTI、身份验证服务和 DMS 应用程序设在同地。

  • 请勿在用于BroadWorks与Webex集成的XSP|ADP上安装其他应用程序或服务。

  • 请勿将 NPS 应用程序与其他任何应用程序设在同地。

Xsi 接口

按照“Cisco BroadWorks Xtended 服务接口配置指南”中的描述安装和配置 Xsi-Actions 和 Xsi-Events 应用程序。

仅在CTI接口使用的XSP|ADP上部署一个Xsi-Events应用程序实例。

用于将Broadworks与Webex集成的所有的Xsi-Events必须具有在Applications/Xsi-Events/GeneralSettings下定义的相同的callControlApplicationName。例如:

ADP_CLI/Applications/Xsi-Events/GeneralSettings> 获得

callControlApplicationName = com.broadsoft.xsi-events

当用户登录到Webex时,Webex在AS上为用户创建订阅,以便接收电话事件以进行存在和呼叫历史记录。订阅与callControlApplicationName相关联,AS使用它来了解要发送电话事件的Xsi-Events。

更改callControlApplicationName,或在所有Xsi-Events网络应用程序上不具有相同名称将影响订阅和电话事件功能。

配置身份验证服务(使用 CI 令牌验证)

下列步骤用于将身份验证服务配置为通过 TLS 使用 CI 令牌验证。如果您使用的是 R22 或更高版本,并且您的系统支持,建议采用此身份验证方法。

相互 TLS (mTLS) 可以作为身份验证服务的替代验证方法。如果您有多个Webex组织正在运行同一个XSP|ADP服务器,则必须使用mTLS身份验证,因为CI令牌验证不支持多个连接至同一个XSP|ADP Auth服务。

要针对身份验证服务配置 mTLS 身份验证而不是 CI 令牌验证,请参阅附录配置服务(为身份验证服务使用 mTLS)的附录)。

如果您当前将 mTLS 用于身份验证服务,则重新配置以通过 TLS 使用 CI 令牌验证并非强制性的。

  1. 获取Webex for Cisco BroadWorks的OAuth证书

  2. 在每个XSP|ADP服务器上安装以下补丁。安装适合您发行版的补丁:

    对XSP的任何引用包括XSP或ADP。

  3. 在每个XSP ADP服务上安装 AuthenticationService 应用程序|。

    1. 运行以下命令以将XSP|ADP上的AuthenticationService应用程序激活/authService上下文路径。

      XSP|ADP_CLI/Maintenance/ManagedObjects> 激活应用程序验证服务22.0_1.1123/authService
    2. 运行此命令在XSP|ADP上部署AuthenticationService:

      XSP|ADP_CLI/Maintenance/ManagedObjects>部署应用程序/authServiceBroadWorks SW Manager部署/authService…
  4. 从Broadworks版本2022.10开始,在切换到新版Java时,随Java而来的证书颁发机构不再自动包含到BroadWorks信任存储中。AuthenticationService打开与Webex的TLS连接以获取访问令牌,并需要在其TrustStore中具有以下内容以验证IDBroker和Webex URL:

    • IdenTrust Commercial Root CA 1

    • Go Daddy Root Certificate Authority - G2

    验证这些证书是否出现在以下CLI下

    ADP_CLI/System/SSLCommonSettings/Trusts/Defaults> 获得

    如果不存在,请运行以下命令以导入缺省的Java信托:

    ADP_CLI/System/SSLCommonSettings/Trusts/Defaults> 导入JavaCATrust

    或者,您可以通过以下命令手动添加这些证书作为信任锚:

    ADP_CLI/System/SSLCommonSettings/Trusts/BroadWorks> 更新Trust

    如果ADP从以前的版本升级,则旧版本的证书颁发机构将自动导入到新版本,并将继续导入,直到手动删除它们。

    AuthenticationService应用程序不在ADP_CLI/System/SSLCommonSettings/GeneralSettings下的validatePeerIdentity设置中,并且始终验证对等身份。有关此设置的更多信息,请参阅 Cisco Broadworks X509证书验证FD

  5. 通过在每个XSP|ADP服务器上运行以下命令来配置身份提供者:

    XSP|ADP_CLI/Applications/AuthenticationService/IdentityProviders/Cisco>获取

    • 设置客户标识符从步骤1

    • set enabled true

    • 设置clientSecret Step1 client-Secret

    • set ciResponseBodyMaxSizeInBytes 65536

    • 设置issuerName —对于 URL,输入适用于CI集群的IssuerName URL。见下表。

    • 设置发件人Url —对于 URL,输入适用于CI集群的发件人Url。见下表。

    • 设置tokenInfoUrl —输入适用于Teams群集的IdP代理URL。请参阅下面的第二张表格。

    表1。 设置发卡人名称和发卡人URL
    如果 CI 集群是...将发卡人名称和发卡人URL设置为…

    US-A

    https://idbroker.webex.com/idb

    欧盟

    https://idbroker-eu.webex.com/idb

    US-B

    https://idbroker-b-us.webex.com/idb

    如果您不知道您的 CI集群,您可以在Control Hub的“帮助台”视图中从“客户”详细信息获取信息。

    表 2. 设置tokenInfoURL
    如果 Teams 集群是...将tokenInfoURL设置为…(IDp代理URL)

    ACHM

    https://broadworks-idp-proxy-a.wbx2.com/broadworks-idp-proxy/api/v1/idp/authenticate

    AFRA

    https://broadworks-idp-proxy-k.wbx2.com/broadworks-idp-proxy/api/v1/idp/authenticate

    AORE

    https://broadworks-idp-proxy-r.wbx2.com/broadworks-idp-proxy/api/v1/idp/authenticate

    • 如果您不知道 Teams群集,可以在Control Hub的“帮助台”视图中获取客户详细信息的信息。

    • 要进行测试,您可以将URL的“idp/authenticate”部分替换为“ping”来验证tokenInfoURL是否有效。

  6. 通过运行以下命令指定 Webex 中用户档案中必须存在的 Webex 权限:

    XSP|ADP_CLI/Applications/AuthenticationService/IdentityProviders/Cisco/Scopes>设置范围宽works-connector:用户

  7. 在每个XSP|ADP服务器上使用以下命令配置Cisco Federation的身份提供商:

    XSP|ADP_CLI/Applications/AuthenticationService/IdentityProviders/Cisco/Federation>获取

    • set flsUrl https://cifls.webex.com/federation

    • set refreshPeriodInMinutes 60

    • 设置刷新令牌刷新令牌

  8. 运行以下命令以验证您的 FLS 配置是否有效。该命令将返回身份提供程序列表:

    XSP|ADP_CLI/应用程序/AuthService/IdentityProviders/Cisco/Federation/ClusterMap>获取

  9. 在每个XSP|ADP服务器上使用以下命令配置令牌管理:

    • XSP|ADP_CLI/应用程序/身份验证服务/令牌管理>

    • set tokenIssuer BroadWorks

    • set tokenDurationInHours 720

  10. 生成并共享 RSA 密钥。您必须在一个XSP|ADP上生成密钥,然后将其复制到所有其他的XSP|ADP。这是由于以下因素:

    • 身份验证服务的所有实例必须使用相同的公钥/私钥对进行令牌加密/解密。

    • 首次收到颁发令牌要求时,身份验证服务会生成密钥对。

    如果您循环密钥或更改密钥长度,则需要重复以下配置并重新启动所有XSP|ADP。

    1. 选择一个XSP|ADP以生成密钥对。

    2. 使用客户端通过从客户端浏览器请求以下URL,从该XSP|ADP请求加密令牌:

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

      (如果还没有一个,这将在XSP|ADP上生成私钥/公钥)

    3. 密钥存储位置不可配置。导出密钥:

      XSP|ADP_CLI/应用程序/身份验证服务/密钥管理> 导出密钥

    4. 将导出文件 /var/broadworks/tmp/authService.keys 复制到其他XSP|ADP上的相同位置,必要时覆盖较旧的 。keys 文件。

    5. 导入其他每个XSP|ADP上的密钥:

      XSP|ADP_CLI/Applications/authenticationService/KeyManagement> 导入键/var/broadworks/tmp/authService.keys

  11. 向 Web 容器提供 authService URL。XSP|ADP的Web容器需要authService URL才能验证令牌。对于每个XSP|ADP:

    1. 添加身份验证服务 URL 作为 BroadWorks Communications Utility 的外部身份验证服务:

      XSP|ADP_CLI/System/CommunicationUtility/DefaultSettings/ExternalAuthentication/AuthService> 设置网址 http://127.0.0.1:80/authService

    2. 将身份验证服务 URL 添加到容器:

      XSP|ADP_CLI/维护/容器选项> 添加tomcat bw.authservice.authServiceUrl http://127.0.0.1:80/authService

      这样,Webex 即可使用身份验证服务来验证作为凭据提交的令牌。

    3. get 检查参数。

    4. 重新启动XSP|ADP。

删除身份验证服务的客户端验证要求(仅适用于 R24)

如果您在 R24 上配置了带 CI 令牌验证的身份验证服务,则还需要删除身份验证服务的客户端验证要求。运行以下 CLI 命令:

ADP_CLI/Interface/Http/SSLCommonSettings/ClientAuthentication/WebApps> 设置 AuthenticationService clientAuthReq false

在 HTTP 接口上配置 TLS 和密码(用于 XSI 和身份验证服务)

身份验证服务、Xsi-Actions 和 Xsi-Events 应用程序使用 HTTP 服务器接口。这些应用程序的 TLS 配置级别如下:

最一般 = 系统 > 传输 > HTTP > HTTP 服务器接口 = 最特殊

您用于查看或修改不同 SSL 设置的 CLI 上下文包括:

特异性 CLI 上下文
系统(全局)

XSP|ADP_CLI/系统/SSLCommonSettings/JSSE/Ciphers>

XSP|ADP_CLI/系统/SSLCommonSettings/JSSE/Protocols>

此系统的传输协议

XSP|ADP_CLI/系统/SSLCommonSettings/OpenSSL/Ciphers>

XSP|ADP_CLI/系统/SSLCommonSettings/OpenSSL/Protocols>

此系统上的 HTTP

XSP|ADP_CLI/Interface/Http/SSLCommonSettings/Ciphers>

XSP|ADP_CLI/Interface/Http/SSLCommonSettings/Protocols>

此系统上的特定 HTTP 服务器接口

XSP|ADP_CLI/Interface/Http/HttpServer/SSLSettings/Ciphers>

XSP|ADP_CLI/Interface/Http/HttpServer/SSLSettings/Protocols>

在XSP|ADP上阅读HTTP服务器TLS接口配置

  1. 登录XSP|ADP并导航至 XSP|ADP_CLI/Interface/Http/HttpServer>

  2. 输入 get 命令并读取结果。您应看到接口(IP 地址),并分别查看是否安全以及是否需要客户端身份验证。

Apache tomcat 要求每个安全接口都有证书;如果需要,系统会生成自签名证书。

XSP| ADP_CLI/Interface/Http/HttpServer> get

将 TLS 1.2 协议添加到 HTTP 服务器接口

必须将与 Webex 云交互的 HTTP 接口配置为用于 TLSv1.2。云不会协商早期版本的 TLS 协议。

要在 HTTP 服务器接口上配置 TLSv1.2 协议,请执行以下操作:

  1. 登录XSP|ADP并导航至 XSP|ADP_ CLI/Interface/Http/HttpServer/SSLSettings/Protocols>

  2. 输入获取 443 命令以查看此接口上已使用哪些协议。

  3. 输入添加 443 TLSv1.2 命令,以确保接口在与云通信时可以使用TLS 1.2。

在 HTTP 服务器接口上编辑 TLS 密码配置

要配置所需的密码,请执行以下操作:

  1. 登录XSP|ADP并导航至 XSP|ADP_ CLI/Interface/Http/HttpServer/SSLSettings/Ciphers>

  2. 输入获取 443 命令以查看此接口上已使用哪些密码。必须至少有一个Cisco推荐的套件(请参阅“概述”部分中的 XSP|ADP身份和安全要求 )。

  3. 输入添加 443 命令以向HTTP服务器界面添加密码。

    XSP|ADP CLI需要IANA标准密码套件名称,而不是openSSL密码套件名称。例如,要向 HTTP 服务器接口添加 openSSL 密码 ECDHE-ECDSA-CHACHA20-POLY1305,需要使用:XSP|ADP_CLI/Interface/Http/HttpServer/SSLSettings/Ciphers>添加192.0.2.7,443 TLS_ECDHE_ECDSA__CHACHA20_POLY1305

    请参阅 https://ciphersuite.info/,以便按任一名称查找此套件。

在XSP|ADP、应用程序服务器和配置文件服务器上配置设备管理

配置文件服务器和XSP|ADP对于设备管理是强制性的。必须按照 BroadWorks 设备管理配置指南中的说明进行配置。