Azure App Service-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Azure App Service-Logs mithilfe eines Azure-Speicherkontos in Google Security Operations exportieren. Der Parser wandelt Rohlogs im JSON-Format von Azure App Service in ein strukturiertes einheitliches Datenmodell (Unified Data Model, UDM) um. Es werden relevante Felder aus den Rohlogs extrahiert, Daten bereinigt und normalisiert und die extrahierten Informationen den entsprechenden UDM-Feldern zugeordnet. Schließlich wird für jeden Logeintrag ein UDM-kompatibles JSON-Objekt ausgegeben.

Hinweise

Prüfen Sie, ob die folgenden Voraussetzungen erfüllt sind:

  • Google SecOps-Instanz
  • Ein aktiver Azure-Mandant
  • Privilegierter Zugriff auf Azure

Azure Storage-Konto konfigurieren

  1. Suchen Sie in der Azure-Konsole nach Storage accounts (Speicherkonten).
  2. Klicken Sie auf + Erstellen.
  3. Geben Sie Werte für die folgenden Eingabeparameter an:
    • Abo: Wählen Sie das Abo aus.
    • Ressourcengruppe: Wählen Sie die Ressourcengruppe aus.
    • Region: Wählen Sie die Region aus.
    • Leistung: Wählen Sie die Leistung aus (Standard wird empfohlen).
    • Redundanz: Wählen Sie die Redundanz aus (GRS oder LRS empfohlen).
    • Storage-Kontoname: Geben Sie einen Namen für das neue Speicherkonto ein.
  4. Klicken Sie auf Überprüfen + Erstellen.
  5. Sehen Sie sich die Übersicht des Kontos an und klicken Sie auf Erstellen.
  6. Wählen Sie auf der Seite Storage Account Overview (Speicherkonto – Übersicht) unter Security + networking (Sicherheit + Netzwerk) das Untermenü Access keys (Zugriffsschlüssel) aus.
  7. Klicken Sie neben key1 oder key2 auf Anzeigen.
  8. Klicken Sie auf In die Zwischenablage kopieren, um den Schlüssel zu kopieren.
  9. Bewahren Sie den Schlüssel an einem sicheren Ort auf, um ihn später zu verwenden.
  10. Wählen Sie auf der Seite Storage Account Overview (Speicherkontoübersicht) unter Settings (Einstellungen) das Untermenü Endpoints (Endpunkte) aus.
  11. Klicken Sie auf In die Zwischenablage kopieren, um die Endpunkt-URL des Blob-Dienstes zu kopieren, z. B. https://<storageaccountname>.blob.core.windows.net.
  12. Speichern Sie die Endpunkt-URL an einem sicheren Ort für die spätere Verwendung.

Logexport für Azure AD-Anmeldeprotokolle konfigurieren

  1. Melden Sie sich mit Ihrem privilegierten Konto im Azure-Portal an.
  2. Rufen Sie App Services auf und wählen Sie den gewünschten App-Dienst aus.
  3. Wählen Sie Monitoring > App Service-Logs aus.
  4. Stellen Sie Anwendungs-Logging (Blob) auf EIN.
  5. Wählen Sie unter Web Service Logging (Webdienst-Logging) die Option Storage (Speicher) aus.
  6. Wählen Sie das Abo und das Speicherkonto aus.
  7. Legen Sie den Aufbewahrungszeitraum und das Kontingent entsprechend Ihren Anforderungen fest.
  8. Aktivieren Sie Detaillierte Fehlermeldungen.
  9. Aktivieren Sie Tracing fehlgeschlagener Anfragen.
  10. Klicken Sie auf Speichern.

Feeds einrichten

Es gibt zwei verschiedene Einstiegspunkte zum Einrichten von Feeds in der Google SecOps-Plattform:

  • SIEM-Einstellungen > Feeds
  • Content Hub> Content-Pakete

Feeds über die SIEM-Einstellungen > „Feeds“ einrichten

Informationen zum Konfigurieren mehrerer Feeds für verschiedene Logtypen in dieser Produktfamilie finden Sie unter Feeds nach Produkt konfigurieren.

