Autenticación mutua con TLS Application Load Balancer - Elastic Load Balancing

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Autenticación mutua con TLS Application Load Balancer

La TLS autenticación mutua es una variación de la seguridad de la capa de transporte (TLS). TLSLa tradicional establece comunicaciones seguras entre un servidor y un cliente, donde el servidor debe proporcionar su identidad a sus clientes. En el caso de MutualTLS, un balanceador de cargas negocia la autenticación mutua entre el cliente y el servidor mientras negocia. TLS Al utilizar el modo mutuo TLS con Application Load Balancer, se simplifica la administración de la autenticación y se reduce la carga de las aplicaciones.

Al utilizar el balanceador de cargas de forma simultánea TLS con Application Load Balancer, el balanceador de cargas puede administrar la autenticación de los clientes para garantizar que solo los clientes de confianza se comuniquen con sus aplicaciones de backend. Al utilizar esta función, Application Load Balancer autentica a los clientes con certificados de una entidad emisora de certificados (CA) externa o mediante AWS Private Certificate Authority (), de forma opcional, con PCA comprobaciones de revocación. Equilibrador de carga de aplicación transmite la información del certificado del cliente al backend, que las aplicaciones pueden utilizar para la autorización. Al usar mutual TLS en Application Load Balancer, puede obtener una autenticación integrada, escalable y administrada para entidades basadas en certificados, que utiliza bibliotecas establecidas.

Mutual TLS for Application Load Balancers ofrece las dos opciones siguientes para validar los certificados de cliente X.509v3:

Nota: No se admiten los certificados de cliente X.509v1.

  • Transferencia mutuaTLS: cuando se utiliza el modo de transferencia mutuaTLS, Application Load Balancer envía toda la cadena de certificados del cliente al destino mediante encabezados. HTTP Luego, si usa la cadena de certificados del cliente, puede implementar la correspondiente autenticación del equilibrador de carga y la lógica de autorización de destino en su aplicación.

  • TLSVerificación mutua: cuando se usa el modo de TLS verificación mutua, Application Load Balancer realiza la autenticación del certificado de cliente X.509 para los clientes cuando un balanceador de carga negocia las conexiones. TLS

Para empezar a utilizar el modo mutuo TLS en Application Load Balancer mediante el uso de transferencia directa, solo tiene que configurar el listener para que acepte los certificados de los clientes. Para utilizar la verificación mutuaTLS, debe hacer lo siguiente:

  • Cree un nuevo recurso del almacén de confianza.

  • Cargue su paquete de entidades de certificación (CA) y, si lo desea, las listas de revocación.

  • Adjunte el almacén de confianza al oyente que está configurado para verificar los certificados de los clientes.

Para conocer step-by-step los procedimientos para configurar el modo de TLS verificación mutua con su Application Load Balancer, consulte. Configuración mutua TLS en un Application Load Balancer

Antes de empezar a configurar Mutual TLS en su Application Load Balancer

Antes de empezar a configurar Mutual TLS en su Application Load Balancer, tenga en cuenta lo siguiente:

Cuotas

Los balanceadores de carga de aplicaciones incluyen ciertos límites relacionados con la cantidad de almacenes de confianza, certificados de CA y listas de revocación de certificados que se utilizan en su cuenta. AWS

Para obtener más información, consulte Cuotas para sus Equilibradores de carga de aplicación.

Requisitos para certificados

Los balanceadores de carga de aplicaciones admiten lo siguiente para los certificados que se utilizan con la autenticación mutua: TLS

  • Certificado compatible: X.509v3

  • Claves públicas compatibles: RSA 2K — 8K o ECDSA secp256r1, secp384r1, secp521r1

  • Algoritmos de firma compatibles: 384, 512 con 256.384.512 hash con - con SHA256 RSA/SHA256, 384, 512 with EC/SHA RSASSA PSS MGF1

Agrupaciones de certificados de CA

