Configurer des certificats SSL pour le proxy de base de données DataSunrise
La majorité des bases de données prennent en charge la vérification de l’identité du serveur en utilisant des certificats. Ainsi, une procédure de vérification est effectuée lors de la connexion à un serveur : si le certificat reçu du serveur est authentique, une connexion sera établie ; sinon, il sera considéré comme une attaque de type homme du milieu. Par défaut, cette vérification du certificat serveur peut être activée/désactivée en fonction du SGBD. Cependant, nous recommandons d’activer la vérification des certificats pour sécuriser vos données.
Pour une connexion directe entre une base de données et une application cliente, une vérification des certificats fonctionne comme suit :
client(CA-cert) <---> serveur(Server-cert, Server-key)
- CA-cert – certificat racine de l’autorité de certification,
- Server-key – clé privée du serveur
- Server-cert – certificat serveur signé par le CA.
Voyons l’exemple de MySQL.
Le client MySQL est conscient du certificat CA. Il y a Server-cert et Server-key côté serveur. Le mode SSL peut être activé par le client. La valeur par défaut de ssl_mode=prefer signifie que l’authentification du certificat serveur est désactivée. Le paramètre ssl_mode peut également être défini sur :
- Verify-CA (Je veux que mes données soient chiffrées et j’accepte le surcoût. Je veux être sûr de me connecter à un serveur de confiance)
- Verify-Identity (Je veux que mes données soient chiffrées et j’accepte le surcoût. Je veux être sûr de me connecter à un serveur de confiance et que c’est le bon)
Voici une chaîne d’exemple utilisée pour établir une connexion directe avec vérification de certificat :
$mysql --host=localhost --port=3306 --user=root --ssl-ca=ca.pem --ssl_mode=VERIFY_CA
[root@3306][(none)]>
Le diagramme suivant montre le processus d’établissement d’une connexion avec la vérification des certificats DataSunrise activée :

Datasunrise implémente la fonctionnalité de cryptage de bout en bout dans une chaîne client-proxy-serveur.
Regardez le diagramme ci-dessus : il y a deux connexions. La première connexion est établie entre un client et un proxy DataSunrise. La configuration SSL du proxy DataSunrise est utilisée pour cette connexion. Pour le configurer, vous devez avoir Proxy-key et Proxy-cert générés et signés par le certificat CA. Cela vous permet d’être sûr que vous vous connectez à un proxy DataSunrise authentique.
La deuxième connexion est établie entre un proxy DataSunrise et un serveur de base de données avec sa propre configuration SSL. Le proxy DataSunrise fonctionne ici comme une application cliente et peut également vérifier une connexion à un serveur authentique.
Veuillez noter que l’authentification par certificat est une option supplémentaire pour le cryptage SSL, elle ne fonctionne pas si le cryptage SSL est désactivé.
Il est également important que le proxy DataSunrise soit un proxy transparent et prenne en charge le mode de cryptage négocié par le client et le serveur de base de données. Cela signifie qu’il est impossible de chiffrer uniquement une connexion dans la chaîne. Le proxy DataSunrise ne peut pas recevoir du trafic chiffré d’une extrémité et envoyer du trafic non chiffré à l’autre extrémité et vice versa.
Voici les étapes qui vous permettent de configurer une vérification de certificat SSL dans DataSunrise :
Première connexion
1. Allez dans Configuration → SSL Key Groups et cliquez sur Add Group

2. Saisissez votre Proxy-cert et Proxy-key dans les champs correspondants. Pour cela, vous devez choisir le type de Proxy.

3. Allez dans Configuration → Databases. Ouvrez la page de votre instance de base de données et cliquez sur l’icône “crayon” pour modifier les paramètres du proxy.

4. Sélectionnez votre SSL Key Group dans la liste déroulante Proxy Keys et enregistrez les paramètres.

Deuxième connexion
1. Allez dans Configuration → SSL Key Group et cliquez sur Add Group. Sélectionnez le type Interface et saisissez votre CA-cert dans le champ CA.

2. Allez dans Configuration → Databases, sélectionnez votre instance et cliquez sur l’icône “crayon” pour modifier les paramètres de l’interface

3. Vous devez spécifier le groupe créé à la première étape, sélectionner le mode de vérification des certificats et enregistrer les paramètres.

- Ne pas vérifier – la vérification des certificats ne sera pas effectuée,
- Vérifier uniquement CA – le certificat CA du serveur sera vérifié,
- Vérifier CA et identité – le certificat CA du serveur et le nom d’hôte du serveur dans le certificat seront vérifiés.
Après avoir terminé les étapes ci-dessus, la connexion à un proxy déclenche la vérification des certificats pour les deux serveurs, éliminant ainsi la possibilité d’attaques MITM.
$mysql --host=localhost --port=3307 --user=root --ssl-ca=CA_Proxy.crt --ssl_mode=VERIFY_IDENTITY
[root@3307][(none)]>