So konfigurieren Sie einen einzelnen Feed:

  1. Rufen Sie die SIEM-Einstellungen> Feeds auf.
  2. Klicken Sie auf Neuen Feed hinzufügen.
  3. Klicken Sie auf der nächsten Seite auf Einen einzelnen Feed konfigurieren.
  4. Geben Sie im Feld Feed name (Feedname) einen Namen für den Feed ein, z. B. Azure APP Service Logs (Azure-App-Service-Protokolle).
  5. Wählen Sie Microsoft Azure Blob Storage als Quelltyp aus.
  6. Wählen Sie Azure APP Service als Protokolltyp aus.
  7. Klicken Sie auf Weiter.
  8. Geben Sie Werte für die folgenden Eingabeparameter an:

    • Azure-URI: Die Blob-Endpunkt-URL.
      • ENDPOINT_URL/BLOB_NAME
        • Dabei gilt:
          • ENDPOINT_URL: Die Blob-Endpunkt-URL (https://<storageaccountname>.blob.core.windows.net)
          • BLOB_NAME: Der Name des Blobs (z. B. <logname>-logs)
    • URI is a (URI ist ein): Wählen Sie den URI-TYP entsprechend der Logstream-Konfiguration aus (Single file (Einzelne Datei) | Directory (Verzeichnis) | Directory which includes subdirectories (Verzeichnis mit Unterverzeichnissen)).
    • Optionen zum Löschen der Quelle: Wählen Sie die Löschoption entsprechend Ihren Aufnahmeeinstellungen aus.

    • Freigegebener Schlüssel: Der Zugriffsschlüssel für Azure Blob Storage.

    • Asset-Namespace: Der Asset-Namespace.

    • Aufnahmelabels: Das Label, das auf die Ereignisse aus diesem Feed angewendet werden soll.

  9. Klicken Sie auf Weiter.

  10. Prüfen Sie die neue Feedkonfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.

Feeds über den Content Hub einrichten

Geben Sie Werte für die folgenden Felder an:

  • Azure-URI: Die Blob-Endpunkt-URL.
    • ENDPOINT_URL/BLOB_NAME
      • Dabei gilt:
        • ENDPOINT_URL: Die Blob-Endpunkt-URL (https://<storageaccountname>.blob.core.windows.net)
        • BLOB_NAME: Der Name des Blobs (z. B. insights-logs-<logname>)
  • URI is a (URI ist ein): Wählen Sie den URI-TYP entsprechend der Logstream-Konfiguration aus (Single file (Einzelne Datei) | Directory (Verzeichnis) | Directory which includes subdirectories (Verzeichnis mit Unterverzeichnissen)).
  • Optionen zum Löschen der Quelle: Wählen Sie die Löschoption entsprechend Ihren Aufnahmeeinstellungen aus.
  • Freigegebener Schlüssel: Der Zugriffsschlüssel für Azure Blob Storage.

Erweiterte Optionen

  • Feedname: Ein vorausgefüllter Wert, der den Feed identifiziert.
  • Quelltyp: Methode, die zum Erfassen von Logs in Google SecOps verwendet wird.
  • Asset-Namespace: Namespace, der dem Feed zugeordnet ist.
  • Aufnahmelabels: Labels, die auf alle Ereignisse aus diesem Feed angewendet werden.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
AppRoleInstance read_only_udm.principal.resource.product_object_id Direkte Zuordnung
AppRoleName read_only_udm.principal.resource.name Direkte Zuordnung
AppVersion read_only_udm.principal.resource.attribute.labels.value Direkte Zuordnung
Kategorie read_only_udm.metadata.product_event_type Direkte Zuordnung
CIp read_only_udm.target.asset.ip Direkte Zuordnung
CIp read_only_udm.target.ip Direkte Zuordnung
ClientCity read_only_udm.principal.location.city Direkte Zuordnung
ClientCountryOrRegion read_only_udm.principal.location.country_or_region Direkte Zuordnung
ClientIP read_only_udm.principal.asset.ip Direkte Zuordnung
ClientIP read_only_udm.principal.ip Direkte Zuordnung
ClientStateOrProvince read_only_udm.principal.location.state Direkte Zuordnung
ClientType read_only_udm.additional.fields.value.string_value Direkte Zuordnung
ComputerName read_only_udm.principal.asset.hostname Direkte Zuordnung
ComputerName read_only_udm.principal.hostname Direkte Zuordnung
Cookie read_only_udm.principal.resource.attribute.labels.value Direkte Zuordnung
CsBytes read_only_udm.network.sent_bytes Umbenannt von CsBytes
CsHost read_only_udm.additional.fields.value.string_value Direkte Zuordnung
CsMethod read_only_udm.network.http.method Direkte Zuordnung
CsUriQuery read_only_udm.principal.resource.attribute.labels.value Direkte Zuordnung
CsUriStem read_only_udm.additional.fields.value.string_value Direkte Zuordnung
CsUriStem read_only_udm.target.url Direkte Zuordnung
CsUsername read_only_udm.principal.user.user_display_name Direkte Zuordnung
EventIpAddress read_only_udm.principal.asset.ip Direkte Zuordnung
EventIpAddress read_only_udm.principal.ip Direkte Zuordnung
EventPrimaryStampName read_only_udm.additional.fields.value.string_value Direkte Zuordnung
EventStampName read_only_udm.additional.fields.value.string_value Direkte Zuordnung
EventStampType read_only_udm.additional.fields.value.string_value Direkte Zuordnung
Host read_only_udm.principal.asset.hostname Direkte Zuordnung
Host read_only_udm.principal.hostname Direkte Zuordnung
IKey read_only_udm.target.resource.attribute.labels.value Direkte Zuordnung
Instanz read_only_udm.additional.fields.value.string_value Direkte Zuordnung
Name read_only_udm.additional.fields.value.string_value Direkte Zuordnung
Protokoll read_only_udm.additional.fields.value.string_value Direkte Zuordnung
Protokoll read_only_udm.network.application_protocol Wird HTTP zugeordnet, wenn das Protokoll HTTP/1.1 ist.
Verwiesen von: read_only_udm.network.http.referral_url Direkte Zuordnung
ResourceGUID read_only_udm.target.resource.product_object_id Umbenannt von ResourceGUID
SDKVersion read_only_udm.additional.fields.value.string_value Direkte Zuordnung
SDKVersion read_only_udm.principal.resource.attribute.labels.value Direkte Zuordnung
SPort read_only_udm.principal.port Umbenannt von SPort
ScBytes read_only_udm.network.received_bytes Umbenannt von „ScBytes“
ScStatus read_only_udm.network.http.response_code Umbenannt von ScStatus
TimeTaken read_only_udm.additional.fields.value.string_value Direkte Zuordnung
Typ read_only_udm.additional.fields.value.string_value Direkte Zuordnung
Nutzer read_only_udm.principal.user.userid Direkte Zuordnung
UserAddress read_only_udm.principal.asset.ip Wird aus UserAddress extrahiert, wenn es sich um eine gültige IP-Adresse handelt
UserAddress read_only_udm.principal.ip Wird aus UserAddress extrahiert, wenn es sich um eine gültige IP-Adresse handelt
User-Agent read_only_udm.network.http.user_agent Direkte Zuordnung
UserDisplayName read_only_udm.principal.user.user_display_name Direkte Zuordnung
Kategorie read_only_udm.metadata.product_event_type Direkte Zuordnung
level read_only_udm.security_result.severity In Großbuchstaben geschrieben und von der Ebene umbenannt
Standort read_only_udm.principal.location.name Direkte Zuordnung
operationName read_only_udm.additional.fields.value.string_value Direkte Zuordnung
record.properties.Protocol read_only_udm.additional.fields.value.string_value Direkte Zuordnung
record.properties.Result read_only_udm.security_result.summary Direkte Zuordnung
record.time read_only_udm.metadata.event_timestamp Als RFC 3339-Zeitstempel geparst
resourceId read_only_udm.target.resource.attribute.labels.value Direkte Zuordnung
resourceId read_only_udm.target.resource.product_object_id Umbenannt von „resourceId“
read_only_udm.metadata.event_type Wird anhand des Vorhandenseins von Hauptkonto, Ziel und Protokoll bestimmt. Wird auf NETWORK_HTTP gesetzt, wenn „principal“, „target“ und „Protocol=HTTP“ vorhanden sind. Wird auf NETWORK_CONNECTION gesetzt, wenn Hauptkonto und Ziel vorhanden sind. Auf STATUS_UPDATE gesetzt, wenn nur das Hauptkonto vorhanden ist. Andernfalls legen Sie GENERIC_EVENT fest.

Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten