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 en Equilibrador de carga de aplicación
La autenticación TLS mutua es una variación de la seguridad de la capa de transporte (TLS). La TLS tradicional establece comunicaciones seguras entre un servidor y un cliente, donde el servidor debe proporcionar su identidad a sus clientes. Con la TLS mutua, un equilibrador de carga negocia la autenticación mutua entre el cliente y el servidor mientras negocia TLS. Cuando utiliza TLS mutuo con el equilibrador de carga de aplicaciones, simplifica la administración de autenticación y reduce la carga en las aplicaciones.
Al usar TLS mutuo, el equilibrador de carga puede administrar la autenticación de clientes para ayudar a garantizar que solo clientes de confianza se comuniquen con las aplicaciones de backend. Al utilizar esta función, el equilibrador de cargas autentica a los clientes mediante certificados de una entidad emisora de certificados (CA) externa o mediante la AWS Private Certificate Authority (PCA), de forma opcional, con comprobaciones de revocación. El equilibrador de carga pasa la información del certificado del cliente al backend con encabezados HTTP, que las aplicaciones pueden usar para la autorización.
TLS mutuo para equilibradores de carga de aplicaciones proporciona las siguientes opciones para validar certificados X.509v3 del cliente:
Modo de paso directo de TLS mutuo: el equilibrador de carga envía toda la cadena de certificados del cliente al destino sin verificarla. Los destinos deben verificar la cadena de certificados del cliente. Luego, con la cadena de certificados del cliente, puede implementar en la aplicación la autenticación que realiza el equilibrador de carga y la lógica de autorización del destino.
Verificación de TLS mutuo: el equilibrador de carga realiza la autenticación del certificado X.509 del cliente para los clientes cuando un equilibrador de carga negocia conexiones TLS.
Para usar TLS mutuo en modo de paso directo, debe configurar el oyente para aceptar los certificados de los clientes. Para usar TLS mutuo con verificación, consulte Configuración de una TLS mutua en un Equilibrador de carga de aplicación.
Pasos previos a la configuración de la TLS mutua en el Equilibrador de carga de aplicación
Antes de empezar a configurar la TLS mutua en el Equilibrador de carga de aplicación, 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 tu cuenta. AWS
Para obtener más información, consulte Cuotas para sus Equilibradores de carga de aplicación.
- Requisitos para certificados
Los Equilibradores de carga de aplicación son compatibles con los siguientes elementos para los certificados que se utilizan con la autenticación TLS mutua:
Certificado compatible: X.509v3
Claves públicas compatibles: RSA 2K — 8K o ECDSA secp256r1, secp384r1, secp521r1
Algoritmos de firma compatibles: 384 SHA256, 512 con RSA/SHA256, 384, 512 with EC/SHA 256 384 512 hash con RSASSA-PSS con 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 la API. ModifyTrustStore
- Solicitud de certificado para acceso directo
Cuando se utiliza el acceso directo de TLS mutua, el Equilibrador de carga de aplicación 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 verificación o los accesos directos de TLS mutua con un Equilibrador de carga de aplicación.
- Encabezados HTTP
Los Equilibradores de carga de aplicación utilizan encabezados
X-Amzn-Mtlspara enviar la información del certificado cuando negocian las conexiones de los clientes mediante una TLS mutua. Para obtener más información y ejemplos, consulte Encabezados HTTP y TLS mutua.- 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):
-
Certificado único (codificado en PEM):
# comments -----BEGIN CERTIFICATE----- Base64–encoded certificate -----END CERTIFICATE----- -
Varios certificados (codificados en PEM):
# comments -----BEGIN CERTIFICATE----- Base64–encoded certificate -----END CERTIFICATE----- # comments -----BEGIN CERTIFICATE----- Base64–encoded certificate -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- Base64–encoded certificate -----END CERTIFICATE-----
Encabezados HTTP y TLS mutua
En esta sección, se describen los encabezados HTTP que los Equilibradores de carga de aplicación utilizan para enviar la información de los certificados cuando negocian conexiones con clientes que utilizan una TLS mutua. Los encabezados X-Amzn-Mtls específicos que utiliza el Equilibrador de carga de aplicación dependen del modo de TLS mutua que haya especificado: modo de acceso directo o modo de verificación.
Para obtener información sobre otros encabezados HTTP compatibles con los Equilibradores de carga de aplicación, consulte Encabezados HTTP y balanceadores de tipo equilibrador de carga de aplicaciones.
Encabezado de HTTP para el modo de acceso directo
Para la TLS mutua en modo de acceso directo, los Equilibradores de carga de aplicación utilizan el siguiente encabezado.
Este encabezado contiene el formato PEM codificado en una URL de toda la cadena de certificados de cliente presentada en la conexión, con los 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-----%0AEncabezados de HTTP para el modo de verificación
Para la TLS mutua en modo de verificación, los Equilibradores de carga de aplicación 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: 03A5B1Este 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=USEste 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=USEste 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:17ZEste encabezado contiene un formato PEM codificado en una dirección URL del certificado de hoja, con los caracteres seguros +=/.
Ejemplo de contenido del encabezado:
X-Amzn-Mtls-Clientcert-Leaf: -----BEGIN%20CERTIFICATE-----%0AMIIG<...reduced...>NmrUlw%0A-----END%20CERTIFICATE-----%0AAnuncio del nombre del asunto de la autoridad de certificación (CA)
Anunciar los nombres del asunto de la autoridad de certificación (CA) mejora el proceso de autenticación al ayudar a los clientes a determinar qué certificados serán aceptados durante la autenticación TLS 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 equilibrador de carga de aplicaciones, el cliente recibe la lista de nombres del asunto de las CA de confianza.
Durante el protocolo de enlace TLS, 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 del asunto de las CA anunciadas, lo que optimiza el proceso de autenticación y reduce los errores de conexión.
Puede habilitar Anuncio del nombre del asunto de la CA en oyentes nuevos y existentes. Para obtener más información, consulte Adición de un oyente HTTPS.
Registros de conexión de Equilibradores de carga de aplicación
El ELB proporciona registros de conexión que capturan los atributos de las solicitudes enviadas a los balanceadores de carga de aplicaciones. 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 cifrados TLS 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.