在您的 Webex 上为 Cisco BroadWorks XSP|ADP 配置服务
在您的 Webex 上为 Cisco BroadWorks XSP|ADP 配置服务
我们要求 NPS 应用程序在不同的 XSP|ADP 上运行。该 XSP|ADP 的要求在 从您的网络配置呼叫通知中进行了描述。
您需要以下应用程序 / 您的 XSP|ADP 上的服务。
|
服务/应用程序 |
必须验证 |
服务/应用程序用途 |
|---|---|---|
|
Xsi-Events |
TLS(服务器向客户端验证自身) |
呼叫控制,服务通知 |
|
Xsi-Actions |
TLS(服务器向客户端验证自身) |
呼叫控制,操作 |
|
设备管理 |
TLS(服务器向客户端验证自身) |
呼叫配置下载 |
|
验证服务 |
TLS(服务器向客户端验证自身) |
用户身份验证 |
|
计算机电话集成 |
mTLS(客户端和服务器相互验证) |
电话状态 |
|
呼叫设置网页视图应用程序 |
TLS(服务器向客户端验证自身) |
在 Webex 应用程序内的自助门户中公开用户呼叫设置 |
本节介绍如何在这些接口上应用 TLS 和 mTLS 所需的配置,但您应该参考现有文档以在 XSP|ADP 上安装应用程序。
共驻要求
-
身份验证服务必须与 Xsi 应用程序共驻,因为这些接口必须接受长效令牌才能进行服务授权。需要身份验证服务才能验证这些令牌。
-
如有必要,身份验证服务和 Xsi 可以在同一端口上运行。
-
你可以分开另一个 services/applications 根据您的规模需要(例如专用设备管理 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 必须具有相同的 callControlApplicationName,定义如下 Applications/Xsi-Events/GeneralSettings. 例如:
ADP_CLI/Applications/Xsi-Events/GeneralSettings> get
callControlApplicationName = com.broadsoft.xsi-events
当用户加入 Webex 时,Webex 会在 AS 上为该用户创建一个订阅,以便接收在线状态和通话历史记录的电话事件。订阅与 callControlApplicationName 相关联,并且 AS 使用它来知道将电话事件发送到哪个 Xsi-Events。
更改 callControlApplicationName,或在所有 Xsi-Events webapps 上不使用相同的名称将影响订阅和电话事件功能。
配置身份验证服务(使用 CI 令牌验证)
下列步骤用于将身份验证服务配置为通过 TLS 使用 CI 令牌验证。如果您使用的是 R22 或更高版本,并且您的系统支持,建议采用此身份验证方法。
相互 TLS (mTLS) 可以作为身份验证服务的替代验证方法。如果您有多个 Webex 组织在同一个 XSP|ADP 服务器上运行,则必须使用 mTLS 身份验证,因为 CI 令牌验证不支持与同一个 XSP|ADP 身份验证服务的多个连接。
要针对身份验证服务配置 mTLS 身份验证而不是 CI 令牌验证,请参阅附录(配置服务(为身份验证服务使用 mTLS)的附录)。
如果您当前将 mTLS 用于身份验证服务,则重新配置以通过 TLS 使用 CI 令牌验证并非强制性的。
-
在每个 XSP|ADP 服务器上安装以下补丁。安装适合您发行版的补丁:
-
对于 R22:
-
对于 R23:
-
对于 R24 - 不需要补丁
任何对 XSP 的引用均包括 XSP 或 ADP。
-
-
在每个 XSP|ADP 服务上安装
AuthenticationService应用程序。运行以下命令激活 XSP 上的 AuthenticationService 应用程序|ADP 到 /authService 上下文路径。
XSP|ADP_CLI/Maintenance/ManagedObjects> activate application AuthenticationService 22.0_1.1123/authService运行此命令在 XSP|ADP 上部署 AuthenticationService:
XSP|ADP_CLI/Maintenance/ManagedObjects> deploy application /authServiceBroadWorks SW Manager deploying /authService...
-
从 Broadworks build 2022.10 开始,切换到新版本的 Java 时,Java 附带的证书颁发机构不再自动包含在 BroadWorks 信任库中。AuthenticationService 打开与 Webex 的 TLS 连接以获取访问令牌,并且需要在其信任库中具有以下内容来验证 IDBroker 和 Webex URL:
-
IdenTrust Commercial Root CA 1
-
Go Daddy Root Certificate Authority - G2
验证以下 CLI 下是否存在这些证书
ADP_CLI/System/SSLCommonSettings/Trusts/Defaults> get如果不存在,请运行以下命令导入默认的 Java 信任:
ADP_CLI/System/SSLCommonSettings/Trusts/Defaults> importJavaCATrust或者,您可以使用以下命令手动将这些证书添加为信任锚:
ADP_CLI/System/SSLCommonSettings/Trusts/BroadWorks> updateTrust如果 ADP 从以前的版本升级,则旧版本的证书颁发机构将自动导入到新版本,并将继续导入,直到手动删除为止。
AuthenticationService 应用程序不受 ADP_下的 validatePeerIdentity 设置的限制 CLI/System/SSLCommonSettings/GeneralSettings, 并始终验证对方身份。有关此设置的更多信息,请参阅 Cisco Broadworks X509 证书验证 FD 。
-
-
通过在每个 XSP|ADP 服务器上运行以下命令来配置身份提供者:
XSP|ADP_CLI/Applications/AuthenticationService/IdentityProviders/Cisco> get-
set clientId client-Id-From-Step1 -
set enabled true -
set clientSecret client-Secret-From-Step1 -
set ciResponseBodyMaxSizeInBytes 65536 -
set issuerName— 对于URL,输入适用于您的 CI 集群的 IssuerName URL。请参阅下表。 -
set issuerUrl— 对于URL,输入适用于您的 CI 集群的 IssuerUrl。请参阅下表。 -
set tokenInfoUrl—输入应用于 Teams 集群的 IdP 代理 URL。请参阅下面的第二张表。
表 1. 设置 issuerName 和 issuerURL 如果 CI 集群是... 将 issuerName 和 issuerURL 设置为... US-A
https://idbroker.webex.com/idb欧盟
https://idbroker-eu.webex.com/idbUS-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/authenticateAFRA
https://broadworks-idp-proxy-k.wbx2.com/broadworks-idp-proxy/api/v1/idp/authenticateAORE
https://broadworks-idp-proxy-r.wbx2.com/broadworks-idp-proxy/api/v1/idp/authenticate-
如果您不知道您的 Teams Cluster,您可以从 Control Hub 的帮助台视图中的客户详细信息中获取信息。
-
为了进行测试,您可以通过将 URL 的“
idp/authenticate”部分替换为“ping”来验证 tokenInfoURL 是否有效。
-
-
通过运行以下命令指定 Webex 中用户档案中必须存在的 Webex 权限:
XSP|ADP_CLI/Applications/AuthenticationService/IdentityProviders/Cisco/Scopes> set scope broadworks-connector:user -
在每个 XSP|ADP 服务器上使用以下命令为 Cisco Federation 配置身份提供者:
XSP|ADP_CLI/Applications/AuthenticationService/IdentityProviders/Cisco/Federation> get-
set flsUrl https://cifls.webex.com/federation -
set refreshPeriodInMinutes 60 -
set refreshToken refresh-Token-From-Step1
-
-
运行以下命令以验证您的 FLS 配置是否有效。该命令将返回身份提供程序列表:
XSP|ADP_CLI/Applications/AuthService/IdentityProviders/Cisco/Federation/ClusterMap> Get -
在每个 XSP|ADP 服务器上使用以下命令配置令牌管理:
-
XSP|ADP_CLI/Applications/AuthenticationService/TokenManagement> -
set tokenIssuer BroadWorks -
set tokenDurationInHours 720
-
-
生成并共享 RSA 密钥。您必须在一个 XSP|ADP 上生成密钥,然后将其复制到所有其他 XSP|ADP。这是由于以下因素:
-
身份验证服务的所有实例必须使用相同的公钥/私钥对进行令牌加密/解密。
-
首次收到颁发令牌要求时,身份验证服务会生成密钥对。
如果您循环密钥或更改密钥长度,则需要重复以下配置并重新启动所有 XSP|ADP。
-
选择一个 XSP|ADP 用于生成密钥对。
-
使用客户端从该 XSP|ADP 请求加密令牌,方法是从客户端的浏览器请求以下 URL:
https:///authService/token?key=BASE64URL(clientPublicKey)(这会产生一个私人 / XSP|ADP 上的公钥对(如果还没有)
-
密钥存储位置不可配置。导出密钥:
XSP|ADP_CLI/Applications/authenticationService/KeyManagement>exportKeys -
将导出的文件
/var/broadworks/tmp/authService.keys复制到其他 XSP|ADP 上的相同位置,如有必要,覆盖较旧的.keys文件。 -
在其他每个 XSP|ADP 上导入密钥:
XSP|ADP_CLI/Applications/authenticationService/KeyManagement> importKeys /var/broadworks/tmp/authService.keys
-
-
向 Web 容器提供 authService URL。XSP|ADP 的 Web 容器需要 authService URL 才能验证令牌。在每个 XSP|ADP 上:
-
添加身份验证服务 URL 作为 BroadWorks Communications Utility 的外部身份验证服务:
XSP|ADP_CLI/System/CommunicationUtility/DefaultSettings/ExternalAuthentication/AuthService>set url http://127.0.0.1:80/authService -
将身份验证服务 URL 添加到容器:
XSP|ADP_CLI/Maintenance/ContainerOptions> add tomcat bw.authservice.authServiceUrl http://127.0.0.1:80/authService这样,Webex 即可使用身份验证服务来验证作为凭据提交的令牌。
-
使用
get检查参数。 -
重新启动 XSP|ADP。
-
删除身份验证服务的客户端验证要求(仅适用于 R24)
如果您在 R24 上配置了带 CI 令牌验证的身份验证服务,则还需要删除身份验证服务的客户端验证要求。运行以下 CLI 命令:
ADP_CLI/Interface/Http/SSLCommonSettings/ClientAuthentication/WebApps> set AuthenticationService clientAuthReq false
在 HTTP 接口上配置 TLS 和密码(用于 XSI 和身份验证服务)
身份验证服务、Xsi-Actions 和 Xsi-Events 应用程序使用 HTTP 服务器接口。这些应用程序的 TLS 配置级别如下:
最一般 = 系统 > 传输 > HTTP > HTTP 服务器接口 = 最特殊
您用于查看或修改不同 SSL 设置的 CLI 上下文包括:
| 特异性 | CLI 上下文 |
| 系统(全局) |
|
| 此系统的传输协议 |
|
| 此系统上的 HTTP |
|
| 此系统上的特定 HTTP 服务器接口 |
|
读取 XSP 上的 HTTP 服务器 TLS 接口配置|ADP
-
登录 XSP|ADP 并导航至
XSP|ADP_CLI/Interface/Http/HttpServer> -
输入
get命令并读取结果。您应看到接口(IP 地址),并分别查看是否安全以及是否需要客户端身份验证。
Apache tomcat 要求每个安全接口都有证书;如果需要,系统会生成自签名证书。
XSP|ADP_CLI/Interface/Http/HttpServer> get
将 TLS 1.2 协议添加到 HTTP 服务器接口
必须将与 Webex 云交互的 HTTP 接口配置为用于 TLSv1.2。云不会协商早期版本的 TLS 协议。
要在 HTTP 服务器接口上配置 TLSv1.2 协议,请执行以下操作:
-
登录 XSP|ADP 并导航至
XSP|ADP_CLI/Interface/Http/HttpServer/SSLSettings/Protocols> -
输入命令
get 443查看此接口上已使用哪些协议。 -
输入命令
add 443 TLSv1.2,确保接口与云端通信时可以使用TLS 1.2。
在 HTTP 服务器接口上编辑 TLS 密码配置
要配置所需的密码,请执行以下操作:
-
登录 XSP|ADP 并导航至
XSP|ADP_CLI/Interface/Http/HttpServer/SSLSettings/Ciphers> -
输入命令
get 443查看此接口上已使用哪些密码。必须至少有一个来自 Cisco 推荐的套件(请参阅概述部分中的 XSP|ADP 身份和安全要求 )。 -
输入命令
add 443向HTTP服务器接口添加密码。XSP|ADP CLI 需要 IANA 标准密码套件名称,而不是 openSSL 密码套件名称。例如,要将 openSSL 密码
ECDHE-ECDSA-CHACHA20-POLY1305添加到 HTTP 服务器接口,您可以使用:XSP|ADP_CLI/Interface/Http/HttpServer/SSLSettings/Ciphers>add 192.0.2.7 443 TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305请参阅 https://ciphersuite.info/,以便按任一名称查找此套件。
在 XSP|ADP、应用程序服务器和配置文件服务器上配置设备管理
配置文件服务器和 XSP|ADP 是设备管理所必需的。必须按照 BroadWorks 设备管理配置指南中的说明进行配置。