Introducción
AWS CloudTrail es un servicio que permite la gobernanza, el cumplimiento, la auditoría operativa y la auditoría de riesgos de su cuenta de AWS. Con CloudTrail, puede registrar, monitorear continuamente y retener la actividad de la cuenta relacionada con las acciones en toda su infraestructura de AWS. CloudTrail proporciona un historial de eventos de la actividad de la cuenta de AWS, incluidas las acciones realizadas a través de la Consola de administración de AWS, AWS SDKs, herramientas de línea de comandos y otros servicios de AWS.
Conceptos Clave
- Eventos de CloudTrail: Registros de las acciones realizadas en su cuenta de AWS.
- Trails: Configuraciones que permiten la entrega de eventos de CloudTrail a un bucket de Amazon S3.
- Región: CloudTrail puede configurarse para registrar eventos en una región específica o en todas las regiones.
- Logs: Archivos que contienen los eventos registrados por CloudTrail.
Configuración de AWS CloudTrail
Paso 1: Crear un Trail
-
Acceder a la Consola de AWS CloudTrail:
- Inicie sesión en la Consola de administración de AWS.
- Navegue a CloudTrail desde el menú de servicios.
-
Crear un Trail:
- Haga clic en "Trails" en el panel de navegación.
- Seleccione "Create trail".
-
Configurar el Trail:
- Trail name: Asigne un nombre a su trail.
- Apply trail to all regions: Seleccione esta opción si desea que el trail registre eventos en todas las regiones.
- Management events: Seleccione si desea registrar eventos de administración (acciones que realizan cambios en los recursos de AWS).
- Data events: Opcionalmente, puede habilitar el registro de eventos de datos (acciones en los recursos de datos, como objetos en S3).
-
Configurar la Entrega de Logs:
- S3 bucket: Seleccione un bucket de S3 existente o cree uno nuevo para almacenar los logs de CloudTrail.
- Log file SSE-KMS encryption: Opcionalmente, habilite el cifrado de los archivos de log con AWS KMS.
-
Finalizar la Configuración:
- Revise la configuración y haga clic en "Create".
Ejemplo de Configuración de un Trail
import boto3 # Crear un cliente de CloudTrail client = boto3.client('cloudtrail') # Crear un trail response = client.create_trail( Name='MyTrail', S3BucketName='my-cloudtrail-logs', IncludeGlobalServiceEvents=True, IsMultiRegionTrail=True, EnableLogFileValidation=True, KmsKeyId='arn:aws:kms:us-east-1:123456789012:key/abcd1234-a123-456a-a12b-a123b4cd56ef' ) print(response)
Paso 2: Verificar los Logs de CloudTrail
-
Acceder a los Logs en S3:
- Navegue al bucket de S3 configurado para CloudTrail.
- Verifique que los archivos de log se están generando en la estructura de directorios especificada.
-
Analizar los Logs:
- Los archivos de log están en formato JSON y contienen detalles sobre cada evento registrado.
Ejemplo de un Evento de CloudTrail
{ "Records": [ { "eventVersion": "1.08", "userIdentity": { "type": "IAMUser", "principalId": "EXAMPLE", "arn": "arn:aws:iam::123456789012:user/Alice", "accountId": "123456789012", "accessKeyId": "EXAMPLE_KEY_ID", "userName": "Alice" }, "eventTime": "2023-10-01T12:34:56Z", "eventSource": "ec2.amazonaws.com", "eventName": "StartInstances", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "aws-cli/1.18.69 Python/3.6.9 Linux/4.14.177-139.254.amzn2.x86_64 botocore/1.16.19", "requestParameters": { "instancesSet": { "items": [ { "instanceId": "i-1234567890abcdef0" } ] } }, "responseElements": { "instancesSet": { "items": [ { "instanceId": "i-1234567890abcdef0", "currentState": { "code": 0, "name": "pending" }, "previousState": { "code": 80, "name": "stopped" } } ] } }, "requestID": "EXAMPLE_REQUEST_ID", "eventID": "EXAMPLE_EVENT_ID", "eventType": "AwsApiCall", "recipientAccountId": "123456789012" } ] }
Ejercicio Práctico
Ejercicio 1: Crear y Configurar un Trail
Objetivo: Crear un trail en AWS CloudTrail que registre eventos de administración en todas las regiones y almacene los logs en un bucket de S3.
Instrucciones:
- Acceda a la Consola de administración de AWS.
- Navegue a CloudTrail y cree un nuevo trail.
- Configure el trail para registrar eventos de administración en todas las regiones.
- Configure la entrega de logs a un bucket de S3.
- Verifique que los logs se están generando en el bucket de S3.
Solución del Ejercicio 1
- Inicie sesión en la Consola de administración de AWS.
- Navegue a CloudTrail desde el menú de servicios.
- Haga clic en "Trails" y luego en "Create trail".
- Asigne un nombre al trail, seleccione "Apply trail to all regions" y habilite "Management events".
- Seleccione un bucket de S3 existente o cree uno nuevo para almacenar los logs.
- Revise la configuración y haga clic en "Create".
- Navegue al bucket de S3 y verifique que los archivos de log se están generando.
Conclusión
AWS CloudTrail es una herramienta esencial para la auditoría y el monitoreo de la actividad en su cuenta de AWS. Permite registrar eventos detallados de las acciones realizadas en su infraestructura, lo que facilita la gobernanza y el cumplimiento. En esta sección, hemos aprendido a configurar un trail, verificar los logs y analizar los eventos registrados. En el próximo módulo, exploraremos otros servicios de monitoreo y gestión en AWS.
Curso de AWS
Módulo 1: Introducción a AWS
- ¿Qué es AWS?
- Configuración de tu cuenta de AWS
- Infraestructura global de AWS
- Consola de administración de AWS