Lacework Cloud Security-Protokolle erfassen

Unterstützt in:

Übersicht

Dieser Parser extrahiert Felder aus JSON-Logs von Lacework Cloud Security und wandelt sie in das UDM-Format um. Dabei werden Rohprotokollfelder UDM-Feldern zugeordnet, verschiedene Datentypen werden verarbeitet und das Ereignis wird mit zusätzlichen Kontextinformationen aus Tags angereichert. Der Ereignistyp wird schließlich basierend auf der Anwesenheit von Informationen zum Haupt- und Zielnutzer klassifiziert.

Hinweis

  • Sie benötigen eine Google SecOps-Instanz.
  • Sie benötigen Berechtigungen für FortiCNAPP Lacework.

Feed in Google SecOps für die Aufnahme der Lacework-Protokolle konfigurieren

  1. Gehen Sie zu SIEM-Einstellungen > Feeds.
  2. Klicken Sie auf Neu hinzufügen.
  3. Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B. Lacework-Protokolle.
  4. Wählen Sie als Quelltyp Webhook aus.
  5. Wählen Sie Lacework als Logtyp aus.
  6. Klicken Sie auf Weiter.
  7. Optional: Geben Sie Werte für die folgenden Eingabeparameter an:
    • Trennzeichen für die Aufteilung: Das Trennzeichen, mit dem Logzeilen getrennt werden, z. B. \n.
    • Asset-Namespace: der Asset-Namespace.
    • Aufnahmelabels: Das Label, das auf die Ereignisse aus diesem Feed angewendet wird.
  8. Klicken Sie auf Weiter.
  9. Überprüfen Sie die Feedkonfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.
  10. Klicken Sie auf Secret-Schlüssel generieren, um einen Secret-Schlüssel zur Authentifizierung dieses Feeds zu generieren.
  11. Kopieren und speichern Sie den geheimen Schlüssel. Sie können diesen geheimen Schlüssel nicht noch einmal aufrufen. Bei Bedarf können Sie einen neuen Secret-Schlüssel generieren. Dadurch wird der vorherige Secret-Schlüssel jedoch ungültig.
  12. Kopieren Sie auf dem Tab Details die Feedendpunkt-URL aus dem Feld Endpunktinformationen. Sie müssen diese Endpunkt-URL in Ihrer Clientanwendung angeben.
  13. Klicken Sie auf Fertig.

API-Schlüssel für den Webhook-Feed erstellen

  1. Rufen Sie die Google Cloud Console > Anmeldedaten auf.

    Zu den Anmeldedaten

  2. Klicken Sie auf Anmeldedaten erstellen und wählen Sie anschließend API-Schlüssel aus.

  3. Beschränken Sie den API-Schlüsselzugriff auf die Chronicle API.

Endpunkt-URL angeben

  1. Geben Sie in Ihrer Clientanwendung die HTTPS-Endpunkt-URL an, die im Webhook-Feed angegeben ist.
  2. Aktiviere die Authentifizierung, indem du den API-Schlüssel und den geheimen Schlüssel als Teil der benutzerdefinierten Kopfzeile im folgenden Format angibst:

    X-goog-api-key = API_KEY
    X-Webhook-Access-Key = SECRET
    

    Empfehlung: Geben Sie den API-Schlüssel als Header an, anstatt ihn in der URL anzugeben.

  3. Wenn Ihr Webhook-Client keine benutzerdefinierten Header unterstützt, können Sie den API-Schlüssel und den geheimen Schlüssel mithilfe von Suchparametern im folgenden Format angeben:

    ENDPOINT_URL?key=API_KEY&secret=SECRET
    

    Ersetzen Sie Folgendes:

    • ENDPOINT_URL: die URL des Feedendpunkts.
    • API_KEY: Der API-Schlüssel, mit dem Sie sich bei Google SecOps authentifizieren.
    • SECRET: der geheime Schlüssel, den Sie zur Authentifizierung des Feeds generiert haben.

Lacework-Webhook für Google SecOps konfigurieren

  1. Melden Sie sich mit Administratorberechtigungen in der Lacework FortiCNAPP Console an.
  2. Gehen Sie zu Einstellungen > Benachrichtigungen > Benachrichtigungskanäle.
  3. Klicken Sie auf + Neuen Vergleich hinzufügen.
  4. Wählen Sie Webhook aus.
  5. Klicken Sie auf Weiter.
  6. Geben Sie einen eindeutigen Namen für den Channel an, z. B. Google SecOps.
  7. Webhook-URL: Geben Sie <ENDPOINT_URL> gefolgt von <API_KEY> und <SECRET> ein.
  8. Klicken Sie auf Speichern.
  9. Wählen Sie Benachrichtigungsregeln aus und konfigurieren Sie die erforderlichen Details für das Routing von Benachrichtigungen.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
