Introducción a la directiva TLS de Application Gateway

Puede utilizar Azure Application Gateway para centralizar la administración de certificados TLS/SSL y reducir la sobrecarga de cifrado y descifrado de una granja de servidores backend. Este control centralizado de TLS también le permite especificar una directiva TLS central que se adapte a los requisitos de seguridad de la organización. Esto le ayuda a cumplir los requisitos de cumplimiento normativo, así como las directrices de seguridad y los procedimientos recomendados.

La directiva TLS incluye el control de la versión del protocolo TLS, así como de los conjuntos de cifrado y el orden en el que se usan los cifrados durante un protocolo de enlace TLS. Application Gateway proporciona dos mecanismos para controlar la directiva TLS. Puede usar una directiva predefinida o una directiva personalizada.

Detalles de uso y versión

  • SSL 2.0 y 3.0 están deshabilitados en todas las instancias de Application Gateway y no se pueden configurar.
  • Una directiva TLS personalizada le permite seleccionar cualquier protocolo TSL como versión mínima de protocolo para la puerta de enlace: TLSv1_0, TLSv1_1, TLSv1_2 o TLSv1_3.
  • Si no se elige ninguna directiva TLS, se aplica una directiva TLS predeterminada en función de la versión de API que se usa para crear ese recurso.
  • Las directivas predefinidas en 2022 y Customv2 compatibles con TLS v1.3 solo están disponibles con las SKU de Application Gateway V2 (Standard_v2 o WAF_v2).
  • El uso de una nueva directiva Customv2 o predefinida en 2022 mejora la seguridad de SSL y la posición de rendimiento de toda la puerta de enlace (para la directiva SSL y el perfil SSL). Por lo tanto, directivas antiguas y nuevas no pueden coexistir en una puerta de enlace. Debe usar cualquiera de las directivas predefinidas o personalizadas anteriores en la puerta de enlace si los clientes requieren versiones o cifrados de TLS anteriores (por ejemplo, TLS v1.0).
  • Los conjuntos de cifrado TLS que se usan para la conexión también se basan en el tipo de certificado que se utiliza. Los conjuntos de cifrado usados en las "conexiones de cliente a puerta de enlace de aplicaciones" se basan en el tipo de certificados de escucha de la puerta de enlace de aplicaciones. Mientras que los conjuntos de cifrado usados para establecer "conexiones de puerta de enlace de aplicaciones a grupos de back-end" se basan en el tipo de certificados de servidor presentados por los servidores back-end.

Directiva TLS predefinida

Application Gateway ofrece varias directivas de seguridad predefinidas. Puede configurar la puerta de enlace con cualquiera de estas directivas para conseguir el nivel adecuado de seguridad. Los nombres de directiva se anotan según el año y mes en el que se configuraron (AppGwSslPolicy<AAAAMMDD>). Cada directiva ofrece diferentes versiones de protocolos TLS y conjuntos de cifrado. Estas directivas predefinidas se configuran teniendo en cuenta los procedimientos recomendados y las recomendaciones del equipo de seguridad de Microsoft. Se recomienda usar las directivas TLS más recientes para garantizar la máxima seguridad TLS.

En la tabla siguiente se muestra la lista de conjuntos de cifrado y la compatibilidad con la versión mínima del protocolo en cada directiva predefinida. El orden de los conjuntos de cifrado determina el orden de prioridad durante la negociación TLS. Para conocer el orden exacto de los conjuntos de cifrado de estas directivas predefinidas, puede consultar PowerShell, la CLI, la API REST o la hoja de clientes de escucha en el portal.

Nombres de directiva predefinidos (AppGwSslPolicy<AAAAMMDD>) 20150501 20170401 20170401S 20220101 20220101S
Versión mínima del protocolo 1.0 1.1 1,2 1.2 1.2
Versiones de protocolo habilitadas 1.0
1.1
1,2
1,1
1,2
1.2 1.2
1.3
1.2
1.3
Valor predeterminado True
(para la versión de API < 2023-02-01)
False False True
(para la versión de API >= 2023-02-01)
False
TLS_AES_128_GCM_SHA256
TLS_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
TLS_DHE_RSA_WITH_AES_256_CBC_SHA
TLS_DHE_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_256_CBC_SHA256
TLS_RSA_WITH_AES_128_CBC_SHA256
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
TLS_DHE_DSS_WITH_AES_256_CBC_SHA
TLS_DHE_DSS_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA

Directiva TLS predeterminada

