Como configurar pacotes de criptografia em hosts e roteadores virtuais

Esta é a documentação do Apigee Edge.
Acesse Documentação da Apigee X.
informações

Neste documento, explicamos como configurar pacotes de criptografia em hosts virtuais e roteadores no Apigee Edge.

Um pacote de criptografia é um conjunto de algoritmos que ajudam a proteger uma conexão de rede que usa TLS. O cliente e o servidor precisam definir o pacote de criptografia específico que será usado. na troca de mensagens. Se o cliente e o servidor não combinarem com um pacote de criptografia, o as solicitações falham com falhas de handshake de TLS.

Na Apigee, os pacotes de criptografia precisam ser mutuamente acordados entre os aplicativos clientes e entre os Cloud Routers.

É possível modificar os pacotes de criptografia no Apigee Edge pelos seguintes motivos:

  • Para evitar incompatibilidades de pacotes de criptografia entre aplicativos clientes e os roteadores da Apigee.
  • Usar pacotes de criptografia mais seguros para corrigir vulnerabilidades ou para reforçar a segurança

Os pacotes de criptografia podem ser configurados nos hosts virtuais ou nos roteadores da Apigee. Observação que a Apigee aceita pacotes de criptografia somente no formato de strings de criptografia OpenSSL (link em inglês) em o host virtual e o roteador. A Página de manual de criptografias do OpenSSL fornece os pacotes de criptografia SSL ou TLS da especificação relevante e os equivalentes do OpenSSL.

Por exemplo:

Se você quiser configurar a criptografia de TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 no host virtual ou no roteador da Apigee, identifique os string de criptografia OpenSSL correspondente da Página de manual de criptografias do OpenSSL (link em inglês). A string de criptografia OpenSSL do pacote de criptografia TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 é ECDHE-RSA-AES128-GCM-SHA256.. Portanto, é necessário usar a cifra de OpenSSL ECDHE-RSA-AES128-GCM-SHA256 ao configurar o pacote de criptografia no host virtual ou no roteador da Apigee.

Antes de começar

Como configurar pacotes de criptografia em hosts virtuais

Nesta seção, explicamos como configurar pacotes de criptografia nos hosts virtuais associados a uma organização e um ambiente. Os pacotes de criptografia podem ser configurados no host virtual pela propriedade ssl_ciphers, que representa a lista de pacotes de criptografia aceitos pelo host virtual.

Consulte Pacotes de criptografia compatíveis para ver uma lista de criptografias. e pacotes compatíveis com a Apigee.

É possível configurar o host virtual usando um dos seguintes métodos:

  • Como usar a interface do Edge
  • Como usar a API Edge
.

Como usar a interface do Edge

Para configurar o host virtual usando a interface do Edge, faça o seguinte:

  1. Faça login na IU do Edge.
  2. Acesse Administrador > Hosts virtuais.
  3. Selecione o Ambiente específico em que você quer fazer essa alteração.
  4. Selecione o host virtual específico em que você quer configurar os pacotes de criptografia.
  5. Em Properties, atualize o valor de Ciphers com uma lista delimitada por dois pontos de strings de criptografia OpenSSL.

    Por exemplo, se você quiser permitir que apenas os conjuntos de criptografia TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 e TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, depois determine o As strings de criptografia do OpenSSL da Página de manual de criptografias do OpenSSL conforme mostrado na tabela a seguir:

    Pacote de criptografia String de criptografia OpenSSL
    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 DHE-RSA-AES128-GCM-SHA256
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256

    Adicione a string de criptografia OpenSSL com separação por dois-pontos, conforme mostrado na figura a seguir:

    Exemplo de criptografias

  6. Salve a alteração.

Como usar a API Edge

