Configurer les certificats SSL pour MySQL
<<<
Options de GRANT avec SSL Options SSL en ligne de commande
>>>

5.5.7 Utilisation des connexions sécurisées
5.5 Gestion des comptes utilisateurs de MySQL
5 Administration du serveur
 Manuel de Référence MySQL 4.1 : Version Française

Introduction aux connexions sécurisées
Pré requis aux connexions sécurisées
Configurer les certificats SSL pour MySQL
->Options de GRANT avec SSL
Options SSL en ligne de commande
Connexion à MySQL à distance avec Windows et SSH

5.5.7.4 Options de GRANT avec SSL

MySQL peut vérifier les certificats X509 en plus de la combinaisons habituelle de nom d'utilisateur et mot de passe. Toutes les options habituelles sont toujours nécessaires (nom d'utilisateur, masque d'adresse IP, nom de base de données, nom de table). Syntaxe de GRANT et REVOKE .

Voici différentes possibilités pour limiter les connexions :

  • Sans aucune option SSL ou X509, toutes les connexions chiffrées ou non chiffrées sont autorisées si le nom d'utilisateur et le mot de passe sont valides.
  • L'option REQUIRE SSL requiert que les connexions soient chiffrées avec SSL. Notez que cette option peut être omise si il n'y a pas de ligne ACL qui autorise une connexion sans SSL.
    
    mysql> GRANT ALL PRIVILEGES ON test.* TO root@localhost
        -> IDENTIFIED BY "goodsecret" REQUIRE SSL;
  • REQUIRE X509 impose au client d'avoir un certificat valide, mais le certificat lui même est de peu d'importance. La seule restriction est qu'il doit être possible de vérifier la signature avec une des autorités de certification.
    
    mysql> GRANT ALL PRIVILEGES ON test.* TO root@localhost
        -> IDENTIFIED BY "goodsecret" REQUIRE X509;
  • REQUIRE ISSUER "issuer" restreint les tentatives de connexion : le client doit se présenter avec un certificat X509 valide, émis par l' autorité de certification "issuer" . Utiliser un certificat X509 implique obligatoirement des chiffrements, donc l'option SSL est sous entendue.
    
    mysql> GRANT ALL PRIVILEGES ON test.* TO root@localhost
        -> IDENTIFIED BY "goodsecret"
        -> REQUIRE ISSUER "C=FI, ST=Some-State, L=Helsinki,
        "> O=MySQL Finland AB, CN=Tonu Samuel/Email=tonu@mysql.com";
  • REQUIRE SUBJECT "subject" impose au client d'avoir un certificat X509 valide, avec le sujet "subject" . Si le client présente un certificat valide, mais que le "subject" est différent, la connexion est refusée.
    
    mysql> GRANT ALL PRIVILEGES ON test.* TO root@localhost
        -> IDENTIFIED BY "goodsecret"
        -> REQUIRE SUBJECT "C=EE, ST=Some-State, L=Tallinn,
        "> O=MySQL demo client certificate,
        "> CN=Tonu Samuel/Email=tonu@mysql.com";
  • REQUIRE CIPHER "cipher" est utilisé pour s'assurer que les chiffrements sont suffisamment robuste, et que la bonne longueur de clé est utilisée. SSL lui même peut être faible si des algorithmes sont utilisés avec des clés courtes. En utilisant cette option, il est possible d'imposer la méthode de chiffrement avec la connexion.
    
    mysql> GRANT ALL PRIVILEGES ON test.* TO root@localhost
        -> IDENTIFIED BY "goodsecret"
        -> REQUIRE CIPHER "EDH-RSA-DES-CBC3-SHA";
    Les options SUBJECT , ISSUER et CIPHER peuvent être combinées avec la clause REQUIRE comme ceci :
    
    mysql> GRANT ALL PRIVILEGES ON test.* TO root@localhost
        -> IDENTIFIED BY "goodsecret"
        -> REQUIRE SUBJECT "C=EE, ST=Some-State, L=Tallinn,
        "> O=MySQL demo client certificate,
        "> CN=Tonu Samuel/Email=tonu@mysql.com"
        -> AND ISSUER "C=FI, ST=Some-State, L=Helsinki,
        "> O=MySQL Finland AB, CN=Tonu Samuel/Email=tonu@mysql.com"
        -> AND CIPHER "EDH-RSA-DES-CBC3-SHA";
    Depuis MySQL 4.0.4, le mot clé AND est optionnel, entre les options REQUIRE .L'ordre de ces options n'a pas d'importance, mais aucune option ne peut être spécifiée deux fois.

<< Options de GRANT avec SSL >>
Configurer les certificats SSL pour MySQL Utilisation des connexions sécurisées Options SSL en ligne de commande