使用SnapCenter Server 配置安全的 MySQL 连接
如果您想在独立配置或网络负载平衡 (NLB) 配置中保护SnapCenter服务器和 MySQL 服务器之间的通信,则可以生成安全套接字层 (SSL) 证书和密钥文件。
为独立SnapCenter服务器配置配置安全的 MySQL 连接
如果您想确保SnapCenter服务器和 MySQL 服务器之间的通信安全,可以生成安全套接字层 (SSL) 证书和密钥文件。您必须在 MySQL 服务器和SnapCenter服务器中配置证书和密钥文件。
生成以下证书:
-
CA 证书
-
服务器公钥和私钥文件
-
客户端公钥和私钥文件
步骤
-
使用 openssl 命令为 Windows 上的 MySQL 服务器和客户端设置 SSL 证书和密钥文件。
用于服务器证书、客户端证书和密钥文件的通用名称值必须与用于 CA 证书的通用名称值不同。如果通用名称值相同,则使用 OpenSSL 编译的服务器的证书和密钥文件将失败。 *最佳实践:*您应该使用服务器完全限定域名 (FQDN) 作为服务器证书的通用名称。
-
将 SSL 证书和密钥文件复制到 MySQL 数据文件夹。
默认的 MySQL 数据文件夹路径是
C:\ProgramData\NetApp\SnapCenter\MySQL Data\Data\
。 -
更新MySQL服务器配置文件(my.ini)中的CA证书、服务器公钥、客户端公钥、服务器私钥、客户端私钥路径。
默认的 MySQL 服务器配置文件(my.ini)路径是
C:\ProgramData\NetApp\SnapCenter\MySQL Data\my.ini
。您必须在 MySQL 服务器配置文件(my.ini)的 [mysqld] 部分中指定 CA 证书、服务器公共证书和服务器私钥路径。 您必须在 MySQL 服务器配置文件(my.ini)的 [client] 部分中指定 CA 证书、客户端公共证书和客户端私钥路径。
以下示例显示复制到默认文件夹中 my.ini 文件的 [mysqld] 部分的证书和密钥文件
C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data
。ssl-ca="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/ca.pem"
ssl-cert="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/server-cert.pem"
ssl-key="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/server-key.pem"
以下示例显示了 my.ini 文件的 [client] 部分中更新的路径。
ssl-ca="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/ca.pem"
ssl-cert="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/client-cert.pem"
ssl-key="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/client-key.pem"
-
停止 Internet 信息服务器 (IIS) 中的SnapCenter Server Web 应用程序。
-
重新启动 MySQL 服务。
-
更新SnapManager文件中 MySQLProtocol 键的值。
以下示例显示了SnapManager文件中更新的 MySQLProtocol 键的值。
<add key="MySQLProtocol" value="SSL" />
-
使用 my.ini 文件的 [client] 部分中提供的路径更新SnapManager.Web.UI.dll.config 文件。
以下示例显示了 my.ini 文件的 [client] 部分中更新的路径。
<add key="ssl-client-cert" value="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/client-cert.pem" />
<add key="ssl-client-key" value="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/client-key.pem" />
<add key="ssl-ca" value="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/ca.pem" />
-
在 IIS 中启动SnapCenter Server Web 应用程序。
为 HA 配置配置安全的 MySQL 连接
如果您想确保SnapCenter服务器和 MySQL 服务器之间的通信安全,您可以为高可用性 (HA) 节点生成安全套接字层 (SSL) 证书和密钥文件。您必须在 MySQL 服务器和 HA 节点上配置证书和密钥文件。
生成以下证书:
-
CA 证书
在其中一个 HA 节点上生成 CA 证书,并将此 CA 证书复制到另一个 HA 节点。
-
两个 HA 节点的服务器公共证书和服务器私钥文件
-
两个 HA 节点的客户端公共证书和客户端私钥文件
步骤
-
对于第一个 HA 节点,使用 openssl 命令为 Windows 上的 MySQL 服务器和客户端设置 SSL 证书和密钥文件。
用于服务器证书、客户端证书和密钥文件的通用名称值必须与用于 CA 证书的通用名称值不同。如果通用名称值相同,则使用 OpenSSL 编译的服务器的证书和密钥文件将失败。 *最佳实践:*您应该使用服务器完全限定域名 (FQDN) 作为服务器证书的通用名称。
-
将 SSL 证书和密钥文件复制到 MySQL 数据文件夹。
默认 MySQL 数据文件夹路径为 C:\ProgramData\ NetApp\ SnapCenter\MySQL Data\Data\。
-
更新MySQL服务器配置文件(my.ini)中的CA证书、服务器公钥、客户端公钥、服务器私钥、客户端私钥路径。
默认 MySQL 服务器配置文件 (my.ini) 路径为 C:\ProgramData\ NetApp\ SnapCenter\MySQL Data\my.ini。
您必须在 MySQL 服务器配置文件(my.ini)的 [mysqld] 部分中指定 CA 证书、服务器公共证书和服务器私钥路径。 您必须在 MySQL 服务器配置文件(my.ini)的 [client] 部分中指定 CA 证书、客户端公共证书和客户端私钥路径。
以下示例显示复制到默认文件夹 C:/ProgramData/ NetApp/ SnapCenter/MySQL Data/Data 中 my.ini 文件的 [mysqld] 部分的证书和密钥文件。
ssl-ca="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/ca.pem"
ssl-cert="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/server-cert.pem"
ssl-key="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/server-key.pem"
以下示例显示了 my.ini 文件的 [client] 部分中更新的路径。
ssl-ca="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/ca.pem"
ssl-cert="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/client-cert.pem"
ssl-key="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/client-key.pem"
-
对于第二个 HA 节点,复制 CA 证书并生成服务器公钥证书、服务器私钥文件、客户端公钥证书和客户端私钥文件。执行以下步骤:
-
将第一个 HA 节点上生成的 CA 证书复制到第二个 NLB 节点的 MySQL Data 文件夹中。
默认 MySQL 数据文件夹路径为 C:\ProgramData\ NetApp\ SnapCenter\MySQL Data\Data\。
您不能再次创建 CA 证书。您应该只创建服务器公共证书、客户端公共证书、服务器私钥文件和客户端私钥文件。 -
对于第一个 HA 节点,使用 openssl 命令为 Windows 上的 MySQL 服务器和客户端设置 SSL 证书和密钥文件。
用于服务器证书、客户端证书和密钥文件的通用名称值必须与用于 CA 证书的通用名称值不同。如果通用名称值相同,则使用 OpenSSL 编译的服务器的证书和密钥文件将失败。 建议使用服务器 FQDN 作为服务器证书的通用名称。
-
将 SSL 证书和密钥文件复制到 MySQL 数据文件夹。
-
更新MySQL服务器配置文件(my.ini)中的CA证书、服务器公钥、客户端公钥、服务器私钥、客户端私钥路径。
您必须在 MySQL 服务器配置文件(my.ini)的 [mysqld] 部分中指定 CA 证书、服务器公共证书和服务器私钥路径。 您必须在 MySQL 服务器配置文件(my.ini)的 [client] 部分中指定 CA 证书、客户端公共证书和客户端私钥路径。
以下示例显示复制到默认文件夹 C:/ProgramData/ NetApp/ SnapCenter/MySQL Data/Data 中 my.ini 文件的 [mysqld] 部分的证书和密钥文件。
ssl-ca="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/ca.pem"
ssl-cert="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/server-cert.pem"
ssl-key="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/server-key.pem"
以下示例显示了 my.ini 文件的 [client] 部分中更新的路径。
ssl-ca="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/ca.pem"
+
ssl-cert="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/server-cert.pem"
+
ssl-key="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/server-key.pem"
-
-
停止两个 HA 节点上的 Internet 信息服务器 (IIS) 中的SnapCenter Server Web 应用程序。
-
在两个 HA 节点上重新启动 MySQL 服务。
-
更新两个 HA 节点的SnapManager.Web.UI.dll.config 文件中 MySQLProtocol 键的值。
以下示例显示了SnapManager文件中更新的 MySQLProtocol 键的值。
<add key="MySQLProtocol" value="SSL" />
-
使用您在 my.ini 文件的 [client] 部分中为两个 HA 节点指定的路径更新SnapManager.Web.UI.dll.config 文件。
以下示例显示了 my.ini 文件的 [client] 部分中更新的路径。
<add key="ssl-client-cert" value="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/client-cert.pem" />
<add key="ssl-client-key" value="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/client-key.pem" />
<add key="ssl-ca" value="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/ca.pem" />
-
在两个 HA 节点上的 IIS 中启动SnapCenter Server Web 应用程序。
-
在其中一个 HA 节点上使用带有 -Force 选项的 Set-SmRepositoryConfig -RebuildSlave -Force PowerShell cmdlet 在两个 HA 节点上建立安全的 MySQL 复制。
即使复制状态良好,-Force 选项也允许您重建从属存储库。