Convertir GuardDuty de ruido en un turno que alguien atiende
GuardDuty está activado en casi todas las cuentas y leído en casi ninguna. El arreglo no es más ajuste fino, es decidir de antemano qué cinco hallazgos despiertan a un humano y qué hace después.
GuardDuty tiene un modo de fallo muy concreto. Es barato y fácil de activar, así que se activa. Después produce hallazgos a un ritmo para el que nadie presupuestó atención, la mayoría de severidad baja, y en dos meses la consola es un muro de Recon:EC2/PortProbeUnprotectedPort que todo el mundo ha aprendido a ignorar. La detección funciona perfectamente. La respuesta no existe.
Arreglar esto es un problema de diseño operativo, no de ajuste fino.
Decide la respuesta antes de enrutar nada
Escribe, para cada tipo de hallazgo que te importe, qué hace un humano cuando salta. Si la respuesta es "mirarlo y probablemente cerrarlo", no puede despertar a nadie. Nuestro reparto por defecto en un entorno mediano:
Avisar de inmediato, de día o de noche:
UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration— credenciales del rol de instancia usadas desde fuera de AWS. Este casi nunca es un falso positivo y significa que hay una instancia comprometida.CryptoCurrency:EC2/BitcoinTool.B!DNS— suele ser el primer síntoma visible de una carga comprometida.Policy:IAMUser/RootCredentialUsageen cualquier cuenta donde no se deba usar root, que deberían ser todas.UnauthorizedAccess:IAMUser/AnomalousBehavioren severidad alta, cuando el principal puede escribir en IAM.- Cualquier hallazgo de Malware Protection sobre una instancia de producción.
Ticket para el siguiente día laborable: hallazgos de severidad media de S3 y EKS, llamadas de API anómalas desde principales con alcance de solo lectura, anomalías de login en RDS.
Archivar con una regla de supresión, para siempre: sondeos de puertos contra instancias que expones a propósito, el tráfico del escáner de tu proveedor de pentest, hallazgos desde una IP de salida de VPN conocida. La herramienta aquí son las reglas de supresión, no cerrar hallazgos a mano: un hallazgo suprimido sigue archivado cuando se repite, uno cerrado a mano vuelve de inmediato.
Enrútalo una vez, de forma central
Activa GuardDuty para toda la organización con la cuenta de seguridad como administrador delegado, para que las cuentas nuevas queden cubiertas al crearse y nadie tenga que acordarse. Después, una sola regla de EventBridge por banda de severidad en esa cuenta, enviando la severidad alta a tu herramienta de guardia y el resto a una cola que crea tickets.
No enrutes a correo. El correo es donde los hallazgos van a ser ignorados.
Manda los hallazgos también a Security Hub, porque Security Hub es donde GuardDuty, Inspector, Macie y tus reglas de Config aterrizan en un formato normalizado, y es lo que te pedirá ver un auditor. Un aviso: Security Hub con todos los estándares activados produce miles de hallazgos el primer día. Activa primero el estándar Foundational Security Best Practices, baja los fallos y solo después añade CIS o PCI.
La parte que todo el mundo se salta: la contención
Una detección sobre la que no puedes actuar es un informe, no un control. Escribe y prueba tres runbooks antes de necesitarlos.
- Instancia comprometida. Snapshot del volumen, sustituir el grupo de seguridad por uno de cuarentena que lo deniegue todo, revocar las sesiones activas del perfil de instancia con una política IAM que deniegue por
aws:TokenIssueTime, y después terminar. Guarda el snapshot. - Principal de IAM comprometido. Engancha un deny-all explícito, rota credenciales y lee las últimas 24 horas de CloudTrail de ese principal antes que nada.
- Bucket de S3 expuesto. Bloquea primero el acceso público a nivel de cuenta, después arregla la política del bucket. El orden importa bajo presión de tiempo.
Cada uno es una página documentada con comandos que se copian y pegan, probada una vez al trimestre en un game day. Los nuestros forman parte del servicio de seguridad; buena parte de lo que cierran lo habría pillado antes un escaneo de postura.
Lo que cuesta
El precio de GuardDuty escala con los eventos de CloudTrail, los flow logs de VPC y el volumen de consultas DNS. En cuentas con cargas de S3 habladoras, activa la protección de S3 a conciencia y vigila la factura del primer mes. Merece la pena, pero no es gratis, y la sorpresa es evitable.
Qué hacer esta semana
Abre GuardDuty en tu cuenta de producción más movida y ordena los hallazgos por tipo. Coge los cinco más frecuentes y escribe para cada uno una regla de supresión o un runbook. Si no puedes hacer ninguna de las dos cosas para un tipo, has aprendido que no debería estar generando hallazgos.