Raccogliere i log di Synology

Supportato in:

Panoramica

Questo parser estrae i campi dai messaggi SYSLOG di Synology utilizzando i pattern Grok e li mappa all'UDM. Gestisce vari formati di log, identifica gli accessi utente e l'accesso alle risorse e classifica gli eventi in base alle parole chiave, arricchendo i dati con informazioni su fornitori e prodotti.

Prima di iniziare

  • Assicurati di avere un'istanza Google SecOps.
  • Assicurati di disporre dell'accesso con privilegi a Synology DSM.

Configura un feed in Google SecOps per importare i log di Synology

  1. Vai a Impostazioni SIEM > Feed.
  2. Fai clic su Aggiungi nuovo.
  3. Nel campo Nome feed, inserisci un nome per il feed (ad esempio Log Synology).
  4. Seleziona Webhook come Tipo di origine.
  5. Seleziona Synology come Tipo di log.
  6. Fai clic su Avanti.
  7. (Facoltativo) Specifica i valori per i seguenti parametri di input:
    • Delimitatore di split: il delimitatore utilizzato per separare le righe di log, ad esempio \n.
    • Spazio dei nomi degli asset: lo spazio dei nomi degli asset.
    • Etichette di importazione: l'etichetta applicata agli eventi di questo feed.
  8. Fai clic su Avanti.
  9. Controlla la configurazione del feed nella schermata Concludi e poi fai clic su Invia.
  10. Fai clic su Genera chiave segreta per generare una chiave segreta per autenticare questo feed.
  11. Copia e memorizza la chiave segreta. Non potrai più visualizzare questa chiave segreta. Se necessario, puoi rigenerare una nuova chiave segreta, ma questa azione rende obsoleta la chiave segreta precedente.
  12. Dalla scheda Dettagli, copia l'URL dell'endpoint del feed dal campo Informazioni endpoint. Devi specificare questo URL endpoint nell'applicazione client.
  13. Fai clic su Fine.

Crea una chiave API per il feed webhook

  1. Vai alla console Google Cloud > Credenziali.

    Vai a credenziali

  2. Fai clic su Crea credenziali e poi seleziona Chiave API.

  3. Limita l'accesso della chiave API all'API Google Security Operations.

Specifica l'URL dell'endpoint

  1. Nell'applicazione client, specifica l'URL dell'endpoint HTTPS fornito nel feed webhook.
  2. Attiva l'autenticazione specificando la chiave API e la chiave segreta nell'intestazione personalizzata nel seguente formato:

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

    Consiglio: specifica la chiave API come intestazione anziché nell'URL.

  3. Se il client webhook non supporta le intestazioni personalizzate, puoi specificare la chiave API e la chiave segreta utilizzando i parametri di query nel seguente formato:

    ENDPOINT_URL?key=API_KEY&secret=SECRET
    

    Sostituisci quanto segue:

    • ENDPOINT_URL: l'URL dell'endpoint del feed.
    • API_KEY: la chiave API per l'autenticazione in Google Security Operations.
    • SECRET: la chiave segreta che hai generato per autenticare il feed.

Creazione di un webhook in Synology per Google SecOps

  1. Accedi a DiskStation Manager (DSM) sul tuo NAS Synology.
  2. Vai a Pannello di controllo > Notifiche > Webhook.
  3. Fai clic su Aggiungi.
  4. Specifica i valori per i seguenti parametri:

    • Provider: seleziona Personalizzato.
    • Regola: seleziona il tipo di messaggi da inviare nell'webhook.

    • Fai clic su Avanti.

    • Nome del provider: assegna al webhook un nome distintivo (ad esempio Google SecOps).

    • Oggetto: verrà aggiunto come prefisso del messaggio di notifica.

    • URL webhook: inserisci ENDPOINT_URL.

    • Seleziona Invia messaggi di notifica in inglese.

    • Fai clic su Avanti.

    • Metodo HTTP: seleziona POST.

    • Aggiungi l'intestazione X-Webhook-Access-Key con il valore SECRET.

    • Aggiungi l'intestazione X-goog-api-key con il valore API_KEY.

    • Fai clic su Applica.

  5. Fai clic su Applica per salvare l'webhook.

Tabella di mappatura UDM

Campo log Mappatura UDM Logica
app target.application Il valore del campo app estratto dal filtro Grok viene assegnato a target.application.
desc metadata.description Il valore del campo desc estratto dal filtro Grok viene assegnato a metadata.description.
desc target.file.names Se il campo desc contiene "Chiuso)", il percorso del file tra parentesi viene estratto e assegnato a target.file.names. Se il campo desc contiene "cartella condivisa a cui è stato eseguito l'accesso", il percorso della cartella tra parentesi viene estratto e assegnato a target.file.names.
host principal.hostname Il valore del campo host estratto dal filtro Grok dal campo host_and_ip viene assegnato a principal.hostname.
host_and_ip principal.ip Il campo host_and_ip viene analizzato. Se viene trovato un indirizzo IP (ip1), viene assegnato a principal.ip. Se viene trovato un secondo indirizzo IP (ip2), viene aggiunto anche a principal.ip.
intermediary_host intermediary.hostname Il valore del campo intermediary_host estratto dal filtro Grok viene assegnato a intermediary.hostname. In extensions viene creato un oggetto auth vuoto se il messaggio contiene "accesso eseguito" o "accedi". Viene utilizzato il timestamp del campo collection_time del log non elaborato. Se il messaggio contiene "accesso eseguito" o "accedi", il valore viene impostato su USER_LOGIN. Se il messaggio contiene "cartella condivisa a cui è stato eseguito l'accesso", il valore è impostato su USER_RESOURCE_ACCESS. In caso contrario, il valore predefinito è GENERIC_EVENT. Il valore del campo type estratto dal filtro Grok viene assegnato a metadata.product_event_type. Il valore è impostato in modo statico su "SYNOLOGY". Il valore è impostato in modo statico su "SYNOLOGY". Se il messaggio contiene "failed to sign" (Autenticazione non riuscita), il valore è impostato su BLOCK. Se il messaggio contiene "success", il valore viene impostato su ALLOW. Se il campo severity (estratto da grok) è "INFO", il valore viene impostato su INFORMATIONAL.
severity security_result.severity Il valore del campo severity estratto dal filtro Grok viene utilizzato per determinare security_result.severity. Se il valore è "INFO", viene mappato a "INFORMATIONAL".
time metadata.event_timestamp Il campo time, estratto dal filtro Grok, viene analizzato e convertito in un timestamp. Questo timestamp viene poi assegnato a metadata.event_timestamp.
type metadata.product_event_type Il valore del campo type estratto dal filtro Grok viene assegnato a metadata.product_event_type.
user target.administrative_domain Se un dominio viene estratto dal campo user, viene assegnato a target.administrative_domain.
user target.user.userid La parte del nome utente del campo user (prima del "\", se presente) viene estratta e assegnata a target.user.userid. Viene utilizzato il timestamp del campo collection_time del log non elaborato.

Modifiche

2024-01-16

  • Parser appena creato.

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