Configura conjuntos de algoritmos de cifrado en hosts y routers virtuales

Estás consultando la documentación de Apigee Edge.
Consulta la documentación de Apigee X.
Información

En este documento, se explica cómo configurar conjuntos de algoritmos de cifrado en hosts virtuales y routers en Apigee Edge.

Un conjunto de algoritmos de cifrado es un conjunto de algoritmos que ayudan a proteger una conexión de red que usa TLS. El cliente y el servidor deben acordar el conjunto de algoritmos de cifrado específico que se usará para intercambiar mensajes. Si el cliente y el servidor no acuerdan usar un conjunto de algoritmos de cifrado, las solicitudes fallan con fallas del protocolo de enlace TLS.

En Apigee, los conjuntos de algoritmos de cifrado deben acordarse mutuamente entre las aplicaciones cliente y los routers.

Recomendamos modificar los conjuntos de algoritmos de cifrado en Apigee Edge por los siguientes motivos:

  • Para evitar discrepancias en los conjuntos de algoritmos de cifrado entre las aplicaciones cliente y los routers de Apigee
  • Usar conjuntos de cifrado más seguros, ya sea para corregir vulnerabilidades de seguridad o mejorar la seguridad

Los conjuntos de cifrado se pueden configurar en hosts virtuales o routers de Apigee. Ten en cuenta que Apigee acepta conjuntos de algoritmos de cifrado solo en el formato de cadenas de cifrado de OpenSSL, tanto en el host virtual como en el router. La página del manual de algoritmos de cifrado de OpenSSL proporciona los conjuntos de algoritmos de cifrado SSL o TLS de la especificación relevante y sus equivalentes de OpenSSL.

Por ejemplo:

Si deseas configurar el conjunto de algoritmos de cifrado TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 en el host virtual o en el router de Apigee, debes identificar la string de cifrado de OpenSSL correspondiente en la página del manual de cifrado de OpenSSL. La string de cifrado de OpenSSL para el conjunto de algoritmos de cifrado TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 es ECDHE-RSA-AES128-GCM-SHA256.. Por lo tanto, debes usar ECDHE-RSA-AES128-GCM-SHA256 mientras configuras el conjunto de algoritmos de cifrado en el host virtual o en el router de Apigee.

Antes de comenzar

Configura conjuntos de algoritmos de cifrado en hosts virtuales

En esta sección, se explica cómo configurar conjuntos de algoritmos de cifrado en los hosts virtuales asociados con una organización y un entorno. Los conjuntos de algoritmos de cifrado se pueden configurar en el host virtual mediante la propiedad ssl_ciphers, que representa la lista de conjuntos de algoritmos de cifrado compatibles con el host virtual.

Consulta Conjuntos de algoritmos de cifrado admitidos para obtener una lista de los conjuntos de algoritmos de cifrado que admite Apigee.

Puedes configurar el host virtual mediante uno de los siguientes métodos:

  • Usa la IU de Edge
  • Usa la API de Edge

Usa la IU de Edge

Para configurar el host virtual mediante la IU de Edge, sigue estos pasos:

  1. Accede a la IU de Edge.
  2. Navega a Administrador > Hosts virtuales.
  3. Selecciona un Entorno específico en el que quieras realizar este cambio.
  4. Selecciona el host virtual específico para el que deseas configurar los conjuntos de algoritmos de cifrado.
  5. En Propiedades, actualiza el valor de Ciphers con una lista delimitada por dos puntos de cadenas de cifrado de OpenSSL.

    Por ejemplo, si solo deseas permitir los conjuntos de algoritmos de cifrado TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 y TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, determina las strings de cifrados de OpenSSL correspondientes a partir de la página del manual de algoritmos de cifrado de OpenSSL, como se muestra en la siguiente tabla:

    Paquete de algoritmo de cifrado String de cifrado de 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

    Agrega la cadena de cifrado de OpenSSL con separación de dos puntos, como se muestra en la siguiente figura:

    Ejemplo de algoritmos de cifrado

  6. Guarda el cambio.

Usa la API de Edge

Para configurar los conjuntos de algoritmos de cifrado en un host virtual mediante la API de Edge, sigue estos pasos:

  1. Obtén la configuración actual del host virtual con la API de Obtener host virtual, como se muestra a continuación:

    Usuario de la nube pública:

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

    Usuario de la nube 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. Agrega la propiedad ssl_ciphers a la carga útil de JSON de la configuración de host virtual existente en properties con las strings de cifrado de OpenSSL adecuadas.

    Por ejemplo, si solo deseas permitir los conjuntos de algoritmos de cifrado TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 y TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, determina las strings de cifrados de OpenSSL correspondientes a partir de la página del manual de algoritmos de cifrado de OpenSSL, como se muestra en la siguiente tabla:

    Paquete de algoritmo de cifrado String de cifrado de 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

    Agrega el siguiente bloque de código properties:

    Ejemplo de configuración actualizada del 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. Guarda la configuración actualizada del host virtual en un archivo. Por ejemplo, virtualhost-payload.json.
  4. Actualiza la configuración de virtualhost con el cambio mediante la API de Actualiza un host virtual de la siguiente manera:

    Usuario de la nube 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}
    

    Usuario de la nube 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 algoritmos de cifrado compatibles

