Ciberseguridad · Capítulo 15

Seguridad en la Nube: Protegiendo los Datos en AWS, Azure y GCP

La nube ha transformado la infraestructura tecnológica — pero las misconfiguraciones son hoy la principal causa de brechas de datos. Aprende el modelo de responsabilidad compartida y cómo asegurar tus recursos en la nube.


El Modelo de Responsabilidad Compartida

El concepto más importante en seguridad cloud es el modelo de responsabilidad compartida: el proveedor de nube (AWS, Azure, GCP) es responsable de la seguridad de la nube; el cliente es responsable de la seguridad en la nube. La línea exacta depende del modelo de servicio.

ModeloCliente aseguraProveedor aseguraEjemplo
IaaS (Infrastructure as a Service)Sistema operativo, aplicaciones, datos, red virtual, identidadesInfraestructura física, red física, hipervisor, hardwareAWS EC2, Azure VMs, Google Compute Engine
PaaS (Platform as a Service)Aplicaciones, datos, identidadesTodo lo anterior + OS, runtime, middlewareAWS Elastic Beanstalk, Azure App Service, Google App Engine
SaaS (Software as a Service)Datos propios, acceso/identidades, configuración de usoTodo lo anterior + aplicación completaMicrosoft 365, Salesforce, Google Workspace
Error más común: Las empresas asumen que porque "están en la nube" el proveedor se encarga de todo. En IaaS, si no parcheas el sistema operativo de tu instancia EC2, si dejas el puerto 22 (SSH) abierto a internet, o si usas contraseñas débiles, eso es tu responsabilidad — y será tu brecha. AWS no te protege de tus propios errores de configuración.

Las Misconfiguraciones: La Causa #1 de Brechas en la Nube

Según el Cloud Security Alliance, las misconfiguraciones (errores de configuración) son responsables del mayor porcentaje de incidentes de seguridad en la nube. Dos casos emblemáticos ilustran el problema:

Capital One (2019) — $80 millones en multas, 100 millones de registros

Una exempleada de Amazon Web Services explotó una misconfiguration en el Web Application Firewall (WAF) de Capital One. El WAF estaba mal configurado de forma que permitía realizar solicitudes a IMDS (Instance Metadata Service) — un servicio interno de AWS que proporciona credenciales temporales de IAM a las instancias EC2. A través de un ataque SSRF (Server-Side Request Forgery), la atacante hizo que el WAF le pidiera al IMDS las credenciales de IAM de la instancia y se las devolviera. Con esas credenciales temporales, accedió a más de 700 buckets de S3 que contenían datos de 100 millones de clientes norteamericanos. Capital One fue multada con $80 millones por la OCC.

Twitch (2021) — Código fuente filtrado

Un bucket de S3 con configuración de acceso público expuso el código fuente completo de Twitch, datos internos y documentos confidenciales. Los datos fueron publicados en 4chan en un archivo de 125 GB. El origen: un servidor mal configurado que permitía acceso público sin autenticación.

Misconfiguraciones más comunes

Identity and Access Management (IAM) en AWS

IAM es el sistema de control de acceso de AWS. Dominarlo es fundamental para la seguridad en la nube.

Componentes de IAM

Ejemplo de política IAM (principio de mínimo privilegio):
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:PutObject"
      ],
      "Resource": "arn:aws:s3:::mi-bucket-produccion/*"
    }
  ]
}

Esta política permite solo leer y escribir objetos en un bucket específico. No permite eliminar, listar todos los buckets, cambiar configuración ni nada más. Eso es el principio de mínimo privilegio en acción.

Principio de Mínimo Privilegio

Cada usuario, servicio o sistema debe tener exactamente los permisos que necesita para su función — ni uno más. Comenzar con cero permisos y añadir solo lo necesario, nunca al revés.

Herramientas para implementarlo:

Cifrado de Datos en la Nube

Cifrado en reposo (at rest)

Cifrado en tránsito (in transit)

Seguridad de Red en la Nube: VPC

Una Virtual Private Cloud (VPC) es una red virtual privada aislada dentro de AWS. Permite controlar completamente el tráfico de red de tus recursos.

ComponenteFunciónAnalogía
VPCRed privada aislada en AWSTu oficina privada dentro de un edificio compartido
Subred públicaTiene ruta a Internet Gateway, accesible desde internetRecepción de la oficina
Subred privadaSin ruta directa a internet, solo accesible internamenteSala de servidores interna
Security GroupFirewall a nivel de instancia, stateful (recuerda el estado de la conexión)Guardia de seguridad por escritorio
Network ACLFirewall a nivel de subred, stateless (evalúa cada paquete independientemente)Guardia en la puerta de cada piso
VPC Flow LogsRegistra todo el tráfico que pasa por la VPC (qué IP, qué puerto, aceptado/rechazado)Registro de visitantes del edificio

Regla de oro para security groups

Nunca usar 0.0.0.0/0 (todo internet) para puertos de administración (SSH 22, RDP 3389). En su lugar: permitir solo las IPs específicas de tu empresa u oficina, o usar AWS Systems Manager Session Manager (que no requiere puertos abiertos).

Seguridad de Contenedores y Kubernetes

Seguridad de imágenes Docker

Los contenedores Docker se construyen sobre imágenes base que pueden contener vulnerabilidades conocidas. Prácticas esenciales:

Kubernetes RBAC

Kubernetes tiene su propio sistema de control de acceso basado en roles (RBAC). Los mismos principios de mínimo privilegio aplican: cada pod debe tener solo los permisos que necesita. Un pod de frontend no debe tener permisos para modificar la configuración del cluster.

Gestión de secretos

Los secretos (contraseñas de bases de datos, API keys, certificados) nunca deben estar en el código fuente ni en variables de entorno hardcodeadas en las definiciones de pods. Las alternativas correctas son:

Serverless Security: AWS Lambda

Las funciones serverless (Lambda) tienen una superficie de ataque diferente:

Monitoreo y Detección: Ver Todo lo que Pasa

AWS CloudTrail

CloudTrail registra cada llamada a la API de AWS: quién hizo qué, cuándo, desde qué IP y con qué resultado. Es el log de auditoría fundamental de AWS. Sin CloudTrail activado, es imposible investigar un incidente de seguridad — no sabrás qué acciones tomó el atacante.

AWS GuardDuty

GuardDuty es el sistema de detección de amenazas de AWS basado en machine learning. Analiza automáticamente CloudTrail, VPC Flow Logs y DNS logs para detectar:

DevSecOps: Seguridad Integrada en el Desarrollo

El modelo DevSecOps integra la seguridad en cada etapa del pipeline de CI/CD, en lugar de añadirla al final como auditoría:

Frameworks de cumplimiento en cloud:

Resumen / Summary