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 :
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.
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
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 :
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
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
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"