Raccogliere i log di Microsoft SharePoint (Office 365)

Supportato in:

Questo documento spiega come raccogliere i log di Microsoft SharePoint (Office 365) in Google Security Operations utilizzando Bindplane.

Microsoft SharePoint è una piattaforma collaborativa basata sul web che si integra con Microsoft 361. I log di controllo di SharePoint acquisiscono le attività degli utenti, tra cui operazioni sui file, attività sulle cartelle, operazioni di condivisione, operazioni sulle liste e azioni di amministrazione del sito. A questi log si accede tramite l'agente SIEM di Microsoft Defender for Cloud Apps, che recupera i dati di audit da SharePoint Online e OneDrive for Business e li trasmette in streaming come syslog a un ricevitore locale.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Un'istanza Google SecOps
  • Windows Server 2016 o versioni successive oppure host Linux con systemd
  • Se l'esecuzione avviene tramite un proxy, assicurati che le porte del firewall siano aperte.
  • Tenant Microsoft 365 con SharePoint Online
  • Licenza Microsoft Defender for Cloud Apps (inclusa in Microsoft 365 E5 o come componente aggiuntivo)
  • Ruolo di amministratore globale o amministratore della sicurezza nel portale Microsoft Defender
  • Un server Windows o Linux con Java 8 o versioni successive per eseguire l'agente SIEM (può essere lo stesso host di Bindplane)
  • Controllo unificato abilitato in Microsoft 365

Abilitare l'audit logging unificato

Prima che Microsoft Defender for Cloud Apps possa acquisire i dati di controllo di SharePoint, è necessario attivare la registrazione di controllo unificata per il tenant Microsoft 365.

  1. Accedi al portale di conformità Microsoft Purview.
  2. Vai a Audit.
  3. Se richiesto, fai clic su Avvia registrazione delle attività di utenti e amministratori. Nota: dopo aver attivato la registrazione dei log di controllo unificati, potrebbero essere necessarie fino a 12 ore prima che i contenuti siano disponibili.
  • In alternativa, puoi abilitare il controllo unificato utilizzando PowerShell:

    Connect-ExchangeOnline
    Set-AdminAuditLogConfig -UnifiedAuditLogIngestionEnabled $true
    

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. Salva il file in modo sicuro sul sistema in cui verrà installato Bindplane.

Recuperare 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

Installa l'agente Bindplane sul sistema operativo Windows o Linux seguendo le istruzioni riportate di seguito.

Installazione di Windows

  1. Apri Prompt dei comandi o PowerShell come amministratore.
  2. Esegui questo comando:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    
  3. Attendi il completamento dell'installazione.

  4. Verifica l'installazione eseguendo il comando:

    sc query observiq-otel-collector
    

    Il servizio dovrebbe essere visualizzato come IN ESECUZIONE.

Installazione di Linux

  1. Apri un terminale con privilegi root o sudo.
  2. Esegui questo comando:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    
  3. Attendi il completamento dell'installazione.

  4. Verifica l'installazione eseguendo il comando:

    sudo systemctl status observiq-otel-collector
    

    Il servizio dovrebbe essere visualizzato come attivo (in esecuzione).

Risorse aggiuntive per l'installazione

Per ulteriori opzioni di installazione e risoluzione dei problemi, consulta la Guida all'installazione dell'agente Bindplane.

Configura l'agente Bindplane per importare syslog e inviarli a Google SecOps

Individua il file di configurazione

  • Linux:

    sudo nano /etc/bindplane-agent/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

Modifica il file di configurazione

  • Sostituisci l'intero contenuto di config.yaml con la seguente configurazione:

    receivers:
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/sharepoint:
        compression: gzip
        creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
        customer_id: '<CUSTOMER_ID>'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: SHAREPOINT
        raw_log_field: body
    
    service:
      pipelines:
        logs/sharepoint_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/sharepoint
    

Parametri di configurazione

