Skip to main content

Las 10 principales configuraciones incorrectas de AWS y cómo corregirlas: guía rápida

Escrito por
snyk aws featured

15 de marzo de 2023

0 minutos de lectura

Amazon Web Services (AWS) sigue siendo el proveedor de nube líder, con una participación de mercado del 40.8%. Actualmente, muchas empresas y organizaciones tienen parte o la mayoría de su infraestructura en Amazon Web Services. AWS ayuda a las organizaciones a acelerar su transformación digital e innovar más rápido, pero al migrar a AWS pueden surgir configuraciones incorrectas comunes.

Las configuraciones incorrectas comunes pueden provocar brechas de seguridad o dejar vacíos en la seguridad de la infraestructura, y obligarte a apresurarte para identificar qué hicieron los actores maliciosos en tu cuenta de AWS. Para prevenir estos posibles vacíos de seguridad en tu infraestructura y las posibles brechas de seguridad, estas son las 10 principales configuraciones incorrectas de AWS que veremos:

  1. Usar el usuario root como usuario principal de la cuenta de AWS.

  2. Guardar secretos de larga duración en el código de las aplicaciones.

  3. Usar el permiso * en las políticas de IAM.

  4. Usar servicios de AWS no autorizados en tu cuenta de AWS.

  5. No cifrar los datos almacenados en los servicios de almacenamiento de AWS.

  6. No habilitar herramientas de monitoreo para tus cuentas de AWS.

  7. Grupos de seguridad abiertos a todos en Internet.

  8. Tener todos los servicios en una sola cuenta de AWS.

  9. Configuración predeterminada no segura de AWS RDS

  10. DNS huérfano con un bucket de AWS S3 público eliminado.

Descarga nuestra guía rápida sobre configuraciones incorrectas de seguridad en AWS para obtener más información sobre cómo evitar las siguientes configuraciones incorrectas.

1. No uses el usuario root como usuario principal de la cuenta de AWS

El usuario root es el usuario que AWS proporciona con privilegios administrativos. Sin embargo, si la cuenta del usuario root se ve comprometida, podrías perder por completo el acceso a todas las cuentas de AWS a las que ese usuario tiene acceso dentro de la organización. En lugar del usuario root, usa la federación (AWS Identity Center) para usuarios humanos o AWS IAM Users.

El usuario root tiene acceso a todos los recursos y servicios de AWS de una cuenta. Si las credenciales de la cuenta root se ven comprometidas, los actores maliciosos podrán acceder a aplicaciones y datos confidenciales, y posiblemente hacer un uso indebido de los datos y recursos de la cuenta comprometida.

Es fundamental mantener la cuenta del usuario root segura y fuera del alcance de los actores maliciosos. Además de usar la federación o AWS IAM Users, puedes hacer otras cosas para proteger la cuenta del usuario root:

  • Crea un usuario de IAM para ti y asígnale permisos administrativos.

  • Nunca compartas las credenciales del usuario root.

  • Si es posible, usa un administrador de contraseñas y crea una contraseña segura.

  • Asegúrate de habilitar la autenticación multifactor.

  • Configura alertas para recibir una notificación cuando se inicie sesión con el usuario root y saber si alguien está usando esa cuenta.

2. No guardes secretos de larga duración en el código de las aplicaciones

Usar AWS de forma programática implica proporcionar tus claves de acceso de AWS para verificar tu identidad en las llamadas programáticas. Estas claves constan de un ID de clave de acceso y una clave de acceso secreta. Por lo tanto, cualquier persona que tenga tus claves de acceso tendrá el mismo acceso a tus recursos de AWS que tú. Por eso, es fundamental protegerlas: si se ven comprometidas, los actores maliciosos podrían usarlas para acceder de forma programática a todos los servicios disponibles mediante esas claves.

De hecho, recomendamos rotar tus claves de acceso de AWS cada 90 días y eliminar las que no se hayan usado durante más de 90 días. Si es posible, no almacenes las claves de acceso en el código de las aplicaciones, el software de implementación ni en el almacenamiento en la nube.

3. Usa el permiso * en las políticas de IAM

Solo estamos tan seguros como lo que realmente está implementado y en ejecución en nuestros entornos de nube.

Por lo tanto, para asegurarte de no conceder permisos ni acceso a todo, asigna políticas de permisos a usuarios y roles de IAM, grupos y perfiles de carga de trabajo de AWS (perfiles de instancia).

Puedes usar IAM Access Analyzer para anticiparte o incluso corregir este problema. IAM Access Analyzer te permite:

  • Crear políticas de privilegio mínimo según la actividad de acceso.

  • Monitorear y revisar continuamente los tipos de recursos compatibles. El monitoreo continuo te ayuda a identificar recursos que permiten el acceso público o entre cuentas. También te permite detectar recursos con permisos demasiado amplios.

Cuando implementes tus políticas de IAM en el entorno de producción, tendrás la tranquilidad de haber concedido a tu carga de trabajo solo los permisos necesarios.

4. No uses servicios de AWS no autorizados en tu cuenta

Los requisitos de cumplimiento, ya sean legales o técnicos, varían según la industria. La mayoría de las organizaciones elaboran una lista de servicios de AWS que cumplen con los requisitos de la industria y de las regiones geográficas en las que operan. Esto les permite seguir operando y cumplir con los requisitos de la industria de forma legal y rápida en los mercados donde necesitan operar.

