Activer le chiffrement en transit

Cette page explique comment activer le chiffrement en transit pendant la création de l'instance Redis et comment le gérer. Le chiffrement en transit utilise le protocole TLS (Transport Layer Security).

Pour en savoir plus sur le comportement général et les avantages du chiffrement en transit, consultez la page Chiffrement en transit.

Pour obtenir la liste des autorisations dont l'utilisateur a besoin pour effectuer les tâches de gestion décrites sur cette page, consultez la section Autorisations pour le chiffrement en transit.

Vous ne pouvez activer le chiffrement en transit que lors de la création initiale de l'instance Redis. Il n'est pas possible de désactiver le chiffrement en transit pour les instances créées de cette manière.

Créer une instance Redis avec chiffrement en transit

Console

Sélectionnez Activer le chiffrement en transit lors de la création d'une instance Redis.

gcloud

Pour créer une instance Redis avec chiffrement en transit, saisissez la commande suivante en remplaçant les variables par les valeurs appropriées :

gcloud redis instances create instance-id --transit-encryption-mode=SERVER_AUTHENTICATION --size=size --region=region-id

Où :

  • --transit-encryption-mode=SERVER_AUTHENTICATION active le chiffrement en transit pour votre instance.

Télécharger l'autorité de certification

Console

  1. Accédez à la page Memorystore pour Redis dans Google Cloud Console.

    Memorystore pour Redis

  2. Affichez la page Détails de l'instance en cliquant sur votre ID d'instance.

  3. Cliquez sur le bouton Télécharger ou Tout télécharger sous Certificat TLS du serveur.

gcloud

Si le chiffrement en transit est activé sur votre instance, le contenu de l'autorité de certification s'affiche lorsque vous exécutez la commande suivante :

gcloud redis instances describe instance-id --region=region

Le corps de la réponse inclut toutes les autorités de certification concernées. Voici un exemple d'autorité de certification pour Memorystore pour Redis :

-----BEGIN CERTIFICATE-----
MIIDnTCCAoWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBhTEtMCsGA1UELhMkNzYx
NTc4OGMtMTI2Yi00Nzk0LWI2MWMtY2YxOWE2Y2Y1ZjNiMTEwLwYDVQQDEyhHb29n
bGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVkaXMgU2VydmVyIENBMRQwEgYDVQQKEwtH
b29nbGUsIEluYzELMAkGA1UEBhMCVVMwHhcNMjAwOTE3MjEzNDE1WhcNMzAwOTE1
MjEzNTE1WjCBhTEtMCsGA1UELhMkNzYxNTc4OGMtMTI2Yi00Nzk0LWI2MWMtY2Yx
OWE2Y2Y1ZjNiMTEwLwYDVQQDEyhHb29nbGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVk
aXMgU2VydmVyIENBMRQwEgYDVQQKEwtHb29nbGUsIEluYzELMAkGA1UEBhMCVVMw
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCyDKmDHZm6tzMhNtKOnp8H
8+zTv1qA6OkBToVqCjKTTMGO18ovNtAAMjbGvclLuJNLbA2WTTWVttHen6Cn82h0
3gG9HMk9AwK1cVT7gW072h++TRsYddIRlwnSweRWL8jUX+PNt7CjFqH+sma/Hb1m
CktHdBOa897JiYHrMVNTcpS8SFwwz05yHUTEVGlHdkvlaJXfHLe6keCMABLyjaMh
1Jl4gZI2WqLMV680pJusK6FI6q/NmqENFc9ywMEg395lHTK9w9e014WIXg0q7sU3
84ChVVS2yYOMEUWeov4Qx6XeVfA4ss5t7OCqsMQkvslkE90mJZcVvhBj3QvTH9Rz
AgMBAAGjFjAUMBIGA1UdEwEB/wQIMAYBAf8CAQAwDQYJKoZIhvcNAQELBQADggEB
AJkn+MDE4V10DZn4uEc0s0Mg4FEMC1fDewmDYwSNnxRlzfEi+wAX2AaqrJ4m4Qa7
xIyuSYxArEOY6QeyJyw7/06dom8aAv4aO2p8hE04Ih6QwaTMFIlT2Jf6TidVd3eT
wfjwFJVoJ+dgxsaCv2uMFZWee5aRHmKzj9LhqPwpWnTs9Q/qmOheUNoe2/1i8yvn
662M7RZMR7fZH6ETsdz5w1nPXXiRqJ7K0EGKoPNjMlYK3/U1X3sazI4tpMNgTdxG
rnNh9Sd9REMBmDCPj9dUI9k4hQX4yQZp96fnLT6cet22OPajEKnpzyqJs1s4iX/g
lEtWs4V/YBhKA56CW6ASZS8=
-----END CERTIFICATE-----

