Cifrado del tráfico de Amazon ECS Service Connect - Amazon Elastic Container Service

Cifrado del tráfico de Amazon ECS Service Connect

Amazon ECS Service Connect admite el cifrado automático del tráfico con certificados de seguridad de la capa de transporte (TLS) para los servicios de Amazon ECS. Cuando dirige sus servicios de Amazon ECS hacia un AWS Private Certificate Authority(AWS Private CA), Amazon ECS aprovisiona automáticamente certificados TLS para cifrar el tráfico entre sus servicios de Amazon ECS Service Connect. Amazon ECS genera, rota y distribuye los certificados TLS que se utilizan para el cifrado del tráfico.

El cifrado automático del tráfico con Service Connect utiliza funcionalidades de cifrado líderes del sector para proteger la comunicación entre servicios, lo que ayuda a cumplir sus requisitos de seguridad. Es compatible con los certificados TLS AWS Private Certificate Authority con el cifrado 256-bit ECDSA y 2048-bit RSA. De forma predeterminada, se admite TLS 1.3, pero no se admite TLS 1.0 - 1.2. También tiene el control total sobre los certificados privados y las claves de firma para ayudarle a cumplir los requisitos de conformidad.

nota

Para poder utilizar TLS 1.3, debe habilitarlo en el oyente del destino.

Solo se cifra el tráfico entrante y saliente que pasa por el agente de Amazon ECS.

Certificados AWS Private Certificate Authority y Service Connect

Se requieren permisos de IAM adicionales para emitir certificados. Amazon ECS proporciona una política de confianza de recursos administrados que describe el conjunto de permisos. Para más información sobre esta política, consulte AmazonECSInfrastructureRolePolicyForServiceConnectTransportLayerSecurity.

Modos de AWS Private Certificate Authority de Service Connect

AWS Private Certificate Authority puede funcionar en dos modos: de uso general y de corta duración.

  • Uso general: certifica que se pueden configurar con cualquier fecha de caducidad.

  • De corta duración: emite certificados con un periodo de validez máximo de siete días.

Si bien Amazon ECS admite ambos modos, recomendamos utilizar certificados de corta duración. De forma predeterminada, los certificados se renuevan cada cinco días y, si se ejecutan en el modo de corta duración, se obtienen importantes ahorros de costos en comparación con el uso general.

Service Connect no admite la revocación de certificados, pero aprovecha los certificados de corta duración con una rotación frecuente de certificados. Tiene la autoridad para modificar la frecuencia de rotación, deshabilitar o eliminar los secretos mediante la rotación administrada en Secrets Manager, pero hacerlo podría acarrear las siguientes consecuencias.

  • Frecuencia de rotación más corta: una frecuencia de rotación más corta implica costos más altos debido a que AWS Private CA, AWS KMS, Secrets Manager y Auto Scaling experimentan una mayor carga de trabajo para la rotación.

  • Frecuencia de rotación más larga: las comunicaciones de sus aplicaciones fallan si la frecuencia de rotación supera los siete días.

  • Eliminación del secreto: la eliminación del secreto provoca un error de rotación y afecta a las comunicaciones de las aplicaciones con los clientes.

En caso de que la rotación secreta no funcione, se publicará un evento RotationFailed en AWS CloudTrail. También puede configurar una alarma de CloudWatch para RotationFailed.

importante

No agregue regiones de réplica a los secretos. Si las agrega, se evita que Amazon ECS elimine el secreto, ya que Amazon ECS no tiene permiso para eliminar regiones de la replicación. Si ya agregó la replicación, ejecute el siguiente comando.

aws secretsmanager remove-regions-from-replication \ --secret-id SecretId \ --remove-replica-regions region-name
Entidades de certificación subordinadas

Puede incorporar cualquier AWS Private CA, raíz o subordinado a TLS de Service Connect para emitir certificados de entidad final para los servicios. El emisor proporcionado se considera el firmante y la raíz de la confianza en todas partes. Puede emitir certificados de entidad final para distintas partes de la solicitud desde distintas entidades de certificación subordinadas. Al utilizar la AWS CLI, proporcione el Nombre de recurso de Amazon (ARN) de la CA para establecer la cadena de confianza.

Autoridades de certificación en las instalaciones

Para usar su CA en las instalaciones, debe crear y configurar una CA subordinada en AWS Private Certificate Authority. Esto garantiza que todos los certificados TLS emitidos para sus cargas de trabajo de Amazon ECS compartan la cadena de confianza con las cargas de trabajo que ejecuta en las instalaciones y puedan conectarse de forma segura.

