CloudTrail-Watcher: Recibe alertas al crear recursos de AWS
(github.com/rubysoho07)¿Qué es esto?
- Detecta intentos de inicio de sesión en AWS (sin importar si fueron exitosos o fallidos).
- Puedes recibir alertas cuando se creen recursos dentro de AWS.
- (Si lo configuraste por separado) Puedes recibir alertas por mensajes de Slack. (usando Webhook)
- Si no configuraste las alertas de Slack por separado, también puedes recibir alertas por correo. (aunque no se recomienda si usas Auto Scaling de forma activa)
- Si lo configuraste por separado, agrega automáticamente la etiqueta 'User' para que puedas saber quién creó los recursos de AWS.
Cómo configurarlo
README.md 파일을 참고해 주세요!
- Implementarlo con Terraform
- Implementarlo con AWS SAM
¿Cómo puedo recibir alertas?
(Solo necesitas hacer una de las dos)
- Configura el Incoming Webhook de Slack y luego establece la URL del webhook como variable de entorno.
- Configura un AWS SNS Topic y luego establece una suscripción para ese Topic.
Recursos de AWS compatibles
Recibe alertas sobre actividad de inicio de sesión en la consola y sobre la creación de varios recursos.
- Inicio de sesión en consola
- IAM (User, Group, Role, Policy, Instance Profile)
- EC2 (Instance, Security Group)
- RDS (Cluster, Instance)
- S3 (Bucket)
- ElastiCache (Redis, Memcached)
- EMR (Cluster)
- Lambda (Function)
- Redshift (Cluster)
- ECS (Cluster)
- EKS (Cluster)
- DocumentDB (Cluster, Instance)
- MSK(Managed Streaming for Apache Kafka) (Cluster)
- MWAA(Managed Workflow for Apache Airflow) (Environment)
- DynamoDB (Table)
- ELB (CLB, ALB, NLB, GLB)
- CloudFront (Distribution)
2 comentarios
Si
cloudtrailya está activado, ¿entonces si envías una notificación por correo con Lambda solo se usa hasta SNS? ¿El costo operativo es gratis hasta antes de 1 millón de llamadas?Hola. Perdón por responder tarde.
Básicamente, esto se hizo asumiendo el caso en que no tuvieras configurado CloudTrail, por lo que se da por hecho habilitar CloudTrail + guardar los registros en S3.
Voy a revisar cómo mejorarlo para que, cuando CloudTrail ya esté activado, solo sea necesario conectar la función de Lambda.
En general, solo se usan S3 para guardar los logs de CloudTrail, la función de Lambda para enviar las alertas y, en caso de enviar notificaciones por correo, SNS.
Según esa configuración, se generan costos de CloudTrail, S3, Lambda y SNS. Pero si es una cuenta de uso personal, casi no debería haber costos. (Eso fue lo que vi tras operarlo personalmente por más de un año en una cuenta propia reciente).
Sin embargo, si lo usas en producción real, las alertas de inicio de sesión o las relacionadas con Auto scaling ocurren con frecuencia. En ese caso, puede que se genere un pequeño costo.
(No recomiendo activar alertas por correo a través del servicio SNS en una cuenta de producción).
Gracias por la pregunta; la tendré en cuenta para futuras mejoras.