Usar políticas de SSL para protocolos SSL e TLS

As políticas de SSL especificam o conjunto de recursos de SSL que os balanceadores de carga do Google Cloud usam ao negociar SSL com clientes. Neste documento, o termo SSL refere-se aos protocolos SSL e TLS.

As políticas de SSL são compatíveis com os seguintes balanceadores de carga:

  • Políticas globais de SSL
    • Balanceador de carga de aplicativo externo global
    • Balanceador de carga de aplicativo clássico
    • Balanceador de carga de rede de proxy externo (com um proxy SSL de destino)
    • Balanceador de carga de aplicativo interno entre regiões
  • Políticas de SSL regional
    • Balanceador de carga de aplicativo externo regional
    • Balanceador de carga de aplicativo interno regional

Para mais informações sobre como as políticas de SSL funcionam, consulte Visão geral das políticas de SSL.

Crie e gerencie políticas de SSL usando o console do Google Cloud ou a Google Cloud CLI ao criar um balanceador de carga HTTPS ou SSL ou a qualquer momento depois de criar o balanceador de carga.

Criar políticas de SSL

Você pode criar políticas de SSL com perfis gerenciados pelo Google ou com um perfil personalizado.

Criar uma política de SSL com um perfil gerenciado pelo Google

Console

Política de SSL global

Para criar uma política de SSL global com um perfil gerenciado pelo Google, siga estas etapas:

  1. No console do Google Cloud, acesse a página Políticas de SSL.

    Acessar políticas de SSL

  2. Clique em Criar política.

  3. Em Política de SSL global, clique no botão Criar ao seu lado. A página Criar política é exibida.

  4. Digite um Nome.

  5. Selecione uma Versão mínima do TLS.

  6. Em Perfil, selecione Compatível, Moderno ou Restrito. Os Recursos ativados e Recursos desativados do perfil são exibidos no lado direito da página.

  7. Se houver um balanceador de carga ao qual você quer anexar a política, clique em Aplicar aos destinos e selecione uma regra de encaminhamento como destino da política de SSL. Se necessário, adicione mais destinos.

  8. Clique em Criar.

Política de SSL regional

Para criar uma política de SSL regional com um perfil gerenciado pelo Google, siga estas etapas:

  1. No console do Google Cloud, acesse a página Políticas de SSL.

    Acessar políticas de SSL

  2. Clique em Criar política.

  3. Em Política de SSL regional, clique no botão Criar ao seu lado. A página Criar política é exibida.

  4. Digite um Nome.

  5. Selecione uma Região.

  6. Selecione uma Versão mínima do TLS.

  7. Em Perfil, selecione Compatível, Moderno ou Restrito. Os Recursos ativados e Recursos desativados do perfil são exibidos no lado direito da página.

  8. Se houver um balanceador de carga ao qual você quer anexar a política, clique em Aplicar aos destinos e selecione uma regra de encaminhamento como destino da política de SSL. Se necessário, adicione mais destinos.

  9. Clique em Criar.

gcloud

Política de SSL global

Veja a seguir a sintaxe geral para criar uma política de SSL global com um perfil gerenciado pelo Google:

gcloud compute ssl-policies create SSL_POLICY_NAME \
    --profile COMPATIBLE | MODERN | RESTRICTED \
    --min-tls-version 1.0 | 1.1 | 1.2

O comando a seguir cria uma política de SSL global com o perfil MODERN:

gcloud compute ssl-policies create my-ssl-policy \
    --profile MODERN \
    --min-tls-version 1.0

Política de SSL regional

Veja a seguir a sintaxe geral para criar uma política de SSL regional com um perfil gerenciado pelo Google:

gcloud compute ssl-policies create SSL_POLICY_NAME \
    --profile COMPATIBLE | MODERN | RESTRICTED \
    --min-tls-version 1.0 | 1.1 | 1.2 \
    --region REGION

O comando a seguir cria uma política de SSL regional com o perfil COMPATIBLE:

