Observability - ribeiry/AWS-Professional-Study GitHub Wiki

Cloud Trail

  • Simplifica a análise de segurança
  • Rastrear alteração de recursos
  • Troubleshooting de aplicação
  • CloudTrail entrega eventos para AWS CloudTrail Console, Amazon S3 Bucket e opcionalmente CloudWatch
  • CloudWatch Alarme e Cloud WatchEvents podem tomar uma ação quando eventos importantes forem detectados.
  • Você pode integrar CloudTrail com CloudWatch Logs para entregar eventos de dados capturados pelo CloudTrail para um fluxo de log CloudWatch Logs.
  • O recurso de validação de integridade do arquivo de log do CloudTrail permite que você determine se um arquivo de log do CloudTrail não foi alterado, excluído ou modificado desde que o CloudTrail o entregou ao Amazon S3 bucket especificado.
  • Analise de log, se entregue ao S3, pode ser feita com Amazon Athena.
  • CloudTrail é por conta AWS.
  • Trilhas podem ser habilitadas por região ou uma trilha pode ser aplicada a todas as regiões. O histórico da API permite análises de segurança, rastreamento de alterações de recursos e auditoria de conformidade. Registra chamadas de API feitas por meio de:
    • AWS Management Console.
    • SDKs da AWS.
    • Ferramentas de linha de comando.
    • Serviços AWS de nível superior (como CloudFormation).

O CloudTrail registra atividades de conta e eventos de serviço da maioria dos serviços AWS e faz os seguintes registro :

  • A identidade do chamador da API.
  • A hora da chamada API.
  • O endereço IP de origem do chamador da API.
  • Os parâmetros do pedido.
  • Os elementos de resposta retornados pelo serviço AWS.

Trilhas podem ser configuradas para registrar eventos de dados e eventos de gerenciamento:

  • Eventos de dados: esses eventos fornecem informações sobre as operações de recursos realizadas em ou dentro de um recurso. Também são conhecidas como operações de plano de dados.
  • Eventos de gerenciamento: os eventos de gerenciamento fornecem informações sobre as operações de gerenciamento realizadas nos recursos da sua conta da AWS. Também são conhecidas como operações de plano de controle. Os eventos de gerenciamento também podem incluir eventos não API que ocorrem em sua conta.

Segurança:

  • Os arquivos de log do CloudTrail são por default criptografados usando S3 Server Side Encryption (SSE).
  • Você também pode habilitar a criptografia usando SSE KMS para segurança adicional.
  • Uma única chave KMS pode ser usada para criptografar arquivos de log para trilhas aplicadas a todas as regiões.

Consolidação de Logs

Você pode consolidar registros de várias contas usando um intervalo S3:

  • Ligue o CloudTrail na conta de pagamento.
  • Crie uma política de intervalo que permite o acesso entre contas.
  • Ative o CloudTrail nas outras contas e use o balde na conta de pagamento.

CloudTrail log file integratity

Para determinar quando um arquivo de log foi modificado, deletado ou não foi carregado depois do CloudTrail entregar-lo, voce pode usar o CloudTrail log file integratity validation. Essa feature é construida para usando padrões de algoritmos : SHA-256 para hashing e SHA-256 com RSA para assinatura digital. Isso faz isso torna um faseamento a modificação, delção ou forjar CloudTrail log files sem detectar. Voce pode usar o AWS CLI para validar os arquivos em locais aonde o CloudTrail é entregado.

Por que usar ?

Validação de arquivos de log é muito valioso para segurança e investigações. Por ecemplo, uma validação de arquivos de logs habilitados como assertivo positivamente que o proprio arquivo de log não foi modificado or que particular credenciais performou especifica atividade de API. O CloudTrail Log file intregrity validation processa também e deixa voce saber se um arquivo de log foi deletado ou alterad, ou assertivo positivamente que o arquivo de log não foi entregue para a sua conta durante um determinado periodo

