Maison >base de données >tutoriel mysql >Activer TLS pour les clients MySQL

Activer TLS pour les clients MySQL

王林
王林avant
2023-08-23 14:07:401705parcourir

Activer TLS pour les clients MySQL

TLS est également connu sous le nom de SSL (Secure Sockets Layer). Il fait référence à la sécurité de la couche transport.

Lorsqu'il existe une connexion non cryptée entre le client MySQL et le serveur, une personne ayant accès au réseau peut observer tout le trafic et inspecter les données envoyées ou reçues entre le client et le serveur. Lorsque les utilisateurs souhaitent transmettre des informations sur le réseau de manière sécurisée, les connexions non cryptées ne sont pas acceptées.

Afin de rendre illisible tout type de données, un cryptage doit être utilisé. Les algorithmes de chiffrement contiennent souvent des éléments de sécurité qui aident à résister à de nombreuses attaques connues, dont certaines incluent la modification de l'ordre des messages chiffrés ou la relecture des données deux fois. MySQL prend en charge les connexions cryptées entre le client et le serveur, qui utilisent tous deux le protocole TLS. Mais MySQL n'utilise pas le protocole SSL pour les connexions cryptées car le cryptage est faible.

TLS utilise des algorithmes de cryptage pour garantir que les données reçues sur les réseaux publics sont des données fiables. Il dispose de nombreuses méthodes pour détecter les modifications, la perte ou la relecture des données. TLS utilise également des algorithmes d'authentification avec la norme X.509.

Étapes pour activer le cryptage TLS

MySQL par connexion. Le chiffrement pour un utilisateur donné peut être facultatif ou obligatoire. Cela permet aux utilisateurs de choisir une connexion cryptée ou non cryptée en fonction des exigences de l'application.

Comprenons comment activer TLS pour le client MySQL :

  • Lors du démarrage du serveur, les paramètres ssl-cert et ssl-key doivent être spécifiés dans le fichier de configuration.
  • Le certificat ou la clé est signé et généré à l'aide d'OpenSSL.
  • Cette clé peut également être générée à l'aide de l'outil mysql_ssl_rsa_setup dans MySQL :
  • mysql_ssl_rsa_setup --datadir=./certs
    Si les paramètres sont corrects, une connexion sécurisée sera transmise en sortie, qui est activée au démarrage.
  • Recharger les certificats, les clés et les autorités de certification - Exécutez l'instruction ALTER INSTANCE RELOAD TLS sur l'instance de serveur. Cela garantit que l'instance de serveur n'a pas besoin d'être rechargée.
  • Après avoir exécuté avec succès une connexion établie, le certificat, la clé et l'autorité de certification nouvellement chargés prennent effet.
  • Configurez le client MySQL pour utiliser une connexion cryptée - par défaut, tente d'établir une connexion cryptée. Si le serveur ne prend pas en charge les connexions chiffrées, une connexion non chiffrée est automatiquement renvoyée.
  • Le comportement de connexion du client peut être modifié à l'aide du paramètre --ssl-mode :
    --ssl-mode=REQUIRED- Tells that en encrypted connection is needed.

Nécessite que l'authentification soit activée : Si le paramètre ssl-ca n'est pas spécifié, le client ou le serveur ne s'authentifie pas par défaut.

  • Les paramètres ssl-cert et ssl-key doivent être spécifiés dans le serveur.
  • Spécifiez le paramètre --ssl-ca dans le client MySQL.
  • Spécifiez --ssl-mode comme VERIFY_CA dans le client MySQL.
  • Le certificat configuré par le serveur (ssl-cert) est signé par l'autorité de certification spécifiée par le paramètre --ssl-ca du client.
  • Sinon, l'authentification échoue.

Pour authentifier les clients MySQL depuis le serveur :

  • Spécifiez les paramètres ssl-cert, ssl-key et ssl-ca dans le serveur.
  • Spécifiez les paramètres --ssl-cert et --ssl-key dans le client.
  • Le certificat configuré par le serveur et le certificat configuré par le client sont signés par le ssl-ca spécifié par le serveur.
  • L'authentification serveur-client est facultative. Si le client ne présente pas son certificat d'attestation lors de la prise de contact TLS, la connexion TLS sera quand même établie.
  • Vérifiez si la connexion actuelle utilise un cryptage.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer