Configurando Conjuntos de Cifras

Os conjuntos de cifras são uma combinação de algoritmos e protocolos que ajudam a proteger as conexões de rede durante o handshake TLS. O site IBM Cloud® Internet Services protege as conexões de rede usando conjuntos de cifras de borda e de origem.

Conjuntos de cifras de borda

As cifras a seguir são suportadas na borda da nuvem. Você pode restringir as cifras usadas em seu domínio por meio do plug-in CIS CLI para a CLI IBM Cloud. Consulte a opção ciphers no comando de configurações de domínio.

Conjuntos de cifras de borda
Nome do OpenSSL TLS 1.0 TLS 1.1 TLS 1.2 TLS 1.3 Nome IANA
ECDHE-ECDSA-AES128-GCM-SHA256 Disponível TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
ECDHE-ECDSA-CHACHA20-POLY1305 Disponível TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
ECDHE-RSA-AES128-GCM-SHA256 Disponível TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
ECDHE-RSA-CHACHA20-POLY1305 Disponível TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
ECDHE-ECDSA-AES128-SHA256 Disponível TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
ECDHE-ECDSA-AES128-SHA Disponível Disponível Disponível TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
ECDHE-RSA-AES128-SHA256 Disponível TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
ECDHE-RSA-AES128-SHA Disponível Disponível Disponível TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
AES128-GCM-SHA256 Disponível TLS_RSA_WITH_AES_128_GCM_SHA256
AES128-SHA256 Disponível TLS_RSA_WITH_AES_128_CBC_SHA256
AES128-SHA Disponível Disponível Disponível TLS_RSA_WITH_AES_128_CBC_SHA
ECDHE-ECDSA-AES256-GCM-SHA384 Disponível TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
ECDHE-ECDSA-AES256-SHA384 Disponível TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
ECDHE-RSA-AES256-GCM-SHA384 Disponível TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
ECDHE-RSA-AES256-SHA384 Disponível TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
ECDHE-RSA-AES256-SHA Disponível Disponível Disponível TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
AES256-GCM-SHA384 Disponível TLS_RSA_WITH_AES_256_GCM_SHA384
AES256-SHA256 Disponível TLS_RSA_WITH_AES_256_CBC_SHA256
AES256-SHA Disponível Disponível Disponível TLS_RSA_WITH_AES_256_CBC_SHA
DES-CBC3-SHA Disponível TLS_RSA_WITH_3DES_EDE_CBC_SHA
AEAD-AES128-GCM-SHA256 Disponível TLS_AES_128_GCM_SHA256
AEAD-AES256-GCM-SHA384 Disponível TLS_AES_256_GCM_SHA384
AEAD-CHACHA20-POLY1305-SHA256 Disponível TLS_CHACHA20_POLY1305_SHA256

Conjuntos de cifras de origem

As cifras a seguir são suportadas na origem. Você pode restringir as cifras usadas em seu domínio por meio do plug-in CIS CLI para a CLI IBM Cloud. Consulte a opção ciphers no comando de configurações de domínio.

Conjuntos de cifras de origem
Nome do OpenSSL TLS 1.0 TLS 1.1 TLS 1.2 TLS 1.3 Nome IANA
AEAD-AES128-GCM-SHA256 [1] Disponível TLS_AES_128_GCM_SHA256
AEAD-AES256-GCM-SHA384 [2] Disponível TLS_AES_256_GCM_SHA384
AEAD-CHACHA20-POLY1305-SHA256 [3] Disponível TLS_CHACHA20_POLY1305_SHA256
ECDHE-ECDSA-AES128-GCM-SHA256 Disponível TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
ECDHE-RSA-AES128-GCM-SHA256 Disponível TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
ECDHE-RSA-AES128-SHA Disponível Disponível Disponível TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
AES128-GCM-SHA256 Disponível TLS_RSA_WITH_AES_128_GCM_SHA256
AES128-SHA Disponível Disponível Disponível TLS_RSA_WITH_AES_128_CBC_SHA
ECDHE-ECDSA-AES256-GCM-SHA384 Disponível TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
ECDHE-RSA-AES256-SHA384 Disponível TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
AES256-SHA Disponível Disponível Disponível TLS_RSA_WITH_AES_256_CBC_SHA
DES-CBC3-SHA Disponível TLS_RSA_WITH_3DES_EDE_CBC_SHA

Gerenciando conjuntos de cifras por meio da CLI

Você pode gerenciar os pacotes de criptografia na CLI.

Obtendo os pacotes de criptografia da CLI

Para listar a variável cipher, execute o seguinte comando:

ibmcloud cis domain-settings DNS_DOMAIN_ID [-g, --group GROUP | -f, --feature FEATURE] [-i, --instance INSTANCE] [--output FORMAT]

Opções de comando

DNS_DOMAIN_ID
A ID do domínio DNS. Essa opção é necessária.
-f, --feature
Especifica o recurso de configuração de domínio a ser verificado. Essa opção é mutuamente exclusiva de -g, --group. Defina essa opção como a seguinte variável:
  • ciphers: Define uma lista de permissões de conjuntos de cifras TLS para terminação de borda TLS, usando o formato de cifra BoringSSL. Esse comando lista apenas os pacotes de cifras que os clientes permitiram explicitamente. Se nenhum pacote de criptografia estiver na lista de permissões, o comando retornará uma lista vazia e usará os pacotes de criptografia padrão. Para obter a lista de suítes de cifras padrão, consulte Suítes de cifras do Edge.
Exemplo

Obtenha configurações ciphers para o domínio 31984fea73a15b45779fa0df4ef62f9b.

ibmcloud cis domain-settings 31984fea73a15b45779fa0df4ef62f9b --feature "ciphers" --instance "cis-demo"