Sostituisci i seguenti segnaposto:

  • Configurazione dell'esportatore:

    • <CUSTOMER_ID>: l'ID cliente Google SecOps copiato nel passaggio precedente
    • creds_file_path: percorso completo del file di autenticazione importazione:
      • Linux: /etc/bindplane-agent/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • endpoint: URL dell'endpoint regionale:
      • Stati Uniti: malachiteingestion-pa.googleapis.com
      • Europa: europe-malachiteingestion-pa.googleapis.com
      • Asia: asia-southeast1-malachiteingestion-pa.googleapis.com
      • Per un elenco completo, vedi Endpoint regionali.

Salvare il file di configurazione

  • Dopo la modifica, salva il file:
    • Linux: premi Ctrl+O, poi Enter e infine Ctrl+X.
    • Windows: fai clic su File > Salva.

Riavvia l'agente Bindplane per applicare le modifiche

Per riavviare l'agente Bindplane in Linux:

  1. Esegui questo comando:

    sudo systemctl restart observiq-otel-collector
    
  2. Verifica che il servizio sia in esecuzione:

    sudo systemctl status observiq-otel-collector
    
  3. Controlla i log per verificare la presenza di errori:

    sudo journalctl -u observiq-otel-collector -f
    

Per riavviare l'agente Bindplane in Windows:

  1. Scegli una delle seguenti opzioni:

    • Prompt dei comandi o PowerShell come amministratore:
    net stop observiq-otel-collector && net start observiq-otel-collector
    
    • Console dei servizi:
      1. Premi Win+R, digita services.msc e premi Invio.
      2. Individua observIQ OpenTelemetry Collector.
      3. Fai clic con il tasto destro del mouse e seleziona Riavvia.
  2. Verifica che il servizio sia in esecuzione:

    sc query observiq-otel-collector
    
  3. Controlla i log per verificare la presenza di errori:

    type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
    

Configura l'agente SIEM di Microsoft Defender for Cloud Apps per inoltrare i log di SharePoint

Microsoft SharePoint Online è un servizio cloud e non dispone di una funzionalità di inoltro syslog integrata. Per inoltrare i log di controllo di SharePoint tramite syslog, utilizza l'agente SIEM di Microsoft Defender for Cloud Apps, che recupera avvisi e attività da Defender for Cloud Apps e li trasmette in streaming come messaggi syslog (in formato CEF) all'agente Bindplane.

Prerequisiti per l'agente SIEM

  • Un server Windows o Linux (può essere una macchina virtuale) con:

    • Java 8 o versioni successive installate
    • Transport Layer Security (TLS) 1.2 o versioni successive
    • CPU: 2 core
    • Spazio su disco: 20 GB
    • RAM: 2 GB

