Foretag fejlfinding af problemer med AWS S3-connector

Amazon Web Services (AWS) S3-connectoren giver dig mulighed for at indtage AWS-tjenestelogge, der er indsamlet i AWS S3-buckets, for at Microsoft Sentinel. De logtyper, vi understøtter i øjeblikket, er AWS CloudTrail, VPC Flow Logs og AWS GuardDuty.

I denne artikel beskrives det, hvordan du hurtigt kan identificere årsagen til problemer, der opstår med AWS S3-connectoren, så du kan finde de trin, der er nødvendige for at løse problemerne.

Få mere at vide om, hvordan du opretter forbindelse Microsoft Sentinel til Amazon Web Services til indfødning af AWS-tjenestelogdata.

Microsoft Sentinel modtager ikke data fra Amazon Web Services S3-connectoren eller en af dens datatyper

Loggene for AWS S3-connectoren (eller en af dens datatyper) er ikke synlige i det Microsoft Sentinel arbejdsområde i mere end 30 minutter, efter at forbindelsen blev oprettet.

Før du søger efter en årsag og løsning, skal du gennemgå disse overvejelser:

  • Det kan tage ca. 20-30 minutter fra det øjeblik, connectoren er tilsluttet, indtil data overføres til arbejdsområdet.
  • Connectorens forbindelsesstatus angiver, at der findes en samlingsregel. det angiver ikke, at dataene blev indtaget. Hvis status for Amazon Web Services S3-connectoren er grøn, er der en samlingsregel for en af datatyperne, men stadig ingen data.

Find årsagen til problemet

I dette afsnit behandler vi disse årsager:

  1. Tilladelsespolitikkerne for AWS S3-connectoren er ikke angivet korrekt.
  2. Dataene indtages ikke til S3-bucketen i AWS.
  3. Amazon Simple Queue Service (SQS) i AWS-clouden modtager ikke meddelelser fra S3-bucketen.
  4. Dataene kan ikke læses fra SQS/S3 i AWS-cloudmiljøet. Med GuardDuty-logfiler skyldes problemet forkerte KMS-tilladelser.

Årsag 1: Tilladelsespolitikkerne for AWS S3-connectoren er ikke angivet korrekt

Dette problem skyldes forkerte tilladelser i AWS-miljøet.

Opret tilladelsespolitikker

Du skal have tilladelsespolitikker for at installere AWS S3-dataconnectoren. Gennemse de nødvendige tilladelser, og angiv de relevante tilladelser.

Årsag 2: De relevante data findes ikke i S3-bucket'en

De relevante logge findes ikke i S3-bucket'en.

Løsning: Søg efter logge, og eksportér logge, hvis det er nødvendigt

  1. Åbn S3-bucket'en i AWS, søg efter den relevante mappe i henhold til de påkrævede logge, og kontrollér, om der er nogen logfiler i mappen.
  2. Hvis dataene ikke findes, er der et problem med AWS-konfigurationen. I dette tilfælde skal du konfigurere en AWS-tjeneste for at eksportere logge til en S3-bucket.

Årsag 3: S3-dataene ankommer ikke til SQS

Dataene blev ikke overført fra S3 til SQS.

Løsning: Kontrollér, at dataene er modtaget, og konfigurer hændelsesmeddelelser

  1. Åbn den relevante KVS i AWS.
  2. Under fanen Overvågning kan du se trafik i widgetten Antal sendte meddelelser . Hvis der ikke er nogen trafik i SQS, er der et problem med AWS-konfigurationen.
  3. Sørg for, at definitionen af hændelsesmeddelelser for SQS indeholder de korrekte datafiltre (præfiks og suffiks).
    1. Hvis du vil se hændelsesmeddelelserne, skal du vælge fanen Egenskaber i bucketen S3 og finde afsnittet Hændelsesmeddelelser .
    2. Hvis du ikke kan se denne sektion, skal du oprette den.
    3. Sørg for, at SQS har de relevante politikker til at hente dataene fra S3-bucket'en. SQS skal indeholde denne politik under fanen Adgangspolitik .

Årsag 4: SQS læste ikke dataene

SQS kunne ikke læse S3-dataene.

