Raccogliere i log di sistema Linux auditd e AIX

Supportato in:

Questo documento descrive come raccogliere i log di controllo Linux dai sistemi auditd e AIX, trasformandoli in UDM. Il parser gestisce i messaggi di log in formato JSON e in testo normale, estraendo i campi utilizzando le tecniche di analisi grok, XML e JSON e mappandoli ai campi UDM appropriati in base al tipo di evento. Il parser gestisce anche formati di log di controllo specifici dei sistemi AIX e arricchisce UDM con campi aggiuntivi come security_result e dettagli intermedi.

Esistono due metodi principali per raccogliere i log auditd: dal file di log locale o utilizzando syslog. Indipendentemente dal metodo, in auditd sono necessarie alcune configurazioni generali.

Prima di iniziare

  • Assicurati di avere un'istanza Google Security Operations.
  • Assicurati di disporre dell'accesso root all'host Auditd.
  • Assicurati di avere un host Windows 2012 SP2 o versioni successive o Linux con systemd per l'agente Bindplane.
  • Se l'applicazione viene eseguita dietro un proxy, assicurati che le porte del firewall siano aperte.
  • Per la raccolta basata su syslog, assicurati che rsyslog sia installato sull'host Auditd.

Recuperare il file di autenticazione importazione di Google SecOps

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni SIEM > Agenti di raccolta.
  3. Scarica il file di autenticazione importazione.

Ottenere l'ID cliente Google SecOps

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni SIEM > Profilo.
  3. Copia e salva l'ID cliente dalla sezione Dettagli dell'organizzazione.

Installa l'agente Bindplane

L'agente Bindplane raccoglie i log da varie origini e li invia a Google SecOps. Puoi installare gli agenti on-premise o nel cloud. L'agente Bindplane può essere chiamato anche Bindplane Collector, agente di raccolta, collector o agente. Per maggiori informazioni e opzioni di installazione aggiuntive, consulta Utilizzare Bindplane con Google SecOps.

  • Per l'installazione di Windows, esegui il seguente script:
    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
  • Per l'installazione di Linux, esegui questo script:
    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh

Configurazione generale di AuditD

