Configuración de una TLS mutua en un Equilibrador de carga de aplicación - Elastic Load Balancing

Configuración de una TLS mutua en un Equilibrador de carga de aplicación

Para usar el modo de paso directo de TLS mutuo, solo necesita configurar el oyente para aceptar cualquier certificado de los clientes. Cuando utiliza el acceso directo de TLS mutua, el Equilibrador de carga de aplicación envía toda la cadena de certificados del cliente al destino mediante encabezados de HTTP, lo que le permite implementar la lógica de autenticación y autorización correspondiente en la aplicación. Para obtener más información, consulte Crear un oyente HTTPS para el Equilibrador de carga de aplicaciones.

Cuando se usa la TLS mutua en el modo de verificación, el Equilibrador de carga de aplicación realiza la autenticación del certificado de cliente X.509 para los clientes cuando un equilibrador de carga negocia las conexiones de TLS.

Para usar el modo de verificación de TLS mutua, realice 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.

Use los siguientes procedimientos para configurar el modo de verificación de TLS mutuo en el equilibrador de carga de aplicaciones.

Creación de un almacén de confianza

Si agrega un almacén de confianza al crear un equilibrador de carga o un oyente, el almacén de confianza se asociará automáticamente al nuevo oyente. De lo contrario, deberá asociarlo por su cuenta a un oyente.

Requisitos previos
  • Para crear un almacén de confianza, debe tener un paquete de certificados de su entidad de certificación (CA).

Console

El siguiente ejemplo crea un almacén de confianza con la sección Almacén de confianza de la consola. También puede crear el almacén de confianza al crear un oyente HTTP.

Para crear un almacén de confianza
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación izquierdo, seleccione Almacenes de confianza.

  3. Seleccione Crear almacén de confianza.

  4. Configuración del almacén de confianza

    1. En Nombre del almacén de confianza, introduzca un nombre para el almacén de confianza.

    2. En Paquete de autoridad de certificación, introduzca la ruta de Amazon S3 al paquete de certificados CA que se va a usar.

    3. (Opcional) Use Versión del objeto para seleccionar una versión anterior del paquete de certificados CA. De lo contrario, se utilizará la versión actual.

  5. (Opcional) En Revocaciones, puede agregar una lista de revocación de certificados al almacén de confianza.

    1. Seleccione Agregar nueva CRL e introduzca la ubicación de la lista de revocación de certificados en Amazon S3.

    2. (Opcional) Utilice la versión de objeto para seleccionar una versión anterior de la lista de revocación de certificados. De lo contrario, se utilizará la versión actual.

  6. (Opcional) Expanda Etiquetas del almacén de confianza e ingrese hasta 50 etiquetas para el almacén de confianza.

  7. Seleccione Crear almacén de confianza.

AWS CLI
Para crear un almacén de confianza

Utilice el comando create-trust-store.

aws elbv2 create-trust-store \ --name my-trust-store \ --ca-certificates-bundle-s3-bucket amzn-s3-demo-bucket \ --ca-certificates-bundle-s3-key certificates/ca-bundle.pem
CloudFormation
Para crear un almacén de confianza

Defina un recurso de tipo AWS::ElasticLoadBalancingV2::TrustStore.

Resources: myTrustStore: Type: 'AWS::ElasticLoadBalancingV2::TrustStore' Properties: Name: my-trust-store CaCertificatesBundleS3Bucket: amzn-s3-demo-bucket CaCertificatesBundleS3Key: certificates/ca-bundle.pem

Asociar un almacén de confianza

Tras crear un almacén de confianza, debe asociarlo a un oyente para que el Equilibrador de carga de aplicación pueda empezar a utilizar el almacén de confianza. Recuerde que solo puede tener un almacén de confianza asociado a cada uno de sus oyentes seguros, pero un almacén de confianza puede estar asociado a varios oyentes.

Console

Puede asociar un almacén de confianza a un oyente existente, como se muestra en el siguiente procedimiento. También puede asociar un almacén de confianza al crear un oyente HTTPS. Para obtener más información, consulte Creación de un oyente HTTPS.

Para asociar un almacén de confianza
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación, seleccione Load Balancers.

  3. Seleccione el equilibrador de carga.

  4. En la pestaña Oyentes y reglas, elija el enlace de la columna Protocol:Port para abrir la página de detalles del oyente seguro.

  5. En la pestaña Seguridad, seleccione Editar la configuración del oyente seguro.

  6. Si la autenticación TLS mutua no está habilitada, seleccione Autenticación mutua (mTLS) en Manejo de certificados del cliente, y luego elija Verificar con almacén de confianza.

  7. En Almacén de confianza, seleccione el almacén de confianza.

  8. Seleccione Save changes (Guardar cambios).

AWS CLI
Para asociar un almacén de confianza

Utilice el comando modify-oyente.

aws elbv2 modify-listener \ --listener-arn listener-arn \ --mutual-authentication "Mode=verify,TrustStoreArn=trust-store-arn"
CloudFormation
Para asociar un almacén de confianza

Actualice el recurso AWS::ElasticLoadBalancingV2::Listener.

Resources: myHTTPSListener: Type: 'AWS::ElasticLoadBalancingV2::Listener' Properties: LoadBalancerArn: !Ref myLoadBalancer Protocol: HTTPS Port: 443 DefaultActions: - Type: "forward" TargetGroupArn: !Ref myTargetGroup SslPolicy: ELBSecurityPolicy-TLS13-1-2-2021-06 Certificates: - CertificateArn: certificate-arn MutualAuthentication: - Mode: verify TrustStoreArn: trust-store-arn

