AWS Seguridad y Cifrado

En AWS, hay múltiples servicios para gestionar la seguridad, de acceso, de los datos almacenados, en tránsito, … Vamos a ver estos servicios en detalle, y cómo se relacionan entre ellos para mantener nuestros datos seguros.

Key Management Service (KMS)

Es el servicio principal de AWS sobre todo lo relacionado con cifrado de datos, de conexiones y/o gestión de claves. Por supuesto, está totalmente integrado con IAM, y por tanto integrado en casi cualquier servicio de AWS.

KMS puede gestionar completamente las claves del servicio así como las políticas asociadas: creación, políticas de rotado, habilitar, deshabilitar, … Mediante CloudTrail se puede auditar quién/qué utiliza las claves.

Existe un límite de cifrado de hasta 4KB por cada llamada al servicio, si se necesita algo mayor se recomienda utilizar envelope encryption, que utiliza la función GenerateDataKey de la API.

Las claves de KMS son específicas de cada Región. Si por ejemplo, queremos copiar un snapshot de EBS cifrado a otra región, esa copia descifrará el snapshot original y lo volverá a cifrar con la clave KMS de la región destino.

Customer Master Key (CMK)

Hay varios tipos de claves maestras para las operaciones de cifrado que realiza KMS.

  • Clave simétrica (AES-256): Es la opción por defecto de KSM, y se basa en utilizar una misma clave para cifrar y descifrar datos, y es la que utilizan todos los servicios de AWS integrados con KMS.
  • Clave asimétrica (RSA & ECC): Utiliza un par de claves, pública (cifrar) y privada (descifrar), o para firmar y verificar la firma.

Además, hay 3 tipos de CMK:

  • AWS Managed Service Default CMK (es gratis)
  • User Keys creadas en KMS (1$/mes)
  • User Keys importadas (1$/mes)

El aspecto importante de KMS, es que la CMK usada para cifrar datos nunca puede ser accedida por el usuario, y además puede ser rotada para una seguridad adicional.

Políticas KMS

Se utilizan para el control de acceso a las claves KMS:

  • Política por defecto: se crea si no se especifica una diferente, y da acceso completo al usuario root de la cuenta. Da acceso a las políticas IAM a la clave KMS.
  • Política específica: define los usuarios y roles que pueden acceder a la clave KMS, y quién administra la clave. Es útil para el acceso cross-account.

SSM Parameter Store

Es un servicio ofrece funcionalidad para almacenar ficheros de configuración y contraseñas, que opcionalmente pueden ser cifrados por KMS.

  • Es serverless y totalmente escalable.
  • Mantiene histórico de versiones de las configuraciones y contraseñas
  • Gestión de configuración utilizando path y IAM
  • Notificaciones mediante eventos CloudWatch
  • Integración con CloudFormation

Existen dos modos de funcionamiento:

AWS Secret Manager

Este servicio, similar al anterior, pero orientado a almacenar contraseñas, cifradas con KMS, que además incluye políticas de rotado de forma integrada con servicios como RDS, Redshift, DocumentDB o algunos otros tipos de bases de datos.

CloudHSM (Hardware Security Module)

De forma similar a cómo KMS gestiona las aplicaciones necesarias para el cifrado de datos, CloudHSM se encarga de aprovisonar hardware específico de cifrado. Este hardware es tamper resistant (FIPS 140-2 Level 3 compliance) y se despliegan en clúster multi AZ.

En este caso, el usuario se encarga de gestionar las claves de cifrado, no AWS, y este sistema soporta tanto cifrado simétrico como asimétrico.

Redshift soporta CloudHSM para cifrado de los datos y la gestión de las claves.

AWS Shield

Es un servicio que proporciona mecanismos de protección contra ataques, en dos modalidades:

  • Estándar:
    • Gratuito, activado por defecto para todos los usuarios.
    • Proporciona protección contra ataques SYN/UDP Flood, Reflection attacks y otros ataques de nivel 3 y 4.
  • Avanzado:
    • (Opcional) Mitigación de ataques DDoS: 3.000$/mes por organización.
    • Proporciona protección contra ataque más sofisticados en EC2, ELB, CloudFront, Global Accelerator y Route 53.
    • Soporte 24/7 del equipo AWS DDoS
    • Protección ante el incremento de costes por picos durante ataques DDoS.

AWS WAF

Protege los servicios web contra ataques habituales con exploits web en capa 7, HTTP. Se puede utilizar con ALB, API Gateway y CloudFront.

Se basa en la definición de ACLs, que tienen las siguientes características:

  • Pueden incluir: direcciones IP, cabeceras HTTP, contenido HTTP o URI
  • Protege contra ataques comunes: SQL Injection y Cross-Site Scripting (XSS)
  • Geolocalización, para bloquear países.
  • Reglas basadas en ratios, número de repeticiones de un mismo evento, para protecciones DDoS

AWS Firewall Manager

Gestiona las reglas de todas las cuentas de una organización, y centraliza las reglas de los siguientes servicios:

  • WAF, para ALB, API Gateways y CloudFront
  • AWS Shield avanzado
  • Security Groups para EC2 y recursos ENI en una VPC

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.