Para configurar os pacotes de criptografia em um host virtual usando a API Edge, faça o seguinte:

  1. Obtenha a configuração atual do host virtual usando o Acesse a API Virtual Host como mostrado abaixo:

    Usuário da nuvem pública:

    curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}
    

    Usuário da nuvem privada:

    curl -v -X GET http://{management_server_IP}:8080/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}
    
    {
      "hostAliases": [
        "api.myCompany,com"
      ],
      "interfaces": [],
      "listenOptions": [],
      "name": "secure",
      "port": "443",
      "retryOptions": [],
      "sSLInfo": {
        "ciphers": [],
        "clientAuthEnabled": "false",
        "enabled": "true",
        "ignoreValidationErrors": false,
        "keyAlias": "myCompanyKeyAlias",
        "keyStore": "ref://myCompanyKeystoreref",
        "protocols": []
      },
      "useBuiltInFreeTrialCert": false
    }
    
  2. Adicione a propriedade ssl_ciphers à configuração do host virtual Payload JSON em properties com as strings de criptografia OpenSSL apropriadas.

    Por exemplo, se você quiser permitir que apenas os conjuntos de criptografia TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 e TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, depois determine o As strings de criptografia do OpenSSL da Página de manual de criptografias do OpenSSL conforme mostrado na tabela a seguir:

    Pacote de criptografia String de criptografia OpenSSL
    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 DHE-RSA-AES128-GCM-SHA256
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256

    Adicione o seguinte bloco de código properties:

    Exemplo de configuração atualizada do host virtual:

    {
      "hostAliases": [
        "api.myCompany,com",
      ],
      "interfaces": [],
      "listenOptions": [],
      "name": "secure",
      "port": "443",
      "retryOptions": [],
      "properties": {
        "property": [
          {
            "name": "ssl_ciphers",
            "value": "DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256"
          }
        ]
      },
      "sSLInfo": {
        "ciphers": [],
        "clientAuthEnabled": "false",
        "enabled": "true",
        "ignoreValidationErrors": false,
        "keyAlias": "myCompanyKeyAlias",
        "keyStore": "ref://myCompanyKeystoreref",
        "protocols": []
      },
      "useBuiltInFreeTrialCert": false
    }
    
  3. Salve a configuração de host virtual atualizada em um arquivo. Exemplo: virtualhost-payload.json
  4. Atualize a configuração virtualhost com a mudança usando o método Atualize uma API de host virtual desta forma:

    Usuário da nuvem pública:

    curl -v -X POST Content-Type: application/json
    https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -d @virtualhost-payload.json -u {username}
    

    Usuário da nuvem privada:

    curl -v -X POST Content-Type: application/json
    http://{management_server_IP}:8080/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -d @virtualhost-payload.json -u {username}
    

Conjuntos de criptografia compatíveis

A Apigee oferece suporte aos seguintes pacotes de criptografia:

ECDHE-RSA-AES256-GCM-SHA384
ECDHE-RSA-AES256-SHA384
ECDHE-RSA-AES256-SHA
DHE-RSA-AES256-GCM-SHA384
DHE-RSA-AES256-SHA256
DHE-RSA-AES256-SHA
DHE-RSA-CAMELLIA256-SHA
AES256-GCM-SHA384
AES256-SHA256  
AES256-SHA
CAMELLIA256-SHA
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-SHA256
ECDHE-RSA-AES128-SHA
DHE-RSA-AES128-GCM-SHA256
DHE-RSA-AES128-SHA256
DHE-RSA-AES128-SHA
DHE-RSA-CAMELLIA128-SHA
AES128-GCM-SHA256
AES128-SHA256   
AES128-SHA 
CAMELLIA128-SHA

Como verificar pacotes de criptografia em hosts virtuais

Nesta seção, explicamos como verificar se os conjuntos de criptografia foram modificado no host virtual usando a API Edge.

  1. Execute o Consiga a API virtual host para receber a configuração virtualhost, conforme mostrado abaixo:

    Usuário da nuvem pública:

    curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}
    

    Usuário da nuvem privada:

    curl -v -X GET http://{management_server_IP}:8080/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}
    
  2. Verifique se a propriedade ssl_ciphers foi definida com o novo valor.

    Exemplo de configuração atualizada do host virtual:

    {
      "hostAliases": [
        "api.myCompany,com",
      ],
      "interfaces": [],
      "listenOptions": [],
      "name": "secure",
      "port": "443",
      "retryOptions": [],
      "properties": {
        "property": [
          {
            "name": "ssl_ciphers",
            "value": "DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256"
          }
        ]
      },
      "sSLInfo": {
        "ciphers": [],
        "clientAuthEnabled": "false",
        "enabled": "true",
        "ignoreValidationErrors": false,
        "keyAlias": "myCompanyKeyAlias",
        "keyStore": "ref://myCompanyKeystoreref",
        "protocols": []
      },
      "useBuiltInFreeTrialCert": false
    }
    

    No exemplo acima, observe que ssl_ciphers foi definido com o novo valor.

  3. Se o valor antigo de ssl_ciphers ainda estiver aparecendo, verifique se você seguiu todas as etapas descritas Como configurar pacotes de criptografia em hosts virtuais corretamente. Se você tiver pulado alguma etapa, repita-a corretamente.
  4. Se ainda não for possível atualizar ou adicionar pacotes de criptografia ao host virtual, entre em contato com Suporte do Apigee Edge.