gcloud compute ssl-policies create my-ssl-policy \
    --profile COMPATIBLE \
    --min-tls-version 1.1 \
    --region us-west1

Criar uma política de SSL com um perfil personalizado

Console

Política de SSL global

Para criar uma política de SSL global com um perfil personalizado, siga estas etapas:

  1. No console do Google Cloud, acesse a página Políticas de SSL.

    Acessar políticas de SSL

  2. Clique em Criar política.

  3. Em Política de SSL global, clique no botão Criar ao seu lado. A página Criar política é exibida.

  4. Digite um Nome.

  5. Selecione uma Versão mínima do TLS.

  6. Em Perfil, selecione Personalizado. Todos os recursos são mostrados como Recursos desativados no lado direito da página.

  7. Na lista de Recursos, selecione cada pacote de criptografia que você quer ativar. Os conjuntos de criptografia ativados são mostrados como Recursos ativados.

  8. Se houver um balanceador de carga ao qual você quer anexar a política, clique em Aplicar aos destinos e selecione uma regra de encaminhamento como destino da política de SSL. Se necessário, adicione mais destinos.

  9. Clique em Criar.

Política de SSL regional

Para criar uma política de SSL regional com um perfil personalizado, siga estas etapas:

  1. No console do Google Cloud, acesse a página Políticas de SSL.

    Acessar políticas de SSL

  2. Clique em Criar política.

  3. Em Política de SSL regional, clique no botão Criar ao seu lado. A página Criar política é exibida.

  4. Digite um Nome.

  5. Selecione uma Região.

  6. Selecione uma Versão mínima do TLS.

  7. Em Perfil, selecione Personalizado. Todos os recursos são mostrados como Recursos desativados no lado direito da página.

  8. Na lista de Recursos, selecione cada pacote de criptografia que você quer ativar. Os conjuntos de criptografia ativados são mostrados como Recursos ativados.

  9. Se houver um balanceador de carga ao qual você quer anexar a política, clique em Aplicar aos destinos e selecione uma regra de encaminhamento como destino da política de SSL. Se necessário, adicione mais destinos.

  10. Clique em Criar.

gcloud

Quando você cria uma política de SSL com o perfil CUSTOM, somente os recursos especificados no comando create são aceitos. Outros recursos não são.

Política de SSL global

Veja a seguir a sintaxe geral para criar uma política de SSL global com um perfil personalizado:

gcloud compute ssl-policies create SSL_POLICY_NAME \
    --profile CUSTOM \
    --min-tls-version 1.0 | 1.1 | 1.2 \
    --custom-features SSL_FEATURE_1[,SSL_FEATURE_2,SSL_FEATURE_3]

O exemplo a seguir cria uma política de SSL global com o perfil PERSONALIZADO com uma versão de TLS mínima 1.2 e os recursos TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 e TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256.

gcloud compute ssl-policies create SSL_POLICY_NAME \
    --profile CUSTOM \
    --min-tls-version 1.2 \
    --custom-features TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256

Política de SSL regional

Veja a seguir a sintaxe geral para criar uma política de SSL regional com um perfil personalizado:

gcloud compute ssl-policies create SSL_POLICY_NAME \
    --profile CUSTOM \
    --min-tls-version 1.0 | 1.1 | 1.2 \
    --custom-features SSL_FEATURE_1[,SSL_FEATURE_2,SSL_FEATURE_3] \
    --region REGION

O exemplo a seguir cria uma política de SSL regional com o perfil CUSTOM com uma versão de TLS mínima 1.2 e os recursos TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 e TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256.

gcloud compute ssl-policies create SSL_POLICY_NAME \
    --profile CUSTOM \
    --min-tls-version 1.2 \
    --custom-features TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 \
    --region us-west1

Listar políticas de SSL

Console

No console do Google Cloud, acesse a página Políticas de SSL.

Acessar políticas de SSL

É possível ver uma lista de todas as políticas de SSL disponíveis. O campo Escopo indica se a política de SSL é global ou regional.