Sin embargo, operar fuera de estas regiones o usar servicios de AWS que incumplan las obligaciones legales o de cumplimiento probablemente genere multas cuantiosas para las organizaciones.

Recomendamos usar AWS SCP en AWS Organizations para definir controles de seguridad que regulen el acceso de todos los usuarios y roles de IAM en tus cuentas de AWS.

5. Cifra los datos almacenados en los servicios de almacenamiento de AWS

Una parte del enfoque de defensa en profundidad integrado en la seguridad de AWS es la idea de que debes cifrar todos los datos en reposo y en tránsito. Puedes hacerlo con las claves de cifrado administradas por tu organización (AWS KMS con CMK).

A medida que aumenta la adopción de la nube para crear infraestructura y aplicaciones, inevitablemente se almacenarán, transmitirán o procesarán muchos datos en AWS. Poner esos datos a disposición en texto sin formato o en un formato sin cifrar permite que los actores maliciosos los lean, copien o modifiquen. Para prevenir esto y otras brechas de seguridad, cifra tus datos en reposo y en tránsito.

6. Habilita herramientas de monitoreo para tus cuentas de AWS

El monitoreo es fundamental para mantener la disponibilidad, confiabilidad y rendimiento de tus soluciones de AWS. Si un atacante malicioso ataca tu infraestructura, es importante saber qué pasos siguió en tus cuentas de AWS.

AWS ofrece varias herramientas de monitoreo que informan cuando algo falla y, cuando corresponde, toman medidas automáticamente. Para mantenerte al tanto, habilita las siguientes herramientas para monitorear tu cuenta:

7. Usa grupos de seguridad para controlar el tráfico de Internet

Crear recursos en tus cuentas de AWS a los que se pueda acceder por Internet te deja vulnerable a los ataques. Los actores maliciosos analizan constantemente las direcciones IP de Internet en busca de posibles vulnerabilidades o servidores sin autenticación para aprovecharse de ellos.

Puedes usar las reglas de Security Groups para restringir el acceso a los recursos a direcciones IP, aplicaciones o redes conocidas. También recomendamos AWS Security Hub y AWS GuardDuty para monitorear tus cuentas y cargas de trabajo de AWS y detectar actividades maliciosas, además de aplicar correcciones automáticamente.

8. No tengas todos los servicios en una sola cuenta de AWS

Si alojas todas tus aplicaciones en una sola cuenta de AWS, los actores maliciosos pueden acceder fácilmente a tu cuenta y enumerar todos los servicios y otras aplicaciones alojados en ella.

En su lugar, separa y administra varias cuentas para proteger tus recursos.

AWS Organization es un servicio de AWS que permite separar y administrar varias cuentas de AWS. Usar el Marco de buena arquitectura de AWS para separar aplicaciones y cargas de trabajo reduce el alcance del daño si un actor malicioso logra acceder a tu cuenta de AWS.

9. Evita configuraciones incorrectas en AWS RDS

Las bases de datos administradas, como AWS RDS (el servicio de bases de datos relacionales de Amazon), pueden configurarse incorrectamente y quedar accesibles para cualquiera porque no requieren autenticación o usan una contraseña predeterminada de administrador de base de datos.

Muchas aplicaciones usan una base de datos de backend para almacenar información personal y confidencial de los clientes. Para prevenir configuraciones incorrectas que pongan los datos en riesgo, limita el acceso a los grupos de seguridad de las instancias de AWS RDS a direcciones IP conocidas. Además, puedes cambiar las credenciales predeterminadas de las instancias de base de datos de AWS RDS.

10. Evita los DNS huérfanos

Asegúrate de que ninguna entrada DNS (Sistema de nombres de dominio) en Route53 sea desconocida o haya dejado de estar vinculada a un bucket de AWS S3 público.

Los sitios web administrados y alojados en un proveedor de nube pública, como AWS, son vulnerables a los DNS huérfanos. Si un atacante puede reemplazar los archivos y servidores que alojan el sitio web por su propio servidor, puede apropiarse del subdominio.

Para evitarlo, mantén un inventario de todos los registros DNS activos y audita los procesos con regularidad para asegurarte de que también se eliminen los recursos asociados a las entradas DNS que ya no se necesiten.

Además, monitorea continuamente si un bucket de AWS S3 queda expuesto accidentalmente a Internet o si se elimina un bucket de S3 con la configuración de alojamiento de sitios web estáticos habilitada. Así podrás aplicar las correcciones necesarias. Las alertas automáticas deben formar parte de este monitoreo continuo.

Protege tu infraestructura en la nube

Migrar a un proveedor de nube ofrece importantes beneficios —como reducir costos, escalar, obtener una ventaja competitiva, mejorar la seguridad y crear oportunidades de colaboración—, pero la configuración debe hacerse correctamente para evitar los problemas que mencionamos hoy. Reducir el riesgo de brechas de seguridad en tus aplicaciones es una responsabilidad constante de los equipos de desarrollo y seguridad, pero Snyk está aquí para ayudarte. Consulta hoy nuestra guía rápida sobre configuraciones incorrectas de AWS para obtener más información y consejos de corrección. Si aún no tienes una cuenta, crea una cuenta gratuita de Snyk o agenda una demostración para ver cómo Snyk puede ayudarte a encontrar y corregir vulnerabilidades en tu infraestructura en la nube.

Descargar la guía rápida

Protege la infraestructura desde el origen

Snyk automatiza la seguridad y el cumplimiento de IaC en los flujos de trabajo, y detecta recursos con desviaciones de configuración y recursos faltantes.