Løsning: Kontrollér, at SQS læser dataene

  1. Åbn den relevante KVS i AWS.

  2. Under fanen Overvågning kan du se trafik i widgetten Antal slettede meddelelser og antal modtagne meddelelser .

  3. En spidsbelastning af data er ikke nok. Vent, indtil der er nok data (flere stigninger), og kontrollér derefter, om der er problemer.

  4. Hvis mindst én af widgetsene er tom, skal du kontrollere tilstandsloggene ved at køre denne forespørgsel:

    SentinelHealth 
    | where TimeGenerated > ago(1d)
    | where SentinelResourceKind in ('AmazonWebServicesCloudTrail', 'AmazonWebServicesS3')
    | where OperationName == 'Data fetch failure summary'
    | mv-expand TypeOfFailureDuringHour = ExtendedProperties["FailureSummary"]
    | extend StatusCode = TypeOfFailureDuringHour["StatusCode"]
    | extend StatusMessage = TypeOfFailureDuringHour["StatusMessage"]
    | project SentinelResourceKind, SentinelResourceName, StatusCode, StatusMessage, SentinelResourceId, TypeOfFailureDuringHour, ExtendedProperties
    
  5. Sørg for, at tilstandsfunktionen er aktiveret:

    SentinelHealth 
    | take 20
    
  6. Hvis tilstandsfunktionen ikke er aktiveret, skal du aktivere den.

Data fra AWS S3-connectoren (eller en af dens datatyper) ses i Microsoft Sentinel med en forsinkelse på mere end 30 minutter

Dette problem opstår normalt, når Microsoft ikke kan læse filer i S3-mappen. Microsoft kan ikke læse filerne, fordi de enten er krypteret eller i et forkert format. I disse tilfælde forårsager mange forsøg med tiden indtagelsesforsinkelse.

Find årsagen til problemet

I dette afsnit behandler vi disse årsager:

  • Logkryptering er ikke konfigureret korrekt
  • Hændelsesmeddelelser er ikke defineret korrekt
  • Tilstandsfejl eller tilstandshæmmede

Årsag 1: Logkryptering er ikke konfigureret korrekt

Hvis loggene er helt eller delvist krypteret af KMS (Key Management Service), har Microsoft Sentinel muligvis ikke tilladelse til, at kms-filerne dekrypteres.

Løsning: Kontrollér logkryptering

Sørg for, at Microsoft Sentinel har tilladelse til, at kms-filerne dekrypteres. Gennemse de påkrævede KMS-tilladelser for GuardDuty- og CloudTrail-loggene.

Årsag 2: Hændelsesmeddelelser er ikke konfigureret korrekt

Når du konfigurerer en Amazon S3-hændelsesmeddelelse, skal du angive, hvilke understøttede hændelsestyper Amazon S3 skal sende meddelelsen til. Hvis der findes en hændelsestype, som du ikke angav, i din Amazon S3-bucket, sender Amazon S3 ikke meddelelsen.

Løsning: Kontrollér, at hændelsesmeddelelser er defineret korrekt

Hvis du vil kontrollere, at hændelsesmeddelelserne fra S3 til SQS er defineret korrekt, skal du kontrollere, at:

  • Meddelelsen er defineret fra den specifikke mappe, der indeholder loggene, og ikke fra den hovedmappe, der indeholder bucket'en.
  • Meddelelsen er defineret med suffikset .gz . Det kan f.eks. være:

Årsag 3: Tilstandsfejl eller tilstandsaktiveret

Der kan være fejl i tilstandslogfilerne, eller tilstandsfunktionen er muligvis ikke aktiveret.

Løsning: Kontrollér, at der ikke er nogen fejl i tilstandslogfilerne, og aktivér tilstand

  1. Kontrollér, at der ikke er nogen fejl i tilstandsloggene ved at køre denne forespørgsel:

    SentinelHealth
    | where TimeGenerated between (ago(startTime)..ago(endTime))
    | where SentinelResourceKind  == "AmazonWebServicesS3"
    | where Status != "Success"
    | distinct TimeGenerated, OperationName, SentinelResourceName, Status, Description
    
  2. Sørg for, at tilstandsfunktionen er aktiveret:

    SentinelHealth 
    | take 20
    
  3. Hvis tilstandsfunktionen ikke er aktiveret, skal du aktivere den.

    Du kan få flere oplysninger om følgende elementer i det foregående eksempel i dokumentationen til Kusto:

    Du kan få flere oplysninger om KQL i oversigten over Kusto Query Language (KQL).

    Andre ressourcer:

Næste trin

I denne artikel har du lært, hvordan du hurtigt kan identificere årsager og løse almindelige problemer med AWS S3-connectoren.

Vi glæder os over feedback, forslag, anmodninger om funktioner, fejlrapporter eller forbedringer og tilføjelser. Gå til Microsoft Sentinel GitHub-lageret for at oprette et problem eller en kopi og uploade et bidrag.