本產品的文件集力求使用無偏見用語。針對本文件集的目的,無偏見係定義為未根據年齡、身心障礙、性別、種族身分、民族身分、性別傾向、社會經濟地位及交織性表示歧視的用語。由於本產品軟體使用者介面中硬式編碼的語言、根據 RFP 文件使用的語言,或引用第三方產品的語言,因此本文件中可能會出現例外狀況。深入瞭解思科如何使用包容性用語。
思科已使用電腦和人工技術翻譯本文件,讓全世界的使用者能夠以自己的語言理解支援內容。請注意,即使是最佳機器翻譯,也不如專業譯者翻譯的內容準確。Cisco Systems, Inc. 對這些翻譯的準確度概不負責,並建議一律查看原始英文文件(提供連結)。
本檔案介紹Cisco Unified Communications Manager(CUCM)8.0版及更新版本的預設安全(SBD)功能。
CUCM版本8.0及更高版本引入了SBD功能,包括身份信任清單(ITL)檔案和信任驗證服務(TVS)。
每個CUCM集群現在自動使用基於ITL的安全性。在安全性和易用性/管理便利性之間有一個折衷,管理員在對8.0版CUCM群集進行某些更改之前必須瞭解這一點。
本文檔是對官方預設安全文檔的補充,提供了操作資訊和故障排除提示,可幫助管理員簡化故障排除過程。
瞭解SBD的核心概念是一個好主意:非對稱金鑰加密維基百科文章和公鑰基礎設施維基百科文章。
本部分簡要概述了SBD提供的具體功能。有關每個功能的完整技術詳細資訊,請參見SBD詳細資訊和故障排除資訊部分。
SBD為支援的IP電話提供以下三種功能:
本檔案將概述這些功能的每一種。
當存在證書信任清單(CTL)或ITL檔案時,IP電話會從CUCM TFTP伺服器請求已簽名的TFTP配置檔案。
此檔案允許電話驗證配置檔案是否來自受信任的來源。如果電話上存在CTL/ITL檔案,則配置檔案必須由受信任的TFTP伺服器簽名。
檔案在傳輸時是網路上的純文字檔案,但帶有特殊的驗證簽名。
電話請求SEP<MAC Address>.cnf.xml.sgn,以便接收具有特殊簽名的配置檔案。
此配置檔案由與作業系統(OS)管理證書管理(Operating System, OS)頁面上的CallManager.pem對應的TFTP私鑰簽名。
簽名檔案在頂部有一個簽名以驗證檔案,否則使用純文字檔案XML。
下圖顯示組態檔的簽署者是CN=CUCM8-Publisher.bbbburns.lab,而後者是由CN=JASBURNS-AD簽署。
這意味著在接受此配置檔案之前,電話需要根據ITL檔案驗證CUCM8-Publisher.bbburns.lab的簽名。
以下圖表顯示私鑰如何與訊息摘要演演算法(MD)5或安全雜湊演演算法(SHA)1雜湊函式一起使用以建立簽署式檔案。
簽名驗證通過使用匹配的公鑰來解密雜湊來反轉此過程。如果雜湊匹配,則顯示:
如果在關聯的電話安全配置檔案中啟用了可選的TFTP配置加密,則電話會請求加密的配置檔案。
此檔案使用TFTP私鑰簽名,並使用電話和CUCM之間交換的對稱金鑰進行加密(有關詳細資訊,請參閱《Cisco Unified Communications Manager安全指南8.5(1)版本》)。
除非觀察者具有必要的金鑰,否則無法通過網路監聽器讀取其內容。
電話請求SEP<MAC Address>.cnf.xml.enc.sgn以獲取已簽名的加密檔案。
加密的配置檔案在開頭也有簽名,但之後沒有純文字檔案資料,只有加密資料(在此文本編輯器中被損壞的二進位制字元)。
該圖顯示,該簽名人與上一示例相同,因此該簽名人必須存在於ITL檔案中,然後電話才能接受該檔案。
此外,解密金鑰必須正確無誤,電話才能讀取檔案的內容。
IP電話的內存有限,而且網路中還可以管理大量的電話。
CUCM通過TVS充當遠端信任儲存,因此不必在每個IP電話上放置完整的證書信任儲存。
每當電話無法通過CTL或ITL檔案驗證簽名或證書時,它都會要求TVS伺服器進行驗證。
與所有IP電話上存在信任儲存相比,此中心信任儲存更易於管理。
本節詳細介紹SBD過程。
首先,CUCM伺服器本身必須存在許多檔案。最重要的部分是TFTP證書和TFTP私鑰。
TFTP證書位於OS Administration > Security > Certificate Management > CallManager.pem下。
CUCM伺服器將CallManager.pem證書私鑰和公鑰用於TFTP服務(以及Cisco Call Manager(CCM)服務)。
該圖顯示,CallManager.pem證書已頒發給CUCM8-publisher.bbburns.lab,並由JASBURNS-AD簽名。所有TFTP配置檔案均使用以下私鑰進行簽名。
所有電話都可以使用CallManager.pem證書中的TFTP公鑰解密使用TFTP私鑰加密的任何檔案,以及驗證使用TFTP私鑰簽名的任何檔案。
除了CallManager.pem證書私鑰之外,CUCM伺服器還儲存一個提供給電話的ITL檔案。
show itl命令通過對CUCM伺服器OS CLI的安全外殼(SSH)訪問顯示此ITL檔案的全部內容。
本節逐一分解國際交易日誌檔案,因為它具有電話使用的許多重要元件。
第一部分是簽名資訊。甚至國際交易日誌檔案也是已簽名的檔案。此輸出顯示,此連線埠由與先前CallManager.pem憑證關聯的TFTP私鑰簽署。
admin:show itl
Length of ITL file: 5438
The ITL File was last modified on Wed Jul 27 10:16:24 EDT 2011
Parse ITL File
----------------
Version: 1.2
HeaderLength: 296 (BYTES)
BYTEPOS TAG LENGTH VALUE
------- --- ------ -----
3 SIGNERID 2 110
4 SIGNERNAME 76 CN=CUCM8-Publisher.bbbburns.lab;
OU=TAC;O=Cisco;L=RTP;ST=North Carolina;C=US
5 SERIALNUMBER 10 21:00:2D:17:00:00:00:00:00:05
6 CANAME 15 CN=JASBURNS-AD
*Signature omitted for brevity*
接下來的每個部分在特殊函式引數中包含其用途資訊。第一個功能是系統管理員安全令牌。這是TFTP公鑰的簽名。
ITL Record #:1
----
BYTEPOS TAG LENGTH VALUE
------- --- ------ -----
1 RECORDLENGTH 2 1972
2 DNSNAME 2
3 SUBJECTNAME 76 CN=CUCM8-Publisher.bbbburns.lab;
OU=TAC;O=Cisco;L=RTP;ST=North Carolina;C=US
4 FUNCTION 2 System Administrator Security Token
5 ISSUERNAME 15 CN=JASBURNS-AD
6 SERIALNUMBER 10 21:00:2D:17:00:00:00:00:00:05
7 PUBLICKEY 140
8 SIGNATURE 256
9 CERTIFICATE 1442 0E 1E 28 0E 5B 5D CC 7A 20 29 61 F5
8A DE 30 40 51 5B C4 89 (SHA1 Hash HEX)
This etoken was used to sign the ITL file.
下一個功能是CCM+TFTP。這再次是用於對下載的TFTP配置檔案進行身份驗證和解密的TFTP公鑰。
ITL Record #:2
----
BYTEPOS TAG LENGTH VALUE
------- --- ------ -----
1 RECORDLENGTH 2 1972
2 DNSNAME 2
3 SUBJECTNAME 76 CN=CUCM8-Publisher.bbbburns.lab;
OU=TAC;O=Cisco;L=RTP;ST=North Carolina;C=US
4 FUNCTION 2 CCM+TFTP
5 ISSUERNAME 15 CN=JASBURNS-AD
6 SERIALNUMBER 10 21:00:2D:17:00:00:00:00:00:05
7 PUBLICKEY 140
8 SIGNATURE 256
9 CERTIFICATE 1442 0E 1E 28 0E 5B 5D CC 7A 20 29 61 F5
8A DE 30 40 51 5B C4 89 (SHA1 Hash HEX)
下一個功能是TVS。電話所連線的每個TVS伺服器的公鑰都有一個條目。
這樣,電話就可以建立到TVS伺服器的安全套接字層(SSL)會話。
ITL Record #:3
----
BYTEPOS TAG LENGTH VALUE
------- --- ------ -----
1 RECORDLENGTH 2 743
2 DNSNAME 2
3 SUBJECTNAME 76 CN=CUCM8-Publisher.bbbburns.lab;
OU=TAC;O=Cisco;L=RTP;ST=North Carolina;C=US
4 FUNCTION 2 TVS
5 ISSUERNAME 76 CN=CUCM8-Publisher.bbbburns.lab;
OU=TAC;O=Cisco;L=RTP;ST=North Carolina;C=US
6 SERIALNUMBER 8 2E:3E:1A:7B:DA:A6:4D:84
7 PUBLICKEY 270
8 SIGNATURE 256
11 CERTHASH 20 C7 E1 D9 7A CC B0 2B C2 A8 B2 90 FB
AA FE 66 5B EC 41 42 5D
12 HASH ALGORITHM 1 SHA-1
國際交易日誌檔案中包含的最後一個功能是證書頒發機構代理功能(CAPF)。
此證書允許電話建立與CUCM伺服器上的CAPF服務的安全連線,以便電話可以安裝或更新本地重要證書(LSC)。
ITL Record #:4
----
BYTEPOS TAG LENGTH VALUE
------- --- ------ -----
1 RECORDLENGTH 2 455
2 DNSNAME 2
3 SUBJECTNAME 61 CN=CAPF-9c4cba7d;
OU=TAC;O=Cisco;L=RTP;ST=North Carolina;C=US
4 FUNCTION 2 CAPF
5 ISSUERNAME 61 CN=CAPF-9c4cba7d;
OU=TAC;O=Cisco;L=RTP;ST=North Carolina;C=US
6 SERIALNUMBER 8 0A:DC:6E:77:42:91:4A:53
7 PUBLICKEY 140
8 SIGNATURE 128
11 CERTHASH 20 C7 3D EA 77 94 5E 06 14 D2 90 B1
A1 43 7B 69 84 1D 2D 85 2E
12 HASH ALGORITHM 1 SHA-1
The ITL file was verified successfully.
下一節將介紹電話啟動時發生的具體情況。
電話啟動並獲得IP地址和TFTP伺服器地址後,首先請求CTL和ITL檔案。
此資料包捕獲顯示對ITL檔案的電話請求。如果您在tftp.opcode == 1上進行過濾,會看到電話上的每個TFTP讀取請求:
由於電話成功地從TFTP接收到CTL和ITL檔案,因此電話要求輸入已簽名的配置檔案。
可以從電話Web介面獲取顯示此行為的電話控制檯日誌:
首先,電話請求一個CTL檔案,該請求成功:
837: NOT 09:13:17.561856 SECD: tlRequestFile: Request CTLSEP0011215A1AE3.tlv
846: NOT 09:13:17.670439 TFTP: [27]:Requesting CTLSEP0011215A1AE3.tlv from
14 . 48 . 44 . 80
847: NOT 09:13:17.685264 TFTP: [27]:Finished --> rcvd 4762 bytes
接下來,電話還會請求一個ITL檔案:
868: NOT 09:13:17.860613 TFTP: [28]:Requesting ITLSEP0011215A1AE3.tlv from
14 . 48 . 44 . 80
869: NOT 09:13:17.875059 TFTP: [28]:Finished --> rcvd 5438 bytes
ITL檔案下載後,必須對其進行驗證。此時電話可以處於多種狀態,因此本文檔將介紹所有狀態。
以下是說明電話如何驗證簽名檔案和HTTPS證書的流程圖:
在這種情況下,電話能夠驗證ITL和CTL檔案中的簽名。該電話已經同時具有CTL和ITL,因此它只需對照它們進行檢查並找到正確的簽名。
877: NOT 09:13:17.925249 SECD: validate_file_envelope:
File sign verify SUCCESS; header length <296>
由於電話下載了CTL和ITL檔案,因此從此時開始,它只請求已簽名的配置檔案。
這說明,電話邏輯是根據CTL和ITL的存在來確定TFTP伺服器是否安全,然後請求簽名檔案:
917: NOT 09:13:18.433411 tftpClient: tftp request rcv'd from /usr/tmp/tftp,
srcFile = SEP0011215A1AE3.cnf.xml, dstFile = /usr/ram/SEP0011215A1AE3.cnf.xml
max size = 550001
918: NOT 09:13:18.457949 tftpClient: auth server - tftpList[0] = ::ffff:
14 . 48 . 44 . 80
919: NOT 09:13:18.458937 tftpClient: look up server - 0
920: NOT 09:13:18.462479 SECD: lookupCTL: TFTP SRVR secure
921: NOT 09:13:18.466658 tftpClient: secVal = 0x9 922: NOT 09:13:18.467762
tftpClient: ::ffff:14 . 48 . 44 . 80 is a secure server
923: NOT 09:13:18.468614 tftpClient: retval = SRVR_SECURE
924: NOT 09:13:18.469485 tftpClient: Secure file requested
925: NOT 09:13:18.471217 tftpClient: authenticated file approved - add .sgn
-- SEP0011215A1AE3.cnf.xml.sgn
926: NOT 09:13:18.540562 TFTP: [10]:Requesting SEP0011215A1AE3.cnf.xml.sgn
from 14 . 48 . 44 . 80 with size limit of 550001
927: NOT 09:13:18.559326 TFTP: [10]:Finished --> rcvd 7652 bytes
下載已簽名的配置檔案後,電話必須根據ITL中的CCM+TFTP功能對其進行身份驗證:
937: NOT 09:13:18.656906 SECD: verifyFile: verify SUCCESS
</usr/ram/SEP0011215A1AE3.cnf.xml>
ITL檔案提供一個TVS函式,其中包含在CUCM伺服器TCP埠2445上運行的TVS服務的證書。
TVS在啟用CallManager服務的所有伺服器上運行。CUCM TFTP服務使用配置的CallManager組來構建電話必須在電話配置檔案上聯絡的TVS伺服器清單。
某些實驗只使用一個CUCM伺服器。在多節點CUCM集群中,一個電話最多可以有三個TVS條目,該電話的CUCM組中的每個CUCM各一個。
此示例顯示了按下IP電話上的Directories按鈕時發生的情況。「目錄URL」配置為HTTPS,因此電話會顯示「目錄」伺服器的Tomcat Web證書。
此Tomcat Web證書(作業系統管理中的tomcat.pem)未載入到電話中,因此電話必須與TVS聯絡以驗證該證書。
有關互動的說明,請參閱先前的TVS概述圖。以下是電話控制檯日誌的視角:
首先找到目錄URL:
1184: NOT 15:20:55.219275 JVM: Startup Module Loader|cip.dir.TandunDirectories:
? - Directory url https://14 . 48 . 44 . 80:8443/ccmcip/xmldirectory.jsp
這是需要驗證的SSL/傳輸層安全(TLS)安全HTTP會話。
1205: NOT 15:20:59.404971 SECD: clpSetupSsl: Trying to connect to IPV4, IP:
14 . 48 . 44 . 80, Port : 8443
1206: NOT 15:20:59.406896 SECD: clpSetupSsl: TCP connect() waiting,
<14 . 48 . 44 . 80> c:8 s:9 port: 8443
1207: NOT 15:20:59.408136 SECD: clpSetupSsl: TCP connected,
<14 . 48 . 44 . 80> c:8 s:9
1208: NOT 15:20:59.409393 SECD: clpSetupSsl: start SSL/TLS handshake,
<14 . 48 . 44 . 80> c:8 s:9
1209: NOT 15:20:59.423386 SECD: srvr_cert_vfy: Server Certificate
Validation needs to be done
電話首先驗證SSL/TLS伺服器提供的證書是否存在CTL中。然後,電話檢視ITL檔案中的Functions,以檢視是否找到匹配項。
此錯誤消息顯示「HTTPS證書不在CTL中」,這意味著「在CTL或ITL中找不到證書」。
1213: NOT 15:20:59.429176 SECD: findByCertAndRoleInTL: Searching TL from CTL file
1214: NOT 15:20:59.430315 SECD: findByCertAndRoleInTL: Searching TL from ITL file
1215: ERR 15:20:59.431314 SECD: EROR:https_cert_vfy: HTTPS cert not in CTL,
<14 . 48 . 44 . 80>
在檢查證書的CTL和ITL檔案的直接內容之後,電話檢查的下一件事是TVS快取。
如果電話最近向TVS伺服器請求了相同的證書,則這樣做是為了減少網路流量。
如果在電話快取中找不到HTTPS證書,您可以建立與TVS伺服器本身的TCP連線。
1220: NOT 15:20:59.444517 SECD: processTvsClntReq: TVS Certificate
Authentication request
1221: NOT 15:20:59.445507 SECD: lookupAuthCertTvsCacheEntry: No matching
entry found at cache
1222: NOT 15:20:59.446518 SECD: processTvsClntReq: No server sock exists,
must be created
1223: NOT 15:20:59.451378 SECD: secReq_initClient: clnt sock fd 11 bound
to </tmp/secClnt_secd>
1224: NOT 15:20:59.457643 SECD: getTvsServerInfo: Phone in IPv4 only mode
1225: NOT 15:20:59.458706 SECD: getTvsServerInfo: Retreiving IPv4 address
1230: NOT 15:20:59.472628 SECD: connectToTvsServer: Successfully started
a TLS connection establishment to the TVS server: IP:14 . 48 . 44 . 80, port:2445
(default); Waiting for it to get connected.
請記住,與TVS本身的連線是SSL/TLS(安全HTTP或HTTPS),因此它也是需要針對CTL到ITL進行身份驗證的證書。
如果一切正常,則在ITL檔案的TVS功能中找到TVS伺服器證書。參見上一個#3例ITL檔案中的ITL記錄資訊。
1244: NOT 15:20:59.529938 SECD: srvr_cert_vfy: Server Certificate Validation
needs to be done
1245: NOT 15:20:59.533412 SECD: findByIssuerAndSerialAndRoleInTL:
Searching TL from CTL file
1246: NOT 15:20:59.534936 SECD: findByIssuerAndSerialAndRoleInTL:
Searching TL from ITL file
1247: NOT 15:20:59.537359 SECD: verifyCertWithHashFromTL: cert hash and
hash in TL MATCH
1248: NOT 15:20:59.538726 SECD: tvs_cert_vfy: TVS cert verified with hash
from TL, <14 . 48 . 44 . 80>
成功!電話現在與TVS伺服器具有安全連線。下一步是詢問TVS伺服器「Hello, Do I trust this Directories server certificate?」
此示例顯示對該問題的答案 — 值為0的響應,表示成功(無錯誤)。
1264: NOT 15:20:59.789738 SECD: sendTvsClientReqToSrvr: Authenticate
Certificate : request sent to TVS server - waiting for response
1273: NOT 15:20:59.825648 SECD: processTvsSrvrResponse: Authentication Response
received, status : 0
由於TVS的響應成功,因此該證書的結果會儲存到快取中。
這表示如果您在接下來的86,400秒內再次按Directories按鈕,則無需聯絡TVS伺服器來驗證證書。您只需訪問本地快取即可。
1279: NOT 15:20:59.837086 SECD: saveCertToTvsCache: Saving certificate
in TVS cache with default time-to-live value: 86400 seconds
1287: ERR 15:20:59.859993 SECD: Authenticated the HTTPS conn via TVS
最後,驗證您與目錄伺服器的連線是否成功。
1302: ERR 15:21:01.959700 JVM: Startup Module Loader|cip.http.ae:?
- listener.httpSucceed: https://14 . 48 . 44 . 80:8443/ccmcip/
xmldirectoryinput.jsp?name=SEP0011215A1AE3
以下示例說明在運行TVS的CUCM伺服器上發生的情況。您可以使用思科統一即時監控工具(RTMT)收集TVS日誌。
CUCM TVS日誌顯示,您與電話進行SSL握手,電話會向TVS詢問有關Tomcat證書的資訊,然後TVS會響應以指示證書在TVS證書儲存中匹配。
15:21:01.954 | debug 14 . 48 . 44 . 202: tvsSSLHandShake Session ciphers - AES256-SHA
15:21:01.954 | debug TLS HS Done for ph_conn .
15:21:02.010 | debug MsgType : TVS_MSG_CERT_VERIFICATION_REQ
15:21:02.011 | debug tvsGetIssuerNameFromX509 - issuerName : CN=CUCM8-
Publisher.bbbburns.lab;OU=TAC;O=Cisco;L=RTP;ST=North Carolina;C=US and Length: 75
15:21:02.011 | debug CertificateDBCache::getCertificateInformation -
Certificate compare return =0
15:21:02.011 | debug CertificateDBCache::getCertificateInformation -
Certificate found and equal
15:21:02.011 | debug MsgType : TVS_MSG_CERT_VERIFICATION_RES
TVS證書儲存是OS管理>證書管理網頁中包含的所有證書的清單。
在故障排除時發現的一個常見誤解涉及刪除ITL檔案的趨勢,希望它解決一個檔案驗證問題。
有時需要刪除ITL檔案,但ITL檔案只有在滿足所有這些條件時才需要刪除。
以下是檢查前兩個條件的方法。
首先,您可以將CUCM上存在的ITL檔案的校驗和與電話的ITL檔案的校驗和進行比較。
目前,無法從CUCM本身檢視CUCM上ITL檔案的MD5sum,除非您運行帶有此Cisco錯誤ID CSCto60209修復程式的版本。
在此期間,請使用您喜愛的GUI或CLI程式運行以下命令:
jasburns@jasburns-gentoo /data/trace/jasburns/certs/SBD $ tftp 14 . 48 . 44 . 80
tftp> get ITLSEP0011215A1AE3.tlv
Received 5438 bytes in 0.0 seconds
tftp> quit
jasburns@jasburns-gentoo /data/trace/jasburns/certs/SBD $ md5sum
ITLSEP0011215A1AE3.tlv
b61910bb01d8d3a1c1b36526cc9f2ddc ITLSEP0011215A1AE3.tlv
這表明CUCM中ITL檔案的MD5sum是b61910bb01d8d3a1c1b36526cc9f2ddc。
現在,您可以檢視電話本身,以確定在那裡載入的ITL檔案的雜湊:設定>安全配置>信任清單。
這顯示MD5和匹配。這意味著電話上的ITL檔案與CUCM上的檔案匹配,因此不需要將其刪除。
如果匹配,則需要轉到下一個操作 — 確定ITL中的TVS證書是否與TVS提供的證書匹配。這個操作有點複雜。
首先,檢視連線到TCP埠2445上TVS伺服器的電話的資料包捕獲。
在Wireshark中按一下右鍵此流中的任何資料包,按一下Decode As,然後選擇SSL。查詢如下所示的伺服器證書:
檢視上一個ITL檔案中包含的TVS證書。然後您會看到序列號為2E3E1A7BDAA64D84的條目。
admin:show itl
ITL Record #:3
----
BYTEPOS TAG LENGTH VALUE
------- --- ------ -----
1 RECORDLENGTH 2 743
2 DNSNAME 2
3 SUBJECTNAME 76 CN=CUCM8-Publisher.bbbburns.lab;
OU=TAC;O=Cisco;L=RTP;ST=North Carolina;C=US
4 FUNCTION 2 TVS
5 ISSUERNAME 76 CN=CUCM8-Publisher.bbbburns.lab;
OU=TAC;O=Cisco;L=RTP;ST=North Carolina;C=US
6 SERIALNUMBER 8 2E:3E:1A:7B:DA:A6:4D:84
成功,ITL檔案中的TVS.pem與網路上提供的TVS證書匹配。您不需要刪除ITL,並且TVS提供正確的證書。
如果檔案驗證仍失敗,請檢查前面的流程圖的其餘部分。
現在最重要的證書是CallManager.pem證書。該證書私鑰用於簽署所有TFTP配置檔案,其中包括ITL檔案。
如果重新生成CallManager.pem檔案,則會使用新私鑰生成新的CCM+TFTP證書。此外,ITL檔案現在使用此新的CCM+TFTP金鑰進行簽名。
重新生成CallManager.pem並重新啟動TVS和TFTP服務後,電話啟動時會發生這種情況。
註:此部分非常重要。舊ITL檔案的TVS證書必須仍然匹配。如果同時重新生成CallManager.pem和TVS.pem,則電話不能下載任何新檔案,除非從電話上手動刪除ITL。
重點:
在將電話從一個集群移動到另一個集群並部署了ITL時,必須考慮ITL和TFTP私鑰。
提供給電話的任何新配置檔案必須與CTL、ITL中的簽名或電話當前TVS服務中的簽名匹配。
本文檔說明如何確保新的集群ITL檔案和配置檔案受電話上當前ITL檔案的信任。https://supportforums.cisco.com/docs/DOC-15799。
CallManager.pem證書和私鑰通過災難恢復系統(DRS)進行備份。如果重建了TFTP伺服器,則必須從備份中恢復它,以便可以恢復私鑰。
如果伺服器上沒有CallManager.pem私鑰,則具有使用舊金鑰的當前ITL的電話不信任已簽名的配置檔案。
如果重建了群集但未從備份中恢復,則與「在群集之間移動電話」文檔完全相同。這是因為對於電話而言,包含新金鑰的集群是不同的集群。
備份和還原存在一個嚴重缺陷。如果群集易受Cisco錯誤ID CSCtn50405影響,則DRS備份不包含CallManager.pem證書。
這將導致從此備份還原的任何伺服器生成損壞的ITL檔案,直到生成新的CallManager.pem。
如果沒有其他正常工作的TFTP伺服器未完成備份和還原操作,這可能意味著需要從電話中刪除所有ITL檔案。
要驗證是否需要重新生成CallManager.pem檔案,請輸入show itl命令,然後輸入:
run sql select c.subjectname, c.serialnumber, c.ipv4address, t.name from
certificate as c, certificatetrustrolemap as r, typetrustrole as t where c.pkid =
r.fkcertificate and t.enum = r.tktrustrole
在國際交易日誌輸出中,需要查詢的主要錯誤有:
This etoken was not used to sign the ITL file.
和
Verification of the ITL file failed.
Error parsing the ITL file!!
上一個結構化查詢語言(SQL)查詢搜尋具有「身份驗證和授權」角色的證書。
具有身份驗證和授權角色的先前資料庫查詢中的CallManager.pem證書也必須出現在作業系統管理證書管理網頁中。
如果遇到上述缺陷,則查詢中的CallManager.pem證書與作業系統網頁中的CallManager.pem證書不匹配。
如果更改CUCM伺服器的主機名或域名,它將立即在該伺服器上重新生成所有證書。憑證再生一節說明,再生TVS.pem和CallManager.pem都是「壞事」。
有幾種情況下主機名更改會失敗,也有一些情況下會順利工作,而不會出現問題。本節涵蓋所有這些資訊,並將它們連結回您從本文檔中已經瞭解的關於電視和國際交易日誌的內容。
僅使用ITL的單節點集群(請注意,此操作會中斷,不會進行準備)
具有CTL和ITL的單節點集群(可以暫時斷開,但易於修復)
僅使用ITL的多節點集群(這通常有效,但如果匆忙完成,可能會永久中斷)
具有CTL和ITL的多節點集群(無法永久斷開)
帶ITL的電話啟動時,會請求以下檔案:CTLSEP<MAC Address>.tlv、ITLSEP<MAC Address>.tlv和SEP<MAC Address>.cnf.xml.sgn。
如果電話找不到這些檔案,便會請求ITLFile.tlv和CTLFile.tlv,後者是由集中式TFTP伺服器提供給任何要求它的電話的。
使用集中式TFTP時,有一個TFTP群集可以指向許多其他子群集。
這通常是因為多個CUCM集群上的電話共用相同的DHCP作用域,因此必須具有相同的DHCP選項150 TFTP伺服器。
所有IP電話都指向中央TFTP集群,即使它們註冊到其他集群也是如此。每當此中央TFTP伺服器收到其找不到檔案的請求時,都會查詢遠端TFTP伺服器。
由於這種操作,集中式TFTP只能在ITL同構環境中工作。
所有伺服器必須運行CUCM 8.x版或更高版本,或者所有伺服器必須運行8.x版之前的版本。
如果集中TFTP伺服器提供ITLFile.tlv,則電話不信任來自遠端TFTP伺服器的任何檔案,因為簽名不匹配。
這是異種混合體發生的。在同構混合中,電話請求ITLSEP<MAC>.tlv,該請求是從正確的遠端群集拉出的。
在混合使用版本8.x前版本和版本8.x群集的異構環境中,必須在8.x版本群集上啟用「準備群集以回滾到版本8.0」,如Cisco錯誤ID CSCto87262中所述。
使用HTTP而不是HTTPS配置「安全電話URL引數」。這有效地禁用了電話上的國際交易日誌功能。
只有當SBD和ITL當前工作的情況下,才能關閉SBD。
在具有Prepare Cluster for Rollback to pre 8.0"企業引數以及使用HTTP而不是HTTPS配置「安全電話URL引數」的電話上,可以臨時禁用SBD。
當您設定Rollback引數時,它會建立一個帶有空函式項的帶符號的ITL檔案。
「空」ITL檔案仍被簽名,因此群集必須處於完全正常運行的安全狀態,才能啟用此引數。
啟用此引數並下載並驗證帶有空白條目的新ITL檔案後,電話接受任何配置檔案,無論其簽名者是誰。
建議不要將群集保持此狀態,因為之前提到的三個功能(經過身份驗證的配置檔案、加密的配置檔案和HTTPS URL)均不可用。
目前沒有從思科遠端提供的電話中刪除所有ITL的方法。正因如此,本文檔中介紹的程式和互動作用必須加以考慮。
目前有一個未解析的Cisco錯誤ID CSCto47052增強功能來要求此功能,但尚未實作。
在過渡期間,已通過Cisco錯誤ID CSCts01319新增了一項新功能,該功能可能允許思科技術支援中心(TAC)還原到先前受信任的ITL(如果伺服器中仍可使用該功能)。
這僅在以下特定情況下起作用:集群使用具有此缺陷修復程式的版本,並且先前的ITL存在於儲存在伺服器上的特定位置的備份中。
檢視缺陷以檢視您的版本是否有修補程式。請與Cisco TAC聯絡,以便執行缺陷中說明的可能的復原程式。
如果上述程式不可用,則必須手動按下電話上的電話按鍵才能刪除國際交易日誌檔案。這是安全與易於管理之間的權衡。為了使國際交易日誌檔案真正安全,不得輕易地將其遠端刪除。
即使使用指令碼按鈕按下簡單對象訪問協定(SOAP)XML對象,也無法遠端刪除ITL。
這是因為,此時TVS訪問(因此用於驗證傳入的SOAP XML按鈕按鈕按鈕對象的安全身份驗證URL訪問)不起作用。
如果驗證URL未配置為安全,則有可能對按鍵進行指令碼化以刪除ITL,但思科無法提供此指令碼。
其他不使用身份驗證URL對遠端按鍵進行指令碼化的方法可能由第三方提供,但這些應用程式不是由Cisco提供的。
刪除國際交易日誌最常用的方法是向所有電話使用者傳送電子郵件廣播,指示他們輸入按鍵順序。
如果設定訪問許可權設定為Restricted或Disabled,則電話需要出廠重置,因為使用者無權訪問電話的「設定」選單。
修訂 | 發佈日期 | 意見 |
---|---|---|
2.0 |
14-Jul-2023 |
重新認證 |
1.0 |
27-May-2013 |
初始版本 |