Habilitación de TLS mutua para las distribuciones de CloudFront
Requisitos previos y requisitos
El modo de verificación de TLS mutua de CloudFront exige que todos los clientes presenten certificados válidos durante el establecimiento de comunicación de TLS y rechaza las conexiones sin certificados válidos. Antes de habilitar TLS mutua en una distribución de CloudFront, asegúrese de que dispone de:
Se ha creado un almacén de confianza con los certificados de autoridad de certificación
Se ha asociado el almacén de confianza a la distribución de CloudFront
Se ha asegurado que todos los comportamientos de la caché de distribución utilizan una política de protocolo de espectador solo HTTPS
Se ha asegurado que la distribución utilice HTTP/2 (la configuración predeterminada, mTLS de espectador no es compatible con HTTP/3)
nota
La autenticación TLS mutua requiere conexiones HTTPS entre espectadores y CloudFront. No puede habilitar mTLS en una distribución con ningún comportamiento de caché que admita conexiones HTTP.
Habilitación de TLS mutua (consola)
Para distribuciones nuevas
mTLS de espectador no se puede configurar durante el proceso de creación de una nueva distribución en la consola de CloudFront. Primero cree la distribución por cualquier medio (consola, CLI, API) y, a continuación, edite la configuración de distribución para habilitar mTLS de espectador según las instrucciones de distribución existentes que se indican a continuación.
Para distribuciones existentes
Inicie sesión en la Consola de administración de AWS y abra la consola de CloudFront en https://console.aws.amazon.com/cloudfront/v4/home
. -
En la lista de distribución, seleccione la distribución que desee modificar.
-
Asegúrese de que la política del protocolo del espectador se establece en Redireccionamiento de HTTP a HTTPS o Solo HTTPS para todos los comportamientos de la caché. (Puede elegir la pestaña Comportamientos de la caché para ver y actualizar cualquier comportamiento de la caché con las políticas del protocolo HTTP).
-
Elija la pestaña General.
-
En la sección Settings (Configuración), elija Editar.
-
En la sección Conectividad, busque la Autenticación mutua del espectador (mTLS).
-
Active la opción Habilitar la autenticación mutua.
-
Para Modo de validación de certificados de cliente, seleccione Obligatorio (todos los clientes deben presentar certificados) u Opcional (los clientes pueden presentar certificados de forma opcional).
-
Para Almacén de confianza, seleccione el almacén de confianza que creó anteriormente.
-
(Opcional) Active la opción Anunciar nombres de autoridad de certificación de almacenes de confianza si desea que CloudFront envíe nombres de autoridades de certificación a los clientes durante el establecimiento de comunicación de TLS.
-
(Opcional) Active la opción Ignorar la fecha de caducidad del certificado si desea permitir las conexiones con certificados caducados.
-
Seleccione Save changes (Guardar cambios).
Habilitación de TLS mutua (CLI de AWS)
Para distribuciones nuevas
El siguiente ejemplo muestra cómo crear un archivo de configuración de distribución (distribution-config.json) que incluya la configuración de mTLS:
{ "CallerReference": "cli-example-1", "Origins": { "Quantity": 1, "Items": [ { "Id": "my-origin", "DomainName": "example.com", "CustomOriginConfig": { "HTTPPort": 80, "HTTPSPort": 443, "OriginProtocolPolicy": "https-only" } } ] }, "DefaultCacheBehavior": { "TargetOriginId": "my-origin", "ViewerProtocolPolicy": "https-only", "MinTTL": 0, "ForwardedValues": { "QueryString": false, "Cookies": { "Forward": "none" } } }, "ViewerCertificate": { "CloudFrontDefaultCertificate": true }, "ViewerMtlsConfig": { "Mode": "required", "TrustStoreConfig": { "TrustStoreId": {TRUST_STORE_ID}, "AdvertiseTrustStoreCaNames": true, "IgnoreCertificateExpiry": true } }, "Enabled": true }
Cree la distribución con mTLS habilitado mediante el siguiente comando de ejemplo:
aws cloudfront create-distribution --distribution-config file://distribution-config.json
Para distribuciones existentes
Obtenga la configuración de distribución actual mediante el siguiente comando de ejemplo:
aws cloudfront get-distribution-config --id E1A2B3C4D5E6F7 --output json > dist-config.json
Edite el archivo para agregar la configuración de mTLS. Agregue la sección de ejemplo siguiente a la configuración de distribución:
"ViewerMtlsConfig": { "Mode": "required", "TrustStoreConfig": { "TrustStoreId": {TRUST_STORE_ID}, "AdvertiseTrustStoreCaNames": true, "IgnoreCertificateExpiry": true } }
Elimine el campo ETag del archivo, pero guarde su valor de forma independiente.
Actualice la distribución con la nueva configuración mediante el comando de ejemplo siguiente:
aws cloudfront update-distribution \ --id E1A2B3C4D5E6F7 \ --if-match YOUR-ETAG-VALUE \ --distribution-config file://dist-config.json
Políticas de protocolo para espectadores
Cuando se utiliza TLS mutua, todos los comportamientos de la caché distribuida se deben configurar con una política de protocolo de espectador solo HTTPS:
-
Redirección de HTTP a HTTPS: redirige las solicitudes HTTP a HTTPS antes de realizar la validación del certificado.
-
Solo HTTPS: solo acepta solicitudes HTTPS y realiza la validación del certificado.
nota
La política de protocolo de espectador HTTP y HTTPS no es compatible con TLS mutua, ya que las conexiones HTTP no pueden realizar la validación de los certificados.
Siguientes pasos
Tras habilitar TLS del espectador en la distribución de CloudFront, puede asociar las funciones de conexión para implementar una lógica de validación de certificados personalizada. Las funciones de conexión le permiten ampliar las capacidades de autenticación mTLS integradas con reglas de validación, comprobación de la revocación de certificados y registros personalizados. Para obtener más información sobre la creación y asociación de funciones de conexión, consulte Asociación de una función de conexión de CloudFront.