Protección de los datos en tránsito con cifrado - Amazon Simple Storage Service

Protección de los datos en tránsito con cifrado

Amazon S3 admite los protocolos HTTP y HTTPS para la transmisión de datos. HTTP transmite los datos en texto sin formato, mientras que HTTPS agrega una capa de seguridad al cifrar los datos mediante seguridad de la capa de transporte (TLS). TLS protege contra el espionaje, la manipulación de datos y los ataques de intermediarios. Aunque se acepta el tráfico HTTP, la mayoría de las implementaciones utilizan el cifrado en tránsito con HTTPS y TLS para proteger los datos cuando viajan entre los clientes y Amazon S3.

Soporte de TLS 1.2 y TLS 1.3

Amazon S3 admite TLS 1.2 y TLS 1.3 para las conexiones HTTPS en todos los puntos de conexión de la API para todas las Regiones de AWS. S3 negocia automáticamente la protección TLS más sólida compatible con el software de cliente y el punto de conexión de S3 al que está accediendo. Las herramientas de AWS actuales (de 2014 o posteriores), incluidos los AWS SDK y la AWS CLI pasan automáticamente a TLS 1.3 de forma predeterminada, sin que sea necesario que realice ninguna acción. Puede invalidar esta negociación automática mediante los ajustes de configuración del cliente para especificar una versión de TLS concreta si se necesita la compatibilidad con versiones anteriores de TLS 1.2. Si utiliza TLS 1.3, puede configurar opcionalmente el intercambio de claves poscuánticas híbrido (ML-KEM) para realizar solicitudes con resistencia cuántica a Amazon S3. Para obtener más información, consulte Configuración del cifrado TLS poscuántico híbrido para el cliente.

nota

TLS 1.3 se admite en todos los puntos de conexión de S3, excepto en AWS PrivateLink para Amazon S3 y los puntos de acceso multirregionales.

Supervisión del uso de TLS

Puede utilizar los registros de acceso al servidor de Amazon S3 o AWS CloudTrail para supervisar las solicitudes a los buckets de Amazon S3. Ambas opciones de registro registran la versión de TLS y el conjunto de cifrado utilizados en cada solicitud.

  • Registros de acceso del servidor de Amazon S3: el registro de acceso del servidor brinda registros detallados para las solicitudes realizadas a un bucket. Por ejemplo, la información del registro de acceso puede ser útil en auditorías de acceso y seguridad. Para obtener más información, consulte Formato de registro de acceso al servidor de Amazon S3.

  • AWS CloudTrail: AWS CloudTrail es un servicio que proporciona un registro de las acciones que realiza un usuario, un rol o un servicio de AWS. CloudTrail captura todas las llamadas a la API para Amazon S3 como eventos. Para obtener más información, consulte Eventos de Amazon S3 CloudTrail.

Aplicación del cifrado en tránsito

Es una práctica recomendada de seguridad para aplicar el cifrado de los datos en tránsito a Amazon S3. Puede aplicar la comunicación solo mediante HTTPS o el uso de una versión de TLS específica a través de varios mecanismos de políticas. Estos incluyen políticas de IAM basadas en recursos para buckets de S3 (políticas de bucket), Políticas de control de servicios (SCP), Políticas de control de recursos (RCP) y Políticas de punto de conexión de VPC.

Ejemplos de políticas de bucket para aplicar el cifrado en tránsito

Puede utilizar la clave de condición de S3 s3:TlsVersion para restringir el acceso a buckets de Amazon S3 en función de la versión de TLS que utilice el cliente. Para obtener más información, consulte Ejemplo 6: Necesidad de una versión mínima de TLS.

ejemplo política de bucket que aplica TLS 1.3 mediante la clave de condición S3:TlsVersion
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyInsecureConnections", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket1", "arn:aws:s3:::amzn-s3-demo-bucket1/*" ], "Condition": { "NumericLessThan": { "s3:TlsVersion": "1.3" } } } ] }

Puede usar la clave de condición global aws:SecureTransport de la política de bucket de S3 para comprobar si la solicitud se envió a través de HTTPS (TLS). A diferencia del ejemplo anterior, esta condición no comprueba la existencia de una versión de TLS específica. Para obtener más información, consulte Restringir el acceso solo a las solicitudes HTTPS.

ejemplo política de bucket que aplica HTTPS mediante la clave de condición global aws:SecureTransport
{ "Version":"2012-10-17", "Statement": [ { "Sid": "RestrictToTLSRequestsOnly", "Action": "s3:*", "Effect": "Deny", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket1", "arn:aws:s3:::amzn-s3-demo-bucket1/*" ], "Condition": { "Bool": { "aws:SecureTransport": "false" } }, "Principal": "*" } ] }
Ejemplo de política basada en ambas claves y en más ejemplos

Puede usar los dos tipos de claves de condición de los ejemplos anteriores en una política. Para obtener más información y enfoques de cumplimiento adicionales, consulte el artículo del blog sobre almacenamiento de AWS Enforcing encryption in transit with TLS1.2 or higher with Amazon S3.