Scenario: autenticazione di MySQL Server

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:

  1. Generare un certificato TLS autofirmato per il server 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.

  2. Creare un file flag del server

    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

  3. Configurare il database

    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:

  1. Creare file flag del server

    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

  2. Specificare la passphrase (facoltativo)

    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

  3. Configurare il database

    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"

Inizio pagina