Zalecamy użycie certyfikatu TLS do uwierzytelnienia serwera MySQL. Możesz użyć certyfikatu z zaufanego urzędu certyfikacji lub certyfikatu z podpisem własnym.
Serwer administracyjny obsługuje zarówno jednokierunkowe, jak i dwukierunkowe uwierzytelnianie SSL dla MySQL.
Włącz jednokierunkowe uwierzytelnianie SSL
Wykonaj poniższe kroki, aby skonfigurować jednokierunkowe uwierzytelnianie SSL dla MySQL:
W programie PowerShell zmień katalog na folder, w którym chcesz przechowywać certyfikaty. Wykonaj następujące polecenia:
$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 = @"
-----POCZĄTEK CERTYFIKATU-----
$CertCABase64
-----KONIEC CERTYFIKATU-----
"@
$CertLeafPemKey = @"
-----POCZĄTEK KLUCZA PRYWATNEGO-----
$CertLeafKeyBase64
-----KONIEC KLUCZA PRYWATNEGO-----
"@
$CertLeafPemCert = @"
-----POCZĄTEK CERTYFIKATU-----
$CertLeafBase64
-----KONIEC CERTYFIKATU-----
"@
# 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
Polecenia te tworzą certyfikaty dla bieżącego użytkownika i eksportują certyfikaty do formatu PEM. Do uwierzytelnienia serwera potrzebne są jedynie wyeksportowane pliki PEM. Aby usunąć utworzone certyfikaty z systemu Windows, wykonaj następujące polecenie w programie PowerShell:
certmgr.msc
Znajdź utworzone certyfikaty w folderze Osobiste → Certyfikaty i usuń je.
Uruchom wiersz poleceń systemu Windows, korzystając z uprawnień administratora, a następnie zmień bieżący katalog na inny za pomocą narzędzia klscflag. Narzędzie klscflag znajduje się w folderze, w którym zainstalowany jest serwer administracyjny. Domyślna ścieżka instalacji to <Disk>:\Program Files (x86)\Kaspersky Lab\Kaspersky Security Center.
Użyj narzędzia klscflag, aby utworzyć flagę serwera KLSRV_MYSQL_OPT_SSL_CA i jako jej wartość określ ścieżkę do certyfikatu.
klscflag -fset -pv klserver -n KLSRV_MYSQL_OPT_SSL_CA -v <
path to
ca-cert.pem> -t d
Określ certyfikaty w pliku my.cnf. Otwórz plik my.cnf w edytorze tekstu i dodaj następujące wiersze do sekcji [mysqld]:
[mysqld]
ssl-ca=".../mysqlcerts/ca-cert.pem"
ssl-cert=".../mysqlcerts/server-cert.pem"
ssl-key=".../mysqlcerts/server-key.pem"
Włącz dwukierunkowe uwierzytelnianie SSL
Wykonaj poniższe kroki, aby skonfigurować dwukierunkowe uwierzytelnianie SSL dla MySQL:
Uruchom wiersz poleceń systemu Windows, korzystając z uprawnień administratora, a następnie zmień bieżący katalog na inny za pomocą narzędzia klscflag. Narzędzie klscflag znajduje się w folderze, w którym zainstalowany jest serwer administracyjny. Domyślna ścieżka instalacji to <Disk>:\Program Files (x86)\Kaspersky Lab\Kaspersky Security Center.
Użyj narzędzia klscflag, aby utworzyć flagi serwera i jako ich wartości określ ścieżkę do plików certyfikatów:
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
Jeśli plik server-key.pem wymaga hasła, utwórz flagę KLSRV_MARIADB_OPT_TLS_PASPHRASE i podaj hasło jako jego wartość:
klscflag -fset -pv klserver -n KLSRV_MARIADB_OPT_TLS_PASPHRASE -v <
passphrase
> -t s
Określ certyfikaty w pliku my.cnf. Otwórz plik my.cnf w edytorze tekstu i dodaj następujące wiersze do sekcji [mysqld]:
[mysqld]
ssl-ca="...\ca-cert.pem"
ssl-cert="...\server-cert.pem"
ssl-key="...\server-key.pem"