如何手动获取主机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>
etbackupin
bcertcmd -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>
etbackupin
bcertcmd -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>
etbackupin
bcertcmd -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文件指定介质服务器,则不需要其他参数。