Como configurar pacotes de criptografia em roteadores

Nesta seção, explicamos como configurar conjuntos de criptografia nos roteadores. Os pacotes de criptografia podem ser configurado na propriedade do roteador conf_load_balancing_load.balancing.driver.server.ssl.ciphers, que representa os pacotes de criptografia aceitos, separados por dois-pontos,

Para configurar pacotes de criptografia nos roteadores, faça o seguinte:

  1. Na máquina do roteador, abra o arquivo a seguir em um editor. Se ainda não existir, e depois criá-la.

    /opt/apigee/customer/application/router.properties
    

    Por exemplo, para abrir o arquivo com vi, digite o seguinte:

    vi /opt/apigee/customer/application/router.properties
    
  2. Adicione uma linha no seguinte formato ao arquivo properties, substituindo um para colon_separated_cipher_suites:
    conf_load_balancing_load.balancing.driver.server.ssl.ciphers=colon_separated_cipher_suites
    

    Por exemplo, se você quiser permitir que apenas os conjuntos de criptografia TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 e TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, depois determine o As strings de criptografia do OpenSSL da Página de manual de criptografias do OpenSSL conforme mostrado na tabela a seguir:

    Pacote de criptografia String de criptografia OpenSSL
    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 DHE-RSA-AES128-GCM-SHA256
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256

    Em seguida, adicione a seguinte linha:

    conf_load_balancing_load.balancing.driver.server.ssl.ciphers=DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256
    
  3. Salve as alterações.
  4. Verifique se esse arquivo de propriedades pertence ao usuário apigee, conforme mostrado abaixo:
    chown apigee:apigee /opt/apigee/customer/application/router.properties
    
  5. Reinicie o roteador como mostrado abaixo:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
    
  6. Se você tiver mais de um roteador, repita as etapas acima em todos eles.

Como verificar o pacote de criptografia nos roteadores

Nesta seção, explicamos como verificar se os conjuntos de criptografia foram modificados nos roteadores.

  1. No roteador, pesquise a propriedade conf_load_balancing_load.balancing.driver.server.ssl.ciphers usando a Apigee utilitário de pesquisa na pasta /opt/apigee e verifique se ele foi definido com o novo valor da seguinte forma:
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_load_balancing_load.balancing.driver.server.ssl.ciphers
    
  2. Se os novos conjuntos de criptografia forem configurados corretamente no roteador, o comando acima vai mostrar os novos valores.

    Veja a seguir o resultado de amostra do comando search acima quando o pacotes de criptografia foram atualizados para DHE-RSA-AES128-GCM-SHA256 e ECDHE-RSA-AES128-GCM-SHA256:

    Found key conf_load_balancing_load.balancing.driver.server.ssl.ciphers, with value, DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256, in /opt/apigee/customer//application/router.properties
    

    No exemplo de saída acima, observe que a propriedade conf_load_balancing_load.balancing.driver.server.ssl.ciphers foi definido com os novos valores do pacote de criptografia. Isso indica que o pacote de criptografia foi atualizado para as strings de criptografia do OpenSSL DHE-RSA-AES128-GCM-SHA25e ECDHE-RSA-AES128-GCM-SHA256 no roteador.

  3. Se você ainda vir os valores antigos dos pacotes de criptografia conf_load_balancing_load.balancing.driver.server.ssl.ciphers, depois faça a verificação que você seguiu todas as etapas descritas Como configurar pacotes de criptografia nos roteadores corretamente. Se você tiver pulado alguma etapa, repita-a corretamente.
  4. Se ainda não for possível modificar os pacotes de criptografia nos roteadores, entre em contato com Suporte do Apigee Edge.