La siguiente información se aplica a los paquetes de entidades de certificación (CA):

  • Los Equilibradores de carga de aplicación cargan cada paquete de certificados de la entidad de certificación (CA) en un lote. Los Equilibradores de carga de aplicación no admiten la carga de certificados individuales. Si necesita agregar nuevos certificados, debe cargar el archivo del paquete de certificados.

  • Para reemplazar un paquete de certificados de CA, utilice el. ModifyTrustStoreAPI

Solicitud de certificado para acceso directo

Cuando se utiliza la transferencia mutuaTLS, Application Load Balancer inserta encabezados para presentar la cadena de certificados del cliente a los destinos del backend. El orden de presentación comienza con los certificados de hoja y termina con el certificado raíz.

Reanudación de la sesión

No se admite la reanudación de la sesión cuando se utilizan los modos de TLS transferencia mutua o verificación con un Application Load Balancer.

Encabezados HTTP

Los balanceadores de carga de aplicaciones utilizan X-Amzn-Mtls encabezados para enviar la información del certificado cuando negocian las conexiones de los clientes de forma mutua. TLS Para obtener más información y ejemplos, consulte HTTPencabezados y mutuos TLS.

Archivos de certificados de CA

Tenga en cuenta que los certificados de CA deben satisfacer los siguientes requisitos:

  • El archivo de certificado debe usar el formato PEM (Privacy Enhanced Mail).

  • El contenido del certificado debe estar dentro de los límites -----BEGIN CERTIFICATE----- y -----END CERTIFICATE-----.

  • Los comentarios deben ir precedidos de un carácter # y no deben contener ningún carácter -.

  • No puede haber líneas en blanco.

Ejemplo de un certificado que no se acepta (no válido):

# comments Certificate: Data: Version: 3 (0x2) Serial Number: 01 Signature Algorithm: ecdsa-with-SHA384 Issuer: C=US, O=EXAMPLE, OU=EXAMPLE, CN=EXAMPLE Validity Not Before: Jan 11 23:57:57 2024 GMT Not After : Jan 10 00:57:57 2029 GMT Subject: C=US, O=EXAMPLE, OU=EXAMPLE, CN=EXAMPLE Subject Public Key Info: Public Key Algorithm: id-ecPublicKey Public-Key: (384 bit) pub: 00:01:02:03:04:05:06:07:08 ASN1 OID: secp384r1 NIST CURVE: P-384 X509v3 extensions: X509v3 Key Usage: critical Digital Signature, Key Encipherment, Certificate Sign, CRL Sign X509v3 Basic Constraints: critical CA:TRUE X509v3 Subject Key Identifier: 00:01:02:03:04:05:06:07:08 X509v3 Subject Alternative Name: URI:EXAMPLE.COM Signature Algorithm: ecdsa-with-SHA384 00:01:02:03:04:05:06:07:08 -----BEGIN CERTIFICATE----- Base64–encoded certificate -----END CERTIFICATE-----

Ejemplos de certificados que se aceptan (válidos):

  1. Certificado único (PEMcodificado):

    # comments -----BEGIN CERTIFICATE----- Base64–encoded certificate -----END CERTIFICATE-----
  2. Varios certificados (PEMcodificados):

    # comments -----BEGIN CERTIFICATE----- Base64–encoded certificate -----END CERTIFICATE----- # comments -----BEGIN CERTIFICATE----- Base64–encoded certificate -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- Base64–encoded certificate -----END CERTIFICATE-----

HTTPencabezados y mutuos TLS

En esta sección, se describen HTTP los encabezados que utilizan los balanceadores de carga de aplicaciones para enviar la información del certificado al negociar conexiones con clientes que utilizan Mutual. TLS X-Amzn-MtlsLos encabezados específicos que utiliza Application Load Balancer dependen del modo TLS mutuo que haya especificado: modo de acceso directo o modo de verificación.

Para obtener información sobre otros HTTP encabezados compatibles con los balanceadores de carga de aplicaciones, consulte. HTTPencabezados y balanceadores de carga de aplicaciones

HTTPencabezado para el modo de acceso directo

