CloudTrail-Watcher: receba alertas ao criar recursos na AWS
(github.com/rubysoho07)O que é isso?
- Detecta tentativas de login na AWS (independentemente de sucesso ou falha).
- Permite receber alertas quando recursos são criados na AWS.
- (Se configurado separadamente) é possível receber alertas por mensagem no Slack. (usando Webhook)
- Se as notificações do Slack não forem configuradas separadamente, também é possível receber alertas por e-mail. (no entanto, isso não é recomendado se você usa Auto Scaling de forma intensiva)
- Se configurado separadamente, adiciona automaticamente a tag
Userpara que seja possível saber quem criou o recurso na AWS.
Como configurar
README.md 파일을 참고해 주세요!
- Implantar com Terraform
- Implantar com AWS SAM
Como posso receber alertas?
(Basta fazer apenas uma das duas opções)
- Configure o Incoming Webhook do Slack e depois defina o endereço do webhook como variável de ambiente.
- Configure um AWS SNS Topic e depois crie uma assinatura para esse Topic.
Recursos AWS compatíveis
Recebe alertas para atividades de login no console e para a criação de vários recursos.
- Login no console
- 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 comentários
Se o
cloudtrailjá estiver ativado, então ao usarlambdae enviar notificações por e-mail, acaba usando só até osns? O custo operacional é gratuito até antes de 1 milhão de chamadas, certo?Olá? Desculpe pela demora na resposta.
Basicamente, isso foi feito assumindo o caso em que o CloudTrail não está configurado, então parte do pressuposto de ativar o CloudTrail + salvar no S3.
Vou tentar melhorar isso para que, quando o CloudTrail já estiver ativado, seja necessário apenas conectar a função Lambda.
Basicamente, são usados apenas o S3 para armazenar os logs do CloudTrail, a função Lambda para enviar notificações e, no caso de envio de notificação por e-mail, algo como o SNS.
De acordo com essa configuração, haverá custos de CloudTrail, S3, Lambda e SNS. No entanto, se for uma conta de uso pessoal, praticamente não haverá custo. (Pelo menos foi assim no resultado de mais de um ano operando em uma conta que uso pessoalmente.)
Por outro lado, se você usar isso em produção de fato, alertas de login ou alertas relacionados a Auto Scaling podem ocorrer com frequência. Nesse caso, pode haver alguma cobrança.
(Não recomendo ativar alertas por e-mail via serviço SNS em contas de produção.)
Obrigado pela pergunta, e vou considerar isso em melhorias futuras.