Raccogli i dati syslog di Apple macOS

Supportato in:

Questo parser utilizza pattern grok per estrarre i campi dai messaggi syslog di Apple macOS e compila il modello di dati unificato (UDM) con i valori estratti, inclusi timestamp, nome host, host intermedio, riga di comando, ID processo e descrizione. Il parser classifica l'evento come STATUS_UPDATE se è presente un nome host; in caso contrario, assegna all'evento la categoria GENERIC_EVENT. Infine, il parser arricchisce l'evento UDM con informazioni sul fornitore e sul prodotto.

Prima di iniziare

  • Assicurati di avere un'istanza Google Security Operations.
  • Assicurati di avere l'accesso root all'host Auditd.
  • Assicurati di aver installato rsyslog sull'host Auditd.
  • Assicurati di avere un host Windows 2012 SP2 o versioni successive o Linux con systemd.
  • Se esegui l'applicazione dietro un proxy, assicurati che le porte del firewall siano aperte.

Scarica il file di autenticazione per l'importazione di Google SecOps

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

Scarica l'ID cliente di 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

  1. 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.
  2. Per l'installazione di Linux, esegui il seguente script:
    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh.
  3. Ulteriori opzioni di installazione sono disponibili in questa guida all'installazione.

Configura l'agente Bindplane per importare Syslog e inviarlo a Google SecOps

  1. Accedi alla macchina su cui è installato l'agente Bindplane.
  2. Modifica il file config.yaml come segue:

    receivers:
      tcplog:
        # Replace the below port <54525> and IP <0.0.0.0> with your specific values
        listen_address: "0.0.0.0:54525" 
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the creds location below according 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/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Riavvia l'agente Bindplane per applicare le modifiche utilizzando il seguente comando: sudo systemctl bindplane restart

Esporta Syslog da macOS

  1. Installa syslog-ng utilizzando Homebrew:

    brew install syslog-ng
    
  2. Configura syslog-ng:

    • Modifica il file syslog-ng.conf (in genere si trova in /usr/local/etc/syslog-ng/syslog-ng.conf):
    sudo vi /usr/local/etc/syslog-ng/syslog-ng.conf
    
    • Aggiungi il seguente blocco di configurazione.
      • A seconda della configurazione di Bindplane, puoi modificare il metodo di erogazione in tcp o lasciarlo come udp.
      • Sostituisci <BindPlaneAgent_IP> e <BindPlaneAgent_Port> con l'indirizzo IP e la porta effettivi dell'agente Bindplane:
    source s_local { system(); internal(); };
    destination d_secops { tcp("<BindPlaneAgent_IP>:<BindPlaneAgent_Port>"); };
    log { source(s_local); destination(d_secops); };
    
  3. Riavvia il servizio syslog-ng:

    brew services restart syslog-ng
    
  4. Controlla lo stato di syslog-ng (dovresti vedere syslog-ng elencato come avviato):

    brew services list
    

Tabella di mappatura UDM

Campo log Mappatura UDM Funzione logica
data read_only_udm.metadata.description Il valore del campo description viene estratto dal campo data nel log non elaborato utilizzando un pattern grok.
data read_only_udm.principal.hostname Il nome host viene estratto dal campo data utilizzando un pattern grok.
data read_only_udm.intermediary.hostname Il nome host intermedio viene estratto dal campo data utilizzando un pattern grok.
data read_only_udm.principal.process.command_line La riga di comando del processo viene estratta dal campo data utilizzando un pattern grok.
data read_only_udm.principal.process.pid L'ID processo viene estratto dal campo data utilizzando un pattern grok.
data read_only_udm.metadata.event_timestamp Il timestamp dell'evento viene estratto dal campo data utilizzando un pattern grok e convertito in un oggetto timestamp. Codificato come "MacOS" nel parser. Codificato come "Apple" nel parser. Impostato su "STATUS_UPDATE" se viene estratto un nome host dai log, altrimenti impostato su "GENERIC_EVENT".
log_type read_only_udm.metadata.log_type Mappato direttamente dal campo log_type del log non elaborato.

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