Proteja seus dados usando uma autoridade certificadora (CA) por instância

É possível criptografar todos os dados que se movem entre os aplicativos cliente e o Memorystore for Redis Cluster com segurança. Essa é a criptografia em trânsito. Ao usar a criptografia em trânsito, todo o tráfego do Redis é criptografado pelo protocolo Transport Layer Security (TLS). Isso garante que todos os dados que se movem entre os aplicativos e o Memorystore for Redis Cluster permaneçam confidenciais e sem adulteração.

Quando a criptografia em trânsito está ativada, os clientes do Redis se comunicam exclusivamente por uma conexão segura. Os clientes do Redis que não estão configurados para TLS são bloqueados. Se você optar por usar a criptografia em trânsito, será responsável por garantir que o cliente do Redis possa usar o protocolo TLS.

Os clusters que usam a criptografia em trânsito têm autoridades de certificação (CAs). Você usa as CAs para autenticar os certificados das máquinas nos clusters.

Um modo de CA que você pode usar é uma CA por instância. O Memorystore for Redis Cluster provisiona cada cluster com a própria infraestrutura de CA exclusiva. Para acessar um cluster com segurança, é necessário configurar o aplicativo cliente para confiar nessa hierarquia de CA. Isso envolve o download e a instalação de certificados de CA em cada cliente que acessa o cluster.

Criar um cluster que use uma CA por instância

Console

Siga as etapas em Criar instâncias.

gcloud

Para criar um cluster que use uma CA por instância, use o gcloud redis clusters create comando.

gcloud redis clusters create CLUSTER_ID \
--region=REGION_ID \
--network=NETWORK \
--replica-count=REPLICA_COUNT \
--node-type=NODE_TYPE \
--shard-count=SHARD_COUNT \
--transit-encryption-mode=server-authentication \
--server-ca-mode=google-managed-per-instance-ca

Faça as seguintes substituições:

  • CLUSTER_ID: o ID do cluster que você está criando. O ID do cluster precisa ter de 1 a 63 caracteres e usar apenas letras minúsculas, números ou hifens. Ele precisa começar com uma letra minúscula e terminar com uma letra minúscula ou um número.

  • REGION_ID: a região em que você quer que o cluster esteja localizado.

  • NETWORK: a rede que você usa para criar o cluster. Ela precisa usar este formato: projects/NETWORK_PROJECT_ID/global/networks/NETWORK_ID. O ID da rede que você usa precisa corresponder ao ID da rede usado pela política de conexão de serviço. Caso contrário, não será possível criar o cluster.

  • REPLICA_COUNT: o número de réplicas (por fragmento). Os valores aceitos são 0-5.

  • NODE_TYPE: o tipo de nó do cluster.

  • SHARD_COUNT: o número de fragmentos no cluster. A contagem de fragmentos determina a capacidade total de memória para armazenar dados de cluster. Para mais informações sobre as especificações do cluster, consulte Especificação de cluster e nó.

O parâmetro server-ca-mode representa o modo de CA do cluster. Para uma CA por instância, google-managed-per-instance-ca é o valor do parâmetro. Se você não usar esse parâmetro, o modo de CA padrão será por instância.

Exemplo:

gcloud redis clusters create my-cluster \
--region=us-central1 \
--network=projects/my-network-project/global/networks/default \
--replica-count=1 \
--node-type=redis-highmem-medium \
--shard-count=3 \
--transit-encryption-mode=server-authentication \
--server-ca-mode=google-managed-per-instance-ca

Fazer o download das CAs

Se você ativar a criptografia em trânsito para um cluster, os certificados das CAs vão aparecer quando você usar o comando get-cluster-certificate-authority.

gcloud redis clusters get-cluster-certificate-authority CLUSTER_ID

Substitua CLUSTER_ID pelo ID do cluster.

O corpo da resposta inclui certificados para todas as CAs aplicáveis.

Instalar certificados de CA no cliente

É necessário instalar os certificados de CA no cliente que se conecta ao cluster. Dependendo do tipo de cliente, a instalação do certificado de CA pode variar.

Para instalar um certificado de CA em uma VM do Compute Engine Linux, faça o seguinte:

  1. Use SSH para se conectar a um cliente Linux do Compute Engine.

  2. No cliente, use o comando a seguir para criar um arquivo server_ca.pem:

    sudo vim /tmp/server_ca.pem
    
  3. Faça o download das CAs e cole-as no server_ca.pem arquivo.

    É necessário formatar o texto das CAs corretamente. O arquivo server_ca.pem pode aparecer da seguinte maneira:

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

    Seu arquivo, conforme mostrado no exemplo anterior, precisa usar as diretrizes a seguir:

    • Copie toda a CA, incluindo as linhas -----BEGIN CERTIFICATE----- e
      -----END CERTIFICATE-----.

    • Verifique se o texto das CAs está completamente justificado à esquerda. Verifique se não há espaços na frente de nenhuma linha das CAs.

    • Adicione cada CA em uma nova linha. Verifique se não há linhas em branco entre as CAs.

Configurar o cliente para criptografia em trânsito

O cliente usado para se conectar ao cluster precisa oferecer suporte a TLS ou usar um arquivo secundário de terceiros para ativar o TLS.

Se o cliente oferece suporte a TLS, configure-o para apontar para o endereço IP do cluster, a porta 6379 e o arquivo que contém a CA. Confira um exemplo de como se conectar a um cluster com a criptografia em trânsito ativada.

Gerenciar a rotação de CA

Recomendamos que você instale todos os certificados de CA transferíveis por download nos clientes que acessam o cluster.

A instalação periódica dos certificados de CA mais recentes garante que você tenha os certificados necessários quando o Memorystore for Redis Cluster rotacionar as CAs. Durante essa rotação, as CAs atuais e as novas ficam ativas.

Exemplo de código para se conectar a um cluster que usa criptografia em trânsito

Para conferir um exemplo de código sobre como configurar uma biblioteca de cliente para se conectar a um cluster que usa criptografia em trânsito, consulte Exemplo de código da biblioteca de cliente de criptografia em trânsito.