Ř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 služby Microsoft Sentinel. Typy protokolů, které v současné době podporujeme, jsou AWS CloudTrail, protokoly toku VPC a AWS GuardDuty.
Tento článek popisuje, jak rychle identifikovat příčinu problémů s konektorem AWS S3, abyste mohli najít kroky potřebné k jejich řešení.
Zjistěte, jak připojit Microsoft Sentinel k Amazon Web Services a ingestovat data protokolu služby AWS.
Microsoft Sentinel nepřijímá data z konektoru Amazon Web Services S3 nebo z některého z jeho datových typů.
Protokoly konektoru AWS S3 (nebo některého z jeho datových typů) se v pracovním prostoru služby Microsoft Sentinel nezobrazují déle než 30 minut od připojení konektoru.
Než začnete hledat příčinu a řešení, projděte si tyto důležité informace:
- 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 shromažďování 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 kbelíku 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. U protokolů 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 kbelíku S3 neexistují.
Příslušné protokoly v kontejneru S3 neexistují.
Řešení: Vyhledejte protokoly a v případě potřeby protokoly exportujte.
- V AWS otevřete kbelík 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í, došlo k problému s konfigurací AWS. V takovém případě musíte nakonfigurovat službu AWS pro export protokolů do kontejneru S3.
Příčina 3: Data S3 nepřišla na SQS
Data se úspěšně nepřenesla z S3 do SQS.
Řešení: Ověřte, že data přišla, a nakonfigurujte 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. SQS musí tuto zásadu obsahovat na kartě Zásady přístupu .
Příčina 4: Služba SQS nenačetla data
Služba SQS úspěšně nenačetla data S3.
Řešení: Ověřte, že služba 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 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 některého z jeho datových typů) se ve službě Microsoft Sentinel 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ď šifrované, nebo v nesprávné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í o událostech nejsou správně definovaná.
- 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 správy klíčů (KMS), nemusí mít služba Microsoft Sentinel pro tuto službu Správy klíčů 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 Správy klíčů 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á
Při konfiguraci oznámení událostí Amazon S3 musíte zadat, na které podporované typy událostí má Amazon S3 oznámení odesílat. Pokud v kontejneru Amazon S3 existuje typ události, který jste nezadali, Amazon S3 oznámení neodešle.
Řešení: Ověřte, že jsou oznámení událostí správně definovaná.
Pokud chcete ověřit, jestli jsou oznámení událostí z S3 do SQS správně definovaná, 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 být chyby nebo není povolená funkce stavu.
Řešení: Ověřte, že v protokolech stavu nejsou žádné chyby, 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ší kroky
V tomto článku jste zjistili, jak rychle identifikovat příčiny a vyřešit běžné problémy s konektorem AWS S3.
Uví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ě Microsoft Sentinel na GitHubu , vytvořte problém nebo fork a nahrajte příspěvek.