Gestionar el cifrado en tránsito

En esta página se explica cómo habilitar el cifrado en tránsito durante la creación de instancias de Redis y cómo gestionar el cifrado en tránsito de la instancia. El cifrado en tránsito usa el protocolo Seguridad en la capa de transporte (TLS).

Para obtener información sobre el comportamiento general y las ventajas de usar el cifrado en tránsito, consulta el artículo Cifrado en tránsito.

Para ver una lista de los permisos que necesita un usuario para llevar a cabo las tareas de gestión en esta página, consulte Permisos de cifrado en tránsito.

Solo puedes habilitar el cifrado en tránsito cuando creas tu instancia de Redis. El cifrado en tránsito no se puede inhabilitar en las instancias creadas de esta forma.

Crear una instancia de Redis con cifrado en tránsito

Consola

Cuando crees una instancia de Redis, selecciona Habilitar cifrado en tránsito.

gcloud

Para crear una instancia de Redis que tenga cifrado en tránsito, introduce el siguiente comando y sustituye variables por los valores adecuados:

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

Donde:

  • --transit-encryption-mode=SERVER_AUTHENTICATION habilita el cifrado en tránsito de tu instancia.

Descargar la autoridad de certificación

Consola

  1. Ve a la página Memorystore para Redis de la consola de Google Cloud .

    Memorystore para Redis

  2. Para ver la página Detalles de la instancia de tu instancia, haz clic en el ID de la instancia.

  3. Haga clic en el botón Descargar o Descargar todo en Certificado de servidor TLS.

gcloud

Si el cifrado en tránsito está habilitado en tu instancia, verás el contenido de las autoridades de certificación cuando ejecutes el siguiente comando:

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

El cuerpo de la respuesta incluirá todas las autoridades de certificación aplicables. A continuación, se muestra un ejemplo de autoridad de certificación para Memorystore para 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-----

Copia y guarda todas las autoridades de certificación temporalmente para poder instalarlas en los clientes que accedan a la instancia de Redis.

Instalar una autoridad de certificación en tu cliente

Debe instalar las autoridades de certificación de su instancia de Redis en el cliente que se conecta. La instalación de la CA puede variar en función del tipo de cliente. En los pasos que se indican a continuación se explica cómo instalar una CA en una máquina virtual Linux de Compute Engine.

  1. Conéctate con SSH a tu cliente Linux de Compute Engine.

  2. Crea un archivo llamado server_ca.pem en tu cliente ejecutando el siguiente comando:

    sudo vim /tmp/server_ca.pem
    
  3. Descarga la autoridad de certificación y pégala en el archivo server_ca.pem que has creado anteriormente.

    El texto de la CA debe tener el formato correcto:

    • Copia toda la autoridad de certificación, incluidas las líneas -----BEGIN CERTIFICATE----- y -----END CERTIFICATE-----.
    • Asegúrate de que el texto de la CA esté completamente justificado a la izquierda. No debe haber espacios delante de ninguna línea de la CA.

Configurar el cliente para el cifrado en tránsito

El cliente que uses para conectarte a la instancia de Redis debe admitir TLS o usar un sidecar de terceros para habilitar TLS.

Si tu cliente admite TLS, configúralo para que apunte a la IP de tu instancia de Redis, al puerto 6378 y al archivo que contiene la autoridad de certificación. Si decides usar un sidecar, te recomendamos que utilices Stunnel.

Configuración adicional del cliente

Algunos clientes no aceptan certificados autofirmados de forma predeterminada y requieren una configuración adicional.

Por ejemplo, Lettuce es un cliente de Java popular para Redis. En su documentación se incluye un ejemplo para conectarse de forma nativa con TLS (consulta el ejemplo 47). Dado que Java Security Manager no permite los certificados autofirmados de forma predeterminada, se debe especificar una opción adicional en la construcción de la URI de Redis .withVerifyPeer(false).

Conectarse de forma segura a una instancia de Redis mediante Stunnel y telnet

Para obtener instrucciones sobre cómo usar Stunnel para habilitar el cifrado en tránsito en un cliente de Compute Engine, consulta Conectarse de forma segura a una instancia de Redis mediante Stunnel y telnet.

Gestionar la rotación de autoridades de certificación

Debes instalar todas las autoridades de certificación descargables en los clientes que accedan a la instancia de Redis.

Instalar la nueva AC, además de la anterior, cuando esté disponible es la forma más sencilla de asegurarse de que tiene la AC necesaria cuando se produzca el evento de rotación de la autoridad de certificación.

Ejecuta el siguiente comando cuando se introduzca una nueva autoridad de certificación para ver el contenido de la nueva CA:

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

A continuación, copia y pega la autoridad de certificación más reciente en el archivo de tu cliente en el que guardaste la AC anterior.

El archivo debe tener el siguiente formato. El orden de las autoridades de certificación no importa:

-----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-----

Para asegurarte de que tienes la autoridad de certificación necesaria, solo tienes que comprobar que las autoridades de certificación guardadas en tu archivo de cliente coincidan con las que muestra gcloud redis instances describe. Una vez que empieza un evento de rotación, hay varias autoridades certificadoras para asegurar que haya tiempo suficiente para las rotaciones con un tiempo de inactividad mínimo.

Siguientes pasos