我們建議您使用 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"