Pilar de seguridad del enfoque Well-Architected de Amazon ElastiCache - Amazon ElastiCache

Pilar de seguridad del enfoque Well-Architected de Amazon ElastiCache

El pilar de seguridad se centra en proteger la información y los sistemas. Los temas clave incluyen la confidencialidad e integridad de los datos, la identificación y administración de quién puede hacer qué con la administración de privilegios, la protección de los sistemas y el establecimiento de controles para detectar eventos de seguridad.

SEC 1: ¿Qué medidas está tomando para controlar el acceso autorizado a los datos de ElastiCache?

Introducción a nivel de pregunta: Todos los clústeres de ElastiCache están diseñados de forma que es posible acceder a ellos desde instancias de Amazon Elastic Compute Cloud en una VPC, funciones sin servidor (AWS Lambda) o contenedores (Amazon Elastic Container Service). El escenario más frecuente es obtener acceso a un clúster de ElastiCache desde una instancia de Amazon Elastic Compute Cloud en la misma Amazon Virtual Private Cloud (Amazon Virtual Private Cloud). Antes de poder conectarse a un clúster desde una instancia de Amazon EC2, debe autorizar a la instancia de Amazon EC2 el acceso al clúster. Para acceder a un clúster de ElastiCache que se ejecuta en una VPC, es necesario conceder acceso de red al clúster.

Ventaja a nivel de pregunta: El acceso a la red en el clúster se controla mediante grupos de seguridad de VPC. Un grupo de seguridad funciona como un firewall virtual para las instancias de Amazon EC2 para controlar el tráfico entrante y saliente. Las reglas de entrada controlan el tráfico entrante a la instancia y las reglas de salida controlan el tráfico saliente desde la instancia. En el caso de ElastiCache, al lanzar un clúster, es necesario asociar un grupo de seguridad. Esto garantiza que haya reglas de tráfico entrante y saliente vigentes para todos los nodos que componen el clúster. Además, ElastiCache está configurado para desplegarse exclusivamente en subredes privadas, de modo que solo se pueda acceder a ellas a través de la red privada de la VPC.

  • [Obligatorio] El grupo de seguridad asociado al clúster controla el acceso a la red y al clúster. De forma predeterminada, los grupos de seguridad no tienen ninguna regla de acceso definida y, por lo tanto, no habrá ninguna ruta de acceso a ElastiCache. Para habilitar esto, configure una regla de entrada en el grupo de seguridad que especifique la dirección/rango de IP de origen, el tráfico de tipo TCP y el puerto del clúster de ElastiCache (el puerto predeterminado 6379 para ElastiCache para Valkey y Redis OSS, por ejemplo). Si bien es posible permitir un conjunto muy amplio de orígenes de acceso, como todos los recursos de una VPC (0.0.0.0/0), se recomienda ser lo más detallado posible al definir las reglas de acceso, por ejemplo, autorizar solo el acceso entrante a los clientes de Valkey o Redis OSS que se ejecuten en instancias de Amazon EC2 asociadas a un grupo de seguridad concreto.

    [Recursos]:

  • [Obligatorio] Se pueden asignar políticas de AWS Identity and Access Management a funciones de AWS Lambda para que puedan acceder a los datos de ElastiCache. Para habilitar esta característica, cree un rol de ejecución de IAM con el permiso AWSLambdaVPCAccessExecutionRole y, a continuación, asigne el rol a la función de AWS Lambda.

    [Recursos]: Configuración de una función de Lambda para acceder a Amazon ElastiCache en una Amazon VPC: Tutorial: Configuración de una función de Lambda para obtener acceso a Amazon ElastiCache en una Amazon VPC

SEC 2: ¿Requieren sus aplicaciones autorización adicional para ElastiCache además de los controles basados en red?

Introducción en la pregunta: En los escenarios en los que sea necesario restringir o controlar el acceso a los clústeres en el cliente individual, se recomienda realizar la autenticación con el comando AUTH. Los tokens de autenticación de ElastiCache, con administración opcional de usuarios y grupos de usuarios, permiten que ElastiCache requiera una contraseña antes de permitir a los clientes ejecutar comandos y claves de acceso, lo que mejora la seguridad del plano de datos.

Ventaja en la pregunta: A fin de ayudar a mantener la seguridad de los datos, ElastiCache proporciona mecanismos de protección contra el acceso no autorizado a los datos. Entre ellos se incluye obligar a los clientes a utilizar AUTH, o token AUTH (contraseña), de control de acceso basado en roles (RBAC) para conectarse a ElastiCache antes de ejecutar los comandos autorizados.

  • [Lo mejor] Para ElastiCache versión 6.x y posteriores para Redis OSS, y ElastiCache versión 7.2 y posteriores para Valkey, defina los controles de autenticación y autorización con grupos de usuarios, usuarios y cadenas de acceso. Asigne usuarios a grupos de usuarios y, a continuación, asigne grupos de usuarios a clústeres. Para utilizar el RBAC, este debe seleccionarse al crear el clúster y debe estar habilitado el cifrado en tránsito. Asegúrese de utilizar un cliente de Valkey o Redis que sea compatible con TLS para poder utilizar RBAC.

    [Recursos]:

  • [Lo mejor] Para las versiones de ElastiCache anteriores a la 6.x para Redis OSS, además de establecer un token o contraseña seguros y mantener una política de contraseñas estricta para AUTH, se recomienda rotar la contraseña o token. ElastiCache puede administrar hasta dos (2) tokens de autenticación en un momento dado. También puede modificar el clúster para que requiera explícitamente el uso de tokens de autenticación.

    [Recursos]: Modificación del token AUTH en un clúster de ElastiCache existente