importante

Agregue la etiqueta obligatoria AmazonECSManaged : true en su AWS Private CA.

Infraestructura como código

Al utilizar TLS de Service Connect con las herramientas de infraestructura como código (IaC), es importante configurar las dependencias correctamente para evitar problemas, como el agotamiento de los servicios. La clave de AWS KMS (si la ha proporcionado), el rol de IAM y las dependencias de AWS Private CA se deben eliminar después de utilizar el servicio de Amazon ECS.

Service Connect y Secrets Manager

Cuando se utiliza Amazon ECS Service Connect con el cifrado TLS, el servicio interactúa con Secrets Manager de las siguientes maneras:

Service Connect utiliza el rol de infraestructura proporcionado para crear secretos en Secrets Manager. Estos secretos se utilizan para almacenar las claves privadas asociadas para los certificados TLS para cifrar el tráfico entre los servicios de Service Connect.

aviso

La creación y administración automáticas de estos secretos mediante Service Connect agiliza el proceso de implementación del cifrado TLS para los servicios. Sin embargo, es importante tener en cuenta las posibles implicaciones de seguridad. Es posible que otros roles de IAM que tengan acceso de lectura a Secrets Manager puedan acceder a estos secretos creados automáticamente. Esto podría exponer el material criptográfico confidencial a terceros no autorizados si los controles de acceso no están configurados correctamente.

Para mitigar este riesgo, siga estas prácticas recomendadas:

  • Administre y restrinja con cautela el acceso a Secrets Manager, sobre todo a los secretos creados por Service Connect.

  • Audite periódicamente los roles de IAM y sus permisos para garantizar que se mantenga el principio del privilegio mínimo.

Al conceder acceso de lectura a Secrets Manager, considere la posibilidad de excluir las claves privadas TLS creadas por Service Connect. Para ello, utilice una condición en las políticas de IAM para excluir los secretos con ARN que coincidan con el patrón:

"arn:aws:secretsmanager:::secret:ecs-sc!"

Un ejemplo de política de IAM que niega la acción GetSecretValue a todos los secretos con el prefijo ecs-sc!:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "secretsmanager:GetSecretValue", "Resource": "arn:aws:secretsmanager:*:*:secret:ecs-sc!*" } ] }
nota

Este es un ejemplo general y puede que sea necesario ajustarlo en función del caso de uso específico y de la configuración de la cuenta de AWS. Pruebe siempre minuciosamente las políticas de IAM para garantizar que proporcionan el acceso previsto y, al mismo tiempo, mantienen la seguridad.

Al comprender cómo interactúa Service Connect con Secrets Manager, podrá administrar mejor la seguridad de los servicios de Amazon ECS y, al mismo tiempo, aprovechar las ventajas del cifrado TLS automático.

Service Connect y AWS Key Management Service

Puede usar AWS Key Management Service para cifrar y descifrar los recursos de Service Connect. AWS KMS es un servicio administrado por AWS con el que puede crear y administrar claves criptográficas que protejan sus datos.

Al usar AWS KMS con Service Connect, puede elegir usar una clave AWS propia que AWS administre por usted o puede elegir una clave AWS KMS existente. También puede crear una clave de AWS KMS nueva para utilizarla.

Proporcionar su propia clave de cifrado

Puede proporcionar sus propios materiales clave o puede utilizar un almacén de claves externo mediante AWS Key Management Service Import your own key into AWS KMS y, a continuación, especificar el nombre de recurso de Amazon (ARN) de esa clave en Amazon ECS Service Connect.

A continuación, se muestra una política AWS KMS de ejemplo. Sustituya las entradas del usuario por valores propios.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "id", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/role-name" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey", "kms:GenerateDataKeyPair" ], "Resource": "*" } ] }

Para obtener información sobre las políticas de claves, consulte Creating a key policy en la Guía para desarrolladores de AWS Key Management Service.

nota

Service Connect solo es compatible con claves de cifrado de AWS KMS simétricas. No puede utilizar ningún otro tipo de clave de AWS KMS para cifrar los recursos de Service Connect. Para obtener ayuda a fin de determinar si una clave AWS KMS es una clave de cifrado simétrica, consulte Identificación de claves KMS asimétricas.

Para obtener más información sobre la clave de cifrado simétrica de AWS Key Management Service, consulte Symmetric encryption AWS KMS keys en la Guía para desarrolladores de AWS Key Management Service.