Esta página explica como ativar a encriptação em trânsito durante a criação da instância do Redis e como gerir a encriptação em trânsito para a instância. A encriptação em trânsito usa o protocolo Transport Layer Security (TLS).
Para obter informações sobre o comportamento geral e as vantagens da utilização da encriptação em trânsito, consulte o artigo Encriptação em trânsito.
Para ver uma lista das autorizações de que um utilizador precisa para realizar as tarefas de gestão nesta página, consulte o artigo Autorizações de encriptação em trânsito.
Só pode ativar as encriptações em trânsito quando cria inicialmente a instância do Redis. Não é possível desativar a encriptação em trânsito para instâncias criadas desta forma.
Criar uma instância do Redis com encriptação em trânsito
Consola
Quando criar uma instância do Redis, selecione Ativar encriptação em trânsito.
gcloud
Para criar uma instância do Redis com encriptação em trânsito, introduza o seguinte comando, substituindo variables pelos valores adequados:
gcloud redis instances create instance-id --transit-encryption-mode=SERVER_AUTHENTICATION --size=size --region=region-id
Onde:
--transit-encryption-mode=SERVER_AUTHENTICATION
ativa a encriptação em trânsito para a sua instância.
Transferir a autoridade de certificação
Consola
Aceda à página Memorystore for Redis na Google Cloud consola.
Veja a página Detalhes da instância da sua instância clicando no ID da instância.
Clique no botão Transferir ou Transferir tudo em Certificado do servidor TLS.
gcloud
Se a encriptação em trânsito estiver ativada na sua instância, vê o conteúdo das autoridades de certificação quando executa o seguinte comando:
gcloud redis instances describe instance-id --region=region
O corpo da resposta inclui todas as autoridades de certificação aplicáveis. Segue-se um exemplo de uma autoridade de certificação (AC) para o Memorystore for 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-----
Copie e guarde todas as ACs temporariamente para as poder instalar em clientes que acedam à instância do Redis.
Instalar uma autoridade de certificação no seu cliente
Tem de instalar as autoridades de certificação da instância do Redis no cliente de ligação. A instalação da AC pode variar consoante o tipo de cliente. Os passos abaixo explicam como instalar uma AC numa VM Linux do Compute Engine.
Estabeleça ligação com SSH ao seu cliente Linux do Compute Engine.
Crie um ficheiro denominado
server_ca.pem
no cliente executando o seguinte comando:sudo vim /tmp/server_ca.pem
Transfira a autoridade de certificação e cole-a no ficheiro
server_ca.pem
criado anteriormente.O texto do CA tem de estar formatado corretamente:
- Copie
toda a autoridade de certificação, incluindo as linhas
-----BEGIN CERTIFICATE-----
e-----END CERTIFICATE-----
. - Certifique-se de que o texto da CA está totalmente justificado à esquerda. Não deve haver espaços antes de nenhuma linha da CA.
- Copie
toda a autoridade de certificação, incluindo as linhas
Configurar o cliente para a encriptação em trânsito
O cliente que usa para se ligar à instância do Redis tem de suportar o TLS ou usar um sidecar de terceiros para ativar o TLS.
Se o seu cliente suportar TLS, configure-o para apontar para o IP da instância do Redis, a porta 6378
e o ficheiro que contém a autoridade de certificação. Se optar por usar um sidecar, recomendamos que use o Stunnel.
Configuração adicional do cliente
Alguns clientes não aceitam certificados autoassinados por predefinição e requerem uma configuração adicional.
Por exemplo, o Lettuce é um cliente Java popular para o Redis. A respetiva documentação fornece um exemplo de ligação nativa com TLS (consulte o exemplo 47).
Uma vez que o Java Security Manager não permite certificados autoassinados por predefinição, tem de especificar uma opção adicional na construção do URI do Redis .withVerifyPeer(false)
.
Estabelecer ligação segura a uma instância do Redis através do Stunnel e do telnet
Para obter instruções sobre como usar o Stunnel para ativar a encriptação em trânsito num cliente do Compute Engine, consulte o artigo Ligue-se a uma instância do Redis em segurança através do Stunnel e do telnet.
Gerir a rotação da autoridade de certificação
Deve instalar todas as autoridades de certificação transferíveis nos clientes que acedem à instância do Redis.
A instalação da nova CA, além da CA anterior, assim que estiver disponível é a forma mais simples de garantir que tem a CA necessária quando o evento de rotação da autoridade de certificação ocorrer.
Execute o seguinte comando assim que for introduzida uma nova autoridade de certificação para ver o conteúdo da nova AC:
gcloud redis instances describe instance-id --region=region
Em seguida, copie e cole a autoridade de certificação mais recente no ficheiro no cliente no qual guardou a CA anterior.
O ficheiro deve usar o seguinte formato. A ordem das ACs não é importante:
-----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 se certificar de que tem a AC necessária, basta garantir que as ACs guardadas no seu ficheiro de cliente correspondem às apresentadas por gcloud redis
instances describe
. Depois de um evento de rotação começar, existem várias ACs para garantir tempo suficiente para rotações com um tempo de inatividade mínimo.
O que se segue?
- Leia a vista geral da Encriptação em trânsito.
- Saiba mais sobre a funcionalidade Redis AUTH no Memorystore for Redis.