Per assicurarti che i log di auditd contengano le informazioni di origine necessarie, come il nome host, completa i seguenti passaggi:

  1. Installa i pacchetti richiesti. Installa il daemon audit e i plug-in audispd (necessari per l'inoltro di syslog su molte distribuzioni).

    • RHEL/CentOS: bash sudo yum install audit audispd-plugins
    • Ubuntu/Debian: bash sudo apt-get install auditd audispd-plugins
  2. Configurare AuditD in modo che includa il nome host. Modifica il file di configurazione del daemon di controllo in /etc/audit/auditd.conf e aggiorna l'opzione name_format:

      # Add or update the following line:
      name_format = hostname
    
  3. Configura le regole di audit. Definisci le regole di controllo in /etc/audit/rules.d/audit.rules in modo che vengano mantenute dopo un riavvio. Ad esempio, per controllare le esecuzioni dei processi per le architetture a 32 bit e a 64 bit, aggiungi:

    -a always,exit -F arch=b64 -S execve -k execve
    -a always,exit -F arch=b32 -S execve -k execve
    

    Puoi sostituire queste regole con le tue.

  4. Riavvia AuditD. Riavvia il servizio per applicare le modifiche:

    sudo systemctl restart auditd
    

Metodo di raccolta 1: importazione basata su file

Questo metodo prevede l'utilizzo di un agente Bindplane locale per leggere il file di log di controllo non elaborato direttamente da /var/log/audit/audit.log sul disco.

Per configurare l'agente Bindplane per l'importazione di file:

  1. Modifica il file config.yaml sulla macchina in cui è installato Bindplane per monitorare il file di log AuditD:

    receivers:
      filelog/auditd:
        include: [ "/var/log/audit/audit.log" ]
        start_at: end
        read_batch_size: 65536
        poll_interval: 1s
    exporters:
      chronicle/auditd_file:
        compression: gzip
        # Adjust the creds location below according to the placement of the credentials file you downloaded.
        creds: '{ json file for creds }'
        # Replace CUSTOMER_ID with your actual ID that you copied.
        customer_id: CUSTOMER_ID
        endpoint: malachiteingestion-pa.googleapis.com
        # You can apply ingestion labels below as preferred.
        ingestion_labels:
          log_type: AUDITD
          namespace: auditd
          raw_log_field: body
    service:
      pipelines:
        logs/auditd_file_to_chronicle:
          receivers:
            - filelog/auditd
          exporters:
            - chronicle/auditd_file
    
  2. Riavvia l'agente Bindplane:
    sudo systemctl restart bindplane

Metodo di raccolta 2: importazione basata su Syslog

Questo metodo utilizza il dispatcher di controllo (audispd) per inviare i log al daemon rsyslog locale, che poi inoltra gli eventi. Un agente Bindplane è configurato per ricevere questi messaggi syslog.

Passaggio 1: configura il plug-in syslog AuditD

Devi attivare il plug-in syslog per indirizzare i log di controllo a una struttura syslog. A seconda della distribuzione Linux e della versione di Audit, modifica /etc/audisp/plugins.d/syslog.conf (sistemi precedenti) o /etc/audit/plugins.d/syslog.conf (Audit 3.0 e versioni successive):

active = yes
direction = out
path = builtin_syslog
type = builtin
args = LOG_LOCAL6
format = string

Passaggio 2: configura l'inoltro di rsyslog

Crea un file di configurazione rsyslog dedicato in /etc/rsyslog.d/50-auditd.conf (o aggiorna un file esistente come 50-default.conf) per reindirizzare la funzionalità LOCAL6.

Opzione A: inoltra a un agente Bindplane remoto

Se l'agente Bindplane è ospitato in remoto, specifica il suo indirizzo IP (REMOTE_BINDPLANE_IP) e la porta di ascolto (ad esempio, la porta 11655):

local6.* @@REMOTE_BINDPLANE_IP:11655

Opzione B: inoltro a un listener locale

Se stai eseguendo un agente di raccolta locale che ascolta il traffico syslog su una porta specifica dello stesso host, specifica LOCAL_LISTENER_PORT:

local6.* @@127.0.0.1:LOCAL_LISTENER_PORT

Passaggio 3: configura l'agente Bindplane per l'importazione di syslog

Modifica il file config.yaml sulla macchina in cui è installato Bindplane per ascoltare i messaggi syslog. Questa configurazione presuppone che tu stia utilizzando TCP sulla porta 11655, in linea con gli esempi del passaggio 2.

receivers:
    tcplog:
    listen_address: "0.0.0.0:11655"

exporters:
    chronicle/auditd_syslog:
    compression: gzip
    # Adjust the creds location below according to the placement of the credentials file you downloaded.
    creds: '{ json file for creds }'
    # Replace CUSTOMER_ID below with your actual ID that you copied.
    customer_id: CUSTOMER_ID
    endpoint: malachiteingestion-pa.googleapis.com
    # You can apply ingestion labels below as preferred.
    ingestion_labels:
        log_type: SYSLOG
        namespace: auditd
        raw_log_field: body
service:
    pipelines:
    logs/auditd_syslog_to_chronicle:
        receivers:
        - tcplog
        exporters:
        - chronicle/auditd_syslog

Passaggio 4: riavvia i servizi necessari

Riavvia i seguenti servizi in modo che il routing syslog e la configurazione di Bindplane abbiano effetto:

sudo systemctl restart auditd
sudo systemctl restart rsyslog
sudo systemctl restart bindplane

Puoi utilizzare uno strumento come tail per monitorare il syslog e verificare che vengano inviati i log di Auditd:

tail -f /var/log/syslog | grep auditd 
# Follow syslog and filter for auditd messages (the path may vary depending on your system).

Log di esempio del sistema di controllo Linux (AuditD) supportato

  • SYSLOG + KV (Linux AuditD)

    events_for_log_entry:  {
    events:  {
      timestamp:  {
        seconds:  1718778607
        nanos:  898000000
      }
      idm:  {
        read_only_udm:  {
          metadata:  {
            product_log_id:  "5512409"
            event_timestamp:  {
              seconds:  1718778607
              nanos:  898000000
            }
            event_type:  USER_LOGIN
            vendor_name:  "Linux"
            product_name:  "AuditD"
            product_event_type:  "USER_AUTH"
          }
          principal:  {
            hostname:  "sec-dev-01.internal"
            user:  {
              userid:  "0"
              user_display_name:  "secuser"
            }
            process:  {
              pid:  "3306219"
            }
            asset:  {
              hostname:  "sec-dev-01.internal"
              ip:  "192.168.1.5"
            }
            ip:  "192.168.1.5"
            application:  "ssh"
            platform:  LINUX
          }
          target:  {
            user:  {
              userid:  "0"
              user_display_name:  "secuser"
            }
            process:  {
              file:  {
                full_path:  "/usr/sbin/secure_shell"
              }
            }
          }
          intermediary:  {
            hostname:  "sec-dev-01.internal"
          }
          about:  {
            user:  {
              userid:  "sysadmin"
              user_display_name:  "unset"
            }
          }
          security_result:  {
            detection_fields:  {
              key:  "AUID0"
              value:  "unset"
            }
            detection_fields:  {
              key:  "UID0"
              value:  "sysadmin"
            }
            detection_fields:  {
              key:  "acct0"
              value:  "secuser"
            }
            detection_fields:  {
              key:  "addr0"
              value:  "192.168.1.5"
            }
            detection_fields:  {
              key:  "auid0"
              value:  "sysadmin"
            }
            detection_fields:  {
              key:  "exe0"
              value:  "/usr/sbin/secure_shell"
            }
            detection_fields:  {
              key:  "grantors0"
              value:  "pam_unix"
            }
            detection_fields:  {
              key:  "hostname0"
              value:  "192.168.1.5"
            }
            detection_fields:  {
              key:  "msg0"
              value:  "op=PAM:authentication"
            }
            detection_fields:  {
              key:  "pid0"
              value:  "3306219"
            }
            detection_fields:  {
              key:  "res0"
              value:  "success"
            }
            detection_fields:  {
              key:  "ses0"
              value:  "4294967295"
            }
            detection_fields:  {
              key:  "terminal0"
              value:  "ssh"
            }
            detection_fields:  {
              key:  "uid0"
              value:  "0"
            }
            detection_fields:  {
              key:  "AUID_kv0"
              value:  "AUID0:unset"
            }
            detection_fields:  {
              key:  "UID_kv0"
              value:  "UID0:sysadmin"
            }
            detection_fields:  {
              key:  "acct_kv0"
              value:  "acct0:secuser"
            }
            detection_fields:  {
              key:  "addr_kv0"
              value:  "addr0:192.168.1.5"
            }
            detection_fields:  {
              key:  "auid_kv0"
              value:  "auid0:sysadmin"
            }
            detection_fields:  {
              key:  "exe_kv0"
              value:  "exe0:/usr/sbin/secure_shell"
            }
            detection_fields:  {
              key:  "grantors_kv0"
              value:  "grantors0:pam_unix"
            }
            detection_fields:  {
              key:  "hostname_kv0"
              value:  "hostname0:192.168.1.5"
            }
            detection_fields:  {
              key:  "msg_kv0"
              value:  "msg0:op=PAM:authentication"
            }
            detection_fields:  {
              key:  "pid_kv0"
              value:  "pid0:3306219"
            }
            detection_fields:  {
              key:  "res_kv0"
              value:  "res0:success"
            }
            detection_fields:  {
              key:  "ses_kv0"
              value:  "ses0:4294967295"
            }
            detection_fields:  {
              key:  "terminal_kv0"
              value:  "terminal0:ssh"
            }
            detection_fields:  {
              key:  "uid_kv0"
              value:  "uid0:0"
            }
            summary:  "authentication secuser"
            action:  ALLOW
            action_details:  "success"
          }
          network:  {
            session_id:  "4294967295"
            application_protocol:  SSH
          }
          extensions:  {
            auth:  {}
          }
        }
      }
    }
    }
    
  • SYSLOG (generico)

    events_for_log_entry:  {
    events:  {
      timestamp:  {
        seconds:  1754848621
      }
      idm:  {
        read_only_udm:  {
          metadata:  {
            event_timestamp:  {
              seconds:  1754848621
            }
            event_type:  PROCESS_LAUNCH
            vendor_name:  "Linux"
            product_name:  "AuditD"
            product_event_type:  "CROND"
            description:  "(monitorsvc) CMD (/opt/monitor/bin/scheduler -j /opt/monitor/cache/jobs/check.jx)"
          }
          principal:  {
            hostname:  "log-host-05"
            user:  {
              userid:  "monitorsvc"
            }
            process:  {
              pid:  "124662"
            }
            asset:  {
              hostname:  "log-host-05"
            }
            platform:  LINUX
          }
          target:  {
            process:  {
              command_line:  "/opt/monitor/bin/scheduler -j /opt/monitor/cache/jobs/check.jx"
            }
          }
          intermediary:  {
            hostname:  "log-host-05"
          }
        }
      }
    }
    }
    
  • JSON (logging di Cloud Storage o Auditbeat)

    events_for_log_entry:  {
    events:  {
      timestamp:  {
        seconds:  1611615589
        nanos:  212000000
      }
      idm:  {
        read_only_udm:  {
          metadata:  {
            product_log_id:  "32946"
            event_timestamp:  {
              seconds:  1611615589
              nanos:  212000000
            }
            collected_timestamp:  {
              seconds:  1609752843
              nanos:  349722230
            }
            event_type:  SERVICE_START
            vendor_name:  "Linux"
            product_name:  "AuditD"
            product_event_type:  "SERVICE_START"
          }
          additional:  {
            fields:  {
              key:  "insertId"
              value:  {
                string_value:  "tf9cuofcnbn6i"
              }
            }
            fields:  {
              key:  "logName"
              value:  {
                string_value:  "projects/prj-secops-dev/logs/auditd"
              }
            }
          }
          principal:  {
            hostname:  "gce-test-web"
            user:  {
              userid:  "0"
            }
            process:  {
              pid:  "1"
            }
            asset:  {
              hostname:  "gce-test-web"
            }
            application:  "sysmgr"
            platform:  LINUX
          }
          target:  {
            process:  {
              file:  {
                full_path:  "/usr/bin/sysmgr"
              }
            }
            cloud:  {
              project:  {
                name:  "prj-secops-dev"
              }
            }
            resource:  {
              resource_subtype:  "gce_instance"
              product_object_id:  "1000000000000000001"
              attribute:  {
                cloud:  {
                  availability_zone:  "us-east4-a"
                }
              }
            }
          }
          about:  {
            user:  {
              userid:  "9001"
              user_display_name:  "unset"
            }
          }
          security_result:  {
            detection_fields:  {
              key:  "AUID0"
              value:  "unset"
            }
            detection_fields:  {
              key:  "UID0"
              value:  "secsvc"
            }
            detection_fields:  {
              key:  "auid0"
              value:  "9001"
            }
            detection_fields:  {
              key:  "comm0"
              value:  "sysmgr"
            }
            detection_fields:  {
              key:  "exe0"
              value:  "/usr/bin/sysmgr"
            }
            detection_fields:  {
              key:  "msg0"
              value:  "unit=gce-cert-renew"
            }
            detection_fields:  {
              key:  "pid0"
              value:  "1"
            }
            detection_fields:  {
              key:  "res0"
              value:  "success"
            }
            detection_fields:  {
              key:  "ses0"
              value:  "4294967295"
            }
            detection_fields:  {
              key:  "subj0"
              value:  "system_u:system_r:init_t:s0"
            }
            detection_fields:  {
              key:  "uid0"
              value:  "0"
            }
            detection_fields:  {
              key:  "AUID_kv0"
              value:  "AUID0:unset"
            }
            detection_fields:  {
              key:  "UID_kv0"
              value:  "UID0:secsvc"
            }
            detection_fields:  {
              key:  "auid_kv0"
              value:  "auid0:9001"
            }
            detection_fields:  {
              key:  "comm_kv0"
              value:  "comm0:sysmgr"
            }
            detection_fields:  {
              key:  "exe_kv0"
              value:  "exe0:/usr/bin/sysmgr"
            }
            detection_fields:  {
              key:  "msg_kv0"
              value:  "msg0:unit=gce-cert-renew"
            }
            detection_fields:  {
              key:  "pid_kv0"
              value:  "pid0:1"
            }
            detection_fields:  {
              key:  "res_kv0"
              value:  "res0:success"
            }
            detection_fields:  {
              key:  "ses_kv0"
              value:  "ses0:4294967295"
            }
            detection_fields:  {
              key:  "subj_kv0"
              value:  "subj0:system_u:system_r:init_t:s0"
            }
            detection_fields:  {
              key:  "uid_kv0"
              value:  "uid0:0"
            }
            summary:  "unit=gce-cert-renew success"
            action:  ALLOW
            action_details:  "success"
          }
          network:  {
            session_id:  "4294967295"
          }
        }
      }
    }
    }
    
  • JSON (evento Windows)

    JSON (Windows Event)
    events_for_log_entry:  {
    events:  {
      timestamp:  {
        seconds:  1711012395
        nanos:  723000000
      }
      idm:  {
        read_only_udm:  {
          metadata:  {
            event_timestamp:  {
              seconds:  1711012395
              nanos:  723000000
            }
            event_type:  USER_LOGIN
            vendor_name:  "Microsoft"
            product_name:  "Microsoft-Windows-Security-Auditing"
            product_event_type:  "4624"
            description:  "An account was successfully logged on"
          }
          additional:  {
            fields:  {
              key:  "Message"
              value:  {
                string_value:  "An account was successfully logged on."
                               "Subject:Security ID:S-1-0-0"
                               "Account Name:-... (omitted for brevity) ..."
                               "New Logon:Security ID:S-1-5-21-1234567890-123456789-1234567890-2001"
                               "Account Name:svc_log_collector"
                               "Account Domain:SEC_LAB... (omitted for brevity) ..."
                               "Network Information:"
                               "Workstation Name:DEV-WS-42"
                               "Source Network Address:172.16.1.100"
                               "Source Port:53856..."
              }
            }
            fields:  {
              key:  "Workstation Name"
              value:  {
                string_value:  "DEV-WS-42"
              }
            }
          }
          principal:  {
            hostname:  "DEV-WS-42"
            process:  {}
            asset:  {
              hostname:  "DEV-WS-42"
              ip:  "172.16.1.100"
            }
            ip:  "172.16.1.100"
            port:  53856
            labels:  {
              key:  "Workstation Name"
              value:  "DEV-WS-42"
            }
          }
          target:  {
            user:  {
              userid:  "svc_log_collector"
              windows_sid:  "S-1-5-21-1234567890-123456789-1234567890-2001"
            }
            administrative_domain:  "SEC_LAB"
          }
          intermediary:  {
            hostname:  "win-server-01"
          }
          security_result:  {
            rule_name:  "EventID: 4624"
            action:  ALLOW
          }
          extensions:  {
            auth:  {
              mechanism:  MECHANISM_UNSPECIFIED
            }
          }
        }
      }
    }
    }
    
  • SYSLOG + XML (Solaris AuditD)

    {
      "events_for_log_entry": {
        "events": {
          "timestamp": {
            "seconds": 1735824379
          },
          "idm": {
            "read_only_udm": {
              "metadata": {
                "product_log_id": "1638473100678580410",
                "event_timestamp": {
                  "seconds": 1735824379
                },
                "event_type": "PROCESS_LAUNCH",
                "vendor_name": "Linux",
                "product_name": "AuditD",
                "product_version": "2",
                "product_event_type": "AUE_EXECVE",
                "description": "<record version=\"2\" event=\"23\" host=\"192.0.2.1\" iso8601=\"1638473100678580410\">\n"
                               "  <ntrs hostname=\"sanitized-host-01\" eventstring=\"AUE_EXECVE\" timestamp=\"1638473100.678580410\" ppid=\"2853\"></ntrs>\n"
                               "  <path>/usr/bin/find</path>\n"
                               "  <attribute mode=\"100555\" uid=\"0\" gid=\"2\" fsid=\"256\" nodeid=\"722\" device=\"18446744073709551615\"/>\n"
                               "  <exec_args>\n"
                               "    <arg>find</arg>\n"
                               "    <arg>/var/log/secure</arg>\n"
                               "    <arg>-type</arg>\n"
                               "    <arg>f</arg>\n"
                               "    <arg>-xdev</arg>\n"
                               "    <arg>-prune</arg>\n"
                               "    <arg>-name</arg>\n"
                               "    <arg>secure_data_file.txt</arg>\n"
                               "    <arg>-mtime</arg>\n"
                               "    <arg>+3</arg>\n"
                               "    <arg>-exec</arg>\n"
                               "    <arg>rm</arg>\n"
                               "    <arg>-f</arg>\n"
                               "    <arg>{}</arg>\n"
                               "    <arg>;</arg>\n"
                               "  </exec_args>\n"
                               "  <path>/lib/ld.so.1</path>\n"
                               "  <attribute mode=\"100755\" uid=\"0\" gid=\"2\" fsid=\"256\" nodeid=\"449952\" device=\"18446744073709551615\"/>\n"
                               "  <subject audit-uid=\"99999\" uid=\"0\" gid=\"0\" ruid=\"0\" rgid=\"0\" pid=\"2871\" sid=\"1898719819\" tid=\"9307 196630 192.0.2.10\"/>\n"
                               "  <return errval=\"0\" retval=\"0\"/>\n"
                               "  <sequence seq-num=\"6849431\"/>\n"
                               "</record>"
              },
              "principal": {
                "hostname": "sanitized-host-01",
                "user": {
                  "userid": "99999"
                },
                "asset": {
                  "hostname": "sanitized-host-01",
                  "ip": "192.0.2.1"
                },
                "ip": "192.0.2.1",
                "platform": "LINUX"
              },
              "target": {
                "process": {
                  "parent_process": {
                    "pid": "2853"
                  },
                  "command_line": "find /var/log/secure -type f -xdev -prune -name secure_data_file.txt -mtime +3 -exec rm -f {} ;"
                }
              },
              "intermediary": {
                "hostname": "internal-proxy.local"
              },
              "security_result": {
                "detection_fields": [
                  { "key": "event", "value": "event: 23" },
                  { "key": "uid", "value": "uid: 0" },
                  { "key": "gid", "value": "gid: 0" },
                  { "key": "ruid", "value": "ruid: 0" },
                  { "key": "rgid", "value": "rgid: 0" },
                  { "key": "pid", "value": "pid: 2871" },
                  { "key": "sid", "value": "sid: 1898719819" },
                  { "key": "tid", "value": "tid: 9307 196630 192.0.2.10" },
                  { "key": "seq_num", "value": "seq_num: 6849431" },
                  { "key": "errval", "value": "errval: 0" },
                  { "key": "retval", "value": "retval: 0" },
                  { "key": "path", "value": "path: /usr/bin/find" },
                  { "key": "device", "value": "device: 18446744073709551615" },
                  { "key": "mode", "value": "mode: 100555" },
                  { "key": "fsid", "value": "fsid: 256" },
                  { "key": "nodeid", "value": "nodeid: 722" }
                ]
              }
            }
          }
        }
      }
    }
    

Tabella di mappatura UDM

Campo log Mappatura UDM Commento
acct target.user.user_display_name Il valore di acct del log non elaborato viene mappato al campo target.user.user_display_name in UDM. Rappresenta l'account associato all'evento.
addr principal.ip Il valore di addr del log non elaborato viene mappato al campo principal.ip in UDM. Rappresenta l'indirizzo IP del soggetto coinvolto nell'evento.
additional.fields additional.fields I campi aggiuntivi delle coppie chiave-valore o delle etichette analizzate vengono aggiunti all'array additional.fields nell'UDM.
agent.googleapis.com/log_file_path (Non mappato) Questa etichetta è presente in alcuni log non elaborati, ma non è mappata all'oggetto IDM nell'UDM.
algo (Non utilizzato in questo esempio) Sebbene sia presente nel parser e in alcuni log non elaborati, questo campo non viene utilizzato nell'esempio fornito e non viene visualizzato nell'UDM finale.
application principal.application Derivato dal campo terminal nel log non elaborato o da altri campi come exe a seconda del tipo di log. Rappresenta l'applicazione coinvolta.
arch security_result.about.platform_version L'architettura del campo arch del log non elaborato viene mappata a security_result.about.platform_version.
auid about.user.userid, security_result.detection_fields.auid L'ID utente di controllo (auid) viene mappato a about.user.userid e aggiunto come campo di rilevamento in security_result.
cmd target.process.command_line Il comando del campo cmd del log non elaborato viene mappato a target.process.command_line.
collection_time (Non mappato) Questo campo è l'ora di raccolta dei log e non è mappato all'oggetto IDM in UDM.
comm principal.application Il nome del comando (comm) è mappato a principal.application.
COMMAND target.process.command_line
compute.googleapis.com/resource_name principal.hostname Il nome della risorsa di questa etichetta è mappato su principal.hostname.
create_time (Non mappato) Questo campo non è mappato all'oggetto IDM in UDM.
cwd security_result.detection_fields.cwd La directory di lavoro corrente (cwd) viene aggiunta come campo di rilevamento in security_result.
data (Elaborato) Il campo data contiene il messaggio di log principale e viene elaborato dal parser per estrarre vari campi. Non è mappato direttamente a un singolo campo UDM.
exe target.process.file.full_path Il percorso eseguibile (exe) è mappato a target.process.file.full_path.
extensions.auth.type extensions.auth.type Il tipo di autenticazione viene impostato dalla logica del parser in base al tipo di evento. Spesso impostato su MACHINE o AUTHTYPE_UNSPECIFIED.
fp network.tls.client.certificate.sha256 L'impronta (fp) viene analizzata per estrarre l'hash SHA256 e mappata a network.tls.client.certificate.sha256.
_Item_Id metadata.product_log_id
insertId (Non mappato) Questo campo non è mappato all'oggetto IDM in UDM.
jsonPayload.message (Elaborato) Questo campo contiene il messaggio di log principale in formato JSON ed è elaborato dal parser.
key security_result.about.registry.registry_key Il campo della chiave è mappato su security_result.about.registry.registry_key.
labels (Elaborato) Le etichette del log non elaborato vengono elaborate e mappate a vari campi UDM o aggiunte a additional.fields.
logName (Non mappato) Questo campo non è mappato all'oggetto IDM in UDM.
metadata.product_event_type SECCOMP La curva di scambio delle chiavi viene estratta dal log non elaborato e mappata a questo campo.
msg security_result.summary Il messaggio (msg) viene spesso utilizzato per compilare il campo security_result.summary.
network.application_protocol network.application_protocol Impostato dalla logica del parser in base al tipo di evento (ad es. SSH, HTTP).
network.direction network.direction Impostato dalla logica del parser in base al tipo di evento (ad es. INBOUND, OUTBOUND).
network.ip_protocol network.ip_protocol Impostato dalla logica del parser, in genere su TCP per gli eventi SSH.
network.session_id network.session_id Mappato dal campo ses o derivato da altri campi.
network.tls.cipher network.tls.cipher Le informazioni sulla crittografia vengono estratte dal log non elaborato e mappate a questo campo.
network.tls.curve network.tls.curve La curva di scambio delle chiavi viene estratta dal log non elaborato e mappata a questo campo.
pid principal.process.pid, target.process.pid L'ID processo (pid) viene mappato su principal.process.pid o target.process.pid a seconda del contesto.
ppid principal.process.parent_process.pid, target.process.parent_process.pid L'ID processo padre (ppid) viene mappato su principal.process.parent_process.pid o target.process.parent_process.pid a seconda del contesto.
principal.asset.hostname principal.asset.hostname Copiato da principal.hostname.
principal.asset.ip principal.asset.ip Copiato da principal.ip.
principal.platform principal.platform Impostato dalla logica del parser in base al sistema operativo (ad es. LINUX).
principal.port principal.port Il numero di porta associato all'entità.
principal.user.group_identifiers principal.user.group_identifiers ID gruppo associati all'utente principale.
process.name target.process.file.full_path
receiveTimestamp (Non mappato) Questo campo è il timestamp di ricezione del log e non è mappato all'oggetto IDM in UDM.
res security_result.action_details Il risultato (res) è mappato a security_result.action_details.
_Resource_Id target.resource.product_object_id
resource.labels (Non mappato) Queste etichette sono presenti in alcuni log non elaborati, ma non sono mappate all'oggetto IDM nel modello UDM.
resource.type (Non mappato) Questo campo è presente in alcuni log non elaborati, ma non è mappato all'oggetto IDM nell'UDM.
security_result.action security_result.action Impostato dalla logica del parser in base al campo res (ad es. ALLOW, BLOCK).
security_result.detection_fields security_result.detection_fields A questo array vengono aggiunti vari campi del log non elaborato come coppie chiave-valore per il contesto.
security_result.rule_id security_result.rule_id Impostato dalla logica del parser, spesso su type_name per gli eventi syscall.
security_result.severity security_result.severity Impostato dalla logica del parser in base al livello di gravità nel log non elaborato.
security_result.summary security_result.summary Un riepilogo dell'evento, spesso derivato dal campo msg o da altri campi pertinenti.
ses network.session_id L'ID sessione (ses) è mappato a network.session_id.
source (Non mappato) Questo campo contiene metadati sull'origine log e non è mappato all'oggetto IDM nel modello UDM.
subj (Elaborato) Il campo Oggetto (subj) viene elaborato per estrarre le informazioni sul contesto di sicurezza e dell'utente.
syscall security_result.about.labels.Syscall Il numero della chiamata di sistema viene aggiunto come etichetta in security_result.about.
target.administrative_domain target.administrative_domain Il dominio dell'utente di destinazione.
target.group.group_display_name target.group.group_display_name Il nome del gruppo target.
target.ip target.ip L'indirizzo IP della destinazione.
target.port target.port Il numero di porta associato alla destinazione.
target.process.command_line target.process.command_line La riga di comando del processo di destinazione.
target.resource.type target.resource.type Il tipo di risorsa di destinazione, impostato dalla logica del parser (ad es. CREDENTIAL, SETTING).
target.user.attribute.permissions target.user.attribute.permissions Autorizzazioni relative all'utente di destinazione.
target.user.group_identifiers target.user.group_identifiers ID gruppo associati all'utente di destinazione.
target.user.userid target.user.userid L'ID utente del target.
TenantId metadata.product_deployment_id
textPayload (Elaborato) Il payload di testo del log, elaborato dal parser per estrarre vari campi.
timestamp metadata.event_timestamp Il timestamp dell'evento.
tty security_result.about.labels.tty Il TTY viene aggiunto come etichetta in security_result.about.
type metadata.product_event_type Il tipo di evento (type) è mappato a metadata.product_event_type.
uid target.user.userid L'ID utente (uid) è mappato a target.user.userid.

Riferimento per le differenze tra le mappature UDM

Il 23 settembre 2025, Google SecOps ha rilasciato una nuova versione del parser Okta, che include modifiche significative alla mappatura dei campi di log Okta ai campi UDM e modifiche alla mappatura dei tipi di eventi.

Differenza tra le mappature dei campi dei log

La tabella seguente elenca le differenze di mappatura per i campi di log-to-UDM di Okta esposti prima del 23 settembre 2025 e successivamente (elencati rispettivamente nelle colonne Mappatura precedente e Mappatura attuale).

Campo log Mappatura precedente Mappatura attuale Esempio di log di riferimento
1.1.1.1 (indirizzo IP) src.ip principal.ip "<163>Apr 10 09:00:05 hostname.com sshd[3318513]: Accepted password for abc from 1.1.1.1 port 33988 ssh2"
1.1.1.1 (indirizzo IP) principal.ip target.ip "<29>Oct 5 08:37:16 abc ProxySG: E0000 Access Log HTTP (main): Connecting to server 1.1.1.1 on port 4433.(0) NORMAL_EVENT alog_stream_http.cpp 261"
abc (utente) principal.user.userid target.user.userid "<85>Feb 27 08:26:55 offozcav login: FAILED LOGIN 1 FROM ::ffff:1.1.1.1 FOR abc, Authentication failure\r\n\r\n"
abc.abc (utente) principal.user.userid target.user.userid "<86>Feb 27 08:29:19 offozcav login: LOGIN ON pts/43 BY abc.abc FROM\r\n\r\n::ffff:1.1.1.1"
COMMAND principal.process.command_line target.process.command_line "<85>Sep 24 14:33:59 abc sudo: abc : \r\nTTY=unknown ; PWD=/abc ; USER=abc ; COMMAND=/sbin/iptables -t nat -nL \r\n--line-number"
exe target.process.file.full_path principal.process.file.full_path
_ItemId additional.fields metadata.product_log_id
metadata.product_event_type PATH SECCOMP
process.name principal.process.file.full_path target.process.file.full_path
_ResourceId additional.fields target.resource.product_object_id
TenantId additional.fields metadata.product_deployment_id
uid principal.user.userid target.user.userid
USER principal.user.user_display_name target.user.userid "<85>Sep 24 14:33:59 abc sudo: abc : \r\nTTY=unknown ; PWD=/abc ; USER=abc ; COMMAND=/sbin/iptables -t nat -nL \r\n--line-number"
user principal.user.userid target.user.userid "29>Jan 16 11:28:00 san-auth-1-irl2 tac_plus[17329]: login failure: user 1.1.1.1 (1.1.1.1) vty0"
user principal.user.userid target.user.userid "<87>Jul 15 10:27:01 xpgjrconfdb01 crond[1045]: pam_unix(crond:account): expired password for user root (password aged)"

Differenza tra le mappature dei tipi di eventi

Più eventi precedentemente classificati come eventi generici ora sono classificati correttamente con tipi di eventi significativi.

La tabella seguente elenca il delta per la gestione dei tipi di eventi Okta prima del 23 settembre 2025 e successivamente (elencati rispettivamente nelle colonne Old event_type e Current event-type).

eventType from log Old event_type Current event_type
aix_event_type=CRON_Start USER_LOGIN PROCESS_LAUNCH
CRYPTO_KEY_USER NETWORK_CONNECTION USER_LOGIN
FILE_Mknod USER_LOGIN FILE_CREATION
FILE_Rename USER_LOGIN FILE_MODIFICATION
FILE_Stat USER_LOGIN FILE_OPEN
FILE_Unlink USER_LOGIN FILE_DELETION
FS_Chabc USER_LOGIN PROCESS_UNCATEGORIZED
FS_Mkdir USER_LOGIN FILE_CREATION
FS_Rmdir USER_LOGIN FILE_DELETION
PROC_Execute USER_LOGIN PROCESS_LAUNCH
type=ANOM_ABEND STATUS_UPDATE PROCESS_TERMINATION
type=ANOM_PROMISCUOUS SETTING_MODIFICATION
type=CRED_REFR USER_LOGIN USER_CHANGE_PERMISSIONS
type=PROCTILE PROCESS_UNCATEGORIZED PROCESS_LAUNCH
type=SERVICE_START USER_RESOURCE_ACCESS SERVICE_START
type=SERVICE_STOP USER_RESOURCE_ACCESS SERVICE_STOP
type=USER_ACCT USER_LOGIN/SETTING_MODIFICTION USER_LOGIN
type=USER_MGMT SETTING_MODIFICATION/GROUP_MODIFICATION GROUP_MODIFICATION
USER_ERR USER_LOGOUT USER_LOGIN

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.