gcloud

Para listar as políticas de SSL globais e regionais, execute:

  gcloud compute ssl-policies list

Para listar apenas políticas de SSL globais, execute:

  gcloud compute ssl-policies list --global

Para listar apenas políticas de SSL regionais, execute:

  gcloud compute ssl-policies list --regions REGION

Listar recursos disponíveis em uma política de SSL

Console

  1. No console do Google Cloud, acesse a página Políticas de SSL.

    Acessar políticas de SSL

  2. Clique no nome da política que contém os recursos que você quer ver. Os conjuntos de criptografia ativados e desativados são listados no lado direito da página.

gcloud

Para listar os recursos disponíveis nas políticas de SSL globais:

gcloud compute ssl-policies list-available-features

Para listar os recursos disponíveis nas políticas de SSL regionais:

gcloud compute ssl-policies list-available-features \
    --region REGION

Modificar políticas de SSL

Console

Para modificar uma política de SSL global ou regional, faça o seguinte:

  1. No console do Google Cloud, acesse a página Políticas de SSL.

    Acessar políticas de SSL

  2. Clique no nome da política que você quer modificar.

  3. Clique em Editar.

  4. Faça as alterações que quiser.

  5. Clique em Salvar.

gcloud

Para modificar uma política de SSL existente, passe qualquer uma ou todas as sinalizações correspondentes aos campos que você quer atualizar. Os campos não especificados não são atualizados.

Se você atualizar os recursos, os que estavam ativados antes serão excluídos e substituídos pelos novos especificados.

Políticas de SSL globais

gcloud compute ssl-policies update SSL_POLICY_NAME \
    --profile COMPATIBLE|MODERN|RESTRICTED|CUSTOM \
    --min-tls-version 1.0|1.1|1.2 \
    --custom-features FEATURES

Políticas de SSL regional

gcloud compute ssl-policies update SSL_POLICY_NAME \
    --profile COMPATIBLE|MODERN|RESTRICTED|CUSTOM \
    --min-tls-version 1.0|1.1|1.2 \
    [--custom-features FEATURES \]
    --region REGION

Criar um proxy de destino com uma política de SSL

Console

É possível criar um proxy de destino usando o console do Google Cloud ao criar ou atualizar o balanceador de carga, conforme mostrado nos documentos a seguir:

gcloud

Para criar um proxy SSL de destino com uma política de SSL global:

gcloud compute target-ssl-proxies create TARGET_SSL_PROXY_NAME \
  --backend-service BACKEND_SERVICE_NAME \
  --ssl-certificate SSL_CERTIFICATE_NAME \
  --ssl-policy SSL_POLICY_NAME

Para criar um proxy HTTPS de destino global com uma política de SSL global:

gcloud compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \
  --ssl-certificate SSL_CERTIFICATE_NAME \
  --url-map URL_MAP_NAME \
  --ssl-policy SSL_POLICY_NAME

Para criar um proxy HTTPS de destino regional com uma política de SSL regional:

gcloud compute target-https-proxies create REGIONAL_TARGET_HTTPS_PROXY_NAME \
  --ssl-certificates SSL_CERTIFICATE_NAME \
  --url-map URL_MAP_NAME \
  --url-map-region REGION \
  --ssl-policy SSL_POLICY_NAME \
  --region REGION

Anexar uma política de SSL a um proxy de destino

Console

gcloud

