简介
本文档介绍在Communications Manager上使用证书颁发机构(CA)签名证书配置会话初始协议(SIP)传输层安全(TLS)中继的分步过程。
本文档后,将使用TLS对两个集群之间的SIP消息进行加密。
先决条件
要求
思科建议您了解:
使用的组件
本文档中的信息基于以下软件版本:
- CUCM 版本 9.1(2)
- CUCM 版本 10.5(2)
- 作为CA的Microsoft Windows Server 2003
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
背景信息
如本图所示,使用证书的SSL握手。
配置
步骤1.在Windows Server 2003上使用公共CA或设置CA
请参阅链接:在Windows 2003服务器上设置CA
步骤2.检验主机名和设置
证书基于名称。在开始之前,请确保名称正确。
From SSH CLI
admin:show cert own CallManager
SignatureAlgorithm: SHA1withRSA (1.2.840.113549.1.1.5)
Issuer Name: CN=CUCMA, OU=cisco, O=cisco, L=cisco, ST=cisco, C=IN
Subject Name: CN=CUCMA, OU=cisco, O=cisco, L=cisco, ST=cisco, C=IN
要更改主机名,请参阅链接:在CUCM上更改主机名
步骤3.生成并下载证书签名请求(CSR)
CUCM 9.1(2)
要生成CSR,请导航至OS Admin > Security > Certificate Management > Generate CSR
在“证书名”字段中,从下拉列表中选择CallManager选项。
要下载CSR,请导航至OS Admin > Security > Certificate Management > Download CSR
在“证书名称”字段中,从下拉列表中选择CallManager选项。
CUCM 10.5(2)
要生成CSR,请导航到OS Admin > Security > Certificate Management > Generate CSR
1.在“证书目的”字段中,从下拉列表中选择CallManager。
2.在“密钥长度”字段中,从下拉列表中选择1024。
3.在Hash Algorithm字段中,从下拉列表中选择SHA1。
要下载CSR,请导航至OS Admin > Security > Certificate Management > Download CSR
在“证书目的”字段中,从下拉列表中选择CallManager选项。
注意:CallManager CSR使用1024位Rivest-Shamir-Addleman(RSA)密钥生成。
步骤4.使用Microsoft Windows 2003证书颁发机构签署CSR
这是使用Microsoft Windows 2003 CA签署CSR的可选信息。
1.打开认证中心。
2.右键单击CA图标,然后导航至“所有任务”>“提交新请求”
3.选择CSR并点击“打开”选项(适用于CSR(CUCM 9.1(2)和CUCM 10.5(2))
4.所有打开的CSR都显示在“待处理请求”文件夹中。右键单击每个CSR并导航到All Tasks > Issue以颁发证书。(适用于CSR(CUCM 9.1(2)和CUCM 10.5(2))
5.要下载证书,请选择“已颁发的证书”文件夹。
右键单击证书,然后单击“Open(打开)”选项。
6.将显示证书详细信息。要下载证书,请选择“详细信息”选项卡,然后单击“复制到文件……”按钮
7.在“证书导出向导”窗口中,单击Base-64 encoded X.509(.CER)单选按钮。
8.准确命名文件。此示例使用CUCM1052.cer格式。
对于CUCM 9.1(2),请遵循相同的步骤。
步骤5.从CA获取根证书
打开“证书颁发机构”窗口。
要下载根CA
1.右键单击CA图标,然后单击“属性”选项。
2.在常规TAB中,单击“查看证书”。
3.在“证书”窗口中,单击“详细信息”选项卡。
4.单击“复制到文件……”
步骤6.将CA根证书上传为CallManager信任
要上传CA根证书,请登录到OS Admin > Security > Certificate Management > Upload Certificate/Certificate Chain
注意:在CUCM(CUCM 9.1(2)和CUCM 10.5(2))上执行以下步骤
步骤7.将CA签名CallManager CSR证书上传为CallManager证书。
要上传CA签名CallManager CSR,请登录OS Admin > Security > Certificate Management > Upload Certificate/Certificate Chain
注意:在CUCM(CUCM 9.1(2)和CUCM 10.5(2))上执行以下步骤
步骤8.创建SIP中继安全配置文件
CUCM 9.1(2)
要创建SIP中继安全配置文件,请导航至System > Security > SIP Trunk Security Profile。
复制现有的非安全SIP中继配置文件并为其指定新名称。在示例中,已使用安全SIP中继配置文件TLS重命名非安全SIP中继配置文件。
在X.509主题名称中,使用CUCM 10.5(2)(CA签名证书)的公用名(CN),如下图所示。
CUCM 10.5(2)
导航至System > Security > SIP Trunk Security Profile。
复制现有的非安全SIP中继配置文件并为其指定新名称。在示例中,使用安全SIP中继配置文件TLS重命名了非安全SIP中继配置文件。
在X.509主题名称中,使用CUCM 9.1(2)(CA签名证书)的CN,如突出显示:
两个SIP中继安全配置文件都将传入端口设置为5061,其中每个集群在TCP端口5061上侦听新的入站SIP TLS呼叫。
步骤9.创建SIP中继
创建安全配置文件后,创建SIP中继,并在SIP中继上更改以下配置参数。
CUCM 9.1(2)
- 在SIP Trunk Configuration(SIP中继配置)窗口中,选中配置参数SRTP Allowed(允许SRTP)复选框。
这可确保用于此中继上呼叫的实时传输协议(RTP)的安全。只有在使用SIP TLS时,才必须选中此框,因为安全实时传输协议(SRTP)的密钥在SIP消息正文中交换。SIP信令必须由TLS保护,否则任何具有非安全SIP信令的人都可以通过中继解密相应的SRTP流。
- 在SIP中继配置窗口的SIP信息部分,添加目标地址、目标端口和SIP中继安全配置文件。
CUCM 10.5(2)
- 在SIP Trunk Configuration(SIP中继配置)窗口中,选中配置参数SRTP Allowed(允许SRTP)复选框。
这允许SRTP用于通过此中继的呼叫。只有在使用SIP TLS时,才必须选中此框,因为SRTP的密钥在SIP消息的正文中交换。SIP信令必须由TLS保护,因为任何具有非安全SIP信令的人都可以通过中继解密相应的安全RTP流。
- 在SIP中继配置窗口的SIP信息部分,添加目标IP地址、目标端口和安全配置文件
步骤10.创建路由模式
最简单的方法是在每个集群上创建一个路由模式,直接指向SIP中继。还可以使用路由组和路由列表。
CUCM 9.1(2)通过TLS SIP中继指向路由模式9898到CUCM 10.5(2)
CUCM 10.5(2)通过TLS SIP中继指向到CUCM 9.1(2)的路由模式1018
验证
当前没有可用于此配置的验证过程。
故障排除
SIP TLS呼叫可通过以下步骤进行调试。
在CUCM上收集数据包捕获
要检查CUCM 9.1(2)和CUCM 10.5(2)之间的连接,请在CUCM服务器上捕获数据包并观察SIP TLS流量。
SIP TLS流量在TCP端口5061上传输,被视为sip-tls。
在以下示例中,与CUCM 9.1(2)建立了SSH CLI会话
1.屏幕上的CLI数据包捕获
此CLI在屏幕上显示SIP TLS流量的输出。
admin:utils network capture host ip 10.106.95.200
Executing command with options:
interface=eth0
ip=10.106.95.200
19:04:13.410944 IP CUCMA.42387 > 10.106.95.200.sip-tls: P 790302485:790303631(1146) ack 3661485150 win 182 <nop,nop,timestamp 2864697196 5629758>
19:04:13.450507 IP 10.106.95.200.sip-tls > CUCMA.42387: . ack 1146 win 249 <nop,nop,timestamp 6072188 2864697196>
19:04:13.465388 IP 10.106.95.200.sip-tls > CUCMA.42387: P 1:427(426) ack 1146 win 249 <nop,nop,timestamp 6072201 2864697196>
2. CLI捕获到文件
此CLI根据主机执行数据包捕获并创建名为packets的文件。
admin:utils network capture eth0 file packets count 100000 size all host ip 10.106.95.200
在CUCM 9.1(2)上重新启动SIP中继,并从分机1018(CUCM 9.1(2))呼叫分机9898(CUCM 10.5(2))
要从CLI下载文件,请运行以下命令:
admin:file get activelog platform/cli/packets.cap
捕获以标准.cap格式完成。本示例使用Wireshark打开packets.cap文件,但可以使用任何数据包捕获显示工具。
- 传输控制协议(TCP)同步(SYN),用于在CUCM 9.1(2)(客户端)和CUCM 10.5(2)(服务器)之间建立TCP通信。
- CUCM 9.1(2)发送客户端Hello以启动TLS会话。
- CUCM 10.5(2)发送服务器Hello、服务器证书和证书请求以启动证书交换过程。
- 客户端CUCM 9.1(2)为完成证书交换而发送的证书。
- 加密SIP信令的应用数据显示已建立TLS会话。
进一步检查是否交换了正确的证书。服务器Hello后,服务器CUCM 10.5(2)将其证书发送到客户端CUCM 9.1(2)。
服务器CUCM 10.5(2)具有的序列号和主题信息将呈现给客户端CUCM 9.1(2)。序列号、主题、颁发者和有效日期均与“OS管理员证书管理”(OS Admin Certificate Management)页面上的信息进行比较。
服务器CUCM 10.5(2)提供自己的证书进行验证,现在它检查客户端CUCM 9.1(2)的证书。 验证在两个方向进行。
如果数据包捕获中的证书与操作系统管理网页中的证书不匹配,则不会上传正确的证书。
正确的证书必须上传到OS Admin Cert页面。
收集CUCM跟踪
CUCM跟踪还有助于确定CUCM 9.1(2)和CUCM 10.5(2)服务器之间交换的消息,以及SSL会话是否正确建立。
在本例中,已收集来自CUCM 9.1(2)的跟踪。
呼叫流:
分机1018 > CUCM 9.1(2)> SIP TLS TRUNK > CUCM 10.5(2)>分机9898
++数字分析
04530161.009 |19:59:21.185 |AppInfo |Digit analysis: match(pi="2", fqcn="1018", cn="1018",plv="5", pss="", TodFilteredPss="", dd="9898",dac="0")
04530161.010 |19:59:21.185 |AppInfo |Digit analysis: analysis results
04530161.011 |19:59:21.185 |AppInfo ||PretransformCallingPartyNumber=1018
|CallingPartyNumber=1018
|DialingPartition=
|DialingPattern=9898
|FullyQualifiedCalledPartyNumber=9898
++ SIP TLS正在端口5061上用于此呼叫。
04530191.034 |19:59:21.189 |AppInfo |//SIP/SIPHandler/ccbId=0/scbId=0/SIP_PROCESS_ENQUEUE: createConnMsg tls_security=3
04530204.002 |19:59:21.224 |AppInfo |//SIP/Stack/Transport/0x0/sipConnectionManagerProcessConnCreated: gConnTab=0xb444c150, addr=10.106.95.200, port=5061, connid=12, transport=TLS Over TCP
04530208.001 |19:59:21.224 |AppInfo |SIPTcp - wait_SdlSPISignal: Outgoing SIP TCP message to 10.106.95.200 on port 5061 index 12
[131,NET]
INVITE sip:9898@10.106.95.200:5061 SIP/2.0
Via: SIP/2.0/TLS 10.106.95.203:5061;branch=z9hG4bK144f49a43a
From: <sip:1018@10.106.95.203>;tag=34~4bd244e4-0988-4929-9df2-2824063695f5-19024196
To: <sip:9898@10.106.95.200>
Call-ID: 94fffc00-57415541-7-cb5f6a0a@10.106.95.203
User-Agent: Cisco-CUCM9.1
++信号分布层(SDL)消息SIPCertificateInd提供有关主题CN和连接信息的详细信息。
04530218.000 |19:59:21.323 |SdlSig |SIPCertificateInd |wait |SIPHandler(1,100,72,1) |SIPTcp(1,100,64,1) |1,100,17,11.3^*^* |[T:N-H:0,N:1,L:0,V:0,Z:0,D:0] connIdx= 12 --remoteIP=10.106.95.200 --remotePort = 5061 --X509SubjectName /C=IN/ST=cisco/L=cisco/O=cisco/OU=cisco/CN=CUCM10 --Cipher AES128-SHA --SubjectAltname =
04530219.000 |19:59:21.324 |SdlSig |SIPCertificateInd |restart0 |SIPD(1,100,74,16) |SIPHandler(1,100,72,1) |1,100,17,11.3^*^* |[R:N-H:0,N:0,L:0,V:0,Z:0,D:0] connIdx= 12 --remoteIP=10.106.95.200 --remotePort = 5061 --X509SubjectName /C=IN/ST=cisco/L=cisco/O=cisco/OU=cisco/CN=CUCM10 --Cipher AES128-SHA --SubjectAltname =