Sustitución de un paquete de certificados de CA

El paquete de certificados de CA es un componente obligatorio del almacén de confianza. Es un conjunto de certificados raíz e intermedios de confianza que ha validado una entidad de certificación. Estos certificados validados garantizan que el cliente pueda confiar en que el certificado que se presenta es propiedad del equilibrador de carga.

Un almacén de confianza solo puede contener un paquete de certificados de CA a la vez, pero puede reemplazar el paquete de certificados de CA en cualquier momento una vez haya creado el almacén de confianza.

Console
Para reemplazar un paquete de certificados CA
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación izquierdo, seleccione Almacenes de confianza.

  3. Seleccione el almacén de confianza.

  4. Elija Acciones y luego Reemplazar paquete de CA.

  5. En la página Reemplazar paquete de CA, en Paquete de autoridad de certificación, introduzca la ubicación en Amazon S3 del paquete de CA que desea utilizar.

  6. (Opcional) Utilice la versión de objeto para seleccionar una versión anterior de la lista de revocación de certificados. De lo contrario, se utilizará la versión actual.

  7. Seleccione Reemplazar el paquete de CA.

AWS CLI
Para reemplazar un paquete de certificados CA

Use el comando modify-trust-store.

aws elbv2 modify-trust-store \ --trust-store-arn trust-store-arn \ --ca-certificates-bundle-s3-bucket amzn-s3-demo-bucket-new \ --ca-certificates-bundle-s3-key certificates/new-ca-bundle-pem
CloudFormation
Para actualizar el paquete de certificados de CA

Defina un recurso de tipo AWS::ElasticLoadBalancingV2::TrustStore.

Resources: myTrustStore: Type: 'AWS::ElasticLoadBalancingV2::TrustStore' Properties: Name: my-trust-store CaCertificatesBundleS3Bucket: amzn-s3-demo-bucket-new CaCertificatesBundleS3Key: certificates/new-ca-bundle.pem

Incorporación de una lista de revocación de certificados

Si lo desea, puede crear una lista de revocación de certificados para un almacén de confianza. Las autoridades de certificación publican las listas de revocación; estas últimas contienen datos de los certificados que se han revocado. Los Equilibradores de carga de aplicación solo admiten listas de revocación de certificados en formato PEM.

Cuando se agrega una lista de revocación de certificados a un almacén de confianza, se le asigna un identificador de revocación. Los ID de revocación aumentan con cada lista de revocación agregada al almacén de confianza y no se pueden cambiar.

Los equilibradores de carga de aplicaciones no pueden revocar certificados que tengan un número de serie negativo dentro de una lista de revocación de certificados.

Console
Para agregar una lista de revocación
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación izquierdo, seleccione Almacenes de confianza.

  3. Seleccione el almacén de confianza para ver su página de detalles.

  4. En la pestaña Listas de revocación de certificados, seleccione Acciones y luego Agregar lista de revocación.

  5. En la página Agregar lista de revocación, en Lista de revocación de certificados, introduzca la ubicación de Amazon S3 de la lista de revocación de certificados que quiera.

  6. (Opcional) Utilice la versión de objeto para seleccionar una versión anterior de la lista de revocación de certificados. De lo contrario, se utilizará la versión actual.

  7. Seleccione Agregar lista de revocación

AWS CLI
Para agregar una lista de revocación

Utilice el comando add-trust-store-revocations.

aws elbv2 add-trust-store-revocations \ --trust-store-arn trust-store-arn \ --revocation-contents "S3Bucket=amzn-s3-demo-bucket,S3Key=crl/revoked-list.crl,RevocationType=CRL"
CloudFormation
Para agregar una lista de revocación

Defina un recurso de tipo AWS::ElasticLoadBalancingV2::TrustStoreRevocation.

Resources: myRevocationContents: Type: 'AWS:ElasticLoadBalancingV2::TrustStoreRevocation' Properties: TrustStoreArn: !Ref myTrustStore RevocationContents: - RevocationType: CRL S3Bucket: amzn-s3-demo-bucket S3Key: crl/revoked-list.crl

Eliminación de una lista de revocación de certificados

Cuando ya no necesite una lista de revocación de certificados, puede eliminarla. Cuando elimina una lista de revocación de certificados de un almacén de confianza, su ID de revocación también se elimina y no se vuelve a usar durante la vida útil del almacén de confianza.

Console
Para eliminar una lista de revocación
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación izquierdo, seleccione Almacenes de confianza.

  3. Seleccione el almacén de confianza.

  4. En la pestaña Listas de revocación de certificados, seleccione Acciones y luego Eliminar lista de revocación.

  5. Cuando se le solicite confirmación, ingrese confirm.

  6. Elija Eliminar.

AWS CLI
Para eliminar una lista de revocación

Utilice el comando remove-trust-store-revocations.

aws elbv2 remove-trust-store-revocations \ --trust-store-arn trust-store-arn \ --revocation-ids id-1 id-2 id-3

Eliminación de un almacén de confianza

Cuando ya no utilice un almacén de confianza, puede eliminarlo. No puede eliminar un almacén de confianza que esté asociado a un oyente.

Console
Para eliminar un almacén de confianza
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación izquierdo, seleccione Almacenes de confianza.

  3. Seleccione el almacén de confianza.

  4. Elija Eliminar.

  5. Cuando le pidan confirmación, escriba confirm y elija Eliminar.

AWS CLI
Para eliminar un almacén de confianza

Use el comando delete-trust-store.

aws elbv2 delete-trust-store \ --trust-store-arn trust-store-arn