如何手動獲取主機ID證書。
問題
從NetBackup V8.1開始,管理員需要在證書頒發機構(CA)(主服務器)與任何NetBackup介質服務器或客戶端之間配置信任關系。管理員可以在部署NetBackup時或在部署完成后配置此信任關系。在建立此信任關系之前,NetBackup無法正常運行。例如,備份和還原可能會失敗。 有關主機證書的更詳細討論,請參考“ Veritas NetBackup安全和加密指南”。
這里有幾種情況需要管理員在主服務器和媒體服務器或客戶端之間手動設置信任。
- 用戶決定跳過部署主機證書的交互式安裝
- 推送安裝/靜默安裝,用戶將SKIP放入/tmp/NBInstallAnswer.conf文件中。
- 集群
- 的LiveUpdate
- 客戶端受多個主服務器的保護
本文檔介紹了建立信任所需的手動步驟。
解
以下步驟詳細說明了如何在主服務器,介質服務器和客戶端之間設置信任。在每個方案中,手動獲取主機證書的步驟類似。注意到任何警告。
檢索並存儲CA證書
在介質服務器或客戶端上,確定此NetBackup主服務器是否存在CA證書。
Windows:<install_path> \ netbackup \ bin \ nbcertcmd -displayCACertDetail -server mymaster
UNIX:<install_path> / netbackup / bin / nbcertcmd -displayCACertDetail -server mymaster
輸出將類似於以下內容:
從服務器mymaster成功收到CA證書。
主題名稱:/ CN = nbatd / OU = root @ mymaster.mydomain.com/O=vx
開始日期:Dec 18 13:34:26 GMT
截止日期:Dec 13 14:49:26 2032 GMT
SHA1指紋:0E: 19:AF:AF:DB:A6:7F:A7:BA:AF:62:54:E8:9B:D4:6C:8A:06:E2:CF
CA證書狀態:不信任
請注意“ CA證書狀態 ”。 “受信任”表示CA證書已存在於myhost上的證書存儲中。 “不可信”表示證書存儲中不存在CA證書。
如果CA證書為“不受信任”,則必須從NetBackup主服務器檢索該證書。請與您的備份管理員聯系,以獲取CA的正確SHA1指紋值。如果您可以訪問主服務器,則可以運行以下命令以顯示SHA1指紋。
Windows:<install_path> \ netbackup \ bin \ nbcertcmd -listCACertDetails
UNIX:<install_path> / netbackup / bin / nbcertcmd -listCACertDetails
輸出將類似於以下內容:
主題名稱:/ CN = nbatd / OU = root @ mymaster.com/O=vx
開始日期:Sep 16 10:37:58 2016 GMT截止
日期:Sep 11 11:52:58 2036 GMT
SHA1指紋:C3:5E: 2E:21:78:DF:47:0D:FF:6A:45:7A:0E:7F:1B:98:B1:F2:92:CA
如果主服務器具有多個CA證書,則該命令將顯示多個證書條目。您可以使用輸出中的“ 主題名稱 ”來確定證書與主服務器之間的映射。
部署CA證書
Windows:<install_path> \ netbackup \ bin \ nbcertcmd -getCACertificate -server mymaster
UNIX:<install_path> / netbackup / bin / nbcertcmd -getCACertificate -server mymaster
如果運行命令的介質服務器或客戶端成功完成,則輸出類似於以下內容:
Authenticity of root certificate cannot be established.The SHA1 fingerprint of root certificate is C3:5E:2E:21:78:DF:47:0D:FF:6A:45:7A:0E:7F:1B:98:B1:F2:92:CA.Are you sure you want to continue using this certificate ? (y/n): yThe validation of root certificate fingerprint is successful.CA certificate stored successfully from server mymaster.
要確認已部署CA證書:
Windows:<install_path> \ netbackup \ bin \ nbcertcmd -displayCACertDetail -server mymaster
UNIX:<install_path> / netbackup / bin / nbcertcmd -displayCACertDetail -server mym aster
如果成功,輸出將類似於以下內容:
C A Certificate received successfully from server mymaster. Subject Name : /CN=nbatd/OU=root@mymaster.com/O=vx Start Date : Sep 16 10:37:58 2016 GMT Expiry Date : Sep 11 11:52:58 2036 GMT SHA1 Fingerprint : C3:5E:2E:21:78:DF:47:0D:FF:6A:45:7A:0E:7F:1B:98:B1:F2:92:CA CA Certificate State : Trusted
獲取介質服務器或客戶端的主機ID證書
嘗試手動獲取主機ID證書時,必須考慮以下因素:
-
-
主服務器上的NetBackup后台駐留程序或服務必須處於活動狀態。
-
NetBackup主服務器上配置的安全級別。
-
NetBackup主服務器是否已為此介質服務器或客戶端頒發了主機證書?
-
如果主機證書請求是針對客戶端的,那么是否存在與NetBackup主服務器的網絡連接?
-
所述nbcertcmd命令試圖通過錯誤代碼和信息性消息,通知這些條件的用戶。這些錯誤的例子詳述如下。
因素:主服務器上的NetBackup后台駐留程序或服務必須處於活動狀態
如果主服務器服務/守護程序未處於活動狀態,則在嘗試運行nbcertcmd時將顯示以下錯誤:
Windows:<install_path> \ netbackup \ bin \ nbcertcmd -displayCACertDetail -server mymaster
UNIX:<install_path> / netbackup / bin / nbcertcmd -displayCACertDetail -server mymaster
Failed to display CA certificate detailsnbcertcmd: The -displayCACertDetail operation failed.EXIT STATUS 26: client/server handshaking failed
因素:NetBackup主服務器上配置的安全級別
要確定主服務器上的安全級別,請運行主服務器上顯示的命令:
Windows:<install_path> \ netbackup \ bin \ nbcertcmd -getSecConfig -certDeployLevel
UNIX:<install_path> / netbackup / bin / nbcertcmd -getSecConfig -certDeployLevel
輸出將類似於以下內容:
證書部署的安全性:<非常高,高或中>
安全級別的定義如下:
安全級別
|
描述
|
---|---|
很高
|
如果主服務器可以將主機名解析為發出請求的IP地址,則頒發的證書沒有授權令牌。這應該是:每個新證書請求都必須附帶授權令牌。
|
高
(默認) |
在確認主服務器指紋或通過nbcertcmd命令后,在安裝期間將證書部署在主機上。如果主服務器已知主機,則不需要授權令牌。 如果可以在以下實體中找到主機,則認為主服務器已知主機: 1.如果主機是根據NetBackup配置文件(Windows注冊表或UNIX上的bp.conf文件)中的以下任何選項列出的: ■APP_PROXY_SERVER 2.如果主機在altnames文件(ALTNAMESDB_PATH)中列為客戶端名稱。 3.如果主機出現在主服務器的EMM數據庫中。 4.如果存在至少一個不到6個月的客戶目錄圖像。 5.如果客戶端列在至少一個備份策略中。 6.如果客戶端是舊客戶端。也就是說,客戶端列在主機屬性 - >主服務器 - >客戶端屬性中。 |
介質
|
如果主服務器可以將主機名解析為發出請求的IP地址,則在沒有授權令牌的情況下頒發證書。
|
常見錯誤:
錯誤:
“警告:沒有應答文件,沒有有效的bp.conf。
因此,安全配置不完整。
在進行備份和還原之前,需要手動執行步驟。有關
詳細信息,請訪問: https : //www.veritas.com/support/en_US/article.000127129。“
解決方案:
此錯誤消息表明在安裝過程中未生成bp.conf文件。要生成bp.conf文件,請執行:
錯誤:
在需要令牌時嘗試獲取主機ID證書將導致以下錯誤:
Windows:<install_path> \ netbackup \ bin \ nbcertcmd -getCertificate -host myhost -server mymaster
UNIX:<install_path> / netbackup / bin / nbcertcmd -getCertificate -host myhost -server mymaster
輸出將類似於以下內容:
Solution: Use the -token argument with nbcertcmd command to prompt for a token. A token is 16 uppercase characters. The token will not be echoed to the terminal when you type it.
Windows: <install_path>\netbackup\bin\nbcertcmd -getCertificate -host myhost -server mymaster -tokenUNIX: <install_path>/netbackup/bin/nbcertcmd -getCertificate -host myhost -server mymaster -token
The output will be similar to the following:
Authorization Token: [Type or paste in the upper case, 16 character token ] Host certificate and certificate revocation list received successfully from server mymaster.
此外,管理員可以為非交互式安裝指定nbcertcmd命令的-envtoken <envtoken>參數。該envtoken是包含令牌的環境變量。
示例Windows:
在命令提示符下設置臨時環境設置:
set myenvtoken = ABCDEFGHIJKLMNOP使用指定的envtoken
執行nbcertcmd:<install_path> \ netbackup \ bin \ nbcertcmd -getCertificate -host myhost -server mymaster -envtoken myenvtoken結果輸出:主機證書和從服務器mymaster成功收到證書撤銷列表。完成上述操作后,運行:set myenvtoken = 或者,退出命令提示符,該命令提示符將自動刪除該變量。
示例Unix:
要設置環境變量,請從命令提示符執行以下命令:
myenvtoken =“ABCDEFGHIJKLMNOP”
export myenvtoken
<install_path> / netbackup / bin / nbcertcmd -getCertificate -host myhost -server mymaster -envtoken myenvtoken
結果輸出:
Host certificate and certificate revocation list received successfully from server mymaster.
Once the above is complete, run: unset myenvtoken
錯誤:
嘗試獲取主服務器不知道的介質服務器或客戶端的主機ID證書,將顯示以下錯誤:
Windows:<install_path> \ netbackup \ bin \ nbcertcmd -getCertificate
Unix:<install_path> / netbackup / bin / nbcertcmd -getCertificate
輸出將類似於以下內容:
nbcertcmd:服務器myclient的-getCertificate操作失敗。
退出狀態5955:主服務器不知道主機名。
解決方案:
根據當前配置的安全級別,根據本文前面的安全級別表中描述的方法之一,使主服務器知道客戶端。使主服務器知道客戶端后,將成功獲取主機ID證書。或者,用戶可以指定授權令牌。
Windows:<install_path> \ netbackup \ bin \ nbcertcmd -getCertificate -hos t myhost -se rver mymaster
Unix:<install_path> / netbackup / bin / nbcertcmd -getCertificate -hos t myhost -se rver mymaster
輸出將類似於以下內容:
從服務器mymaster成功收到主機證書和證書吊銷列表。
因素:NetBackup主服務器是否已為此客戶端/介質服務器頒發了主機ID證書?
嘗試獲取應具有主機ID證書的主機的主機ID證書將導致錯誤。此錯誤的最常見原因是嘗試重新安裝介質服務器或客戶端,或在部署主機證書后中斷安裝。該hostselfcheck選項可用於確定您的當前狀態。
主機ID證書存在:
Windows:<install_path> \ netbackup \ bin \ nbcertcmd -hostselfcheck -server mymaster
Unix:<install_path> / netbackup / bin / nbcertcmd -hostselfcheck -server mymaster
結果輸出:
證書未被撤銷。
主機ID證書不存在:
Windows:<install_path> \ netbackup \ bin \ nbcertcmd -hostselfcheck -server mymaster
Unix:<install_path> / netbackup / bin / nbcertcmd -hostselfcheck -server mymaster
結果輸出:
無法讀取server = mymaster的CRL,錯誤= 12.
無法讀取證書。
退出狀態5949:證書不存在。
如果主機ID證書不存在,請使用getCertificate選項檢索主機ID證書。
Windows:<install_path> \ netbackup \ bin \ nbcertcmd -getCertificate -host myhost -server mymaster
Unix:<install_path> / netbackup / bin / nbcertcmd -getCertificate -host myhost -server mymaster
結果輸出:
nbcertcmd:服務器mymaster的-getCertificate操作失敗。
退出狀態5940:重發令牌是強制性的,請提供重發令牌。
在這種情況下,必須生成稱為重發令牌的特殊類型的授權令牌。 有關如何生成重發令牌的詳細信息,請參考“ Veritas NetBackup安全和加密指南”。此操作在主服務器上執行。
的重發標記被傳遞給nbcertcmd中相同的方式作為一個授權令牌。甲補發令牌是16個大寫字符。鍵入時,重發令牌不會回顯到終端。
Windows:<install_path> \ netbackup \ bin \ nbcertcmd -getCertificate -host myhost -server mymaster -token
Unix:<install_path> / netbackup / bin / nbcertcmd -getCertificate -host myhost -server mymaster -token
結果輸出:
授權令牌:[鍵入或粘貼大寫,16個字符標記]
從服務器mymaster成功接收的主機證書和證書吊銷列表。
此外,管理員可以為非交互式安裝指定nbcertcmd命令的-envtoken <envtoken>參數。該envtoken是包含令牌的環境變量。
Example Windows:
At the command prompt set the temporary environmental setting:
set myenvtoken=ABCDEFGHIJKLMNOP
Executed nbcertcmd with the envtoken specified:
<install_path>\netbackup\bin\nbcertcmd -getCertificate -host myhost -server mymaster -envtoken myenvtoken
Resulting output:
Host certificate and certificate revocation list received successfully from server mymaster.
Once the above is complete, run: set myenvtoken=
Alternately, exit the command prompt which will automatically delete the variable.
示例Unix:
要設置環境變量,請從命令提示符執行以下命令:
myenvtoken =“ABCDEFGHIJKLMNOP”
export myenvtoken
<install_path> / netbackup / bin / nbcertcmd -getCertificate -host myhost -server mymaster -envtoken myenvtoken
結果輸出:
Host certificate and certificate revocation list received successfully from server mymaster.
Once the above is complete, run: unset myenvtoken
因素:如果主機ID證書請求是針對客戶端的,那么是否存在與NetBackup主服務器的網絡連接?
某些NetBackup客戶端可能沒有與主服務器的直接網絡連接。要確定客戶端是否具有直接訪問權限,請使用nbcertcmd -ping命令。有幾個錯誤代碼可能表明不存在直接連接。
Windows:<install_path> \ netbackup \ bin \ nbcertcmd -ping
Unix:<install_path> / netbackup / bin / nbcertcmd -ping
結果輸出:
nbcertcmd:-ping操作失敗。
退出狀態8500:未建立與Web服務的連接。
如果沒有直接訪問權限,您可以指定一個或多個介質服務器作為nbcertcmd的選項。這些媒體服務器作為一個代理為nbcertcmd電話。媒體服務器上無需配置即可支持此功能。唯一的要求是:
-
-
客戶端可以直接訪問媒體服務器
-
介質服務器和主服務器位於同一NetBackup域中
-
介質服務器正在運行NetBackup 8.1
-
要配置主機ID證書,請為nbcertcmd命令提供--mediaServList參數。
Windows: <install_path>\netbackup\bin\nbcertcmd -getCertificate -host myhost -server mymaster -mediaServList mymediaserverUnix: <install_path>/netbackup/bin/nbcertcmd -getCertificate -host myhost -server mymaster -mediaServList mymediaserver
If successful, the following will be displayed:
Host certificate and certificate revocation list received successfully from server mymaster.
如果使用Windows上的注冊表中的MEDIA_SERVERS項或UNIX / Linux上的bp.conf文件指定介質服務器,則不需要其他參數。