Use políticas de SSL para protocolos SSL e TLS

As políticas de SSL especificam o conjunto de funcionalidades SSL que os Google Cloud equilibradores de carga usam quando negociam SSL com os clientes. Neste documento, o termo SSL refere-se aos protocolos SSL e TLS.

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

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

Para mais informações sobre o funcionamento das políticas de SSL, consulte o artigo Vista geral das políticas de SSL.

Pode criar e gerir políticas de SSL através da Google Cloud consola ou da CLI do Google Cloud quando cria um balanceador de carga HTTPS ou SSL, ou em qualquer altura depois de criar o balanceador de carga.

Crie políticas de SSL

Pode criar políticas de SSL com perfis geridos pela Google ou com um perfil personalizado.

Crie uma política SSL com um perfil gerido pela Google

Consola

Política de SSL global

Para criar uma política SSL global com um perfil gerido pela Google, faça o seguinte:

  1. Na Google Cloud consola, aceda à página Políticas de SSL.

    Aceda às políticas de SSL

  2. Clique em Criar política.

  3. Para a política SSL global, clique no botão Criar junto à mesma. É apresentada a página Criar política.

  4. Introduza um Nome.

  5. Selecione uma versão mínima de TLS.

  6. Para Perfil, selecione Compatível, Moderno ou Restrito. As funcionalidades ativadas e desativadas para o perfil são apresentadas no lado direito da página.

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

  8. Clique em Criar.

Política de SSL regional

Para criar uma política SSL regional com um perfil gerido pela Google, faça o seguinte:

  1. Na Google Cloud consola, aceda à página Políticas de SSL.

    Aceda às políticas de SSL

  2. Clique em Criar política.

  3. Para a política SSL regional, clique no botão Criar junto à mesma. É apresentada a página Criar política.

  4. Introduza um Nome.

  5. Selecione uma região.

  6. Selecione uma versão mínima de TLS.

  7. Para Perfil, selecione Compatível, Moderno ou Restrito. As funcionalidades ativadas e desativadas para o perfil são apresentadas no lado direito da página.

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

  9. Clique em Criar.

gcloud

Política de SSL global

Segue-se a sintaxe geral para criar uma política de SSL global com um perfil gerido pela Google:

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

O comando seguinte 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

Segue-se a sintaxe geral para criar uma política de SSL regional com um perfil gerido pela 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 seguinte 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

Crie uma política SSL com um perfil personalizado

Consola

Política de SSL global

Para criar uma política de SSL global com um perfil personalizado, faça o seguinte:

  1. Na Google Cloud consola, aceda à página Políticas de SSL.

    Aceda às políticas de SSL

  2. Clique em Criar política.

  3. Para a política SSL global, clique no botão Criar junto à mesma. É apresentada a página Criar política.

  4. Introduza um Nome.

  5. Selecione uma versão mínima de TLS.

  6. Para Perfil, selecione Personalizado. Todas as funcionalidades são apresentadas como Funcionalidades desativadas no lado direito da página.

  7. Na lista de Funcionalidades, selecione cada conjunto de cifras que quer ativar. Os conjuntos de cifras que ativa são apresentados como Funcionalidades ativadas.

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

  9. Clique em Criar.

Política de SSL regional

Para criar uma política SSL regional com um perfil personalizado, faça o seguinte:

  1. Na Google Cloud consola, aceda à página Políticas de SSL.

    Aceda às políticas de SSL

  2. Clique em Criar política.

  3. Para a política SSL regional, clique no botão Criar junto à mesma. É apresentada a página Criar política.

  4. Introduza um Nome.

  5. Selecione uma região.

  6. Selecione uma versão mínima de TLS.

  7. Para Perfil, selecione Personalizado. Todas as funcionalidades são apresentadas como Funcionalidades desativadas no lado direito da página.

  8. Na lista de Funcionalidades, selecione cada conjunto de cifras que quer ativar. Os conjuntos de cifras que ativa são apresentados como Funcionalidades ativadas.

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

  10. Clique em Criar.

gcloud

Quando cria uma política SSL com o perfil PERSONALIZADO, apenas são suportadas as funcionalidades que especificar no comando create. Outras funcionalidades não são suportadas.

Política de SSL global

Segue-se 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 seguinte cria uma política SSL global com o perfil CUSTOM com uma versão mínima do TLS de 1.2 e funcionalidades 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

Segue-se 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 seguinte cria uma política SSL regional com o perfil CUSTOM com uma versão mínima do TLS de 1.2 e funcionalidades 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

Indique políticas SSL

Consola

Na Google Cloud consola, aceda à página Políticas de SSL.

Aceda às políticas de SSL

Pode ver uma lista de todas as políticas de SSL disponíveis. O campo Âmbito indica se a política SSL é global ou regional.

gcloud

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

  gcloud compute ssl-policies list

Para listar apenas as políticas de SSL globais, execute o seguinte comando:

  gcloud compute ssl-policies list --global

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

  gcloud compute ssl-policies list --regions REGION

Liste as funcionalidades disponíveis numa política de SSL

