Syslog og CEF (Common Event Format) via AMA-connectors til Microsoft Sentinel

Syslog via AMA og CEF (Common Event Format) via AMA-dataconnectors til Microsoft Sentinel filtrere og indtage Syslog-meddelelser, herunder meddelelser i CEF (Common Event Format), fra Linux maskiner og fra netværks- og sikkerhedsenheder og apparater. Disse connectorer installerer Azure Monitor Agent (AMA) på en hvilken som helst Linux computer, hvorfra du vil indsamle Syslog- og/eller CEF-meddelelser. Denne computer kan være afsender af meddelelserne, eller det kan være en videresender, der indsamler meddelelser fra andre computere, f.eks. netværks- eller sikkerhedsenheder og apparater. Connectoren sender agenternes instruktioner baseret på de DCR-regler (Data Collection Rules), som du definerer. DCR'er angiver de systemer, der skal overvåges, og de typer logge eller meddelelser, der skal indsamles. De definerer filtre, der skal anvendes på meddelelserne, før de indtages, for at opnå bedre ydeevne og mere effektiv forespørgsel og analyse.

Syslog og CEF er to almindelige formater til logføring af data fra forskellige enheder og programmer. De hjælper systemadministratorer og sikkerhedsanalytikere med at overvåge og foretage fejlfinding af netværket og identificere potentielle trusler eller hændelser.

Hvad er Syslog?

Syslog er en standardprotokol til afsendelse og modtagelse af meddelelser mellem forskellige enheder eller programmer via et netværk. Det blev oprindeligt udviklet til Unix-systemer, men det understøttes nu af forskellige platforme og leverandører. Syslog-meddelelser har en foruddefineret struktur, der består af en prioritet, et tidsstempel, et værtsnavn, et programnavn, et proces-id og en meddelelsestekst. Syslog-meddelelser kan sendes via UDP, TCP eller TLS, afhængigt af konfigurationen og sikkerhedskravene.

AMA (Azure Monitor Agent) understøtter Syslog-meddelelser, der er formateret i henhold til RFC 3164 (BSD Syslog) og RFC 5424 (IETF Syslog).

Hvad er CEF (Common Event Format)?

CEF eller Common Event Format er et leverandørneutralt format til logføring af data fra netværks- og sikkerhedsenheder og -apparater, f.eks. firewalls, routere, registrerings- og svarløsninger og systemer til registrering af indtrængen samt fra andre typer systemer, f.eks. webservere. Den er en udvidelse af Syslog og blev udviklet specielt til SIEM-løsninger (security information and event management). CEF-meddelelser har en standardheader, der indeholder oplysninger som enhedsleverandøren, enhedsproduktet, enhedsversionen, hændelsesklassen, hændelsens alvorsgrad og hændelses-id'et. CEF-meddelelser har også et variabelt antal udvidelser, der indeholder flere oplysninger om hændelsen, f.eks. kilde- og destinations-IP-adresserne, brugernavnet, filnavnet eller den udførte handling.

Samling af Syslog- og CEF-meddelelser med AMA

Følgende diagrammer illustrerer arkitekturen i Syslog- og CEF-meddelelsessamlingen i Microsoft Sentinel ved hjælp af Syslog via AMA og CEF (Common Event Format) via AMA-connectors.

I dette diagram vises Syslog-meddelelser, der indsamles fra en enkelt Linux virtuel maskine, hvor AMA (Azure Monitor Agent) er installeret.

Diagram over Syslog-samling fra en enkelt kilde.

Dataindtagelsesprocessen ved hjælp af Azure Monitor Agent bruger følgende komponenter og dataflow:

  • Logkilder er dine forskellige Linux VM'er i dit miljø, der producerer Syslog-meddelelser. Disse meddelelser indsamles af den lokale Syslog-daemon på TCP- eller UDP-port 514 (eller en anden port efter eget valg).

  • Den lokale Syslog-daemon (enten rsyslog eller syslog-ng) indsamler logmeddelelserne på TCP- eller UDP-port 514 (eller en anden port efter dine præferencer). Daemon sender derefter disse logge til Azure Monitor Agent på to forskellige måder, afhængigt af AMA-versionen:

    • AMA version 1.28.11 og nyere modtager logge på TCP-port 28330.
    • Tidligere versioner af AMA modtager logge via Unix-domæne socket.

    Hvis du vil bruge en anden port end 514 til at modtage Syslog/CEF-meddelelser, skal du sørge for, at portkonfigurationen på Syslog-daemon svarer til den i det program, der genererer meddelelserne.

  • Den Azure Monitor Agent, som du installerer på hver Linux VM, du vil indsamle Syslog-meddelelser fra, ved at konfigurere dataconnectoren. Agenten fortolker loggene og sender dem derefter til dit Microsoft Sentinel (Log Analytics)-arbejdsområde.

  • Dit Microsoft Sentinel (Log Analytics)-arbejdsområde: Syslog-meddelelser, der sendes her, ender i tabellen Syslog, hvor du kan forespørge loggene og udføre analyser på dem for at registrere og reagere på sikkerhedstrusler.