AGENT_VERSION metadata.product_version Direkt aus dem Feld AGENT_VERSION zugeordnet.
CREATED_TIME metadata.event_timestamp Wird direkt aus dem Feld CREATED_TIME abgeleitet und in einen Zeitstempel umgewandelt.
FILEDATA_HASH target.file.sha256 Direkt aus dem Feld FILEDATA_HASH zugeordnet.
FILE_PATH target.file.full_path Direkt aus dem Feld FILE_PATH zugeordnet.
IP_ADDR principal.ip Direkt aus dem Feld IP_ADDR zugeordnet.
OS target.platform Aus dem Feld OS zugeordnet. Die Logik wandelt verschiedene Betriebssystemstrings (Linux, Windows, Mac) in UDM-Enum-Werte (LINUX, WINDOWS, MAC) um. Wenn keine Übereinstimmung gefunden wird, wird standardmäßig UNKNOWN_PLATFORM verwendet.
STATUS additional.fields[].key:"STATUS", value.string_value Wird direkt aus dem Feld STATUS als zusätzliches Feld zugeordnet.
TAGS.Account metadata.product_deployment_id Direkt aus dem Feld TAGS.Account zugeordnet.
TAGS.AmiId additional.fields[].key:"AmiId", value.string_value Wird direkt aus dem Feld TAGS.AmiId als zusätzliches Feld zugeordnet.
TAGS.ExternalIp target.ip Direkt aus dem Feld TAGS.ExternalIp zugeordnet.
TAGS.Hostname principal.hostname Direkt aus dem Feld TAGS.Hostname zugeordnet.
TAGS.InstanceId target.asset_id Wird direkt aus dem Feld TAGS.InstanceId mit dem Präfix „Geräteinstanzen-ID: " zugeordnet.
TAGS.LwTokenShort additional.fields[].key:"LwTokenShort", value.string_value Wird direkt aus dem Feld TAGS.LwTokenShort als zusätzliches Feld zugeordnet.
TAGS.MID additional.fields[].key:"MID", value.string_value Wird direkt aus dem Feld MID als zusätzliches Feld zugeordnet.
TAGS.MODE additional.fields[].key:"MODE", value.string_value Wird direkt aus dem Feld MODE als zusätzliches Feld zugeordnet.
TAGS.Name additional.fields[].key:"Name", value.string_value Wird direkt aus dem Feld TAGS.Name als zusätzliches Feld zugeordnet.
TAGS.QSConfigName-vfzg0 additional.fields[].key:"QSConfigName", value.string_value Wird direkt aus dem Feld TAGS.QSConfigName-vfzg0 als zusätzliches Feld zugeordnet.
TAGS.ResourceType target.resource.resource_subtype Direkt aus dem Feld TAGS.ResourceType zugeordnet.
TAGS.SubnetId target.resource.attribute.labels[].key:"Subnet Id", value Wird direkt aus dem Feld TAGS.SubnetId als Label in „target.resource.attribute“ zugeordnet.
TAGS.VmInstanceType target.resource.attribute.labels[].key:"VmInstanceType", value Wird direkt aus dem Feld TAGS.VmInstanceType als Label in „target.resource.attribute“ zugeordnet.
TAGS.VmProvider target.resource.attribute.labels[].key:"VmProvider", value Wird direkt aus dem Feld TAGS.VmProvider als Label in „target.resource.attribute“ zugeordnet.
TAGS.VpcId target.resource.product_object_id Direkt aus dem Feld TAGS.VpcId zugeordnet.
TAGS.Zone target.cloud.availability_zone Direkt aus dem Feld TAGS.Zone zugeordnet.
TAGS.alpha.eksctl.io/nodegroup-name additional.fields[].key:"eksctl_nodegroup_name", value.string_value Wird direkt aus dem Feld TAGS.alpha.eksctl.io/nodegroup-name als zusätzliches Feld zugeordnet.
TAGS.alpha.eksctl.io/nodegroup-type additional.fields[].key:"eksctl_nodegroup_type", value.string_value Wird direkt aus dem Feld TAGS.alpha.eksctl.io/nodegroup-type als zusätzliches Feld zugeordnet.
TAGS.arch principal.platform_version Direkt aus dem Feld TAGS.arch zugeordnet.
TAGS.aws:autoscaling:groupName additional.fields[].key:"autoscaling_groupName", value.string_value Wird direkt aus dem Feld TAGS.aws:autoscaling:groupName als zusätzliches Feld zugeordnet.
TAGS.aws:ec2:fleet-id additional.fields[].key:"ec2_fleetid", value.string_value Wird direkt aus dem Feld TAGS.aws:ec2:fleet-id als zusätzliches Feld zugeordnet.
TAGS.aws:ec2launchtemplate:id additional.fields[].key:"ec2launchtemplate_id", value.string_value Wird direkt aus dem Feld TAGS.aws:ec2launchtemplate:id als zusätzliches Feld zugeordnet.
TAGS.aws:ec2launchtemplate:version additional.fields[].key:"ec2launchtemplate_ver", value.string_value Wird direkt aus dem Feld TAGS.aws:ec2launchtemplate:version als zusätzliches Feld zugeordnet.
TAGS.aws:eks:cluster-name additional.fields[].key:"eks_cluster_name", value.string_value Wird direkt aus dem Feld TAGS.aws:eks:cluster-name als zusätzliches Feld zugeordnet.
TAGS.enableCrowdStrike additional.fields[].key:"enableCrowdStrike", value.string_value Wird direkt aus dem Feld TAGS.enableCrowdStrike als zusätzliches Feld zugeordnet.
TAGS.falconx.io/application additional.fields[].key:"io/application", value.string_value Wird direkt aus dem Feld TAGS.falconx.io/application als zusätzliches Feld zugeordnet.
TAGS.falconx.io/environment additional.fields[].key:"io/environment", value.string_value Wird direkt aus dem Feld TAGS.falconx.io/environment als zusätzliches Feld zugeordnet.
TAGS.falconx.io/managedBy additional.fields[].key:"io/managedBy", value.string_value Wird direkt aus dem Feld TAGS.falconx.io/managedBy als zusätzliches Feld zugeordnet.
TAGS.falconx.io/project additional.fields[].key:"io/project", value.string_value Wird direkt aus dem Feld TAGS.falconx.io/project als zusätzliches Feld zugeordnet.
TAGS.falconx.io/proxy-type additional.fields[].key:"io/proxy_type", value.string_value Wird direkt aus dem Feld TAGS.falconx.io/proxy-type als zusätzliches Feld zugeordnet.
TAGS.falconx.io/service additional.fields[].key:"io/service", value.string_value Wird direkt aus dem Feld TAGS.falconx.io/service als zusätzliches Feld zugeordnet.
TAGS.falconx.io/team additional.fields[].key:"io/team", value.string_value Wird direkt aus dem Feld TAGS.falconx.io/team als zusätzliches Feld zugeordnet.
TAGS.k8s.io/cluster-autoscaler/enabled additional.fields[].key:"k8s_autoscaler_enabled", value.string_value Wird direkt aus dem Feld TAGS.k8s.io/cluster-autoscaler/enabled als zusätzliches Feld zugeordnet.
TAGS.k8s.io/cluster-autoscaler/falcon additional.fields[].key:"k8s_cluster_autoscaler", value.string_value Wird direkt aus dem Feld TAGS.k8s.io/cluster-autoscaler/falcon als zusätzliches Feld zugeordnet.
TAGS.kubernetes.io/cluster/falcon additional.fields[].key:"kubernetes_io_cluster", value.string_value Wird direkt aus dem Feld TAGS.kubernetes.io/cluster/falcon als zusätzliches Feld zugeordnet.
TAGS.lw_KubernetesCluster additional.fields[].key:"lw_KubernetesCluster", value.string_value Wird direkt aus dem Feld TAGS.lw_KubernetesCluster als zusätzliches Feld zugeordnet.
LAST_UPDATE additional.fields[].key:"LAST_UPDATE", value.string_value Wird direkt aus dem Feld LAST_UPDATE als zusätzliches Feld zugeordnet. Hartcodiert auf „LACEWORK“. Hartcodiert auf „Lacework Cloud Security“.
metadata.event_type metadata.event_type Wird durch Logik bestimmt. Legen Sie „NETWORK_CONNECTION“ fest, wenn sowohl „principal.ip“ als auch „target.ip“ vorhanden sind, „STATUS_UPDATE“, wenn nur „principal.ip“ vorhanden ist, und andernfalls „GENERIC_EVENT“.

Änderungen

2023-11-09

  • Neu erstellter Parser.