Veritas NetBackup™ Appliance 安全指南
实施第三方 SSL 证书
您可以手动添加和实施第三方证书来获得 Web 服务支持。设备使用 Java KeyStore 作为安全证书的存储库。Java KeyStore (JKS) 是一个安全证书(例如,SSL 加密中用于实例的授权证书或公钥证书)存储库。要在设备中实施第三方证书,您必须以根帐户身份登录。
注意:
如果您需要此过程相关的帮助,请与 Veritas 技术支持联系。
实施第三方 SSL 证书:
- 为 Web 服务准备 keystore 文件。
此任务会因您所用的 PKCS(公钥密码标准)类型而异。无论您选择哪种 PKCS 类型,证书必须包含以下扩展名:
SubjectAlternativeName [
DNSName: hostnames and IP addresses
其中 hostnames 是设备的完全限定域名,IP address 对应于设备的完全限定域名。
下面介绍了使用 PKCS# 7 和 PKCS# 12 标准格式所需的准备工作:
PKCS#7 (X.509) 格式
使用以下链接:
PKCS#12 格式
执行下列操作:
要将 PEM 格式的 x509 证书和私钥转换为 PKCS# 12,请键入以下命令:
openssl pkcs12 -export -in server.crt -inkey server.key -out server.p12 -name tomcat -CAfile ca.crt -caname root
有关 openssl 用法的更多信息,请参考 https://www.openssl.org/。
在证书文件
server.crt的底部,确保包含中间证书颁发机构 (CA) 证书链,但不包括根 CA 证书。请确保使用密码保护 PKCS #12 文件。如果未对该文件应用此密码,则在尝试导入该文件时可能会遇到空引用异常。
要将 PKCS #12 文件转换为 Java Keystore,请键入以下命令:
keytool -importkeystore -deststorepass appliance -destkeypass appliance -destkeystore keystore -srckeystore server.p12 -srcstoretype PKCS12 -srcstorepass some- password -alias tomcat
注意:
请确保为 -deststorepass 和 -destkeypass 选项指定相同的密码。否则,在 Web 服务器启动时可能会遇到异常。对于密码,仅支持字母数字字符。默认密码为 appliance。此外,请确保为 -alias 选项指定 tomcat。否则,在 Web 服务器启动时可能会遇到异常。
有关 keytool 用法的更多信息,请参考以下链接:
http://docs.oracle.com/javase/8/docs/technotes/tools/solaris/keytool.html
- 键入以下命令以关闭数据库和相关服务:
systemctl stop nginx
/opt/IMAppliance/scripts/infraservices.sh database stop
/opt/IMAppliance/scripts/infraservices.sh webserver stop
- 将现有的 keystore 文件替换为以下目录中的新 keystore 文件:
/opt/apache-tomcat/security/ - 将权限设置为新的 keystore 文件:
chmod 700 /opt/apache-tomcat/securitychmod 600 /opt/apache-tomcat/security/keystorechown –R tomcat:tomcat /opt/apache-tomcat/security - 如果在前面的步骤中使用自己的非默认密码,则键入以下命令以更新 Web 服务器配置:
/opt/apache-tomcat/vrts/scripts/tomcat_instance.py update --keystore --password <your password>
- 在
/etc/rc.d/init.d/as-functions文件中更新 Tomcat_Keystore 和 Tomcat_Keystore_Passwd 设置。 - 从 /etc/vxos-ssl/cert.conf 获取
server_cert文件,并使用以下命令将证书导入该文件:/usr/bin/openssl pkcs12 -in server.p12 -out <server_cert> -passin pass: <keyPassword> -passout pass: <keyPassword>
- 从 /etc/vxos-ssl/cert.conf 获取
client_cert文件,并使用根 CA 证书替换文件内容。 - 如果自定义的密码与
/etc/vxos-ssl/cert.conf中的pem_password不同,则修改/etc/vxos-ssl/cert.conf以使用自定义的密码。 - 键入以下命令以重新启动
nginx:/usr/sbin/update-nginx-conf.sh
systemctl stop nginx
systemctl start nginx
- 键入以下命令以重新启动 Web 服务:
/opt/IMAppliance/scripts/infraservices.sh database start
/opt/IMAppliance/scripts/infraservices.sh webserver start
- 键入以下命令以重新启动 AutoSupport 服务:
service as-alertmanager stop
service as-analyzer stop
service as-transmission stop
service as-alertmanager start
service as-analyzer start
service as-transmission start
- 对于每个与 3.1.2 或更高版本的 NetBackup Appliance 介质服务器关联的主服务器,在每个主服务器针对需要部署的每个第三方根 CA SSL 证书运行以下命令。必须从根级别运行命令。
对于基于 UNIX 的 NetBackup 主服务器或设备主服务器:
/usr/openv/java/jre/bin/keytool -importcert -storepass `cat /usr/openv/var/global/jkskey` -keystore /usr/openv/var/global/wsl/credentials/truststoreMSDP -file <path to root CA certificate file> -alias <descriptive label for root CA certificate>
对于基于 Windows 的 NetBackup 主服务器:
从位于以下路径的
jkskey文件获取 keystore 密码。您可以使用文本编辑器或 shell/命令实用程序(如 type)读取jkskey文件。注意:
将 C: 替换为安装 NetBackup 的驱动器盘符。
C:\Program Files\Veritas\NetBackup\var\global\jkskey
小心:
上述路径指向的文件包含由 NetBackup Web Management Console 使用的 Java keystore 文件的 NetBackup 密码。应将该文件视为机密敏感文件,而且永远不要对其进行编辑。否则,NetBackup 将无法工作。
输入以下命令,并将 keystore password 替换为上一个任务中的密码:
注意:
将 C: 替换为安装 NetBackup 的驱动器盘符。
"C:\Program Files\Veritas\NetBackup\jre\bin\keytool" -importcert -keystore "C:\Program Files\Veritas\NetBackup\var\global\wsl\credentials\truststoreMSDP" -storepass <keystore password> -file "<path to root CA certificate file>" -alias <descriptive label for root CA certificate>