Saltar al contenido

¿Cómo creo una regla de EventBridge para las alertas de inicio de sesión de los usuarios raíz de las cuentas de AWS?

6 minutos de lectura
0

Como parte de la seguridad de mi cuenta, quiero recibir notificaciones por correo electrónico cuando alguien utilice la consola de administración de AWS para acceder al usuario raíz de mi cuenta de AWS.

Resolución

Para supervisar la actividad de inicio de sesión del usuario raíz de la cuenta, crea una regla de Amazon EventBridge que supervise el elemento userIdentity en los registros de AWS CloudTrail. La regla de EventBridge usa Amazon Simple Notification Service (Amazon SNS) para enviar notificaciones cuando el usuario raíz inicia sesión en la consola de administración de AWS.

Para que CloudTrail envíe llamadas a la API a EventBridge, debes crear una pista en la misma región de AWS que la regla de EventBridge. Configura los eventos de administración de la pista como lectura y escritura o solo escritura.

Para crear la regla de EventBridge y el tema de SNS, puedes usar Amazon SNS y EventBridge. O bien, utiliza AWS CloudFormation.

Uso de Amazon SNS y EventBridge

Creación de un tema y una suscripción de Amazon SNS

Sigue estos pasos:

  1. Crea un tema de Amazon SNS.
  2. Suscribe un punto de enlace al tema.
  3. Comprueba la bandeja de entrada del correo electrónico para ver el correo electrónico de confirmación de AWS.
  4. En el correo electrónico, selecciona Confirmar suscripción para confirmar la solicitud de suscripción a SNS. A continuación, recibes el mensaje «Suscripción confirmada».

Creación de una regla de EventBridge

Sigue estos pasos:

  1. Abre la consola de EventBridge en la región este de EE. UU. (norte de Virginia).

  2. En el panel de navegación, selecciona Reglas y, a continuación, selecciona Crear regla.

  3. En Nombre y Descripción, introduce un nombre y una descripción para la regla.

  4. En Tipo de regla, selecciona Regla con un patrón de eventos, y, a continuación, selecciona Siguiente.

  5. En Origen del evento, selecciona Eventos de AWS o Eventos de socio de EventBridge.

  6. En Patrón de eventos, elige Patrón personalizado (editor JSON).

  7. En el editor JSON de patrones de eventos, introduce el siguiente patrón de inicio de sesión del usuario raíz:

    {
    
    "detail-type": ["AWS Console Sign In via CloudTrail"],
    
    "detail": {
    
    "userIdentity": {
    
    "type": ["Root"]
    
    }
    
    }
    
    }
  8. Elige Siguiente.

  9. Configura los siguientes ajustes para tu objetivo:
    En Tipos de objetivo, selecciona Servicio de AWS.
    En Seleccionar un objetivo, selecciona Tema de SNS.
    En Tema, selecciona el tema que creaste.

  10. Elige Siguiente.

  11. (Opcional) Agrega etiquetas a la regla.

  12. Elige Siguiente.

  13. Revisa los detalles de la regla y, a continuación, elige Crear regla.

Uso de CloudFormation

Creación de la plantilla de CloudFormation

Para crear la regla de EventBridge y el tema de SNS, introduce la siguiente plantilla YAML en un editor de texto y, a continuación, guarda el archivo:

# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
# Permission is hereby granted, free of charge, to any person obtaining a copy of this
# software and associated documentation files (the "Software"), to deal in the Software
# without restriction, including without limitation the rights to use, copy, modify,
# merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
# INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
# PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

AWSTemplateFormatVersion: '2010-09-09'
Description: ROOT-AWS-Console-Sign-In-via-CloudTrail
Metadata:
  AWS::CloudFormation::Interface:
    ParameterGroups:
    - Label:
        default: Amazon SNS parameters
      Parameters:
      - Email Address
Parameters:
  EmailAddress:
    Type: String
    ConstraintDescription: Email address required.
    Description: Enter an email address you want to subscribe to the Amazon SNS topic
      that will send notifications if your account's AWS root user logs in.
Resources:
  RootActivitySNSTopic:
    Type: AWS::SNS::Topic
    Properties:
      DisplayName: ROOT-AWS-Console-Sign-In-via-CloudTrail
      Subscription:
      - Endpoint:
          Ref: EmailAddress
        Protocol: email
      TopicName: ROOT-AWS-Console-Sign-In-via-CloudTrail
  EventsRule:
    Type: AWS::Events::Rule
    Properties:
      Description: Events rule for monitoring root AWS Console Sign In activity
      EventPattern:
        detail-type:
        - AWS Console Sign In via CloudTrail
        detail:
          userIdentity:
            type:
            - Root
      Name:
        Fn::Sub: "${AWS::StackName}-RootActivityRule"
      State: ENABLED
      Targets:
      - Arn:
          Ref: RootActivitySNSTopic
        Id: RootActivitySNSTopic
    DependsOn:
    - RootActivitySNSTopic
  RootPolicyDocument:
    Type: AWS::SNS::TopicPolicy
    Properties:
      PolicyDocument:
        Id: RootPolicyDocument
        Version: '2012-10-17'
        Statement:
        - Sid: RootPolicyDocument
          Effect: Allow
          Principal:
            Service: events.amazonaws.com
          Action: sns:Publish
          Resource:
          - Ref: RootActivitySNSTopic
      Topics:
      - Ref: RootActivitySNSTopic
Outputs:
  EventsRule:
    Value:
      Ref: EventsRule
    Export:
      Name:
        Fn::Sub: "${AWS::StackName}-RootAPIMonitorEventsRule"
    Description: Event Rule ID.

Creación de la pila de CloudFormation

Utiliza la consola de CloudFormation para crear la pila de CloudFormation. En la página Crear pila, selecciona Cargar un archivo de plantilla para cargar la plantilla que has creado. En la página Configurar opciones de pila, en Opciones de notificaciones, introduce la dirección de correo electrónico a la que deseas que AWS envíe las notificaciones.

Prueba de la configuración de SNS

Sigue estos pasos:

  1. Cierra sesión en la consola de administración de AWS y, a continuación, inicia sesión en la consola de administración de AWS como usuario raíz de la cuenta.
  2. Revisa tu bandeja de entrada de correo electrónico para ver si hay una notificación de AWS.
  3. Ten en cuenta los registros de CloudTrail userIdentity, sourceIPAddress y MFAUsed que contienen detalles sobre el evento de inicio de sesión.

Nota: Para dejar de recibir notificaciones, elimina la pila de CloudFormation que has creado.

Información relacionada

How to receive notifications when your AWS account's root access keys are used (Cómo recibir notificaciones cuando se utilizan las claves de acceso raíz de la cuenta de AWS)

Monitor and notify on AWS account root user activity (Supervisión y notificación de la actividad de los usuarios raíz de la cuenta de AWS)

AWS::CloudWatch::Alarm