簡介
本文檔介紹如何替換Cisco Telemetry Broker (CTB)管理器節點上的伺服器身份證書。
必要條件
需求
思科建議您瞭解以下主題:
- Cisco Telemetry Broker裝置管理
- x509憑證
採用元件
本文檔中使用的裝置運行的是2.0.1版
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
設定
憑證需求
思科遙測代理管理器使用的x509證書必須滿足以下要求:
- 證書和私鑰必須是匹配的對
- 憑證和私密金鑰必須以PEM編碼
- 私密金鑰不得有密碼保護
確認證書和私鑰是匹配對
以admin使用者身份登入到CTB Manager命令列介面(CLI)。
注意:系統中可能還不存在本節中提到的檔案。
sudo openssl req -in server.csr -pubkey -noout -outform pem | sha256sum
命令從證書簽名請求檔案中輸出公鑰的SHA-256校驗和。
sudo openssl pkey -in server_key.pem -pubout -outform pem | sha256sum命令從私鑰檔案中輸出公鑰的SHA-256校驗和。
sudo openssl x509 -in server_cert.pem -pubkey -noout -outform pem | sha256sum命令從發出的證書檔案中輸出公鑰的SHA-256校驗和。
憑證和私密金鑰輸出必須相符。如果未使用證書簽名請求,則server_cert.pem檔案不存在。
admin@ctb-manager:~$ sudo openssl req -in server.csr -pubkey -noout -outform pem | sha256sum 3e8e6b0d397ada1be7e89be21eb555c9527741460074385730d524c60e3ae315 - admin@ctb-manager:~$ admin@ctb-manager:~$ sudo openssl pkey -in server_key.pem -pubout -outform pem | sha256sum 3e8e6b0d397ada1be7e89be21eb555c9527741460074385730d524c60e3ae315 - admin@ctb-manager:~$ sudo openssl x509 -in server_cert.pem -pubkey -noout -outform pem | sha256sum 3e8e6b0d397ada1be7e89be21eb555c9527741460074385730d524c60e3ae315 -
確認私密金鑰未受密碼保護
以admin使用者身份登入到CTB管理器。運行ssh-keygen -yf server_key.pem命令。
如果私密金鑰不需要密碼,則不會要求密碼。
admin@ctb-manager:~$ ssh-keygen -yf server_key.pem ssh-rsa {removed for brevity} admin@ctb-manager:~$
確認證書和私鑰是PEM編碼的
以admin使用者身份登入到CTB管理器。
使用sudo cat server_cert.pem 命令檢視server_cert.pem檔案內容。將命令調整為您的證書檔名。
檔案的第一行與最後一行應分別是 -----BEGIN CERTIFICATE----- 和-----END CERTIFICATE-----。
admin@ctb-manager:~$ sudo cat server_cert.pem -----BEGIN CERTIFICATE----- {removed_for_brevity} -----END CERTIFICATE----- admin@ctb-manager:~$
使用sudo cat server_key.pem命令檢視server_key.pem檔案。將命令調整為您的私鑰檔名。
檔案的第一行與最後一行應分別是 -----BEGIN PRIVATE KEY----- 和-----END PRIVATE KEY-----。
admin@ctb-manager:~$ sudo cat server_key.pem -----BEGIN PRIVATE KEY----- {removed_for_brevity} -----END PRIVATE KEY----- admin@ctb-manager:~$
自簽名證書
生成自簽名證書
- 以安裝期間配置的使用者身份透過SSH(安全外殼)登入到CTB管理器,通常為「管理員」使用者。
- 發出
sudo openssl req -x509 -newkey rsa:{key_len} -nodes -keyout server_key.pem -out server_cert.pem -sha256 -days 3650 -subj /CN={ctb_manager_ip} 命令。
- 使用您選擇的私鑰長度(例如2048、4096或8192)更改
rsa:{key_len}
- 使用CTB Manager節點的IP更改
{ctb_manager_ip}
admin@ctb-manager:~$ sudo openssl req -x509 -newkey rsa:4096 -nodes -keyout server_key.pem -out server_cert.pem -sha256 -days 3650 -subj /CN=10.209.35.152
[sudo] password for admin:
Generating a RSA private key
.....................................................................................++++
............................................................................++++
writing new private key to 'server_key.pem'
-----
admin@ctb-manager:~$
- 使用
cat server_cert.pem命令檢視server_cert.pem檔案,並將內容複製到緩衝區中,以便將其貼上到本地工作站所選的文本編輯器中。儲存檔案。您也可以將這些檔案從 /home/admin 目錄中SCP出去。
admin@ctb-manager:~$ cat server_cert.pem
-----BEGIN CERTIFICATE-----
{removed_for_brevity}
-----END CERTIFICATE-----
admin@ctb-manager:~$
- 使用
sudo cat server_key.pem命令檢視server_key.pem檔案,並將內容複製到緩衝區中,以便將內容貼上到本地工作站所選的文本編輯器中。儲存檔案。您也可以將此檔案從目 /home/admin 錄中SCP出去。
admin@ctb-manager:~$ sudo cat server_key.pem
-----BEGIN PRIVATE KEY-----
{removed_for_brevity}
-----END PRIVATE KEY-----
admin@ctb-manager:~$
上傳自簽名證書
證書頒發機構(CA)頒發的證書
生成證書頒發機構頒發的證書簽名請求(CSR)
- 以安裝期間配置的使用者身份透過SSH(安全外殼)登入到CTB管理器,通常為「管理員」使用者。
- 發出
openssl req -new -newkey rsa:{key_len} -nodes -addext "subjectAltName = DNS:{ctb_manager_dns_name},IP:{ctb_manager_ip}" -keyout server_key.pem -out server.csr命令。如果需要,可以將最後兩行上的「extra」屬性留空。
- 使用CTB管理器節點的DNS名稱更改
{ctb_manager_dns_name}
- 使用CTB Manager節點的IP更改
{ctb_manager_ip}
- 使用您選擇的私鑰長度(例如2048、4096或8192)更改
{key_len} 。
admin@ctb-manager:~$ openssl req -new -newkey rsa:4096 -nodes -addext "subjectAltName = DNS:ctb-manager,IP:10.209.35.152" -keyout server_key.pem -out server.csr
Generating a RSA private key
......................++++
....................................++++
writing new private key to 'server_key.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:North Carolina
Locality Name (eg, city) []:RTP
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Cisco Systems Inc
Organizational Unit Name (eg, section) []:TAC
Common Name (e.g. server FQDN or YOUR name) []:ctb-manager
Email Address []:noreply@cisco.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
- 將CSR和金鑰檔案scp到本地電腦,並向CA提供CSR。CA以PEM格式發出CSR不在本檔案範圍內。
建立具有鏈結的憑證
CA以PEM格式頒發伺服器身份證書。必須建立鏈結檔案,其中包含CTB Manager節點的所有鏈結憑證和伺服器辨識憑證。
在文本編輯器中,透過組合上一步中簽名的證書並按照所示順序將鏈中的所有證書(包括受信任CA)附加到PEM格式的單個檔案中來建立檔案。
— BEGIN CERTIFICATE — {CTB Manager Issued Certificate} — END CERTIFICATE — — BEGIN CERTIFICATE — {Issuing Certificate Authority Certificate} — END CERTIFICATE — — BEGIN CERTIFICATE — {Intermediate Certificate Authority Certificate} — END CERTIFICATE — — BEGIN CERTIFICATE — {Root Certificate Authority Certificate} — END CERTIFICATE —
請確認這個含有鏈結檔案的新憑證檔案沒有前置或尾端空格、空白行,並且順序如上。
上載證書頒發機構頒發的證書
驗證
登入到CTB Manager節點Web控制檯並導航到Settings > TLS Certificate 以檢視證書詳細資訊(如新的到期日期),或使用瀏覽器檢視證書詳細資訊(如序列號)。
CTB證書詳細資訊
驗證CTB代理節點在CTB管理器節點Web UI中未顯示警報。
疑難排解
如果憑證不完整(例如缺少鏈結憑證),CTB Broker Node節點就無法與Manager Node通訊,並在Broker Nodes清單的Status欄中顯示「Not Seen Since」。
Broker節點將繼續複製和分發處於此狀態的流量。
登入CTB Manager節點CLI並發出sudo grep -ic begin /var/lib/titan/titanium_frontend/ssl/cert.pem 命令,檢視cert.pem檔案中的證書數量。
admin@ctb-manager:~$ sudo grep -ic begin /var/lib/titan/titanium_frontend/ssl/cert.pem [sudo] password for admin: 3 <-- Output admin@ctb-manager:~$
返回的輸出值需要等於鏈中的CA裝置數加上CTB管理器。
如果使用自簽名證書,則應為1的輸出。
如果PKI基礎設施包含也作為頒發CA的單個根CA,則預期輸出2。
如果PKI基礎設施包含根CA和頒發CA,則預期輸出3。
如果PKI基礎設施由根CA、從屬CA和頒發CA組成,則預期輸出4。
在其他應用程式(如 Microsoft Windows Crypto Shell Extensions)中檢視證書時,將輸出與列出的PKI進行比較。
PKI基礎設施
在此圖中,PKI基礎設施包括根CA和頒發CA。
在此案例中,指令的輸出值預期為3。
如果輸出未達到預期,請檢視建立帶鏈的證書部分中的步驟,以確定證書是否缺失。
在檢視憑證時,Microsoft Windows Crypto Shell Extensions 如果本機電腦沒有足夠資訊來驗證憑證,則可能無法顯示所有憑證。
從CLI發出sudo ctb-mayday 命令,生成用於TAC檢查的五月天捆綁包。