Copiez et enregistrez toutes les autorités de certification temporairement afin de pouvoir les installer sur les clients accédant à l'instance Redis.

Installer une autorité de certification sur votre client

Vous devez installer l'autorité de certification de votre instance Redis sur le client qui se connecte. L'installation de l'autorité de certification peut varier en fonction du type de client. La procédure ci-dessous explique comment installer une autorité de certification sur une VM Linux Compute Engine.

  1. Connectez-vous en SSH à votre client Linux Compute Engine.

  2. Créez un fichier nommé server_ca.pem sur votre client en exécutant la commande suivante :

    sudo vim /tmp/server_ca.pem
    
  3. Téléchargez l'autorité de certification et collez-la dans le fichier server_ca.pem précédemment créé.

    Le format de l'autorité de certification doit être correct :

    • Copiez l'intégralité de l'autorité de certification, y compris les lignes -----BEGIN CERTIFICATE----- et -----END CERTIFICATE-----.
    • Assurez-vous que le texte de l'autorité de certification est complètement justifié à gauche. Vous ne devez pas laisser d'espace devant une ligne de l'autorité de certification.

Configurer le client pour le chiffrement en transit

Le client avec lequel vous vous connectez à l'instance Redis doit être compatible avec le protocole TLS ou utiliser un side-car tiers pour activer la compatibilité TLS.

Si votre client est compatible avec le protocole TLS, configurez-le pour qu'il pointe vers l'adresse IP, le port 6378 et le fichier contenant l'autorité de certification de votre instance Redis. Si vous choisissez d'utiliser un side-car, nous vous recommandons d'utiliser Stunnel.

Configuration supplémentaire du client

Certains clients n'acceptent pas les certificats autosignés par défaut et nécessitent donc une configuration supplémentaire.