Para obter mais informações, consulte ibmcloud cis domain-settings.

Atualização dos pacotes de criptografia na CLI

Para atualizar a variável cipher, execute o seguinte comando:

ibmcloud cis domain-settings-update DNS_DOMAIN_ID (-f, --feature FEATURE) (-v, --value VALUE) [-i, --instance INSTANCE] [--output FORMAT]

Opções de comando

DNS_DOMAIN_ID

A ID do domínio DNS. Essa opção é necessária.

-f, --feature

Recurso de configurações de domínio a ser atualizado. Essa opção é necessária. O valor válido em cipher é:

  • ciphers lista de permissões de cifras para a terminação TLS. Essas cifras devem estar no formato BoringSSL.
-v, --value

Especifica o valor a ser definido para o recurso no domínio. Essa opção é necessária.

  • Os valores válidos para tls_client_auth são on e off.
  • Os valores válidos para cifras são:
    • ECDHE-ECDSA-AES128-GCM-SHA256
    • ECDHE-ECDSA-CHACHA20-POLY1305
    • ECDHE-RSA-AES128-GCM-SHA256
    • ECDHE-RSA-CHACHA20-POLY1305
    • ECDHE-ECDSA-AES128-SHA256
    • ECDHE-ECDSA-AES128-SHA
    • ECDHE-RSA-AES128-SHA256
    • ECDHE-RSA-AES128-SHA
    • AES128-GCM-SHA256
    • AES128-SHA256
    • AES128-SHA
    • ECDHE-ECDSA-AES256-GCM-SHA384
    • ECDHE-ECDSA-AES256-SHA384
    • ECDHE-RSA-AES256-GCM-SHA384
    • ECDHE-RSA-AES256-SHA384
    • ECDHE-RSA-AES256-SHA
    • AES256-GCM-SHA384
    • AES256-SHA256
    • AES256-SHA
    • DES-CBC3-SHA
    • default

Por exemplo, use -v default para redefinir as suítes de cifras configuradas específicas, como -v AES256-SHA256,AES256-SHA, para o valor padrão.

Exemplo

Habilite tls_client_auth para o domínio 31984fea73a15b45779fa0df4ef62f9b.

ibmcloud cis domain-settings-update 31984fea73a15b45779fa0df4ef62f9b --feature tls_client_auth --value on --instance "cis-demo"

Para obter mais informações, consulte ibmcloud cis domain-settings-update.

Para reverter para a lista de cifras padrão, especifique -v default após -f ciphers.

Gerenciando conjuntos de cifras com a API

É possível gerenciar conjuntos de criptografia com a API.

Obtenção de cifras com a API

Para obter cifras com a API, execute as seguintes etapas.

  1. Configure seu ambiente com as variáveis corretas.
  2. Armazena todas as variáveis a serem usadas nos comandos da API. Por exemplo,
    • crn (string): O nome completo do recurso de nuvem (CRN) codificado em URL da instância do recurso.
    • zone_identifier (sequência): o identificador da zona.
  3. Quando todas as variáveis forem iniciadas, obtenha as cifras:
curl -X GET https://api.cis.cloud.ibm.com/v1/:crn/zones/:zone_id/settings/ciphers -H 'content-type: application/json' -H 'accept: application/json' -H 'x-auth-user-token: Bearer xxxxxx'

Atualização de cifras com a API

Para atualizar cifras com a API, execute as seguintes etapas.

  1. Configure seu ambiente com as variáveis corretas.
  2. Armazena todas as variáveis a serem usadas nos comandos da API. Por exemplo,
    • crn (string): O nome completo do recurso de nuvem (CRN) codificado em URL da instância do recurso.
    • zone_identifier (sequência): o identificador da zona.
    • value(sequência): os conjuntos de criptografia que você deseja incluir.
  3. Quando todas as variáveis forem iniciadas, obtenha as cifras:
curl -X PATCH https://api.cis.cloud.ibm.com/v1/:crn/zones/:zone_id/settings/ciphers -H 'content-type: application/json' -H 'x-auth-user-token: Bearer xxxxxx' -d '{"value": ["AES256-GCM-SHA384", "AES256-SHA256"]}'


  1. Embora TLS 1.3 use o mesmo espaço de suíte de cifras que as versões anteriores de TLS, TLS 1.3 as suítes de cifras são definidas de forma diferente, especificando apenas as cifras simétricas, e não podem ser usadas para TLS 1.2. Da mesma forma, TLS 1.2 e suítes de cifras inferiores não podem ser usadas com TLS 1.3 (IETF TLS 1.3 draft 21). BoringSSL também codifica as preferências de cifra nessa ordem para TLS 1.3. ↩︎

  2. Embora TLS 1.3 use o mesmo espaço de suíte de cifras que as versões anteriores de TLS, TLS 1.3 as suítes de cifras são definidas de forma diferente, especificando apenas as cifras simétricas, e não podem ser usadas para TLS 1.2. Da mesma forma, TLS 1.2 e suítes de cifras inferiores não podem ser usadas com TLS 1.3 (IETF TLS 1.3 draft 21). BoringSSL também codifica as preferências de cifra nessa ordem para TLS 1.3. ↩︎

  3. Embora TLS 1.3 use o mesmo espaço de suíte de cifras que as versões anteriores de TLS, TLS 1.3 as suítes de cifras são definidas de forma diferente, especificando apenas as cifras simétricas, e não podem ser usadas para TLS 1.2. Da mesma forma, TLS 1.2 e suítes de cifras inferiores não podem ser usadas com TLS 1.3 (IETF TLS 1.3 draft 21). BoringSSL também codifica as preferências de cifra nessa ordem para TLS 1.3. ↩︎