Apigee admite los siguientes conjuntos de algoritmos de cifrado:

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

Verifica los conjuntos de algoritmos de cifrado en hosts virtuales

En esta sección, se explica cómo verificar que los conjuntos de algoritmos de cifrado se hayan modificado de forma correcta en el host virtual mediante la API de Edge.

  1. Ejecuta la API de Obtener host virtual para obtener la configuración virtualhost como se muestra a continuación:

    Usuario de la nube pública:

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

    Usuario de la nube privada:

    curl -v -X GET http://{management_server_IP}:8080/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}
    
  2. Verifica que se haya establecido el valor nuevo en la propiedad ssl_ciphers.

    Ejemplo de configuración actualizada del 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
    }
    

    En el ejemplo anterior, ten en cuenta que se configuró ssl_ciphers con el valor nuevo.

  3. Si aún ves el valor anterior de ssl_ciphers, verifica si seguiste todos los pasos descritos en Configura los conjuntos de algoritmos de cifrado en hosts virtuales de forma correcta. Si omitiste algún paso, repite todos los pasos correctamente.
  4. Si aún no puedes actualizar o agregar conjuntos de algoritmos de cifrado al host virtual, comunícate con el equipo de asistencia de Apigee Edge.

Configura conjuntos de algoritmos de cifrado en routers

En esta sección, se explica cómo configurar conjuntos de algoritmos de cifrado en los routers. Los conjuntos de algoritmos de cifrado se pueden configurar a través de la propiedad conf_load_balancing_load.balancing.driver.server.ssl.ciphers del router, que representa los conjuntos de algoritmos de cifrado aceptados y separados por dos puntos.

Para configurar conjuntos de algoritmos de cifrado en los routers, sigue estos pasos:

  1. En la máquina Router, abre el siguiente archivo en un editor. Si aún no existe, créalo.

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

    Por ejemplo, para abrir el archivo con vi, ingresa lo siguiente:

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

  2. Agrega una línea con el siguiente formato al archivo properties y reemplaza un valor por colon_separated_cipher_suites:
    conf_load_balancing_load.balancing.driver.server.ssl.ciphers=colon_separated_cipher_suites
    

    Por ejemplo, si solo deseas permitir los conjuntos de algoritmos de cifrado TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 y TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, determina las strings de cifrados de OpenSSL correspondientes a partir de la página del manual de algoritmos de cifrado de OpenSSL, como se muestra en la siguiente tabla:

    Paquete de algoritmo de cifrado String de cifrado de 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

    Luego, agrega la siguiente línea:

    conf_load_balancing_load.balancing.driver.server.ssl.ciphers=DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256
    
  3. Guarda los cambios.
  4. Asegúrate de que este archivo de propiedades sea propiedad del usuario apigee, como se muestra a continuación:
    chown apigee:apigee /opt/apigee/customer/application/router.properties
    
  5. Reinicia el router como se muestra a continuación:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
    
  6. Si tienes más de un router, repite los pasos anteriores en todos ellos.

Verifica el paquete de algoritmos de cifrado en los routers

En esta sección, se explica cómo verificar que los conjuntos de algoritmos de cifrado se hayan modificado correctamente en los routers.

  1. En el router, busca la propiedad conf_load_balancing_load.balancing.driver.server.ssl.ciphers con la utilidad de búsqueda de Apigee de la carpeta /opt/apigee y verifica si se configuró con el valor nuevo de la siguiente manera:
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_load_balancing_load.balancing.driver.server.ssl.ciphers
    
  2. Si los nuevos conjuntos de algoritmos de cifrado se configuran correctamente en el router, el comando anterior mostrará los valores nuevos.

    El siguiente es el resultado de muestra del comando search anterior cuando los conjuntos de algoritmos de cifrado se actualizaron a DHE-RSA-AES128-GCM-SHA256 y 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
    

    En el resultado de ejemplo anterior, observa que la propiedad conf_load_balancing_load.balancing.driver.server.ssl.ciphers se configuró con los nuevos valores del conjunto de algoritmos de cifrado. Esto indica que el conjunto de algoritmos de cifrado se actualizó de forma correcta a las strings de cifrado de OpenSSL DHE-RSA-AES128-GCM-SHA25 y ECDHE-RSA-AES128-GCM-SHA256 en el router.

  3. Si aún ves los valores anteriores de los conjuntos de algoritmos de cifrado conf_load_balancing_load.balancing.driver.server.ssl.ciphers, verifica si seguiste todos los pasos descritos en Configura los conjuntos de algoritmos de cifrado en routers de forma correcta. Si omitiste algún paso, repite todos los pasos correctamente.
  4. Si aún no puedes modificar los conjuntos de algoritmos de cifrado en los routers, comunícate con el equipo de asistencia de Apigee Edge.