Bemærk!

Når du indtager syslog-data ved hjælp af en log forwarder og Azure Monitor Agent (AMA), kan der opstå uoverensstemmelser mellem TimeGenerated felterne og EventTime .

  • TimeGenerated afspejler UTC-tidspunktet, hvor syslog-meddelelsen blev behandlet af den computer, der er vært for log forwarder eller collector.
  • EventTime udtrækkes fra syslog-headeren, som ikke indeholder tidszoneoplysninger og konverteres til UTC ved hjælp af den lokale tidszoneforskydning for videresenderen/indsamleren.

Dette kan føre til forskelle mellem de to felter, når videresenderen/samleren og den enhed, der genererer loggen, befinder sig i forskellige tidszoner.

Konfigurationsproces til indsamling af logmeddelelser

Fra Indholdshubben i Microsoft Sentinel skal du installere den relevante løsning til Syslog eller Common Event Format. Dette trin installerer de respektive dataconnectors Syslog via AMA eller CEF (Common Event Format) via AMA-dataconnector. Du kan finde flere oplysninger under Find og administrer Microsoft Sentinel indhold, der er klar til brug.

Som en del af konfigurationsprocessen skal du oprette en regel for dataindsamling og installere Azure Monitor Agent (AMA) på log forwarderen. Du kan udføre disse opgaver enten ved hjælp af Azure- eller Microsoft Defender-portalen eller ved hjælp af API'en Azure Overvåg logfiler.

  • Når du konfigurerer dataconnectoren for Microsoft Sentinel i Azure- eller Microsoft Defender-portalen, kan du oprette, administrere og slette DCR'er pr. arbejdsområde. AMA'en installeres automatisk på de VM'er, du vælger i connectorkonfigurationen.

  • Du kan også sende HTTP-anmodninger til LOGINDtagelses-API'en. Med denne konfiguration kan du oprette, administrere og slette DCR'er. Denne indstilling er mere fleksibel end portalen. Med API'en kan du f.eks. filtrere efter bestemte logniveauer. I Azure- eller Defender-portalen kan du kun vælge et minimumlogniveau. Ulempen ved at bruge denne metode er, at du manuelt skal installere Azure Monitor Agent på log forwarderen, før du opretter en DCR.

Når du har oprettet DCR, og AMA er installeret, skal du køre scriptet "installation" på videresendelsesprogrammet til logfilen. Dette script konfigurerer Syslog-daemon til at lytte efter meddelelser fra andre computere og til at åbne de nødvendige lokale porte. Konfigurer derefter sikkerhedsenhederne eller -apparaterne efter behov.

Du kan finde flere oplysninger i følgende artikler:

Undgå duplikering af dataindtagelse

Hvis du bruger den samme facilitet til både Syslog- og CEF-meddelelser, kan det medføre duplikering af dataindtagelse mellem tabellerne CommonSecurityLog og Syslog.

Brug en af disse metoder for at undgå dette scenarie:

  • Hvis kildeenheden aktiverer konfiguration af målfaciliteten: På hver kildecomputer, der sender logfiler til videresendelsesfunktionen i CEF-format, skal du redigere Syslog-konfigurationsfilen for at fjerne de faciliteter, der bruges til at sende CEF-meddelelser. På denne måde sendes de faciliteter, der sendes i CEF, ikke også i Syslog. Sørg for, at hver DCR, du konfigurerer, bruger den relevante facilitet for henholdsvis CEF eller Syslog.

    Hvis du vil se et eksempel på, hvordan du arrangerer en DCR til indfødning af både Syslog- og CEF-meddelelser fra den samme agent, skal du gå til Syslog- og CEF-streams i den samme DCR.

  • Hvis ændring af faciliteten for kildeapparatet ikke er relevant: Når du har oprettet DCR, skal du tilføje transformation af indtagelsestid for at filtrere CEF-meddelelser fra Syslog-streamen for at undgå dubletter. Se Selvstudium: Rediger en regel for dataindsamling (DCR). Tilføj KQL-transformation svarende til følgende eksempel:

    "transformKql": "  source\n    |  where ProcessName !contains \"CEF\"\n"
    

Næste trin