Como Funciona.

Quando voce habilita a validação de intregridade do arquivo de log, CloudTrail cria um hash para todos os arquivos de log que irão ser entregues. Cada hora, CloudTrail também cria e entrega um arquivo que referencia o arquivos de logs, para cada hora e contain um hash para cada um. este arquivo é chamado de arquivo de digestão. CloudTrail assina cada arquivo de digestão usando uma chave privada de um publico e privado par de chaves. Depois de entregue, voce pode usar a chave publica para validar a ingestão do arquivo. CloudTrail usa diferente par de chaves para cada região.

A ingestão do arquivo é entregue pelo mesmo bucket S3 associado com o seu trail como seu CloudTrail log files. Se seu arquivo de log é entregue para todas regiões ou para multiplas contas dentra de um bucket S3, CloudTrail que irá entregar uma ingestão de arquivos para regiões e contas dentro do mesmo bucket.

A ingestão de arquivos dentro da uma pasta separada do mesmo arquivo. A separação de arquivos e arquivos de log habilitado para validar granular a politica de segurança e permitir e o processamento de soluções de logs para continuar operar sem a modificação. Cada ingestão de arquivo também contain uma assinatura digital para uma ingestão de arquivo prévia. A assinatura para a atual ingestão de arquivos de metadata de propriedades de ingestão de arquivos S3 por objeto.

Armazenado log e ingestão de arquivos

Voce pode armazenar o CloudTrail log files e ingerir arquivos em um S3 ou S3 Glacier seguramente, duravel e expansivelmente para um periodo indefinido. Storing log and digest files You can store the CloudTrail log files and digest files in Amazon S3 or S3 Glacier securely, durably and inexpensively for an indefinite period of time. Para realçar a segurança da ingestão de arquivos armazenados no S3, voce pode usar o S3 MFA delete.

Habilitando a validação e validando arquivos

Para habilitar arquivos de log e integridade de arquivos, voce pode usar o Gerenciamento de Console, o AWS CLI ou CloudTrail API.

Para validar a integridade do CloudTrail log files, voce pode usar o AWS CLI ou criar sua propria solição. A AWS CLI irá validar arquivos localmente onde o CloudTrail entrega. Se voce quer validar logs que voce tem movido para um diferente local, S3 ou em outro lugar, voce pode criar uma validação propria em suas ferramentas.

CloudWatch

Opções de Acesso

  • Console do Amazon CloudWatch
  • CLI da AWS
  • API do CloudWatch
  • AWS SDKs

Serviços que são usados com o Cloud Watch

  • Amazon Simple Notification Service (Amazon SNS)
  • Amazon EC2 Auto Scaling
  • O AWS CloudTrail
  • AWS Identity and Access Management (IAM)

Cloudwatch Metrics

São dados sobre o desempenho de seus sistemas (métricas de aplicativo e métricas de recurso da AWS fornecidas por você)

Métricas Default

Fornecida por padrão em muitos serviços, de forma gratuíta

Custom Métricas

São métricas coletadas através do Cloud Watch Agent, uma vez instalado, ele coleta métricas a nível de sistema e envia para o Cloud Watch Logs, essas métricas são cobradas como custom métricas,

  • Coleta metricas internas a nivel de sistema do EC2 atraves do Sistema Operacional.
  • Coleta métricas a nível de sistema em servidores On premise ou na Cloud, cuja sistemas podem ser Linux ou Windows.
  • Recupere métricas personalizadas de seus aplicativos ou serviços usando os protocolos StatsD e CollectD. O StatsD é compatível com os servidores Linux e com os servidores que executam o Windows Server. O CollectD é compatível somente com servidores Linux.

Cloudwatch Logs