Cuando no se especifica ninguna directiva SSL específica en la configuración de recursos de puerta de enlace de aplicación, se aplica una directiva TLS predeterminada. La selección de esta directiva predeterminada se basa en la versión de API que se usa para crear esa puerta de enlace.

  • Para las versiones de API 2023-02-01 o posteriores, la versión mínima del protocolo se establece en 1.2 (se admite la versión hasta 1.3). Las puertas de enlace creadas con estas versiones de API verán una propiedad de solo lectura defaultPredefinedSslPolicy:AppGwSslPolicy20220101 en la configuración del recurso. Esta propiedad define la directiva TLS predeterminada que se va a usar.
  • Para versiones anteriores de API < 2023-02-01, la versión mínima del protocolo se establece en 1.0 (se admiten versiones hasta 1.2) ya que usan la directiva predefinida AppGwSslPolicy20150501 como valor predeterminado.

Si el TLS predeterminado no se ajusta a sus necesidades, elija una directiva predefinida diferente o use una personalizada.

Nota:

La compatibilidad de Azure PowerShell y la CLI con la directiva TLS predeterminada actualizada estará disponible próximamente.

Directiva TLS personalizada

Si una directiva TLS se debe configurar de acuerdo con sus requisitos, debe definir su propia directiva TLS personalizada. Con una directiva TLS personalizada, tiene un control completo sobre la versión mínima compatible del protocolo TLS, así como de los conjuntos de cifrado compatibles y su orden de prioridad.

Nota:

La compatibilidad con cifrados más recientes y más seguros y TLSv1.3 solo está disponible con la directiva CustomV2. Proporciona ventajas mejoradas de seguridad y rendimiento.

Importante

  • Si usa una directiva SSL personalizada en la SKU de Application Gateway v1 (Estándar o WAF), asegúrese de agregar el cifrado obligatorio "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256" a la lista. Este cifrado es necesario para habilitar las métricas y el registro en la SKU de Application Gateway v1. No es obligatorio para la SKU de Application Gateway v2 (Standard_v2 o WAF_v2).
  • Los conjuntos de cifrado "TLS_AES_128_GCM_SHA256" y "TLS_AES_256_GCM_SHA384" son obligatorios para TLSv1.3. No es necesario mencionarlas explícitamente al establecer una directiva CustomV2 con la versión mínima del protocolo 1.2 o 1.3 a través de PowerShell o la CLI. Por consiguiente, estos conjuntos de cifrados no aparecerán en la salida Obtener detalles, con una excepción de Portal.

Conjuntos de cifrado

Application Gateway admite los siguientes conjuntos de cifrado desde los que puede elegir la directiva personalizada. El orden de los conjuntos de cifrado determina el orden de prioridad durante la negociación TLS.

  • TLS_AES_128_GCM_SHA256 (disponible solo con Customv2)
  • TLS_AES_256_GCM_SHA384 (disponible solo con Customv2)
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
  • TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_DHE_RSA_WITH_AES_256_CBC_SHA
  • TLS_DHE_RSA_WITH_AES_128_CBC_SHA
  • TLS_RSA_WITH_AES_256_GCM_SHA384
  • TLS_RSA_WITH_AES_128_GCM_SHA256
  • TLS_RSA_WITH_AES_256_CBC_SHA256
  • TLS_RSA_WITH_AES_128_CBC_SHA256
  • TLS_RSA_WITH_AES_256_CBC_SHA
  • TLS_RSA_WITH_AES_128_CBC_SHA
  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
  • TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
  • TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
  • TLS_DHE_DSS_WITH_AES_256_CBC_SHA
  • TLS_DHE_DSS_WITH_AES_128_CBC_SHA
  • TLS_RSA_WITH_3DES_EDE_CBC_SHA
  • TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA

Limitaciones

  • Las conexiones a los servidores backend siempre tienen el protocolo mínimo TLS v1.0 y hasta TLS v1.2. Por lo tanto, solo se admiten las versiones 1.0, 1.1 y 1.2 de TLS para establecer una conexión segura con los servidores backend.
  • A partir de ahora, la implementación de TLS 1.3 no está habilitada con la característica "Tiempo de recorrido de ida y vuelta cero (0-RTT)".
  • No se admite la reanudación de la sesión TLS (id. o vales).
  • Application Gateway v2 no es compatible actualmente con los siguientes cifrados DHE. y no se usarán para las conexiones TLS con los clientes aunque se mencionen en las directivas predefinidas. En lugar de los cifrados de DHE, se recomiendan cifrados de ECDHE seguros y más rápidos.
    • TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
    • TLS_DHE_RSA_WITH_AES_128_CBC_SHA
    • TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
    • TLS_DHE_RSA_WITH_AES_256_CBC_SHA
    • TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
    • TLS_DHE_DSS_WITH_AES_128_CBC_SHA
    • TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
    • TLS_DHE_DSS_WITH_AES_256_CBC_SHA
  • Los clientes restringidos que buscan compatibilidad con "Negociación máxima de longitud de fragmento" deben usar las directivas de predefinidas de 2022 más recientes o Customv2.

Pasos siguientes

Si desea aprender a configurar una directiva TLS, consulte Configurar versiones de directivas SSL y conjuntos de cifrado en Application Gateway.