SEC 3: ¿Existe el riesgo de que los comandos se ejecuten de forma inadvertida y provoquen la pérdida de datos o errores?

Introducción de pregunta: hay varios comandos de Valkey o Redis OSS que pueden tener una repercusión negativa en las operaciones si se ejecutan por error o por parte de personas malintencionadas. Estos comandos pueden tener consecuencias no deseadas desde el punto de vista del rendimiento y la seguridad de los datos. Por ejemplo, un desarrollador puede llamar de forma rutinaria al comando FLUSHALL en un entorno de desarrollo y, debido a un error, puede intentar ejecutar este comando sin darse cuenta en un sistema de producción, lo que provoca la pérdida accidental de datos.

Ventaja en la pregunta: A partir de ElastiCache versión 5.0.3 para Redis OSS, se puede cambiar el nombre de algunos comandos que podrían perjudicar a la carga de trabajo. El cambio del nombre de los comandos puede ayudar a evitar que se ejecuten inadvertidamente en el clúster.

SEC 4: ¿Cómo se garantiza el cifrado de datos en reposo con ElastiCache?

Introducción en la pregunta: Si bien ElastiCache es un almacén de datos en memoria, se puede cifrar cualquier dato que pueda persistir (en el almacenamiento) como parte de las operaciones estándar del clúster. Esto incluye las copias de seguridad programadas y manuales escritas en Amazon S3, así como los datos guardados en el almacenamiento en disco como resultado de las operaciones de sincronización e intercambio. Los tipos de instancias de las familias M6g y R6g también cuentan con un cifrado en memoria siempre activo.

Ventaja en la pregunta: ElastiCache proporciona un cifrado opcional en reposo para aumentar la seguridad de los datos.

  • [Obligatorio] El cifrado en reposo solo se puede habilitar en un clúster de ElastiCache (grupo de replicación) en el momento de su creación. No se puede modificar un clúster existente para empezar a cifrar los datos en reposo. De forma predeterminada, ElastiCache proporcionará y administrará las claves utilizadas en el cifrado en reposo.

    [Recursos]:

  • [Lo mejor] Aproveche los tipos de instancias de Amazon EC2 que cifran los datos mientras están en la memoria (como M6g o R6g). Siempre que sea posible, considere la posibilidad de administrar sus propias claves para el cifrado en reposo. Para entornos de seguridad de datos más estrictos, se puede utilizar AWS Key Management Service (KMS) para autogestionar las claves maestras de cliente (CMK). Mediante la integración de ElastiCache con AWS Key Management Service, puede crear, poseer y administrar las claves utilizadas para el cifrado de datos en reposo de su clúster de ElastiCache.

    [Recursos]:

SEC 5: ¿Cómo se cifran los datos en tránsito con ElastiCache?

Introducción a nivel de pregunta: Es un requisito habitual evitar que los datos corran peligro mientras están en tránsito. Esto representa los datos dentro de los componentes de un sistema distribuido, así como entre los clientes de la aplicación y los nodos del clúster. ElastiCache es compatible con este requisito pues permite cifrar los datos en tránsito entre los clientes y el clúster, y entre los propios nodos del clúster. Los tipos de instancias de las familias M6g y R6g también cuentan con un cifrado en memoria siempre activo.

Ventaja a nivel de pregunta: El cifrado en tránsito de Amazon ElastiCache es una característica opcional que permite reforzar la seguridad de los datos en sus momentos más vulnerables: cuando se trasladan de una ubicación a otra.

  • [Obligatorio] El cifrado en tránsito solo se puede habilitar en un clúster (grupo de replicación) en el momento de su creación. Tenga en cuenta que, debido al procesamiento adicional necesario para cifrar o descifrar datos, la implementación del cifrado en tránsito afectará al rendimiento en cierta medida. Para entender el impacto, se recomienda comparar la carga de trabajo antes y después de habilitar el cifrado en tránsito.

    [Recursos]:

SEC 6: ¿Cómo se restringe el acceso a los recursos del plano de control?

Introducción en la pregunta: Las políticas de IAM y el ARN facilitan los controles de acceso detallados para ElastiCache para Valkey y Redis OSS, lo que permite llevar a cabo un control más estricto para administrar la creación, modificación y eliminación de los clústeres.

Ventaja a nivel de pregunta: La administración de los recursos de Amazon ElastiCache, como los grupos de replicación, los nodos, etc., puede restringirse a las cuentas de AWS que tengan permisos específicos según las políticas de IAM, lo que mejora la seguridad y la fiabilidad de los recursos.

SEC 7: ¿Cómo se detectan los eventos de seguridad y cómo se responde a ellos?

Introducción a nivel de pregunta: ElastiCache, cuando se implementa con el RBAC habilitado, exporta las métricas de CloudWatch para notificar a los usuarios los eventos de seguridad. Estas métricas ayudan a identificar los intentos fallidos de autenticación, acceso a claves o ejecución de comandos para los que los usuarios con RBAC que se conectan no están autorizados.

Además, los recursos de productos y servicios de AWS ayudan a proteger la carga de trabajo general al automatizar las implementaciones y registrar todas las acciones y modificaciones para su posterior revisión o auditoría.

Ventaja a nivel de pregunta: Con la supervisión de los eventos, usted permite a su organización responder de acuerdo con sus requisitos, políticas y procedimientos. La automatización de la supervisión y las respuestas a estos eventos de seguridad refuerza su postura de seguridad general.