Para el modo TLS de transferencia mutua, los balanceadores de carga de aplicaciones utilizan el siguiente encabezado.

Este encabezado contiene el PEM formato URL codificado de toda la cadena de certificados del cliente presentada en la conexión, con caracteres seguros+=/.

Ejemplo de contenido del encabezado:

X-Amzn-Mtls-Clientcert: -----BEGIN%20CERTIFICATE-----%0AMIID<...reduced...>do0g%3D%3D%0A-----END%20CERTIFICATE-----%0A-----BEGIN%20CERTIFICATE-----%0AMIID1<...reduced...>3eZlyKA%3D%3D%0A-----END%20CERTIFICATE-----%0A

HTTPencabezados para el modo de verificación

Para el modo TLS de verificación mutua, los balanceadores de carga de aplicaciones utilizan los siguientes encabezados.

Este encabezado contiene una representación hexadecimal del número de serie del certificado de hoja.

Ejemplo de contenido del encabezado:

X-Amzn-Mtls-Clientcert-Serial-Number: 03A5B1

Este encabezado contiene una RFC2253 cadena que representa el nombre distintivo (DN) del emisor.

Ejemplo de contenido del encabezado:

X-Amzn-Mtls-Clientcert-Issuer: CN=rootcamtls.com,OU=rootCA,O=mTLS,L=Seattle,ST=Washington,C=US

Este encabezado contiene una representación en RFC2253 cadena del nombre distintivo (DN) del sujeto.

Ejemplo de contenido del encabezado:

X-Amzn-Mtls-Clientcert-Subject: CN=client_.com,OU=client-3,O=mTLS,ST=Washington,C=US

Este encabezado contiene un formato ISO86 01 de la notAfter fecha notBefore y.

Ejemplo de contenido del encabezado:

X-Amzn-Mtls-Clientcert-Validity: NotBefore=2023-09-21T01:50:17Z;NotAfter=2024-09-20T01:50:17Z

Este encabezado contiene un PEM formato URL codificado del certificado de hoja, con +=/ caracteres seguros.

Ejemplo de contenido del encabezado:

X-Amzn-Mtls-Clientcert-Leaf: -----BEGIN%20CERTIFICATE-----%0AMIIG<...reduced...>NmrUlw%0A-----END%20CERTIFICATE-----%0A

Los nombres de asunto de Advertising Certificate Authority (CA) mejoran el proceso de autenticación al ayudar a los clientes a determinar qué certificados se aceptarán durante la TLS autenticación mutua.

Al activar Anunciar los nombres de asunto de CA, Application Load Balancer anunciará la lista de nombres de asunto de las autoridades de certificación (CAs) en las que confía, en función del almacén de confianza al que esté asociado. Cuando un cliente se conecta a un destino a través del Application Load Balancer, el cliente recibe la lista de nombres de sujetos de CA de confianza.

Durante el TLS apretón de manos, cuando Application Load Balancer solicita un certificado de cliente, incluye una lista de nombres distinguidos de CA de confianza DNs () en su mensaje de solicitud de certificado. Esto ayuda a los clientes a seleccionar certificados válidos que coincidan con los nombres de asunto de las entidades de certificación anunciadas, lo que agiliza el proceso de autenticación y reduce los errores de conexión.

Puede activar la opción Anunciar el nombre del asunto de CA en los oyentes nuevos y existentes. Para obtener más información, consulte Agregue un oyente HTTPS.

Registros de conexión de Equilibradores de carga de aplicación

Elastic Load Balancing proporciona registros de conexión que capturan atributos sobre las solicitudes enviadas a los Equilibradores de carga de aplicación. Los registros de conexión contienen información como la dirección IP y el puerto del cliente, la información del certificado del cliente, los resultados de la conexión y los TLS cifrados que se utilizan. Estos registros de conexión se pueden usar luego para revisar los patrones de solicitudes y otras tendencias.

Para obtener más información sobre los registros de conexión, consulte Registros de conexión del Equilibrador de carga de aplicación.