Você está lendo a documentação do Apigee Edge.
Acesse a documentação da
Apigee X. info
Neste documento, explicamos como configurar conjuntos de algoritmos de criptografia em hosts virtuais e roteadores no Apigee Edge.
Um conjunto de criptografias é um conjunto de algoritmos que ajudam a proteger uma conexão de rede que usa TLS. O cliente e o servidor precisam concordar com o pacote de criptografia específico que será usado na troca de mensagens. Se o cliente e o servidor não concordarem com um conjunto de algoritmos de criptografia, as solicitações vão falhar com erros de handshake de TLS.
Na Apigee, os conjuntos de algoritmos de criptografia precisam ser acordados mutuamente entre os aplicativos clientes e os roteadores.
Talvez você queira modificar os conjuntos de algoritmos de criptografia no Apigee Edge pelos seguintes motivos:
- Para evitar incompatibilidade de conjuntos de algoritmos de criptografia entre aplicativos clientes e roteadores da Apigee
- Para usar conjuntos de algoritmos mais seguros e corrigir vulnerabilidades de segurança ou aumentar a segurança
Os conjuntos de algoritmos de criptografia podem ser configurados nos hosts virtuais ou nos roteadores da Apigee. O Apigee aceita conjuntos de algoritmos apenas no formato de strings de algoritmos OpenSSL no host virtual e no roteador. A página de manual de cifras do OpenSSL (em inglês) fornece os pacotes de criptografia SSL ou TLS da especificação relevante e os equivalentes do OpenSSL.
Por exemplo:
Se você quiser configurar o conjunto de cifras TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 no host virtual ou no roteador da Apigee, identifique a string de cifra OpenSSL correspondente na página de manual de cifras do OpenSSL.
A string de criptografia do OpenSSL para o conjunto de criptografias TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
é ECDHE-RSA-AES128-GCM-SHA256.. Portanto, use a string de criptografia do OpenSSL
ECDHE-RSA-AES128-GCM-SHA256 ao configurar o conjunto de criptografias no host virtual
ou no roteador da Apigee.
Antes de começar
- Para saber mais sobre as strings de cifra do OpenSSL para os diferentes pacotes de criptografia, leia a página de manual de cifras do OpenSSL.
- Se você não estiver familiarizado com as propriedades de host virtual, leia Referência de propriedade de host virtual.
- Se você não sabe como configurar propriedades para o Edge na nuvem privada, leia Como configurar o Edge.
Como configurar conjuntos de criptografia em hosts virtuais
Esta seção explica como configurar conjuntos de algoritmos de criptografia nos hosts virtuais associados a uma organização e um ambiente. Os pacotes de criptografia podem ser configurados no host virtual usando a propriedade ssl_ciphers, que representa a lista de pacotes de criptografia compatíveis com o host virtual.
Consulte Pacotes de criptografia compatíveis para ver uma lista dos pacotes de criptografia 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:
- Faça login na interface do Edge.
- Acesse Administrador > Hosts virtuais.
- Selecione um ambiente específico em que você quer fazer essa mudança.
- Selecione o host virtual específico para o qual você quer configurar os conjuntos de algoritmos de criptografia.
-
Em Propriedades, atualize o valor Ciphers com uma lista de strings de criptografia OpenSSL delimitada por dois pontos.
Por exemplo, se você quiser permitir apenas os conjuntos de criptografia
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256eTLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, determine as strings de cifra do OpenSSL correspondentes na página de manual OpenSSL ciphers, conforme mostrado na tabela a seguir:Pacote de criptografia String de criptografia OpenSSL TLS_DHE_RSA_WITH_AES_128_GCM_SHA256DHE-RSA-AES128-GCM-SHA256TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256ECDHE-RSA-AES128-GCM-SHA256Adicione a string de criptografia do OpenSSL com separação por dois-pontos, conforme mostrado na figura a seguir:
- Salve a mudança.
Como usar a API do Edge
Para configurar os conjuntos de algoritmos em um host virtual usando a API do Edge, faça o seguinte:
- Receba a configuração atual do host virtual usando a API
Get virtual host, 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}{ "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 } -
Adicione a propriedade
ssl_ciphersao payload JSON da configuração de host virtual existente empropertiescom as strings de criptografia OpenSSL adequadas.Por exemplo, se você quiser permitir apenas os conjuntos de criptografia
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256eTLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, determine as strings de cifra do OpenSSL correspondentes na página de manual OpenSSL ciphers, conforme mostrado na tabela a seguir:Pacote de criptografia String de criptografia OpenSSL TLS_DHE_RSA_WITH_AES_128_GCM_SHA256DHE-RSA-AES128-GCM-SHA256TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256ECDHE-RSA-AES128-GCM-SHA256Adicione 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 } -
Salve a configuração atualizada do host virtual em um arquivo. Exemplo:
virtualhost-payload.json -
Atualize a configuração
virtualhostcom a mudança usando a API Atualizar um host virtual da seguinte maneira: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}
Pacotes de criptografia compatíveis
A Apigee é compatível com os 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 conjuntos de algoritmos de criptografia em hosts virtuais
Esta seção explica como verificar se os conjuntos de algoritmos foram modificados com sucesso no host virtual usando a API Edge.
- Execute a API
Get 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} -
Verifique se a propriedade
ssl_ciphersfoi 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_ciphersfoi definido com o novo valor. -
Se você ainda vir o valor antigo de
ssl_ciphers, verifique se seguiu todas as etapas descritas em Configurar conjuntos de algoritmos de criptografia em hosts virtuais corretamente. Se você perdeu alguma etapa, repita todas as etapas corretamente. - Se ainda não for possível atualizar ou adicionar conjuntos de algoritmos de criptografia ao host virtual, entre em contato com o suporte do Apigee Edge.
Como configurar pacotes de criptografia em roteadores
Esta seção explica como configurar conjuntos de algoritmos de criptografia nos roteadores. Os pacotes de criptografia podem ser configurados usando a 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 conjuntos de algoritmos de criptografia nos roteadores, faça o seguinte:
-
Na máquina do roteador, abra o seguinte arquivo em um editor. Se ele ainda não existir, crie-o.
/opt/apigee/customer/application/router.properties
Por exemplo, para abrir o arquivo com
vi, insira o seguinte:vi /opt/apigee/customer/application/router.properties
-
Adicione uma linha no seguinte formato ao arquivo
properties, substituindo um valor por colon_separated_cipher_suites:conf_load_balancing_load.balancing.driver.server.ssl.ciphers=colon_separated_cipher_suites
Por exemplo, se você quiser permitir apenas os conjuntos de criptografia
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256eTLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, determine as strings de criptografia do OpenSSL correspondentes na página de manual OpenSSL ciphers, conforme mostrado na tabela a seguir:Pacote de criptografia String de criptografia OpenSSL TLS_DHE_RSA_WITH_AES_128_GCM_SHA256DHE-RSA-AES128-GCM-SHA256TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256ECDHE-RSA-AES128-GCM-SHA256Em seguida, adicione a seguinte linha:
conf_load_balancing_load.balancing.driver.server.ssl.ciphers=DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256
- Salve as alterações.
-
Verifique se esse arquivo de propriedades pertence ao usuário
apigee, conforme mostrado abaixo:chown apigee:apigee /opt/apigee/customer/application/router.properties
-
Reinicie o roteador conforme mostrado abaixo:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- Se você tiver mais de um roteador, repita as etapas acima em todos eles.
Verificar o pacote de criptografia nos roteadores
Nesta seção, explicamos como verificar se os conjuntos de algoritmos de criptografia foram modificados com sucesso nos roteadores.
-
No roteador, procure a propriedade
conf_load_balancing_load.balancing.driver.server.ssl.ciphersusando o utilitário de pesquisa da Apigee na pasta/opt/apigeee verifique se ela foi definida com o novo valor da seguinte maneira:/opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_load_balancing_load.balancing.driver.server.ssl.ciphers
-
Se os novos conjuntos de algoritmos de criptografia forem definidos com êxito no roteador, o comando acima vai mostrar
os novos valores.
Confira abaixo o resultado de exemplo do comando
searchacima quando os conjuntos de algoritmos de criptografia foram atualizados paraDHE-RSA-AES128-GCM-SHA256eECDHE-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.ciphersfoi definida com os novos valores de conjunto de algoritmos de criptografia. Isso indica que o pacote de criptografia foi atualizado para as strings de criptografia OpenSSLDHE-RSA-AES128-GCM-SHA25eECDHE-RSA-AES128-GCM-SHA256no roteador. -
Se você ainda vir os valores antigos para conjuntos de algoritmos
conf_load_balancing_load.balancing.driver.server.ssl.ciphers, verifique se seguiu todas as etapas descritas em Configurar conjuntos de algoritmos em roteadores corretamente. Se você perdeu alguma etapa, repita todas as etapas corretamente. - Se ainda não for possível modificar os conjuntos de algoritmos de criptografia nos roteadores, entre em contato com o suporte do Apigee Edge.