¿Cómo hacer un seguimiento de los cambios en la configuración de AWS?

10

¿Hay alguna forma de rastrear los cambios que hacemos en el sistema AWS?

Por ejemplo, los cambios en una configuración de subred, de usar nat a iwg , muestran un mensaje y luego desaparecen.

¿Hay alguna manera de hacer que AWS cree un registro para poder rastrear qué cambios se hicieron a qué y cuándo?

Lo más cercano que tenemos ahora son los eventos ElasticBeanstalk, pero incluso eso solo le dice qué hizo AWS, no qué configuraciones se modificaron para causar los eventos.

Danny Schoemann
fuente

Respuestas:

12

AWS tiene el servicio CloudTrail que rastrea la mayoría de las llamadas API realizadas en su cuenta. Luego los almacena en archivos en su bucket S3 especificado.

https://aws.amazon.com/cloudtrail/

Con CloudTrail puede ver quién o qué servicio llamó a qué cambio, en muchos casos, incluso qué argumentos se usaron.

Lamentablemente, no es compatible con TODOS los servicios en este momento.

Evgeny
fuente
44
Esta respuesta probablemente también debería mencionar AWS Config .
Michael - sqlbot
@ Michael-sqlbot Tienes razón. Por favor, agréguelo como respuesta usted mismo. :)
Dawny33
AWS Config no es un registro de auditoría. Es un sistema que permite reaccionar a los eventos a medida que ocurren. Por lo tanto, es más como un firewall que un registro de auditoría de firewall. Y en realidad es muy caro en comparación con el CloudTrail casi gratis.
Evgeny
5

Existen varios servicios de AWS que pueden ayudar con esto, y depende realmente de sus necesidades exactas en cuanto a cuál le conviene mejor. Se aplican diferentes características (y costos) a cada uno.

Se ha mencionado CloudTrail, pero la primera opción que me viene a la mente dada su pregunta (y se menciona en un comentario en la respuesta de @ Evgeny ) es el Servicio de configuración de AWS . Almacena 'instantáneas' de su configuración de AWS en momentos específicos (en un depósito de S3), pero también envía cualquier cambio a un tema de SNS. Luego puede lidiar con estos como quiera. Por ejemplo, en una cuenta de bajo tráfico tengo estos yendo directamente a Slack; en una cuenta de alto tráfico, estoy rastreando la NumberOfMessagesPublishedmétrica sobre ese tema de SNS para notar si se realiza un mayor número de cambios de lo habitual.

AWS Config también ofrece un servicio de 'reglas'; estos son un poco más caros de lo que esperaría, pero dependiendo de sus necesidades podrían ser útiles. Simplemente no los active todos a la vez como lo hice cuando estaba jugando ... el cargo del mes por cada regla se aplica de inmediato. ;) (Pero puedes usar Config sin usar las reglas, eso es lo que estoy haciendo en este momento).

También hay un Asesor de confianza , que no hace exactamente lo que solicitó, pero puede ser útil para realizar ciertas comprobaciones de cómo los ingenieros configuran su infraestructura, como por ejemplo si alguien dejó los cubos S3 abiertos. Es más útil con un plan de soporte de nivel empresarial o superior, ya que muchas de sus comprobaciones están bloqueadas de lo contrario.

Luego están las herramientas de terceros como CloudCheckr , que combinan aspectos de AWS Cost Explorer, Trusted Advisor, Config, CloudTrail, CloudWatch, Inspector y GuardDuty. Útil si quiere profundizar mucho pero ahorre tiempo configurando todo usted mismo.

Alternativamente, puede administrar su infraestructura utilizando una herramienta como Terraform o CloudFormation , y exigir que todos los cambios se realicen a través de ellos. Luego puede confirmar sus archivos / plantillas de configuración para el control de origen, e incluso probarlos contra la infraestructura en vivo en CI y fallar la compilación si alguien ha realizado cambios no rastreados. De esa manera, su historial de confirmación se convierte en su registro de auditoría, ¡pero requiere que sus ingenieros sean disciplinados!

Tim Malone
fuente