Conectar o Microsoft Azure Sentinel com o Amazon Web Services para ingerir dados de log de serviço do AWS
Use os conectores da AWS (Amazon Web Services) para efetuar pull dos logs de serviço da AWS no Microsoft Sentinel. Esses conectores funcionam permitindo ao Microsoft Sentinel acesso aos logs de recursos da AWS. A configuração do conector estabelece uma relação de confiança entre o Amazon Web Services e o Microsoft Sentinel. Isso é feito no AWS criando uma função que concede permissão ao Microsoft Sentinel para acessar os logs do AWS.
Este conector está disponível em duas versões: o conector legado para gerenciamento e logs de dados do CloudTrail e a nova versão que pode ingerir logs dos seguintes serviços da AWS, extraindo-os de um bucket S3 (os links são para a documentação da AWS):
- VPC (Amazon Virtual Private Cloud) - Logs de fluxo VPC
- Amazon GuardDuty - Conclusões
- AWS CloudTrail - Eventos de gerenciamento e dados
- AWS CloudWatch - Logs do CloudWatch
Esta guia explica como configurar o conector do AWS S3. O processo de configuração tem duas partes: o lado da AWS e o lado do Microsoft Sentinel. O processo de cada lado produz informações usadas pelo outro lado. Essa autenticação bidirecional cria uma comunicação segura.
Pré-requisitos
Verifique se os logs do serviço AWS selecionado usam o formato aceito pelo Microsoft Sentinel:
- Amazon VPC: arquivo .csv em formato GZIP com cabeçalhos; delimitador: espaço.
- Amazon GuardDuty: formatos json-line e GZIP.
- AWS CloudTrail: arquivo .json em um formato GZIP.
- CloudWatch: arquivo .csv em um formato GZIP sem um cabeçalho. Se você precisar converter seus logs para esse formato, poderá usar essa função lambda do CloudWatch.
Você precisa ter permissão de gravação no espaço de trabalho do Microsoft Sentinel.
Instale a solução Amazon Web Services do Hub de Conteúdo no Microsoft Sentinel. Para obter mais informações, consulte Descobrir e gerenciar o conteúdo pronto para uso do Microsoft Sentinel.
Visão geral da arquitetura
Este gráfico e o texto a seguir mostram como as partes dessa solução de conector interagem.
Os serviços AWS são configurados para enviar logs ao buckets de armazenamento do S3 (Simple Storage Service).
O bucket S3 envia mensagens de notificação à fila de mensagens do SQS (Simple Queue Service) sempre que recebe novos logs.
O conector do AWS S3 do Microsoft Sentinel sonda a fila do SQS em intervalos regulares e frequentes. Se houver uma mensagem na fila, ela conterá o caminho para os arquivos de log.
O conector lê a mensagem com o caminho e busca os arquivos do bucket S3.
Para se conectar à fila SQS e ao bucket S3, o Microsoft Sentinel usa um provedor de identidade web federado (Microsoft Entra ID) para autenticação com AWS por meio do OpenID Connect (OIDC) e assumindo uma função AWS IAM. A função é configurada com uma política de permissões que lhe dá acesso a esses recursos.
Conectar o conector S3
Em seu ambiente da AWS:
Configure seus serviços AWS para enviar logs a um bucket S3.
Crie uma fila do SQS (Simple Queue Service) para fornecer notificação.
Crie um provedor de identidade web para autenticar usuários na AWS por meio do OpenID Connect (OIDC).
Crie uma função assumida para conceder permissões a usuários autenticados pelo provedor de identidade da web OIDC para acessar seus recursos da AWS.
Anexe as políticas de permissões do IAM apropriadas para conceder à função assumida acesso aos recursos apropriados (bucket S3, SQS).
Disponibilizamos no repositório do GitHub, um script que automatiza o lado da AWS desse processo. Confira as instruções de instalação automática mais adiante neste documento.
No Microsoft Sentinel:
- Habilite e configure o Conector do AWS S3 no portal do Microsoft Sentinel. Confira as instruções abaixo.
Configuração automática
Para simplificar o processo de integração, o Microsoft Sentinel forneceu um script do PowerShell para automatizar a configuração do lado da AWS do conector, ou seja, os recursos, as credenciais e as permissões da AWS necessários.
O script toma as seguintes ações:
Cria um provedor de identidade da web OIDC para autenticar usuários do Microsoft Entra ID na AWS.
Cria uma função assumida pelo IAM com as permissões mínimas necessárias, para conceder aos usuários autenticados pelo OIDC acesso aos seus logs em um determinado bucket S3 e fila SQS.
Permite que os serviços AWS especificados enviem logs para esse bucket S3 e mensagens de notificação para essa fila do SQS.
Se necessário, cria esse bucket S3 e essa fila do SQS para essa finalidade.
Configura as políticas de permissões de IAM necessárias e aplica-as à função de IAM criada acima.
Para nuvens do Microsoft Azure Governamental, um script especializado cria um fornecedor de identidade web OIDC diferente, ao qual atribui a função assumida pelo IAM.
Pré-requisitos para configuração automática
- Você precisa ter o PowerShell e a CLI da AWS no computador.
- Instruções de instalação do PowerShell
- Instruções de instalação para a CLI da AWS (da documentação da AWS)
Instruções
Para executar o script a fim de configurar o conector, siga as seguintes etapas:
No menu de navegação do Microsoft Sentinel, selecione Conectores de dados.
Selecione Amazon Web Services S3 na galeria de conectores de dados.
Se você não vir o conector, instale a solução Amazon Web Services do Hub de Conteúdo no Microsoft Sentinel.
No painel de detalhes, selecione Abrir página do conector.
Na seção Configuração, em 1. Configurar o ambiente da AWS, expanda Instalação com o script do PowerShell (recomendado).
Siga as instruções na tela para baixar e extrair o Script de Instalação do AWS S3 (o link baixa um arquivo zip que contém o script de instalação principal e scripts auxiliares) da página do conector.
Observação
Para ingerir logs da AWS em uma nuvem do Azure Governamental, baixe e extraia esse script de instalação do AWS S3 Gov especializado.
Antes de executar o script, execute o comando
aws configure
na linha de comando do PowerShell e insira as informações relevantes conforme solicitadas. Confira a Interface da linha de comando da AWS | Noções básicas de configuração (da documentação da AWS) para obter detalhes.Agora, execute o script. Copie o comando da página do conector (em "Executar script para configurar o ambiente") e copie-o na linha de comando.
O script solicitará que você insira sua ID do workspace. Essa ID aparece na página do conector. Copie-o e cole-o no prompt do script.
Quando a execução do script terminar, copie o ARN da Função e a URL do SQS da saída do script (veja o exemplo na primeira captura de tela abaixo) e copie-os nos respectivos campos na página do conector em 2. Adicionar conexão (confira a segunda captura de tela abaixo).
Selecione um tipo de dados na lista suspensa Tabela de destino. Isso informa ao conector com quais logs do serviço AWS essa conexão está sendo estabelecida para coletar e em qual tabela do Log Analytics armazenará os dados ingeridos. Depois, selecione Adicionar conexão.
Observação
O script pode levar até 30 minutos para concluir a execução.
Instalação manual
A Microsoft recomenda usar o script de instalação automática para implantar esse conector. Se, por qualquer motivo, você não quiser aproveitar essa facilidade, siga as etapas abaixo para configurar o conector manualmente.
- Prepare seus recursos da AWS
- Criar uma função assumida pela AWS e permitir acesso à conta do Sentinel da AWS
- Adicione a função da AWS e as informações da fila ao conector de dados S3
- Configurar um serviço AWS para exportar logs para um bucket S3
Prepare seus recursos da AWS
Crie um bucket do S3 para o qual enviará os logs dos serviços da AWS – VPC, GuardDuty, CloudTrail ou CloudWatch.
- Confira as instruções para criar um bucket de armazenamento S3 na documentação da AWS.
Crie uma fila de mensagens padrão do Simple Queue Service (SQS) na qual o bucket S3 publicará notificações.
- Confira as instruções para criar uma fila padrão do Simple Queue Service (SQS) na documentação da AWS.
Configure o bucket S3 para enviar mensagens de notificação para sua fila do SQS.
- Confira as instruções para publicar notificações na fila do SQS na documentação da AWS.
Instalar o conector de dados da AWS e preparar o ambiente
No Microsoft Sentinel, selecione Conectores de dados no menu de navegação.
Selecione Amazon Web Services S3 na galeria de conectores de dados.
Se você não vir o conector, instale a solução Amazon Web Services do Hub de Conteúdo no Microsoft Sentinel. Para obter mais informações, consulte Descobrir e gerenciar o conteúdo pronto para uso do Microsoft Sentinel.
No painel de detalhes, selecione Abrir página do conector.
Em Configuração, expanda a Instalação com o script do PowerShell (recomendado) e copie a ID Externa (ID do workspace) para a área de transferência.
Crie um provedor de identidade da web Open ID Connect (OIDC) e uma função assumida pela AWS
Em outra janela ou guia do navegador, abra o console da AWS.
Crie um provedor de identidade da Web. Siga estas instruções na documentação da AWS:
Criando provedores de identidade do OpenID Connect (OIDC).Parâmetro Seleção/Valor Comentários ID do Cliente - Ignore isso, você já tem. Veja a linha Público-alvo abaixo. Tipo de provedor OpenID Connect Em vez do SAML padrão. URL do provedor Comercial: sts.windows.net/33e01921-4d64-4f8c-a055-5bdaffd5e33d/
Governo:sts.windows.net/cab8a31a-1906-4287-a0d8-4eef66b95f6e/
Impressão Digital 626d44e704d1ceabe3bf0d53397464ac8080142c
Se criado no console do IAM, selecionar Obter impressão digital deverá fornecer esse resultado. Público-alvo Comercial: api://1462b192-27f7-4cb9-8523-0f4ecb54b47e
Governo:api://d4230588-5f84-4281-a9c7-2c15194b28f7
Crie uma função IAM assumida. Siga estas instruções na documentação da AWS:
Criando uma função para identidade da Web ou Federação do OpenID Connect.Parâmetro Seleção/Valor Comentários Tipo de entidade confiável Identidade da Web Em vez do serviço da AWS padrão. Provedor de identidade Comercial: sts.windows.net/33e01921-4d64-4f8c-a055-5bdaffd5e33d/
Governo:sts.windows.net/cab8a31a-1906-4287-a0d8-4eef66b95f6e/
O provedor que você criou na etapa anterior. Público-alvo Comercial: api://1462b192-27f7-4cb9-8523-0f4ecb54b47e
Governo:api://d4230588-5f84-4281-a9c7-2c15194b28f7
O público-alvo definido para o provedor de identidade na etapa anterior. Permissões para atribuir AmazonSQSReadOnlyAccess
AWSLambdaSQSQueueExecutionRole
AmazonS3ReadOnlyAccess
ROSAKMSProviderPolicy
- Políticas adicionais para ingestão de diferentes tipos de logs de serviço da AWS
Para obter informações sobre essas políticas, veja a página de políticas de permissões relevante do conector AWS S3, no repositório GitHub do Microsoft Sentinel. Nome "OIDC_MicrosoftSentinelRole" Escolha um nome significativo que inclua uma referência ao Microsoft Sentinel.
O nome deve incluir o prefixo exatoOIDC_
, caso contrário o conector não funcionará corretamente.Edite a política de confiança da nova função e adicione outra condição:
"sts:RoleSessionName": "MicrosoftSentinel_{WORKSPACE_ID)"
Importante
O valor do parâmetro
sts:RoleSessionName
deve ter o prefixoMicrosoftSentinel_
exato, caso contrário, o conector não funcionará corretamente.A política de confiança concluída deve ter esta aparência:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::XXXXXXXXXXXX:oidc-provider/sts.windows.net/cab8a31a-1906-4287-a0d8-4eef66b95f6e/" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "sts.windows.net/cab8a31a-1906-4287-a0d8-4eef66b95f6e/:aud": "api://d4230588-5f84-4281-a9c7-2c15194b28f7", "sts:RoleSessionName": "MicrosoftSentinel_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" } } } ] }
XXXXXXXXXXXX
é a ID da Conta da AWS.XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
é sua ID do workspace do Microsoft Sentinel.
Atualize (salve) a política quando terminar de editar.
Adicionar a função da AWS e as informações da fila ao conector de dados S3
Na guia do navegador aberta para o console da AWS, insira o serviço Gerenciamento de Identidade e Acesso (IAM) e navegue até a lista de Funções. Selecione a função que você criou acima.
Copie o ARN para sua área de transferência.
Insira o Serviço de Fila Simples, selecione a fila do SQS que você criou e copie o URL da fila para a área de transferência.
Retorne à guia do navegador do Microsoft Sentinel, que deve estar aberta na página do conector de dados do Amazon Web Services S3 (Versão prévia). Em 2. Adicionar conexão:
- Cole o ARN da função de IAM que você copiou duas etapas atrás no campo Função a ser adicionada.
- Cole a URL da fila SQS que você copiou na última etapa no campo URL do SQS.
- Selecione um tipo de dados na lista suspensa Tabela de destino. Isso informa ao conector com quais logs do serviço AWS essa conexão está sendo estabelecida para coletar e em qual tabela do Log Analytics armazenará os dados ingeridos.
- Selecione Adicionar conexão.
Configurar um serviço AWS para exportar logs para um bucket S3
Confira a documentação da Amazon Web Services (link abaixo) para obter as instruções para enviar cada tipo de log para o bucket S3:
Publique um log de fluxo de VPC em um bucket S3.
Observação
Se você optar por personalizar o formato do log, inclua o atributo Iniciar, pois ele é mapeado para o campo TimeGenerated no workspace do Log Analytics. Ou, o campo TimeGenerated será populado com o tempo ingerido do evento, o que não descreve o evento de log com precisão.
Exporte as conclusões do GuardDuty para um bucket S3.
Observação
Na AWS, as descobertas são exportadas por padrão a cada 6 horas. Ajuste a frequência de exportação para descobertas ativas atualizadas com base nos requisitos de seu ambiente. Para agilizar o processo, você pode modificar a configuração padrão para exportar descobertas a cada 15 minutos. Confira Como definir a frequência para exportar as descobertas ativas atualizadas.
O campo TimeGenerated é populado com a atualização o valor Update at da conclusão.
As trilhas do AWS CloudTrail são armazenadas em buckets S3 por padrão.
Exporte seus dados de logs do CloudWatch para um bucket do S3.
Problemas conhecidos e soluções de problemas
Problemas conhecidos
Tipos diferentes de logs podem ser armazenados no mesmo bucket S3, mas não devem ser armazenados no mesmo caminho.
Cada fila do SQS deve apontar para um tipo de mensagem, portanto, se você quiser ingerir as conclusões do GuardDuty e os logs de fluxo do VPC, configure filas separadas para cada tipo.
Da mesma forma, uma só fila do SQS pode atender apenas a um caminho em um bucket S3, portanto, se por algum motivo você estiver armazenando logs em vários caminhos, cada caminho exigirá a própria fila do SQS dedicada.
Solução de problemas
Saiba como solucionar problemas do conector do Amazon Web Services S3.
Próximas etapas
Neste documento, você aprendeu a se conectar com os recursos da AWS para ingerir os respectivos logs no Microsoft Sentinel. Para saber mais sobre o Microsoft Sentinel, confira os seguintes artigos:
- Saiba como obter visibilidade dos seus dados e possíveis ameaças.
- Introdução à detecção de ameaças com o Microsoft Sentinel.
- Use pastas de trabalho para monitorar seus dados.