作为安装后过程的一部分,可能需要设置安全套接字层 (SSL) 证书。安装 SaltStack Config 时,设置 SSL 证书是可选操作,但建议进行设置。
开始前
设置 SSL 证书是应按特定顺序执行一系列步骤中的一个安装后步骤。首先,完成其中一个安装方案,然后阅读以下安装后页面:
设置并配置 SSL 证书
要创建 SSL 证书,请执行以下操作:
- 要在安装后配置 SSL,必须安装
python36-pyOpenSSL
软件包。此步骤通常在安装之前完成。如果在安装之前无法安装,可以现在安装。有关检查和安装此依赖项的说明,请参见所需的 SaltStack Config依赖关系。 - 为 RaaS 服务的证书文件夹创建并设置权限。
sudo mkdir -p /etc/raas/pki sudo chown raas:raas /etc/raas/pki sudo chmod 750 /etc/raas/pki
- 使用 Salt 为 RaaS 服务生成密钥,或提供您自己的密钥。
sudo salt-call --local tls.create_self_signed_cert tls_dir=raas sudo chown raas:raas /etc/pki/raas/certs/localhost.crt sudo chown raas:raas /etc/pki/raas/certs/localhost.key sudo chmod 400 /etc/pki/raas/certs/localhost.crt sudo chmod 400 /etc/pki/raas/certs/localhost.key
- 要启用与 SaltStack Config 用户界面的 SSL 连接,请生成 PEM 编码的 SSL 证书,或确保您有权访问现有的 PEM 编码证书。
- 将上一步中生成的
.crt
和.key
文件保存到 RaaS 节点上的/etc/pki/raas/certs
中。 - 在文本编辑器中打开
/etc/raas/raas
,更新 RaaS 服务配置。配置以下值,并将<filename>
替换为您的 SSL 证书文件名:tls_crt:/etc/pki/raas/certs/<filename>.crt tls_key:/etc/pki/raas/certs/<filename>.key port:443
- 重新启动 RaaS 服务。
sudo systemctl restart raas
- 验证 RaaS 服务是否正在运行。
sudo systemctl status raas
- 在 Web 浏览器中,导航到组织的自定义应用程序 SaltStack Config URL 并输入凭据,确认可以连接到用户界面。有关登录的详细信息,请参见首次登录并更改默认凭据。
现在已为 SaltStack Config 设置 SSL 证书。
更新 SSL 证书
有关更新 SaltStack Config 的 SSL 证书的说明,请参见 VMware 知识库。有关详细信息,请参见如何更新 SaltStack Config 的 SSL 证书。
对 vRealize Automation 使用自签名证书的 SaltStack Config 环境进行故障排除
此信息适用于使用非标准证书颁发机构签名的证书进行 vRealize Automation 部署的客户。
SaltStack Config 可能会遇到以下症状:
- 首次打开 vRealize Automation 时,Web 浏览器会在 URL 旁边或显示页面中显示一条安全警告,指明无法验证证书。
- 尝试在 Web 浏览器中打开 SaltStack Config 用户界面时,可能会显示 403 错误或空白屏幕。
如果 vRealize Automation 部署使用非标准证书颁发机构签名的证书,则可能会导致出现这些症状。要验证这是否导致 SaltStack Config 显示空白屏幕,请通过 SSH 登录到托管 SaltStack Config 的节点,然后查看 RaaS 日志文件 (/var/log/raas/raas
)。如果发现回溯追踪错误消息,指明不允许使用自签名证书,您可以尝试以下两种选项来解决此问题。
最佳的安全做法是,不将生产环境设置为使用自签名证书或未正确签名的证书对 vRealize Automation 或 SaltStack Config 进行身份验证。建议做法是改为使用受信任证书颁发机构签名的证书。
如果您选择使用自签名证书或未正确签名的证书,则可能会使您的系统面临严重的安全违规风险。使用此过程时,请谨慎进行。
如果遇到此问题,并且您的环境需要继续使用由非标准证书颁发机构签名的证书,则以下两个方案可供您使用。
第一种选项是将 vRealize Automation 根证书颁发机构 (CA) 添加到 SaltStack Config 环境中。第二种选项是在 vRealize Automation 中禁用 SaltStack Config 证书验证。
将 vRealize Automation 根证书颁发机构 (CA) 添加到 SaltStack Config 环境
此过程要求:
- Root 访问权限
- 能够通过 SSH 访问 RaaS 服务器
最佳的安全做法是,仅将此级别的访问权限授予组织中最信任和最资深的人员。请注意限制 root 用户对环境的访问。
您可能会发现,创建专用证书颁发机构并使用该证书颁发机构签名您自己的 vRealize Automation 证书比使用自签名证书更容易。这种方法的优点是,对于所需的每个 vRealize Automation 证书,只需要执行此过程一次。否则,您必须针对创建的每个 vRealize Automation 证书执行此过程。有关创建专用证书颁发机构的详细信息,请参见如何使用自己的证书颁发机构签名证书请求 (Stack Overflow)。
要将非标准证书颁发机构签名的证书添加到 SaltStack Config 中的证书颁发机构列表,请执行以下操作:
- 尝试在浏览器中打开 vRealize Automation Web 界面。证书应在浏览器窗口和 URL 显示中显示警告消息。
- 运行以下脚本以获取并安装证书,并将
<vra_fqdn>
替换为您的 vRealize Automation FQDN:echo -n | openssl s_client -connect <vra_fqdn>:443 -showcerts | tac | sed -ne '1,/-BEGIN CERTIFICATE-/p' | tac | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | tee -a /etc/pki/tls/certs/ca-bundle.crt && sed -i.bak '/ExecStart\=/iEnvironment=REQUESTS_CA_BUNDLE=/etc/pki/tls/certs/ca-bundle.crt' /usr/lib/systemd/system/raas.service && systemctl daemon-reload && systemctl stop raas && rm /var/log/raas/raas && systemctl start raas && echo -e 'Starting RaaS Service and tailing the log to see if errors persist. \n Please Wait' && sleep 10 && echo -e 'Relaunch the web browser and navigate to the vRASSC login page and monitor this screen for further errors.\n CTRL+C to exit the tail' && tail -f /var/log/raas/raas
- 登录到 SaltStack Config Web 界面,验证此解决方案是否已解决该问题。如果问题已解决,SaltStack Config 将显示仪表板页面。
禁用证书验证
要在 SaltStack Config 中禁用证书验证,请执行以下操作:
- 打开 RaaS 节点上存储在
/etc/raas/raas
中的 RaaS 配置文件。 - 在
vra
设置中,将validate_ssl
的值设置为false
。 - 运行
systemctl restart raas
以重新启动 RaaS 服务。 - 登录到 SaltStack Config Web 界面,验证此解决方案是否已解决该问题。如果问题已解决,SaltStack Config 将显示仪表板页面。
后续操作
设置 SSL 证书后,可能还需要完成其他安装后步骤。
如果您是 SaltStack SecOps 客户,则下一步是设置这些服务。有关详细信息,请参见配置 SaltStack SecOps。
如果已完成所有必要的安装后步骤,下一步是将 SaltStack Config 与 vRealize Automation SaltStack SecOps 集成。有关详细信息,请参见在 vRealize Automation 中配置 SaltStack Config 集成。