Use estes comandos para anexar uma política de SSL a um proxy SSL ou proxy HTTPS.

  • Para encontrar todos os projetos da organização que têm proxies SSL de destino:

    gcloud asset search-all-resources \
        --scope=organizations/ORGANIZATION_ID \
        --asset-types=compute.googleapis.com/TargetSslProxy
    
  • Para encontrar todos os projetos da organização que têm proxies HTTPS de destino:

    gcloud asset search-all-resources \
        --scope=organizations/ORGANIZATION_ID \
        --asset-types=compute.googleapis.com/TargetHttpsProxy
    
  • Para listar todos os proxies SSL de destino globais em um projeto, use o método targetSslProxies.aggregatedList. Em seguida, use o parâmetro de consulta filter para pesquisar proxies SSL de destino que não têm referência a uma política de SSL.

    curl \
        'https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetSslProxies?filter=sslPolicy%3D%22%22&key=YOUR_API_KEY' \
        --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
        --header 'Accept: application/json' \
        --compressed
    
  • Para listar todos os proxies HTTPS de destino globais e regionais em um projeto, use o método targetHttpsProxies.aggregatedList com o parâmetro de consulta includeAllScopes definido como true. Em seguida, use o parâmetro de consulta filter para pesquisar proxies HTTPS de destino que não têm referência a uma política de SSL.

    curl \
        'https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/targetHttpsProxies?filter=sslPolicy%3D%22%22&includeAllScopes=true&key=YOUR_API_KEY' \
        --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
        --header 'Accept: application/json' \
        --compressed
    
  • Para anexar uma política de SSL global a um proxy SSL de destino:

    gcloud compute target-ssl-proxies update TARGET_SSL_PROXY_NAME \
        --ssl-policy SSL_POLICY_NAME
    
  • Para anexar uma política de SSL global a um proxy HTTPS de destino global:

    gcloud compute target-https-proxies update TARGET_HTTPS_PROXY_NAME \
        --ssl-policy SSL_POLICY_NAME
    
  • Para anexar uma política de SSL regional a um proxy HTTPS de destino regional:

    gcloud compute target-https-proxies update REGIONAL_TARGET_HTTPS_PROXY_NAME \
        --ssl-policy SSL_POLICY_NAME \
        --region REGION
    

Se você não fornecer as flags --ssl-policy ou --clear-ssl-policy em uma atualização de proxy de destino (por exemplo, ao atualizar um certificado SSL), a política de SSL não será alterada. A flag --clear-ssl-policy é descrita em Excluir uma política de SSL de um proxy de destino.

API

Para definir uma política de SSL global para um proxy de destino global, use o método targetHttpsProxies.patch.

Para definir uma política de SSL regional para um proxy de destino regional, use o método regionTargetHttpsProxies.patch.

Excluir uma política de SSL de um proxy de destino

Console

gcloud

Use estes comandos para remover uma política de SSL de um proxy SSL ou proxy HTTPS. Se você não anexar uma política de SSL diferente ao proxy de destino, o balanceador de carga usará a política de SSL padrão. Usar a flag --clear-ssl-policy equivale a substituir uma política de SSL pela política SSL padrão.

Para remover uma política de SSL global de um proxy SSL de destino:

gcloud compute target-ssl-proxies update TARGET_SSL_PROXY_NAME \
    --clear-ssl-policy

Para remover uma política de SSL global de um proxy HTTPS de destino global:

gcloud compute target-https-proxies update TARGET_HTTPS_PROXY_NAME \
    --clear-ssl-policy

Para remover uma política de SSL regional de um proxy HTTPS de destino regional:

gcloud compute target-https-proxies update REGIONAL_TARGET_HTTPS_PROXY_NAME \
    --clear-ssl-policy \
    --region REGION

Quando você fornece a sinalização --clear-ssl-policy no comando update, a política de SSL é removida do proxy.

Se você não fornecer a flag --clear-ssl-policy ou --ssl-policy na atualização do proxy de destino (por exemplo, ao atualizar um certificado SSL), a política de SSL não será alterada. A flag --ssl-policy é descrita em Anexar uma política de SSL existente a um proxy de destino existente.

Gerenciar políticas de SSL

Se você usa restrições personalizadas para restringir os recursos de TLS, verifique manualmente a conformidade com TLS em políticas de SSL preexistentes anexadas aos proxies SSL de destino e proxies HTTPS de destino.

