Si consiglia di utilizzare un certificato TLS per autenticare MySQL Server. È possibile utilizzare un certificato di un'autorità di certificazione attendibile o un certificato autofirmato.
Administration Server supporta l'autenticazione SSL unidirezionale e bidirezionale per MySQL.
Abilitazione dell'autenticazione SSL unidirezionale
Seguire questi passaggi per configurare l'autenticazione SSL unidirezionale per MySQL:
In PowerShell, cambiare directory nella cartella in cui si desidera archiviare i certificati. Eseguire i seguenti comandi:
$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
Questi comandi creano i certificati per l'utente corrente ed esportano i certificati nel formato PEM. Per autenticare il server sono necessari solo i file PEM esportati. Per rimuovere i certificati creati da Windows, eseguire il seguente comando in PowerShell:
certmgr.msc
Individuare i certificati creati nella cartella Personale → Certificati ed eliminarli.
Eseguire il prompt dei comandi di Windows con diritti di amministratore, quindi modificare la directory corrente nella directory con l'utilità klscflag. L'utilità klscflag si trova nella cartella in cui è installato Administration Server. Il percorso di installazione predefinito è <Disco>:\Programmi (x86)\ Kaspersky Lab\ Kaspersky Security Center.
Utilizzare l'utilità klscflag per creare il contrassegno del server KLSRV_MYSQL_OPT_SSL_CA e specificare il percorso del certificato come valore.
klscflag -fset -pv klserver -n KLSRV_MYSQL_OPT_SSL_CA -v <
percorso di
ca-cert.pem> -t s
Specificare i certificati nel file my.cnf. Aprire il file my.cnf in un editor di testo e aggiungere le seguenti righe nella sezione [mysqld]:
[mysqld]
ssl-ca="...\mysqlcerts\ca-cert.pem"
ssl-cert="...\mysqlcerts\server-cert.pem"
ssl-key="...\mysqlcerts\server-key.pem"
Abilitazione dell'autenticazione SSL bidirezionale
Seguire questi passaggi per configurare l'autenticazione SSL bidirezionale per MySQL:
Eseguire il prompt dei comandi di Windows con diritti di amministratore, quindi modificare la directory corrente nella directory con l'utilità klscflag. L'utilità klscflag si trova nella cartella in cui è installato Administration Server. Il percorso di installazione predefinito è <Disco>:\Programmi (x86)\ Kaspersky Lab\ Kaspersky Security Center.
Utilizzare l'utilità klscflag per creare i contrassegni del server e specificare il percorso dei file del certificato come valori:
klscflag -fset -pv klserver -n KLSRV_MYSQL_OPT_SSL_CA -v <
percorso di
ca-cert.pem> -t s
klscflag -fset -pv klserver -n KLSRV_MYSQL_OPT_SSL_CERT -v <
percorso di
server-cert.pem> -t s
klscflag -fset -pv klserver -n KLSRV_MYSQL_OPT_SSL_KEY -v <
percorso di
server-key.pem> -t s
Se server-key.pem richiede una passphrase, creare un contrassegno KLSRV_MARIADB_OPT_TLS_PASPHRASE e specificare la passphrase come valore:
klscflag -fset -pv klserver -n KLSRV_MARIADB_OPT_TLS_PASPHRASE -v <
passphrase
> -t s
Specificare i certificati nel file my.cnf. Aprire il file my.cnf in un editor di testo e aggiungere le seguenti righe nella sezione [mysqld]:
[mysqld]
ssl-ca="...\ca-cert.pem"
ssl-cert="...\server-cert.pem"
ssl-key="...\server-key.pem"