Passaggio 1: configura l'agente SIEM nel portale Microsoft Defender

  1. Accedi al portale Microsoft Defender.
  2. Seleziona Settings (Impostazioni).
  3. Scegli App cloud.
  4. In Sistema, seleziona Agenti SIEM.
  5. Fai clic su Aggiungi agente SIEM, poi scegli SIEM generico.
  6. Fai clic su Avvia procedura guidata.
  7. Fornisci i seguenti dettagli di configurazione:
    • Nome: inserisci un nome descrittivo (ad esempio, Chronicle-Bindplane-SharePoint).
    • Seleziona il formato SIEM: seleziona CEF.
  8. Fai clic su Avanti.
  9. Fornisci i seguenti dettagli di connessione syslog:
    • Host syslog remoto: inserisci l'indirizzo IP o il nome host dell'host dell'agente Bindplane (ad esempio, 192.168.1.100).
    • Numero di porta Syslog: inserisci 514 (o la porta configurata nell'agente Bindplane config.yaml).
    • Protocollo Syslog remoto: seleziona UDP (deve corrispondere al tipo di ricevitore nella configurazione dell'agente Bindplane).
  10. Fai clic su Avanti.
  11. Configura i tipi di dati da esportare:
    1. Attiva il cursore per Attività.
    2. Nel menu a discesa Applica a per Attività, imposta i filtri in modo da includere le attività di SharePoint:
      1. Seleziona App uguale a e scegli Microsoft SharePoint Online e Microsoft OneDrive for Business.
    3. Attiva il cursore per Avvisi se vuoi ricevere anche avvisi relativi alle norme di SharePoint.
  12. Fai clic su Modifica e visualizza l'anteprima dei risultati per verificare che il filtro corrisponda alle attività previste.
  13. Fai clic su Avanti.
  14. Copia il token visualizzato nella pagina di riepilogo e salvalo in modo sicuro.
  15. Fai clic su Fine.

Passaggio 2: scarica ed esegui il file JAR dell'agente SIEM

  1. Scarica l'agente SIEM dal Centro download Microsoft.
  2. Estrai il file ZIP scaricato sul server in cui verrà eseguito l'agente SIEM.
  3. Esegui l'agente SIEM con il seguente comando:

    java -jar mcas-siemagent-0.87.20-signed.jar --token <TOKEN>
    

Sostituisci <TOKEN> con il token copiato dal portale Microsoft Defender.

Passaggio 3: configura l'agente SIEM per l'esecuzione come servizio

Per garantire l'inoltro continuo dei log, configura l'agente SIEM in modo che si avvii automaticamente:

Linux:

  • Aggiungi il comando run a /etc/rc.local o crea un servizio systemd:

    java -jar /opt/mcas-siemagent/mcas-siemagent-0.87.20-signed.jar --token <TOKEN> &
    

Windows:

  • Configura un'attività pianificata:
    1. Apri Utilità di pianificazione.
    2. Crea una nuova attività con l'opzione Esegui indipendentemente dall'accesso dell'utente.
    3. Imposta l'azione per eseguire il file JAR con il parametro token.
    4. Deseleziona Interrompi l'attività se viene eseguita per più di.

Passaggio 4: verifica la connessione dell'agente SIEM

  1. Nel portale Microsoft Defender, vai a Impostazioni > App cloud > Agenti SIEM.
  2. Verifica che lo stato dell'agente SIEM sia Connesso (verde).
  3. Sull'host dell'agente Bindplane, verifica che i messaggi syslog vengano ricevuti:

    sudo journalctl -u observiq-otel-collector -f
    
  4. In Google SecOps, cerca i log con metadata.log_type = "SHAREPOINT" per confermare l'importazione dei log.

Tabella di mappatura UDM

Campo log Mappatura UDM Logic
Si è verificato metadata.event_timestamp Analizzato utilizzando il filtro per data con i formati "MM/gg/aaaa HH:mm:ss A","MM/gg/aaaa HH:mm:ss a","M/g/aaaa HH:mm:ss A"
has_principal metadata.event_type Imposta su "USER_RESOURCE_ACCESS" se has_principal e (has_target_resource o has_target), altrimenti "STATUS_UPDATE" se has_principal, altrimenti "GENERIC_EVENT"
has_target_resource metadata.event_type
has_target metadata.event_type
metadata.product_name metadata.product_name Impostato su "SHAREPOINT"
EventData metadata.product_version Valore copiato direttamente
metadata.vendor_name metadata.vendor_name Impostato su "SHAREPOINT"
Creato principal.asset.attribute.labels Etichette unite con la chiave "Created" (Creato) da Created e la chiave "Last Modified" (Ultima modifica) da LastModified
LastModified principal.asset.attribute.labels
SamAccountName principal.asset.hostname Valore copiato direttamente
SamAccountName principal.hostname Valore copiato direttamente
database principal.process.file.names Unito dal database
UserEmail principal.user.email_addresses Unito da UserEmail se corrisponde all'espressione regolare dell'email
Nome utente principal.user.user_display_name Valore copiato direttamente
EventType security_result.description Valore copiato direttamente
Directory target.file.full_path Valore copiato direttamente
Foglia target.file.names Unito da Leaf
ItemType target.resource.type Valore copiato direttamente
SecUserURL target.url Valore copiato direttamente
SecUserRole target.user.attribute.roles Ruolo unito con il nome di SecUserRole
SecUserEmail target.user.email_addresses Unito da SecUserEmail se corrisponde all'espressione regolare dell'email
SecGroupName target.user.group_identifiers Unito da SecGroupName
SecUserName target.user.user_display_name Valore copiato direttamente
SecSamAccountName target.user.userid Valore copiato direttamente

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