Centraliza os logs de todos os sistemas, aplicativos e serviços da AWS que você usa em um único serviço altamente escalável. Nele é possível fazer pesquisa por padrão ou código de erro, filtros com base em campos específicos etc.

  • Tempo : por padrão nunca expiram, mas você pode ajustar a política de retenção para cada grupo de logs, mantendo a retenção indefinida ou escolhendo um período de retenção entre um dia e 10 anos.
  • Armazena os logs dentro do bucket S3
  • O bucket deve ser criptografado com AES-256
  • O log pode demorar mais que 12 horas para começar a ser analisados
  • A API pode chamar a tarefa CreateExportTask

Cloudwatch Logs Cross-Account

Uma forma de entralizar o log da companhia para análise de compartamento em tempo real etc é o uso de uma conta centralizada de log (Cross-account log data), para isso Você pode usar um filtro de assinatura com o Kinesis, Lambda ou Kinesis Data Firehose. Portanto, você não pode simplesmente encaminhar o eventos diretamente para o CloudWatch Logs em outra conta. Além disso, o stream do Kinesis Data Firehose não pode se inscrever no CloudWatch Events, para isso use o Data Stream e ele será o source do Firehouse.

Cloudwatch Events

Observa as alterações nos recursos da Amazon Web Services (AWS). O Eventos do CloudWatch responde a essas alterações operacionais e executa a ação corretiva conforme necessário, enviando mensagens para responder ao ambiente, ativando funções, fazendo alterações e capturando informações de estado. Com regras configurável, é possível associar eventos e roteá-los para um ou mais fluxos ou funções de destino.

Cloud Watch Alarme

Há duas opções de Alarme no CloudWatch :

  • Métrica : Olha para uma única métrica e realiza uma ou mais ações com base no valor da métrica ou na expressão relativa a um limite em alguns períodos. A ação pode enviar uma notificação para um Amazon SNS tópico, executar uma ação no Amazon EC2 ou uma ação Auto Scaling ou criar um Systems Manager OpsItem.

  • Composto : Inclui uma expressão de regra que leva em conta os estados de outros alarmes que você criou. O alarme composto entrará no estado ALARM somente se todas as condições da regra forem atendidas.

Recovery de Instancias

Você pode criar um alarme do Amazon CloudWatch que monitore uma instância do Amazon EC2 e recupere-a automaticamente se ocorrer um problema devido a uma falha de hardware subjacente ou um problema que exija o envolvimento da AWS para repará-lo. Instâncias encerradas não podem ser recuperadas. Uma instância recuperada é idêntica à instância original, incluindo o ID da instância, endereços IP privados, endereços IP elásticos e todos os metadados de instância. Se a instância prejudicada tiver um endereço IPv4 público, ela reterá esse endereço após a recuperação. Se a instância danificada estiver em um placement group, a instância recuperada será executada no placement group.

X-Ray

O AWS X-Ray ajuda os desenvolvedores a analisar e depurar a produção, aplicativos distribuídos, como aqueles criados usando uma arquitetura de microsserviços. Com o X-Ray, você pode entender o desempenho de seu aplicativo e de seus serviços subjacentes para identificar e solucionar a causa raiz de erros e problemas de desempenho. O X-Ray fornece uma visão ponta a ponta das solicitações conforme elas passam pelo seu aplicativo e mostra um mapa dos componentes subjacentes do seu aplicativo. Você pode usar o X-Ray para coletar dados em contas AWS. O agente do X-Ray pode assumir a função de publicar dados em uma conta diferente daquela em que está sendo executado. Isso permite que você publique dados de vários componentes de seu aplicativo em uma conta central. Pronto para uso com :

  • Amazon EC2,
  • Amazon EC2 Container Service (Amazon ECS),
  • AWS Lambda,
  • AWS Elastic Beanstalk.

Obs .: Você pode usar o X-Ray com aplicativos escritos em Java, Node.js e .NET que são implantados nesses serviços.

Dica

CloudWatch | Monitoramento de desempenho de recursos, eventos e alertas

CloudTrail | Atividades específicas da conta e auditoria

Config | Histórico, auditoria e conformidades específicos de recursos