我们建议您使用 TLS 证书对 MySQL 服务器进行身份验证。您可以使用来自可信证书颁发机构 (CA) 的证书或自签名证书。
管理服务器支持 MySQL 的单向和双向 SSL 身份验证。
启用单向 SSL 身份验证
请按照以下步骤为 MySQL 配置单向 SSL 身份验证:
在 PowerShell 中,将目录更改为要存储证书的文件夹。执行以下命令:
$CertCA = New-SelfSignedCertificate `
-Subject "CN=CertCA" `
-CertStoreLocation "Cert:\CurrentUser\My" `
-HashAlgorithm "SHA256" `
-NotAfter (Get-Date).AddDays(365)
$CertCABase64 = [System.Convert]::ToBase64String($CertCA.RawData, [System.Base64FormattingOptions]::InsertLineBreaks)
$CertLeaf = New-SelfSignedCertificate `
-Subject "CN=CertLeaf" `
–Signer $CertCA `
-CertStoreLocation "Cert:\CurrentUser\My" `
-HashAlgorithm "SHA256" `
-KeyExportPolicy Exportable `
-NotAfter (Get-Date).AddDays(365)
$CertLeafBase64 = [System.Convert]::ToBase64String($CertLeaf.RawData, [System.Base64FormattingOptions]::InsertLineBreaks)
$CertLeafRSACng = [System.Security.Cryptography.X509Certificates.RSACertificateExtensions]::GetRSAPrivateKey($CertLeaf)
$CertLeafKeyBytes = $CertLeafRSACng.Key.Export([System.Security.Cryptography.CngKeyBlobFormat]::Pkcs8PrivateBlob)
$CertLeafKeyBase64 = [System.Convert]::ToBase64String($CertLeafKeyBytes, [System.Base64FormattingOptions]::InsertLineBreaks)
$CertCAPemCert = @"
-----BEGIN CERTIFICATE-----
$CertCABase64
-----END CERTIFICATE-----
"@
$CertLeafPemKey = @”
-----BEGIN PRIVATE KEY-----
$CertLeafKeyBase64
-----END PRIVATE KEY-----
"@
$CertLeafPemCert = @"
-----BEGIN CERTIFICATE-----
$CertLeafBase64
-----END CERTIFICATE-----
"@
# Output to file
$CertCAPemCert | Out-File -FilePath ca-cert.pem -Encoding Ascii
$CertLeafPemKey | Out-File -FilePath server-key.pem -Encoding Ascii
$CertLeafPemCert | Out-File -FilePath server-cert.pem -Encoding Ascii
这些命令可为当前用户创建证书并将证书导出为 PEM 格式。您只需要导出的 PEM 文件来验证服务器。要从 Windows 中删除创建的证书,请在 PowerShell 中执行以下命令:
certmgr.msc
在个人 → 证书文件夹中定位创建的证书并将其删除。
使用管理员权限运行 Windows 命令提示符,然后将当前目录更改为包含 klscflag 实用程序的目录。klscflag 实用程序位于安装管理服务器的文件夹中。默认安装路径为 <Disk>:\Program Files (x86)\Kaspersky Lab\Kaspersky Security Center。
使用 klscflag 实用程序来创建 KLSRV_MYSQL_OPT_SSL_CA 服务器标志并指定证书的路径作为其值。
klscflag -fset -pv klserver -n KLSRV_MYSQL_OPT_SSL_CA -v <
path to
ca-cert.pem> -t s
在 my.cnf 文件中指定证书。在文本编辑器中打开 my.cnf 文件并将以下行添加到 [mysqld] 部分中:
[mysqld]
ssl-ca="...\mysqlcerts\ca-cert.pem"
ssl-cert="...\mysqlcerts\server-cert.pem"
ssl-key="...\mysqlcerts\server-key.pem"
启用双向 SSL 身份验证
请按照以下步骤为 MySQL 配置双向 SSL 身份验证:
使用管理员权限运行 Windows 命令提示符,然后将当前目录更改为包含 klscflag 实用程序的目录。klscflag 实用程序位于安装管理服务器的文件夹中。默认安装路径为 <Disk>:\Program Files (x86)\Kaspersky Lab\Kaspersky Security Center。
使用 klscflag 实用程序来创建服务器标记并指定证书文件的路径作为其值:
klscflag -fset -pv klserver -n KLSRV_MYSQL_OPT_SSL_CA -v <
path to
ca-cert.pem> -t s
klscflag -fset -pv klserver -n KLSRV_MYSQL_OPT_SSL_CERT -v <
path to
server-cert.pem> -t s
klscflag -fset -pv klserver -n KLSRV_MYSQL_OPT_SSL_KEY -v <
path to
server-key.pem> -t s
如果 server-key.pem 需要密码,请创建 KLSRV_MARIADB_OPT_TLS_PASPHRASE 标记并指定密码作为其值:
klscflag -fset -pv klserver -n KLSRV_MARIADB_OPT_TLS_PASPHRASE -v <
passphrase
> -t s
在 my.cnf 文件中指定证书。在文本编辑器中打开 my.cnf 文件并将以下行添加到 [mysqld] 部分中:
[mysqld]
ssl-ca="...\ca-cert.pem"
ssl-cert="...\server-cert.pem"
ssl-key="...\server-key.pem"