Connettere Microsoft Sentinel ad Amazon Web Services per inserire dati di log del servizio AWS
Usare i connettori Amazon Web Services (AWS) per eseguire il pull dei log del servizio AWS in Microsoft Sentinel. Questi connettori funzionano concedendo a Microsoft Sentinel l'accesso ai log delle risorse AWS. La configurazione del connettore stabilisce una relazione di trust tra Amazon Web Services e Microsoft Sentinel. Questa operazione viene eseguita in AWS creando un ruolo che concede l'autorizzazione a Microsoft Sentinel per accedere ai log AWS.
Questo connettore è disponibile in due versioni: il connettore legacy per la gestione di CloudTrail e i log di dati e la nuova versione in grado di inserire i log dai servizi AWS seguenti eseguendo il pull da un bucket S3 (i collegamenti sono alla documentazione di AWS):
- Log dei flussi VPC (Amazon Virtual Private Cloud) VPC -
- Risultati di Amazon GuardDuty -
- AWS CloudTrail - Management ed eventi di dati
- Aws CloudWatch CloudWatch - logs
Questa scheda illustra come configurare il connettore AWS S3. Il processo di configurazione ha due parti: il lato AWS e il lato Microsoft Sentinel. Il processo di ogni lato produce informazioni usate dall'altro lato. Questa autenticazione bidirezionale crea comunicazioni sicure.
Prerequisiti
Assicurarsi che i log del servizio AWS selezionato usino il formato accettato da Microsoft Sentinel:
- Amazon VPC: .csv file in formato GZIP con intestazioni; delimitatore: spazio.
- Amazon GuardDuty: formati json-line e GZIP.
- AWS CloudTrail: .json file in formato GZIP.
- CloudWatch: .csv file in un formato GZIP senza intestazione. Se è necessario convertire i log in questo formato, è possibile usare questa funzione lambda CloudWatch.
È necessario disporre dell'autorizzazione di scrittura per l'area di lavoro di Microsoft Sentinel.
Installare la soluzione Amazon Web Services dall'hub dei contenuti in Microsoft Sentinel. Per altre informazioni, vedere Individuare e gestire contenuti predefiniti di Microsoft Sentinel.
Panoramica dell'architettura
Questo grafico e il testo seguente illustrano come interagiscono le parti di questa soluzione connettore.
I servizi AWS sono configurati per inviare i log ai bucket di archiviazione S3 (Simple Archiviazione Service).
Il bucket S3 invia messaggi di notifica alla coda di messaggi SQS (Simple Queue Service) ogni volta che riceve nuovi log.
Il connettore AWS S3 di Microsoft Sentinel esegue il polling della coda SQS a intervalli regolari e frequenti. Se nella coda è presente un messaggio, conterrà il percorso dei file di log.
Il connettore legge il messaggio con il percorso, quindi recupera i file dal bucket S3.
Per connettersi alla coda SQS e al bucket S3, Microsoft Sentinel usa un provider di identità Web federato (Microsoft Entra ID) per l'autenticazione con AWS tramite OpenID Connessione (OIDC) e presupponendo un ruolo IAM AWS. Il ruolo viene configurato con un criterio di autorizzazioni che concede l'accesso a tali risorse.
Connessione connettore S3
Nell'ambiente AWS:
Configurare i servizi AWS per inviare i log a un bucket S3.
Creare una coda simple queue service (SQS) per fornire una notifica.
Creare un provider di identità Web per autenticare gli utenti in AWS tramite OpenID Connessione (OIDC).
Creare un ruolo assunto per concedere autorizzazioni agli utenti autenticati dal provider di identità Web OIDC per accedere alle risorse AWS.
Collegare i criteri di autorizzazioni IAM appropriati per concedere al ruolo assunto l'accesso alle risorse appropriate (bucket S3, SQS).
Nel repository GitHub è stato reso disponibile uno script che automatizza il lato AWS di questo processo. Vedere le istruzioni per la configurazione automatica più avanti in questo documento.
In Microsoft Sentinel:
- Abilitare e configurare aws S3 Connessione or nel portale di Microsoft Sentinel. Vedere le istruzioni riportate di seguito.
Configurazione automatica
Per semplificare il processo di onboarding, Microsoft Sentinel ha fornito uno script di PowerShell per automatizzare la configurazione del lato AWS del connettore, ovvero le risorse, le credenziali e le autorizzazioni AWS necessarie.
Lo script esegue le azioni seguenti:
Crea un provider di identità Web OIDC per autenticare gli utenti di Microsoft Entra ID in AWS.
Crea un ruolo IAM assunto con le autorizzazioni minime necessarie, per concedere agli utenti autenticati OIDC l'accesso ai log in un determinato bucket S3 e nella coda SQS.
Consente ai servizi AWS specificati di inviare log a tale bucket S3 e messaggi di notifica a tale coda SQS.
Se necessario, crea il bucket S3 e la coda SQS a questo scopo.
Configura i criteri di autorizzazioni IAM necessari e li applica al ruolo IAM creato in precedenza.
Per Azure per enti pubblici cloud, uno script specializzato crea un provider di identità Web OIDC diverso, a cui assegna il ruolo assunto dall'IAM.
Prerequisiti per l'installazione automatica
- È necessario avere PowerShell e l'interfaccia della riga di comando di AWS nel computer.
- Istruzioni di installazione per PowerShell
- Istruzioni di installazione per l'interfaccia della riga di comando di AWS (dalla documentazione di AWS)
Istruzioni
Per eseguire lo script per configurare il connettore, seguire questa procedura:
Dal menu di spostamento di Microsoft Sentinel selezionare Connettori dati.
Selezionare Amazon Web Services S3 dalla raccolta connettori dati.
Se il connettore non viene visualizzato, installare la soluzione Amazon Web Services dall'hub contenuti in Microsoft Sentinel.
Nel riquadro dei dettagli per il connettore selezionare Apri pagina connettore.
Nella sezione Configurazione, in 1. Configurare l'ambiente AWS, espandere Installazione con script di PowerShell (scelta consigliata).
Seguire le istruzioni visualizzate per scaricare ed estrarre lo script di installazione di AWS S3 (il collegamento scarica un file ZIP contenente lo script di installazione principale e gli script helper) dalla pagina del connettore.
Nota
Per inserire i log AWS in un cloud Azure per enti pubblici, scaricare ed estrarre questo script di installazione di AWS S3 Gov specializzato.
Prima di eseguire lo script, eseguire il
aws configure
comando dalla riga di comando di PowerShell e immettere le informazioni pertinenti come richiesto. Vedere l'interfaccia della riga di comando di AWS | Nozioni di base sulla configurazione (dalla documentazione di AWS) per informazioni dettagliate.Eseguire ora lo script. Copiare il comando dalla pagina del connettore (in "Esegui script per configurare l'ambiente") e incollarlo nella riga di comando.
Lo script richiederà di immettere l'ID dell'area di lavoro. Questo ID viene visualizzato nella pagina del connettore. Copiarlo e incollarlo al prompt dello script.
Al termine dell'esecuzione dello script, copiare il ruolo ARN e l'URL SQS dall'output dello script (vedere l'esempio nella prima schermata seguente) e incollarli nei rispettivi campi nella pagina del connettore sotto 2. Aggiungere la connessione (vedere la seconda schermata seguente).
Selezionare un tipo di dati dall'elenco a discesa Tabella di destinazione . Questo indica al connettore il servizio AWS che registra questa connessione da raccogliere e nella tabella di Log Analytics in cui verranno archiviati i dati inseriti. Selezionare quindi Aggiungi connessione.
Nota
Il completamento dell'esecuzione dello script può richiedere fino a 30 minuti.
Configurazione manuale
Microsoft consiglia di usare lo script di installazione automatica per distribuire questo connettore. Se per qualsiasi motivo non si vuole sfruttare questa praticità, seguire questa procedura per configurare manualmente il connettore.
- Preparare le risorse AWS
- Creare un ruolo assunto da AWS e concedere l'accesso all'account AWS Sentinel
- Aggiungere le informazioni sul ruolo e sulla coda di AWS al connettore dati S3
- Configurare un servizio AWS per esportare i log in un bucket S3
Preparare le risorse AWS
Creare un bucket S3 a cui si spediranno i log dai servizi AWS: VPC, GuardDuty, CloudTrail o CloudWatch.
- Vedere le istruzioni per creare un bucket di archiviazione S3 nella documentazione di AWS.
Creare una coda di messaggi DIS (Simple Queue Service) standard in cui il bucket S3 pubblicherà le notifiche.
- Vedere le istruzioni per creare una coda standard di Simple Queue Service (SQS) nella documentazione di AWS.
Configurare il bucket S3 per inviare messaggi di notifica alla coda SQS.
- Vedere le istruzioni per pubblicare notifiche nella coda SQS nella documentazione di AWS.
Installare AWS Data Connector e preparare l'ambiente
In Microsoft Sentinel selezionare Connettori dati dal menu di spostamento.
Selezionare Amazon Web Services S3 dalla raccolta connettori dati.
Se il connettore non viene visualizzato, installare la soluzione Amazon Web Services dall'hub contenuti in Microsoft Sentinel. Per altre informazioni, vedere Individuare e gestire contenuti predefiniti di Microsoft Sentinel.
Nel riquadro dei dettagli per il connettore selezionare Apri pagina connettore.
In Configurazione espandere Setup with PowerShell script (recommended) (Installazione con script di PowerShell (scelta consigliata) e quindi copiare l'ID esterno (ID area di lavoro) negli Appunti.
Creare un provider di identità Web OIDC (Open ID Connessione) e un ruolo assunto da AWS
In un'altra finestra o scheda del browser aprire la console AWS.
Creare un provider di identità Web. Seguire queste istruzioni nella documentazione di AWS:
Creazione di provider di identità OIDC (OpenID Connessione).Parametro Selezione/Valore Commenti ID client - Ignorare questo, è già disponibile. Vedi La riga Gruppo di destinatari sotto. Tipo provider OpenID Connect Anziché SAML predefinito. Provider URL Commerciale: sts.windows.net/33e01921-4d64-4f8c-a055-5bdaffd5e33d/
Governo:sts.windows.net/cab8a31a-1906-4287-a0d8-4eef66b95f6e/
Identificazione personale 626d44e704d1ceabe3bf0d53397464ac8080142c
Se creato nella console IAM, selezionare Ottieni identificazione personale per ottenere questo risultato. Destinatari Commerciale: api://1462b192-27f7-4cb9-8523-0f4ecb54b47e
Governo:api://d4230588-5f84-4281-a9c7-2c15194b28f7
Creare un ruolo assunto da IAM. Seguire queste istruzioni nella documentazione di AWS:
Creazione di un ruolo per l'identità Web o OpenID Connessione Federation.Parametro Selezione/Valore Commenti Tipo di entità attendibile Identità Web Anziché il servizio AWS predefinito. Provider di identità Commerciale: sts.windows.net/33e01921-4d64-4f8c-a055-5bdaffd5e33d/
Governo:sts.windows.net/cab8a31a-1906-4287-a0d8-4eef66b95f6e/
Provider creato nel passaggio precedente. Destinatari Commerciale: api://1462b192-27f7-4cb9-8523-0f4ecb54b47e
Governo:api://d4230588-5f84-4281-a9c7-2c15194b28f7
Gruppo di destinatari definito per il provider di identità nel passaggio precedente. Autorizzazioni da assegnare AmazonSQSReadOnlyAccess
AWSLambdaSQSQueueExecutionRole
AmazonS3ReadOnlyAccess
ROSAKMSProviderPolicy
- Criteri aggiuntivi per l'inserimento dei diversi tipi di log del servizio AWS
Per informazioni su questi criteri, vedere la pagina relativa ai criteri di autorizzazioni del connettore AWS S3 nel repository GitHub di Microsoft Sentinel. Nome "OIDC_MicrosoftSentinelRole" Scegliere un nome significativo che includa un riferimento a Microsoft Sentinel.
Il nome deve includere il prefissoOIDC_
esatto , in caso contrario il connettore non funzionerà correttamente.Modificare i criteri di attendibilità del nuovo ruolo e aggiungere un'altra condizione:
"sts:RoleSessionName": "MicrosoftSentinel_{WORKSPACE_ID)"
Importante
Il valore del
sts:RoleSessionName
parametro deve avere il prefissoMicrosoftSentinel_
esatto , in caso contrario il connettore non funzionerà correttamente.Il criterio di attendibilità completato dovrebbe essere simile al seguente:
{ "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
è l'ID account AWS.XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
è l'ID dell'area di lavoro di Microsoft Sentinel.
Aggiornare (salvare) i criteri al termine della modifica.
Aggiungere le informazioni sul ruolo e sulla coda di AWS al connettore dati S3
Nella scheda del browser aprire la console AWS immettere il servizio Identity and Access Management (IAM) e passare all'elenco dei ruoli. Selezionare il ruolo creato in precedenza.
Copiare l'ARN negli Appunti.
Immettere simple queue service (Servizio code semplice), selezionare la coda SQS creata e copiare l'URL della coda negli Appunti.
Tornare alla scheda del browser Microsoft Sentinel, che deve essere aperta alla pagina del connettore dati Amazon Web Services S3 (anteprima). Sotto 2. Aggiungi connessione:
- Incollare il ruolo IAM ARN copiato due passaggi fa nel campo Ruolo da aggiungere .
- Incollare l'URL della coda SQS copiata nell'ultimo passaggio nel campo SQS URL (URL SQS).
- Selezionare un tipo di dati dall'elenco a discesa Tabella di destinazione . Questo indica al connettore il servizio AWS che registra questa connessione da raccogliere e nella tabella di Log Analytics in cui verranno archiviati i dati inseriti.
- Selezionare Aggiungi connessione.
Configurare un servizio AWS per esportare i log in un bucket S3
Vedere la documentazione di Amazon Web Services (collegata di seguito) per istruzioni per l'invio di ogni tipo di log al bucket S3:
Pubblicare un log del flusso VPC in un bucket S3.
Nota
Se si sceglie di personalizzare il formato del log, è necessario includere l'attributo start , perché viene mappato al campo TimeGenerated nell'area di lavoro Log Analytics. In caso contrario, il campo TimeGenerated verrà popolato con l'ora di inserimento dell'evento, che non descrive in modo accurato l'evento del log.
Esportare i risultati di GuardDuty in un bucket S3.
Nota
In AWS i risultati vengono esportati per impostazione predefinita ogni 6 ore. Modificare la frequenza di esportazione per i risultati attivi aggiornati in base ai requisiti dell'ambiente. Per accelerare il processo, è possibile modificare l'impostazione predefinita per esportare i risultati ogni 15 minuti. Vedere Impostazione della frequenza per l'esportazione dei risultati attivi aggiornati.
Il campo TimeGenerated viene popolato con l'aggiornamento dell'elemento Update in corrispondenza del valore di ricerca.
I percorsi AWS CloudTrail vengono archiviati in bucket S3 per impostazione predefinita.
Problemi noti e risoluzione
Problemi noti
Diversi tipi di log possono essere archiviati nello stesso bucket S3, ma non devono essere archiviati nello stesso percorso.
Ogni coda SQS deve puntare a un tipo di messaggio, quindi se si desidera inserire i risultati di GuardDuty e i log dei flussi VPC, è necessario configurare code separate per ogni tipo.
Analogamente, una singola coda SQS può servire un solo percorso in un bucket S3, quindi se per qualsiasi motivo si archiviano i log in più percorsi, ogni percorso richiede una propria coda SQS dedicata.
Risoluzione dei problemi
Informazioni su come risolvere i problemi del connettore Amazon Web Services S3.
Passaggi successivi
In questo documento si è appreso come connettersi alle risorse AWS per inserire i log in Microsoft Sentinel. Per altre informazioni su Microsoft Sentinel, vedere gli articoli seguenti:
- Informazioni su come ottenere visibilità sui dati e sulle potenziali minacce.
- Iniziare a rilevare minacce con Microsoft Sentinel.
- Usare le cartelle di lavoro per monitorare i dati.