Řešení potíží s konektorem AWS S3
Konektor Amazon Web Services (AWS) S3 umožňuje ingestovat protokoly služby AWS shromážděné v kontejnerech AWS S3 do Microsoft Sentinelu. Typy protokolů, které aktuálně podporujeme, jsou AWS CloudTrail, protokoly toku VPC a AWS GuardDuty.
Tento článek popisuje, jak rychle identifikovat příčinu problémů, ke kterým dochází u konektoru AWS S3, abyste našli kroky potřebné k vyřešení problémů.
Zjistěte, jak připojit Microsoft Sentinel k Amazon Web Services k ingestování dat protokolů služby AWS.
Microsoft Sentinel nepřijímá data z konektoru Amazon Web Services S3 ani z jednoho z jeho datových typů
Protokoly konektoru AWS S3 (nebo některého z jeho datových typů) se v pracovním prostoru Microsoft Sentinelu nezobrazují déle než 30 minut po připojení konektoru.
Než začnete hledat příčinu a řešení, projděte si tyto aspekty:
- Příjem dat do pracovního prostoru může od okamžiku připojení konektoru trvat 20 až 30 minut.
- Stav připojení konektoru signalizuje přítomnost pravidla shromažďování dat, ale neznamená jejich načtení. Pokud je stav konektoru Amazon Web Services S3 zelený, existuje pravidlo kolekce pro jeden z datových typů, ale stále žádná data.
Určení příčiny vašeho problému
V této části se věnujeme těmto příčinám:
- Zásady oprávnění konektoru AWS S3 nejsou správně nastavené.
- Data se neingestují do kontejneru S3 v AWS.
- Amazon Simple Queue Service (SQS) v cloudu AWS nepřijímá oznámení z kbelíku S3.
- Nejde načíst data z SQS nebo S3 v cloudu AWS. V protokolech GuardDuty je problém způsobený nesprávnými oprávněními Služby správy klíčů.
Příčina 1: Zásady oprávnění konektoru AWS S3 nejsou správně nastavené
Příčinou tohoto problému jsou nesprávná oprávnění v prostředí AWS.
Vytvoření zásad oprávnění
K nasazení datového konektoru AWS S3 potřebujete zásady oprávnění. Zkontrolujte požadovaná oprávnění a nastavte příslušná oprávnění.
Příčina 2: Relevantní data v kontejneru S3 neexistují
Příslušné protokoly v kontejneru S3 neexistují.
Řešení: V případě potřeby vyhledejte protokoly a vyexportujte protokoly.
- V AWS otevřete kontejner S3, vyhledejte příslušnou složku podle požadovaných protokolů a zkontrolujte, jestli ve složce nejsou nějaké soubory protokolu.
- Pokud data neexistují, je problém s konfigurací AWS. V takovém případě je potřeba nakonfigurovat službu AWS tak, aby export protokolů do kontejneru S3.
Příčina 3: Data S3 nepřišla na SQS
Data se z S3 do SQS úspěšně nepřenesla.
Řešení: Ověřte, že data přišla a nakonfigurovala oznámení událostí.
- V AWS otevřete příslušnou službu SQS.
- Na kartě Monitorování by se měl zobrazit provoz ve widgetu Počet odeslaných zpráv. Pokud se ve službě SQS žádný provoz nezobrazuje, je problém v konfiguraci AWS.
- Ujistěte se, že definice oznamování událostí služby SQS obsahuje správné filtry dat (předponu a příponu).
- Pokud chcete zobrazit oznámení událostí, v kbelíku S3 vyberte kartu Vlastnosti a vyhledejte část Oznámení událostí.
- Pokud se tato část nezobrazí, vytvořte ji.
- Ověřte, že služba SQS má příslušné zásady získávání dat z kbelíku S3. Ve službě SQS musí být tyto zásady na kartě Zásady přístupu.
Příčina 4: SQS nečte data
SQS nečte data S3 úspěšně.
Řešení: Ověřte, že SQS čte data.
V AWS otevřete příslušnou službu SQS.
Na kartě Monitorování by se měl zobrazit provoz ve widgetech Počet odstraněných zpráv a Počet přijatých zpráv.
Jedna špička dat nestačí. Počkejte, až bude k dispozici dostatek dat (několik špiček) a pak zkontrolujte problémy.
Pokud je některý z widgetů prázdný, spuštěním následujícího dotazu zkontrolujte protokoly stavu:
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
Ujistěte se, že je povolená funkce sledování stavu:
SentinelHealth | take 20
Pokud funkce sledování stavu není povolená, povolte ji.
Data z konektoru AWS S3 (nebo jednoho z jeho datových typů) se v Microsoft Sentinelu zobrazují se zpožděním delším než 30 minut.
K tomuto problému obvykle dochází, když Microsoft nemůže číst soubory ve složce S3. Microsoft nemůže číst soubory, protože jsou buď zašifrované, nebo ve špatném formátu. V těchto případech mnoho opakování nakonec způsobí zpoždění příjmu dat.
Určení příčiny vašeho problému
V této části se věnujeme těmto příčinám:
- Šifrování protokolu není správně nastavené
- Oznámení událostí nejsou definována správně.
- Chyby stavu nebo zakázání stavu
Příčina 1: Šifrování protokolu není správně nastavené
Pokud jsou protokoly plně nebo částečně zašifrované službou Služba správy klíčů (KMS), služba Microsoft Sentinel nemusí mít pro tuto službu KmS oprávnění k dešifrování souborů.
Řešení: Kontrola šifrování protokolu
Ujistěte se, že služba Microsoft Sentinel má pro tuto službu KmS oprávnění k dešifrování souborů. Projděte si požadovaná oprávnění KMS pro protokoly GuardDuty a CloudTrail.
Příčina 2: Oznámení událostí nejsou správně nakonfigurovaná
Když nakonfigurujete oznámení události Amazon S3, musíte určit, které podporované typy událostí Amazon S3 by měly oznámení odeslat. Pokud typ události, kterou jste nezadali, existuje v kontejneru Amazon S3, Amazon S3 oznámení neodesílá.
Řešení: Ověřte, že jsou správně definovaná oznámení událostí.
Pokud chcete ověřit, že jsou správně definována oznámení událostí z S3 na SQS, zkontrolujte, že:
- Oznámení je definované z konkrétní složky, která obsahuje protokoly, a ne z hlavní složky, která obsahuje kbelík.
- Oznámení je definováno s příponou .gz . Příklad:
Příčina 3: Chyby stavu nebo zakázání stavu
V protokolech stavu můžou docházet k chybám nebo je možné, že funkce stavu není povolená.
Řešení: Ověřte, že v protokolech stavu nedošlo k žádným chybám, a povolte stav.
Spuštěním následujícího příkazu ověřte, že protokoly stavu neobsahují žádné chyby:
SentinelHealth | where TimeGenerated between (ago(startTime)..ago(endTime)) | where SentinelResourceKind == "AmazonWebServicesS3" | where Status != "Success" | distinct TimeGenerated, OperationName, SentinelResourceName, Status, Description
Ujistěte se, že je povolená funkce sledování stavu:
SentinelHealth | take 20
Pokud funkce sledování stavu není povolená, povolte ji.
Další informace o následujících položkách použitých v předchozím příkladu najdete v dokumentaci Kusto:
Další informace o KQL najdete v přehledu dotazovací jazyk Kusto (KQL).
Další zdroje informací:
Další kroky
V tomto článku jste zjistili, jak rychle identifikovat příčiny a řešit běžné problémy s konektorem AWS S3.
Vítáme zpětnou vazbu, návrhy, žádosti o funkce, zprávy o chybách nebo vylepšení a doplňky. Přejděte do úložiště GitHub pro Microsoft Sentinel a vytvořte problém nebo fork a nahrajte příspěvek.