Configura conjuntos de algoritmos de cifrado en hosts y routers virtuales

Estás viendo la documentación de Apigee Edge.
Ir a la documentación de Apigee X.
info

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 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á en el intercambio de mensajes. Si el cliente y el servidor no acuerdan un conjunto de algoritmos de cifrado, las solicitudes fallarán con errores de protocolo de enlace TLS.

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

Es posible que desees modificar los conjuntos de algoritmos de cifrado en Apigee Edge por los siguientes motivos:

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

Los conjuntos de algoritmos de cifrado se pueden configurar en los hosts virtuales o en los routers de Apigee. Ten en cuenta que Apigee solo acepta conjuntos de algoritmos de cifrado en el formato de cadenas de cifrado de OpenSSL tanto en el host virtual como en el Router. La página del manual de cifrados de OpenSSL proporciona los conjuntos de algoritmos de cifrado SSL o TLS de la especificación pertinente 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 enrutador de Apigee, debes identificar la cadena de cifrado de OpenSSL correspondiente en la página de manual de los cifrados de OpenSSL. La cadena 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 que debes usar la cadena de cifrado de OpenSSL ECDHE-RSA-AES128-GCM-SHA256 cuando configures el conjunto de algoritmos de cifrado en el host virtual o en el enrutador 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 a través de la propiedad ssl_ciphers, que representa la lista de conjuntos de algoritmos de cifrado admitidos por el host virtual.

Consulta Supported cipher suites para obtener una lista de los conjuntos de cifrado que admite Apigee.

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

  • Usa la IU de Edge
  • Cómo usar la API de Edge

Usa la IU de Edge

Para configurar el host virtual con la IU de Edge, haz lo siguiente:

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

    Por ejemplo, si solo quieres 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 cadenas de cifrado de OpenSSL correspondientes en la página de manual de cifrados de OpenSSL como se muestra en la siguiente tabla:

    Conjunto de algoritmos de cifrado Cadena 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 cifrados

  6. Guarda el cambio.

Uso de la API de Edge

Para configurar los conjuntos de algoritmos de cifrado en un host virtual con la API de Edge, haz lo siguiente:

  1. Obtén la configuración actual del host virtual con la API de Get virtual host, 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 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 configuración del host virtual existente en properties con las cadenas de cifrado de OpenSSL adecuadas.

    Por ejemplo, si solo quieres 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 cadenas de cifrado de OpenSSL correspondientes en la página de manual de cifrados de OpenSSL como se muestra en la siguiente tabla:

    Conjunto de algoritmos de cifrado Cadena 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 de host virtual actualizada:

    {
      "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 usando 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 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 admitidos

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

Cómo verificar 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 correctamente en el host virtual con la API de Edge.

  1. Ejecuta la API de Get virtual host para obtener la configuración de 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 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 la propiedad ssl_ciphers se haya establecido en el valor nuevo.

    Ejemplo de configuración de host virtual actualizada:

    {
      "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 ssl_ciphers se configuró con el valor nuevo.

  3. Si aún ves el valor anterior para ssl_ciphers, verifica que hayas seguido correctamente todos los pasos que se describen en Cómo configurar conjuntos de algoritmos de cifrado en hosts virtuales. 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 Router conf_load_balancing_load.balancing.driver.server.ssl.ciphers, que representa los conjuntos de algoritmos de cifrado aceptados separados por dos puntos.

Para configurar los conjuntos de algoritmos de cifrado en los routers, haz lo siguiente:

  1. En la máquina del 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 colon_separated_cipher_suites por un valor:
    conf_load_balancing_load.balancing.driver.server.ssl.ciphers=colon_separated_cipher_suites

    Por ejemplo, si solo quieres 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 cadenas de cifrado de OpenSSL correspondientes en la página de manual de cifrados de OpenSSL como se muestra en la siguiente tabla:

    Conjunto de algoritmos de cifrado Cadena 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 el usuario apigee sea el propietario de este archivo de propiedades, 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 conjunto 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.

    A continuación, se muestra el resultado de ejemplo 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 del ejemplo anterior, observa que la propiedad conf_load_balancing_load.balancing.driver.server.ssl.ciphers se configuró con los nuevos valores de conjuntos de algoritmos de cifrado. Esto indica que el conjunto de algoritmos de cifrado se actualizó correctamente a las cadenas de cifrado de OpenSSL DHE-RSA-AES128-GCM-SHA25 y ECDHE-RSA-AES128-GCM-SHA256 en el router.

  3. Si sigues viendo los valores antiguos para los conjuntos de algoritmos de cifrado conf_load_balancing_load.balancing.driver.server.ssl.ciphers, verifica que hayas seguido correctamente todos los pasos que se describen en Cómo configurar conjuntos de algoritmos de cifrado en routers. 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.