Gerenciar criptografia em trânsito

Nesta página, explicamos como ativar a criptografia em trânsito durante a criação da instância do Redis e como gerenciá-la para a instância. A criptografia em trânsito usa o protocolo Transport Layer Security (TLS).

Para informações sobre o comportamento geral e os benefícios do uso de criptografia em trânsito, consulte Criptografia em trânsito.

Para uma lista de permissões necessárias para um usuário executar as tarefas de gerenciamento nesta página, consulte Permissões de criptografia em trânsito.

Só é possível ativar criptografias em trânsito quando você cria a instância do Redis. A criptografia em trânsito não pode ser desativada para instâncias criadas dessa forma.

Como criar uma instância do Redis com criptografia em trânsito

Console

Selecione Ativar criptografia em trânsito ao criar uma instância do Redis.

gcloud

Para criar uma instância do Redis que tenha criptografia em trânsito, digite o seguinte comando, substituindo variables pelos valores apropriados:

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

Em que:

  • --transit-encryption-mode=SERVER_AUTHENTICATION ativa a criptografia em trânsito na sua instância.

Fazer o download da autoridade de certificação

Console

  1. Acesse a página Memorystore para Redis no console do Google Cloud.

    Memorystore para Redis

  2. Clique no ID da instância para acessar a página Detalhes da instância.

  3. Clique no botão Download ou Download All em Certificado de servidor TLS.

gcloud

Se a criptografia em trânsito estiver ativada na sua instância, você verá o conteúdo das autoridades de certificação quando executar o seguinte comando:

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

O corpo da resposta incluirá todas as autoridades de certificação aplicáveis. Veja a seguir um exemplo de autoridade de certificação (CA, na sigla em inglês) do 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-----

Copie e salve todas as CAs temporariamente para que seja possível instalá-las nos clientes que acessam a instância do Redis.

Como instalar uma autoridade de certificação no seu cliente

Você precisa instalar as autoridades de certificação da instância do Redis no cliente conectado. A instalação de CA pode variar dependendo do tipo de cliente. As etapas abaixo explicam como instalar uma CA em uma VM do Compute Engine Linux.

  1. Conecte-se com SSH ao seu cliente Linux no Compute Engine.

  2. Crie um arquivo chamado server_ca.pem em seu cliente executando o seguinte comando:

    sudo vim /tmp/server_ca.pem
    
  3. Faça o download da autoridade de certificação e cole-a no arquivo server_ca.pem criado anteriormente.

    O texto da CA precisa ser formatado corretamente:

    • Copie toda a autoridade de certificação, incluindo as linhas -----BEGIN CERTIFICATE----- e -----END CERTIFICATE-----.
    • Verifique se o texto da CA está completamente justificado. Não deve haver espaços na frente de qualquer linha da CA.

Como configurar seu cliente para criptografia em trânsito

O cliente usado para se conectar à instância do Redis precisa ser compatível com TLS ou usar um arquivo secundário de terceiros para ativar o TLS.

Se seu cliente for compatível com TLS, configure-o para apontar para o IP, a porta 6378 e o arquivo que contém a autoridade de certificação da instância do Redis. Se você optar por usar um arquivo secundário, recomendamos usar o Stunnel.

Configuração adicional do cliente

Alguns clientes não aceitam certificados autoassinados por padrão e requerem configuração adicional.

Por exemplo, o Lettuce é um cliente Java famoso para o Redis. A documentação fornece um exemplo para conexão nativa com TLS (consulte Exemplo 47). Como o Gerenciador de segurança Java não permite certificados autoassinados por padrão, uma opção adicional precisa ser especificada na construção do URI Redis .withVerifyPeer(false).

Como se conectar a uma instância do Redis com segurança usando stunnel e telnet

Para instruções sobre como usar o Stunnel para ativar a criptografia em trânsito em um cliente do Compute Engine, consulte Como se conectar a uma instância do Redis usando o stunnel e o telnet de maneira segura.

Como gerenciar a rotação da autoridade de certificação

É necessário instalar todas as autoridades de certificação transferíveis para download nos clientes que acessam a instância do Redis.

A instalação da nova CA, além da CA anterior, quando ela estiver disponível, é a forma mais simples de garantir que você tenha a CA necessária quando ocorrer o evento de rotação da Autoridade de certificação.

Execute o seguinte comando quando uma nova autoridade de certificação for apresentada para ver o conteúdo da nova CA:

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

Em seguida, copie e cole a autoridade de certificação mais recente no arquivo no seu cliente em que você salvou a CA anterior.

Ele precisa usar o formato a seguir. A ordem das CAs não 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-----

Tudo que você precisa fazer para garantir que a CA necessária seja garantir que as CAs salvas no seu arquivo cliente correspondam às mostradas por gcloud redis instances describe. Depois que um evento de rotação começa, há várias CAs para garantir tempo suficiente para as rotações com tempo de inatividade mínimo.

A seguir