Par exemple, Lettuce est un client Java populaire pour Redis. Leur documentation fournit un exemple de connexion native avec TLS (consultez l'exemple 47). Étant donné que le gestionnaire de sécurité Java n'autorise pas les certificats autosignés par défaut, une option supplémentaire doit être spécifiée dans la construction de l'URI Redis .withVerifyPeer(false).

Se connecter en toute sécurité à une instance Redis à l'aide de Stunnel et Telnet

Pour obtenir des instructions sur l'utilisation de Stunnel afin d'activer le chiffrement en transit sur un client Compute Engine, consultez la section Se connecter en toute sécurité à une instance Redis à l'aide de Stunnel et Telnet.

Gérer la rotation des autorités de certification

Vous devez installer toutes les autorités de certification téléchargeables sur les clients accédant à l'instance Redis.

L'installation de la nouvelle autorité de certification, en plus de l'autorité de certification précédente une fois disponible, est le moyen le plus simple de vous assurer que vous disposez de l'autorité de certification nécessaire lorsque l'événement de rotation de l'autorité de certification se produit.

Une fois qu'une nouvelle autorité de certification a été ajoutée, exécutez la commande suivante pour afficher son contenu :

gcloud redis instances describe instance-id --region=region

Ensuite, copiez et collez l'autorité de certification la plus récente dans le fichier de votre client où vous avez enregistré l'autorité de certification précédente.

Le fichier doit respecter le format suivant : L'ordre des autorités de certification n'a pas d'importance :

-----BEGIN CERTIFICATE-----
MIIDnTCCAoWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBhTEtMCsGA1UELhMkNzYx
NTc4OGMtMTI2Yi00Nzk0LWI2MWMtY2YxOWE2Y2Y1ZjNiMTEwLwYDVQQDEyhHb29n
bGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVkaXMgU2VydmVyIENBMRQwEgYDVQQKEwtH
b29nbGUsIEluYzELMAkGA1UEBhMCVVMwHhcNMjAwOTE3MjEzNDE1WhcNMzAwOTE1
MjEzNTE1WjCBhTEtMCsGA1UELhMkNzYxNTc4OGMtMTI2Yi00Nzk0LWI2MWMtY2Yx
OWE2Y2Y1ZjNiMTEwLwYDVQQDEyhHb29nbGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVk
aXMgU2VydmVyIENBMRQwEgYDVQQKEwtHb29nbGUsIEluYzELMAkGA1UEBhMCVVMw
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCyDKmDHZm6tzMhNtKOnp8H
8+zTv1qA6OkBToVqCjKTTMGO18ovNtAAMjbGvclLuJNLbA2WTTWVttHen6Cn82h0
3gG9HMk9AwK1cVT7gW072h++TRsYddIRlwnSweRWL8jUX+PNt7CjFqH+sma/Hb1m
CktHdBOa897JiYHrMVNTcpS8SFwwz05yHUTEVGlHdkvlaJXfHLe6keCMABLyjaMh
1Jl4gZI2WqLMV680pJusK6FI6q/NmqENFc9ywMEg395lHTK9w9e014WIXg0q7sU3
84ChVVS2yYOMEUWeov4Qx6XeVfA4ss5t7OCqsMQkvslkE90mJZcVvhBj3QvTH9Rz
AgMBAAGjFjAUMBIGA1UdEwEB/wQIMAYBAf8CAQAwDQYJKoZIhvcNAQELBQADggEB
AJkn+MDE4V10DZn4uEc0s0Mg4FEMC1fDewmDYwSNnxRlzfEi+wAX2AaqrJ4m4Qa7
xIyuSYxArEOY6QeyJyw7/06dom8aAv4aO2p8hE04Ih6QwaTMFIlT2Jf6TidVd3eT
wfjwFJVoJ+dgxsaCv2uMFZWee5aRHmKzj9LhqPwpWnTs9Q/qmOheUNoe2/1i8yvn
662M7RZMR7fZH6ETsdz5w1nPXXiRqJ7K0EGKoPNjMlYK3/U1X3sazI4tpMNgTdxG
rnNh9Sd9REMBmDCPj9dUI9k4hQX4yQZp96fnLT6cet22OPajEKnpzyqJs1s4iX/g
lEtWs4V/YBhKA56CW6ASZS8=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDnTCCAoWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBhTEtMCsGA1UELhMkYjg4
ZTUzYTMtODdmNC00N2VhLWJjN2MtYTdhMzM4NmIwZmU4MTEwLwYDVQQDEyhHb29n
bGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVkaXMgU2VydmVyIENBMRQwEgYDVQQKEwtH
b29nbGUsIEluYzELMAkGA1UEBhMCVVMwHhcNMjAwOTE4MjEzMTI3WhcNMzAwOTE2
MjEzMjI3WjCBhTEtMCsGA1UELhMkYjg4ZTUzYTMtODdmNC00N2VhLWJjN2MtYTdh
MzM4NmIwZmU4MTEwLwYDVQQDEyhHb29nbGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVk
aXMgU2VydmVyIENBMRQwEgYDVQQKEwtHb29nbGUsIEluYzELMAkGA1UEBhMCVVMw
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDEO4Zs/So5DA6wtftkAElD
8BVREob4gby2mGBYAtd3JJQKFC+zIqCf2DhrWihrCeXhsdsZqJUF16E3MsCCWS2T
UWt6T37zObU2fzKmb7X+TSw1tunIUcIXwWzoMhqdGrIvfI9guMbF+KssQIjDMs9M
G/hY6cY1NB5THOxXqcxzYrwSKB1EE160EDz4RgKAYQhw7AyVOBBAbWqA5pTEDuUy
qpsz+NFpKYTwaeTpzil0xIl0JJS3DOd4G7ZnMG2wFT2j3wt+P0SkAPuOWgmX82iO
gGmKoaCh3KcICie/rZRTfsRPjMm+yswRQRDeLB5eoMmH+gbUInVZU0qOJ/7gOYEb
AgMBAAGjFjAUMBIGA1UdEwEB/wQIMAYBAf8CAQAwDQYJKoZIhvcNAQELBQADggEB
AF4xlEbwLUK5VjoKlJBtKXLYrYcW+AbQLhZQFP8exE8bOW7p39h+5J0nl3ItPxu6
97BCt1P5TFisba8pBxaExiDsYmjKQrhtizMkzl5h9hGksOgoLlAqaaxfA97+Q9Tq
5gaYChESur/159Z3jiM47obKoZmHfgSgr//7tjII7yZxUGhOjIVffv/fEa4aixqM
0yH1V1s8hWHZeui2VFrHmTxY20IH9ktyedjSUgnFXzsEH6sbR18p0wBZqyrrtURs
DaUIeoOHfHgEJM8k/wphSJI0V6pMC6nax2JhexLTRiUsiGTLRDe3VtsdWqS2DLa9
9DmrfdF0eFrfWw3VRNLwwXg=
-----END CERTIFICATE-----

Vous devez simplement vous assurer que vous disposez de l'autorité de certification requise pour garantir que les autorités de certification enregistrées dans votre fichier client correspondent à celles affichées par gcloud redis instances describe. Une fois qu'un événement de rotation commence, il y a plusieurs autorités de certification pour garantir un délai suffisant pour les rotations avec un temps d'arrêt minimal.

Étapes suivantes