Scénario : Authentification du serveur MySQL

Nous vous recommandons d'utiliser un certificat TLS pour authentifier le serveur MySQL. Vous pouvez utiliser un certificat d'une autorité de certification de confiance ou un certificat auto-signé.

Le Serveur d'administration prend en charge l'authentification SSL unidirectionnelle et bidirectionnelle pour MySQL.

Activer l'authentification SSL unidirectionnelle

Suivez ces étapes pour configurer l'authentification SSL unidirectionnelle pour MySQL :

  1. Générez un certificat TLS auto-signé pour le serveur MySQL

    Dans PowerShell, remplacez le répertoire par le dossier dans lequel vous souhaitez stocker les certificats. Exécutez les commande suivantes :

    $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

    Ces commandes créent des certificats pour l'utilisateur actuel et exportent les certificats au format PEM. Pour authentifier le serveur, seul les fichiers PEM exportés sont nécessaires. Pour supprimer les certificats créés depuis Windows, exécutez la commande suivante dans PowerShell :

    certmgr.msc

    Dans le dossier Personnel → Certificats, localisez les certificats créés et supprimez-les.

  2. Créez un fichier indicateur de serveur

    Exécutez l'invite de commande Windows en utilisant les droits d'administrateur, puis remplacez votre répertoire actuel par celui contenant l'utilitaire klscflag. L'utilitaire klsclag se trouve dans le dossier dans lequel le Serveur d'administration est installé. Chemin d'installation par défaut est <Disk>:\Program Files (x86)\Kaspersky Lab\Kaspersky Security Center.

    Utilisez l'utilitaire klsclag pour créer l'indicateur de serveur KLSRV_MYSQL_OPT_SSL_CA et indiquez le chemin d'accès au certificat comme valeur.

    klscflag -fset -pv klserver -n KLSRV_MYSQL_OPT_SSL_CA -v <chemin vers ca-cert.pem> -t s

  3. Configurez la base de données

    Spécifiez les certificats dans le fichier my.cnf. Ouvrez le fichier my.cnf dans un éditeur de texte et ajoutez les lignes suivantes dans la section [mysqld] :

    [mysqld]

    ssl-ca="...\mysqlcerts\ca-cert.pem"

    ssl-cert="...\mysqlcerts\server-cert.pem"

    ssl-key="...\mysqlcerts\server-key.pem"

Activer l'authentification SSL bidirectionnelle

Suivez ces étapes pour configurer l'authentification SSL bidirectionnelle pour MySQL :

  1. Créez les fichiers indicateurs de serveur

    Exécutez l'invite de commande Windows en utilisant les droits d'administrateur, puis remplacez votre répertoire actuel par celui contenant l'utilitaire klscflag. L'utilitaire klsclag se trouve dans le dossier dans lequel le Serveur d'administration est installé. Chemin d'installation par défaut est <Disk>:\Program Files (x86)\Kaspersky Lab\Kaspersky Security Center.

    À l'aide de l'utilitaire klsclag, créez les indicateurs de serveur et indiquez comme valeurs le chemin d'accès aux fichiers de certificat :

    klscflag -fset -pv klserver -n KLSRV_MYSQL_OPT_SSL_CA -v <chemin vers ca-cert.pem> -t s

    klscflag -fset -pv klserver -n KLSRV_MYSQL_OPT_SSL_CERT -v <chemin vers server-cert.pem> -t s

    klscflag -fset -pv klserver -n KLSRV_MYSQL_OPT_SSL_KEY -v <chemin vers server-key.pem> -t s

  2. Indiquez la phrase secrète (facultatif)

    Si server-key.pem requiert une phrase secrète, créez un indicateur KLSRV_MARIADB_OPT_TLS_PASPHRASE et indiquez la phrase secrète comme valeur :

    klscflag -fset -pv klserver -n KLSRV_MARIADB_OPT_TLS_PASPHRASE -v <phrase secrète> -t s

  3. Configurez la base de données

    Spécifiez les certificats dans le fichier my.cnf. Ouvrez le fichier my.cnf dans un éditeur de texte et ajoutez les lignes suivantes dans la section [mysqld] :

    [mysqld]

    ssl-ca="...\ca-cert.pem"

    ssl-cert="...\server-cert.pem"

    ssl-key="...\server-key.pem"

Haut de page