Consola

  1. Na Google Cloud consola, aceda à página Políticas de SSL.

    Aceda às políticas de SSL

  2. Clique no nome da política cujas funcionalidades quer ver. Os conjuntos de cifras ativados e desativados são apresentados no lado direito da página.

gcloud

Para listar as funcionalidades disponíveis nas políticas de SSL globais:

gcloud compute ssl-policies list-available-features

Para listar as funcionalidades disponíveis nas políticas de SSL regionais:

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

Modifique as políticas de SSL

Consola

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

  1. Na Google Cloud consola, aceda à página Políticas de SSL.

    Aceda às políticas de SSL

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

  3. Clique em Edit.

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

  5. Clique em Guardar.

gcloud

Para modificar uma política de SSL existente, transmita qualquer um ou todos os flags correspondentes aos campos que quer atualizar. Os campos não especificados não são atualizados.

Se atualizar as funcionalidades, as funcionalidades ativadas anteriormente são eliminadas e substituídas pelas novas funcionalidades que especificar.

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 regionais

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

Crie um proxy de destino com uma política SSL

Consola

Pode criar um proxy de destino através da Google Cloud consola quando cria ou atualiza o equilibrador de carga, conforme mostrado nos seguintes documentos:

gcloud

Para criar um proxy SSL de destino com uma política 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 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 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

Anexe uma política SSL existente a um proxy de destino existente

Consola

gcloud

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

  • Para encontrar todos os projetos na sua 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 na sua organização que tenham 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 global num 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 referenciam 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 num 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 referenciam 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 SSL global existente 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 SSL global existente 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 existente 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 não fornecer a flag --ssl-policy ou a flag --clear-ssl-policy numa atualização do proxy de destino (por exemplo, quando atualiza um certificado SSL), a política SSL permanece inalterada. A flag --clear-ssl-policy é descrita no artigo Elimine uma política 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.

Elimine uma política SSL de um proxy de destino

Consola

gcloud

Use estes comandos para remover uma política SSL de um proxy SSL ou proxy HTTPS. Se não anexar uma política SSL diferente ao proxy de destino, o equilibrador de carga usa a política SSL predefinida. A utilização da flag --clear-ssl-policy equivale a substituir uma política SSL pela política SSL predefinida.

Para remover uma política 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 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 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 fornece a flag --clear-ssl-policy no comando de atualização, a política SSL é removida do proxy.

Se não fornecer a flag --clear-ssl-policy ou a flag --ssl-policy na atualização do proxy de destino (por exemplo, quando atualiza um certificado SSL), a política SSL permanece inalterada. A flag --ssl-policy é descrita no artigo Anexe uma política de SSL existente a um proxy de destino existente.

Faça a gestão das políticas de SSL

Se usar restrições personalizadas para restringir as capacidades do TLS, verifique manualmente a conformidade com o TLS nas políticas SSL preexistentes anexadas a proxies SSL de destino e proxies HTTPS de destino.

Use os passos de exemplo seguintes para encontrar e atualizar políticas SSL que não cumprem os seus objetivos de segurança.

  • Para encontrar todos os projetos na sua organização que têm recursos de políticas 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 num 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 com os seus objetivos de segurança.

    Por exemplo, para encontrar políticas de SSL com uma versão de TLS inferior 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 obter a chave da API, consulte o artigo Autentique com chaves da API. Para obter a sua chave de acesso, use o método projects.serviceAccounts.generateAccessToken.

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

    Para atualizar uma política SSL global, pode usar 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, pode usar o seguinte comando:

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

  • Para apresentar uma lista de todos os proxies SSL de um projeto que não estão associados a uma política de 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 SSL a estes proxies de destino, consulte o artigo Anexe uma política SSL existente a um proxy de destino existente

  • Também pode usar o Cloud Asset Inventory ou o Google APIs Explorer para encontrar e atualizar recursos que não cumprem os seus requisitos de segurança.

    Por exemplo, para procurar uma lista de proxies SSL de destino que não estejam associados a uma política SSL, pode seguir os passos abaixo no Cloud Asset Inventory:

    1. Na Google Cloud consola, aceda à página Inventário de recursos.

      Aceda ao inventário de recursos

    2. Clique em Consulta de recursos.

    3. No campo Editar consulta, introduza a seguinte consulta 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 estes proxies de destino, consulte o artigo Anexe uma política de SSL existente a um proxy de destino existente.

    5. Execute a consulta no Cloud Asset Inventory até ver uma resposta vazia.

Limites

Consulte as quotas e os limites do balanceador de carga.

Referência da API

Para ver descrições das propriedades e dos métodos disponíveis quando trabalha com políticas de SSL através da API REST, consulte o seguinte:

Produto Documentação da API
  • Balanceador de carga de aplicações externo global
  • Balanceador de carga de aplicações clássico
  • Balanceador de carga de aplicações 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 aplicações externo regional
  • Balanceador de carga de aplicações interno regional
regionSslPolicies

Referência da CLI gcloud

Para a referência da CLI do Google Cloud, consulte o seguinte:

O que se segue?