Como acompanhar as alterações nas configurações da AWS?

10

Existe uma maneira de rastrear as alterações que fazemos no sistema AWS?

Por exemplo, as alterações em uma configuração de sub-rede, de usar nat para iwg - exibem uma mensagem e desaparecem.

Existe uma maneira de fazer com que a AWS crie um log para que você possa rastrear quais alterações foram feitas em quê e quando?

O mais próximo que temos agora é dos eventos ElasticBeanstalk - mas mesmo isso apenas informa o que a AWS fez, não quais configurações foram alteradas para causar os eventos.

Danny Schoemann
fonte

Respostas:

12

A AWS possui o serviço CloudTrail que rastreia a maioria das chamadas de API feitas em sua conta. Em seguida, armazena-os em arquivos no seu bucket S3 especificado.

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

Usando o CloudTrail, você pode ver quem ou qual serviço chamou de qual alteração - em muitos casos, incluindo também quais argumentos foram usados.

Infelizmente, não suporta TODOS os serviços no momento.

Evgeny
fonte
4
Essa resposta provavelmente também deve mencionar o AWS Config .
Michael - sqlbot
@ Michael-sqlbot Você está certo. Por favor, adicione-o como uma resposta. :)
Dawny33
O AWS Config não é um log de auditoria. É um sistema que permite reagir a eventos à medida que eles acontecem. Portanto, é mais um firewall do que um log de auditoria do firewall. E é realmente muito caro em comparação com o CloudTrail quase gratuito.
Evgeny 15/05
5

Existem vários serviços da AWS que podem ajudar com isso, e isso depende realmente de suas necessidades exatas sobre qual seria o melhor para você. Recursos diferentes (e custos) se aplicam a cada um.

O CloudTrail foi mencionado, mas a primeira opção que me vem à mente, dada a sua pergunta (e mencionada em um comentário na resposta da @ Evgeny ), é o Serviço de configuração da AWS . Ele armazena 'instantâneos' da sua configuração da AWS em momentos (em um bloco S3), mas também envia todas as alterações para um tópico do SNS. Você pode então lidar com eles como quiser. Por exemplo, em uma conta de baixo tráfego, eu os tenho direto para o Slack; em uma conta de alto tráfego, estou acompanhando a NumberOfMessagesPublishedmétrica desse tópico do SNS para perceber se um número maior de alterações é feito do que o habitual.

O AWS Config também oferece um serviço de 'regras'; estes são um pouco mais caros do que eu esperava, mas, dependendo das suas necessidades, poderiam ser úteis. Apenas não ative todos de uma vez, como fiz quando estava brincando ... a cobrança do mês para cada regra é aplicada imediatamente. ;) (Mas você pode usar o Config sem usar as regras - é o que estou fazendo no momento).

Também há o Trusted Advisor , que não faz exatamente o que você solicitou, mas pode ser útil para executar determinadas verificações sobre como os engenheiros configuram sua infraestrutura, como se alguém deixou os baldes do S3 abertos. É mais útil com um plano de suporte de nível comercial ou superior, pois muitas de suas verificações são bloqueadas.

Existem ferramentas de terceiros, como o CloudCheckr , que combinam aspectos do AWS Cost Explorer, Trusted Advisor, Config, CloudTrail, CloudWatch, Inspector e GuardDuty. Útil se você quiser se aprofundar muito, mas economizar tempo configurando tudo sozinho.

Como alternativa, você pode gerenciar sua infraestrutura usando uma ferramenta como Terraform ou CloudFormation e exigir que todas as alterações sejam feitas por meio delas. Em seguida, você pode confirmar seus arquivos / modelos de configuração no controle de origem e até testá-los na infraestrutura ativa no CI e falhar na construção se alguém fizer alterações não rastreadas. Dessa forma, seu histórico de consolidação se torna seu registro de auditoria - mas exige que seus engenheiros sejam disciplinados!

Tim Malone
fonte