Use as etapas de exemplo a seguir para encontrar e atualizar as políticas de SSL que não atendem às suas metas de segurança.

  • Para encontrar todos os projetos na organização que têm recursos de política de SSL:

    gcloud asset search-all-resources \
      --scope=organizations/ORGANIZATION_ID \
      --asset-types=compute.googleapis.com/SslPolicy
    
  • Para listar todas as políticas de SSL globais e regionais em um projeto, use o método sslPolicies.aggregatedList com o parâmetro de consulta includeAllScopes definido como true. Em seguida, use o parâmetro de consulta filter para pesquisar políticas de SSL que não estejam alinhadas às suas metas de segurança.

    Por exemplo, para encontrar políticas de SSL com a versão de TLS anterior a 1.2, use o filtro minTlsVersion="TLS_1_0" OR minTlsVersion="TLS_1_1":

    curl \
    
      'https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/sslPolicies?filter=minTlsVersion%3D%22TLS_1_0%22%20OR%20minTlsVersion%3D%22TLS_1_1%22&includeAllScopes=true&key=YOUR_API_KEY' \
      --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
      --header 'Accept: application/json' \
      --compressed
    

    Para receber a chave de API, consulte Autenticar usando chaves de API. Para receber o token de acesso, use o método projects.serviceAccounts.generateAccessToken.

    Em seguida, atualize as políticas de SSL que não atendem ao requisito mínimo de TLS.

    Para atualizar uma política SSL global, use o seguinte comando:

    gcloud compute ssl-policies update SSL_POLICY_NAME \
      --min-tls-version=TLS_1_2 \
      --global
    

    Para atualizar uma política SSL regional, use o seguinte comando:

    gcloud compute ssl-policies update SSL_POLICY_NAME \
      --min-tls-version=TLS_1_2 \
      --region REGION
    

  • Para listar todos os proxies SSL de destino em um projeto que não estão associados a uma política SSL, execute o seguinte comando:

    curl \
    
      'https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetSslProxies?filter=sslPolicy%3D%22%22&key=YOUR_API_KEY' \
        --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
        --header 'Accept: application/json' \
        --compressed
    

    Para anexar uma política de SSL a esses proxies de destino, consulte Anexar uma política de SSL a um proxy de destino.

  • Você também pode usar o Inventário de recursos do Cloud ou o Google APIs Explorer para encontrar e atualizar recursos que não atendem aos seus requisitos de segurança.

    Por exemplo, para procurar uma lista de proxies SSL de destino que não estão associados a uma política SSL, siga estas etapas no Inventário de recursos do Cloud:

    1. No console do Google Cloud, acesse a página Inventário de recursos.

      Acessar o inventário de recursos

    2. Clique em Consulta de recursos.

    3. No campo Editar consulta, insira a consulta a seguir e clique em Executar.

      select * from `compute_googleapis_com_TargetSslProxy` where resource.data.sslPolicy IS NULL
      
    4. Para anexar uma política de SSL a esses proxies de destino, consulte Anexar uma política de SSL a um proxy de destino.

    5. Execute a consulta no Inventário de recursos do Cloud até que uma resposta vazia seja exibida.

Limites

Consulte cotas e limites do balanceador de carga.

Referência da API

Para descrições das propriedades e dos métodos disponíveis ao trabalhar com políticas de SSL usando a API REST, consulte:

Produto Documentação da API
  • Balanceador de carga de aplicativo externo global
  • Balanceador de carga de aplicativo clássico
  • Balanceador de carga de aplicativo interno entre regiões
  • Balanceador de carga de rede de proxy externo global
  • Balanceador de carga de rede de proxy clássico
sslPolicies
  • Balanceador de carga de aplicativo externo regional
  • Balanceador de carga de aplicativo interno regional
regionSslPolicies

Referência da CLI da gcloud

Para a Google Cloud CLI, consulte:

A seguir

  • Para informações sobre balanceadores de carga de rede de proxy externo, consulte a visão geral nesta página.
  • Para informações sobre balanceadores de carga de aplicativo externos, consulte a visão geral nesta página.