Prácticas recomendadas de seguridad para Amazon SNS - Amazon Simple Notification Service

Prácticas recomendadas de seguridad para Amazon SNS

En AWS, se proporcionan muchas características de seguridad para Amazon SNS. Revise estas características de seguridad en el contexto de su propia política de seguridad.

nota

Las instrucciones para estas características de seguridad se aplican a los casos de uso comunes y a las implementaciones. Le sugerimos que revise estas prácticas recomendadas en el contexto de su caso de uso, arquitectura y modelo de amenaza concretos.

Prácticas recomendadas preventivas

A continuación, se indican las prácticas recomendadas de seguridad preventiva para Amazon SNS.

Asegúrese de que los temas no sean accesibles de forma pública

A menos que requiera explícitamente que alguien en Internet pueda leer o escribir en su tema de Amazon SNS, debe asegurarse de que no se pueda acceder a este de manera pública (accesible para todos o para ningún usuario de AWS autenticado).

  • Evite la creación de políticas con Principal establecido en "".

  • Evite usar un carácter comodín (*). En su lugar, designe a un usuario o usuarios específicos.

Implementación del acceso a los privilegios mínimos

Cuando concede permisos, decide quién los recibe, para qué temas son los permisos y las acciones específicas de la API que desea permitir en estos temas. La aplicación del principio de privilegios mínimos es importante para reducir los riesgos de seguridad. También ayuda a reducir el efecto negativo de los errores o intenciones maliciosas.

Siga el consejo de seguridad estándar de concesión del privilegio mínimo. Es decir, conceda solo los permisos necesarios para realizar una tarea específica. Puede implementar los privilegios mínimos mediante una combinación de políticas de seguridad relacionadas con el acceso de los usuarios.

Amazon SNS utiliza el modelo de editor-suscriptor, que requiere tres tipos de acceso a la cuenta de usuario:

  • Administradores: acceso a la creación, modificación y eliminación de temas. Los administradores también controlan las políticas de temas.

  • Publicadores: acceso al envío de mensajes a los temas.

  • Suscriptores: acceso a la suscripción a los temas.

Para obtener más información, consulte las siguientes secciones:

Uso de roles de IAM para aplicaciones y servicios de AWS que requieren acceso a Amazon SNS

Para que aplicaciones o servicios de AWS, como Amazon EC2, obtengan acceso a temas de Amazon SNS, deben utilizar credenciales de AWS válidas en sus solicitudes a la API de AWS. Como estas credenciales no rotan automáticamente, no debe almacenar credenciales de AWS directamente en la aplicación ni en la instancia EC2.

Debe utilizar un rol de IAM para administrar de manera temporal credenciales para las aplicaciones o los servicios que necesiten acceder a Amazon SNS. Al utilizar un rol, no tiene que distribuir credenciales a largo plazo (como un nombre de usuario, una contraseña y claves de acceso) a una instancia EC2 o un servicio de AWS como AWS Lambda. En vez de ello, el rol proporciona permisos temporales que las aplicaciones pueden utilizar al realizar llamadas a otros recursos de AWS.

Para obtener más información, consulte Roles de IAM y Situaciones habituales con los roles: usuarios, aplicaciones y servicios en la Guía del usuario de IAM.

Implementación del cifrado en el servidor

Para mitigar los problemas de fuga de datos, utilice el cifrado en reposo para cifrar sus mensajes mediante una clave almacenada en una ubicación distinta de la ubicación en la que se almacenan los mensajes. Con el cifrado del lado del servidor (SSE), se proporciona cifrado de datos en reposo. Amazon SNS cifra sus datos a nivel de mensaje cuando los almacena y descifra los mensajes para usted cuando accede a ellos. SSE utiliza claves administradas en AWS Key Management Service. Siempre que autentique su solicitud y tenga permisos de acceso, no existe diferencia alguna entre obtener acceso a los temas cifrados y sin cifrar.

Para obtener más información, consulte Protección de los datos de Amazon SNS con cifrado del servidor y Administración de las claves de cifrado y los costos de Amazon SNS.

Aplicación del cifrado de los datos en tránsito

Es posible, pero no se recomienda, publicar mensajes que no están cifrados durante el tránsito mediante HTTP. Sin embargo, cuando un tema se cifra en reposo mediante AWS KMS, es necesario utilizar HTTPS para publicar los mensajes a fin de garantizar el cifrado tanto en reposo como en tránsito. Aunque el tema no rechaza automáticamente los mensajes HTTP, es necesario usar HTTPS para mantener los estándares de seguridad.

AWS recomienda que utilice HTTPS en lugar de HTTP. Cuando utiliza HTTPS, los mensajes se cifran de manera automática durante el tránsito, incluso si el tema de SNS no está cifrado. Sin HTTPS, un atacante basado en red puede espiar el tráfico de la red o manipularlo, con un ataque como MTM (man-in-the-middle).

Para imponer solo conexiones cifradas a través de HTTPS, agregue la condición aws:SecureTransport en la política de IAM adjunta a temas de SNS no cifrados. De esta manera, los publicadores utilizan HTTPS en lugar de HTTP. Puede utilizar la política de ejemplo siguiente como guía:

{ "Id": "ExamplePolicy", "Version": "2012-10-17", "Statement": [ { "Sid": "AllowPublishThroughSSLOnly", "Action": "SNS:Publish", "Effect": "Deny", "Resource": [ "arn:aws:sns:us-east-1:1234567890:test-topic" ], "Condition": { "Bool": { "aws:SecureTransport": "false" } }, "Principal": "*" } ] }

Considere el uso de puntos de enlace de la VPC para obtener acceso a Amazon SNS

Si tiene temas con los que debe poder interactuar pero que no deben estar expuestos a Internet, utilice los puntos de enlace de la VPC para poner en la cola el acceso solo a los hosts dentro de una VPC concreta. Puede utilizar las políticas de temas para controlar el acceso a los temas desde determinados puntos de enlace de Amazon VPC específicos o desde VPC específicas.

Los puntos de enlace de la VPC de Amazon SNS brindan dos maneras de controlar el acceso a los mensajes:

  • Puede controlar qué solicitudes, usuarios o grupos obtienen acceso a través de un punto de conexión de la VPC específico.

  • Puede controlar qué VPC o puntos de enlace de la VPC tienen acceso a su tema con una política de temas.

Para obtener más información, consulte Creación del punto de enlace y Creación de una política de punto de enlace de la VPC para Amazon SNS.

Asegúrese de que las suscripciones no están configuradas para entregar en puntos de enlace HTTP sin procesar

Evite configurar suscripciones para entregarlas a puntos de enlace HTTP sin procesar. Siempre tiene suscripciones que se entregan a un nombre de dominio de punto de enlace. Por ejemplo, una suscripción configurada para entregar a un punto de enlace http://1.2.3.4/my-path debe cambiarse a http://my.domain.name/my-path.