Raccogliere i log di LogonBox

Supportato in:

Questo documento spiega come importare i log di LogonBox in Google Security Operations utilizzando Bindplane.

LogonBox è una piattaforma self-service di gestione delle password e verifica dell'identità. Genera audit log per i reimpostazioni delle password, gli eventi di verifica dell'identità e le azioni amministrative. Il parser mappa i dati di controllo di LogonBox al modello UDM (Unified Data Model), acquisendo l'identità dell'utente, gli eventi di autenticazione, le modifiche alle risorse e le operazioni di gestione dei gruppi.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Un'istanza Google SecOps
  • Windows Server 2016 o versioni successive oppure host Linux con systemd
  • Connettività di rete tra l'agente Bindplane e il server LogonBox
  • Se l'agente viene eseguito dietro un proxy, assicurati che le porte del firewall siano aperte in base ai requisiti dell'agente Bindplane
  • Accesso privilegiato alla console di amministrazione di LogonBox

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:

    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:

    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 systemctl status observiq-otel-collector
    
  • 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/logonbox:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: LOGONBOX
            raw_log_field: body
    
    service:
        pipelines:
            logs/logonbox:
                receivers:
                    - udplog
                exporters:
                    - chronicle/logonbox
    

Parametri di configurazione

Sostituisci i seguenti segnaposto:

  • Configurazione del ricevitore:

    • udplog: Il tipo di ricevitore in base al protocollo:
      • udplog per syslog UDP
      • tcplog per TCP syslog
      • syslog per syslog RFC 3164/5424
    • 0.0.0.0: Indirizzo IP su cui ascoltare:
      • 0.0.0.0 per ascoltare su tutte le interfacce (consigliato)
      • Indirizzo IP specifico da ascoltare su un'interfaccia
    • 514: numero di porta su cui ascoltare (ad esempio, 514, 1514, 6514)
  • Configurazione dell'esportatore:

    • <customer_id>: l'ID cliente del passaggio precedente
    • malachiteingestion-pa.googleapis.com: URL 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.
    • Modifica creds_file_path a seconda della piattaforma:
      • Linux: /etc/bindplane-agent/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json

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 individuare eventuali 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 individuare eventuali errori:

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

Configurare l'inoltro di syslog di LogonBox

  1. Accedi alla console di amministrazione di LogonBox come amministratore.
  2. Vai a Report > Log di controllo.
  3. Configura le impostazioni di esportazione di syslog:
    • Server Syslog: inserisci l'indirizzo IP dell'host dell'agente Bindplane (ad esempio, 192.168.1.100).
    • Porta: inserisci 514 (deve corrispondere alla porta del ricevitore Bindplane).
    • Protocollo: seleziona UDP (deve corrispondere al tipo di ricevitore Bindplane).
  4. Seleziona le categorie di eventi da inoltrare (ad esempio, reimpostazioni della password, verifiche dell'identità, gestione di utenti e gruppi).
  5. Fai clic su Salva.

Tabella di mappatura UDM

Campo log Mappatura UDM Logic
additional.fields Unito da attr_associatedPrincipals_label, sAMAccountName_label, attr_local_label, msDS-PrincipalName_label, attr_realmType_label, attr_selfCreated_label, attr_administrative_label in base alle condizioni
attr_principalDesc, desc metadata.description Valore di attr_principalDesc se product_event_type corrisponde a changePassword|SessionService, altrimenti di attr_principalDesc se non è vuoto, altrimenti di desc
event_type metadata.event_type Valore copiato direttamente da event_type dopo che la logica condizionale lo ha impostato in base a product_event_type e ai flag di presenza
product_event_type metadata.product_event_type Valore copiato direttamente
metadata.product_name Impostato su "LogonBox"
metadata.vendor_name Impostato su "LOGONBOX"
network.application_protocol Impostato su "DNS" se product_event_type corrisponde a AnswerService e le condizioni sono soddisfatte
dns_answer network.dns.answers Unito da dns_answer
dns_question network.dns.questions Unito da dns_question
attr_userAgent, attr_userAgentVersion network.http.parsed_user_agent Concatenato da attr_userAgent e attr_userAgentVersion se entrambi presenti, altrimenti da attr_userAgent, poi convertito in parseduseragent e rinominato
attr_userAgent, attr_userAgentVersion network.http.user_agent Concatenato da attr_userAgent e attr_userAgentVersion se entrambi presenti, altrimenti da attr_userAgent
nome host principal.asset.hostname Valore copiato direttamente
attr_ipAddress principal.asset.ip Valore copiato direttamente
nome host principal.hostname Valore copiato direttamente
attr_ipAddress principal.ip Valore copiato direttamente
attr_os principal.platform In maiuscolo e impostato se corrisponde a (?i)LINUX|MAC|WINDOWS
attr_osVersion principal.platform_version Valore copiato direttamente se non corrisponde a (?i)unknown
attr_principalRealm_label, attr_unassignedRoles_label, attr_assignedRoles_label, attr_oldResourceName_label, attr_roles_label, attr_resumedPrincipalName_label, attr_resumedPrincipalRealm_label, attr_resumedPrincipal_label, attr_module_label, reconcile_map_label, users_map_label, groups_map_label, createUser_map_label, user_map_label, mobile_map_label principal.resource.attribute.labels Uniti da varie etichette create da attr_principalRealm, attr_unassignedRoles, attr_assignedRoles, attr_oldResourceName, attr_roles, attr_resumedPrincipalName, attr_resumedPrincipalRealm, attr_resumedPrincipal, attr_module e mappe da riconciliazione, utenti, gruppi, createUser, user, mobile in base alle condizioni
attr_resourceName principal.resource.name Valore copiato direttamente
attr_resourceId principal.resource.product_object_id Valore copiato direttamente
posta principal.user.email_addresses Unito se l'email è valida
ImmutableID, attr_uuid principal.user.product_object_id Valore di ImmutableID se product_event_type corrisponde a changePassword|userUpdated|userCreated|setPassword|answer|accountUnlockNoSuspension, altrimenti da attr_uuid
attr_scheme principal.user.role_name Valore copiato direttamente
attr_principalDesc principal.user.user_display_name Valore copiato direttamente se product_event_type corrisponde a changePassword|SessionService
attr_principalName principal.user.userid Valore copiato direttamente
authy_code_length_label, authy_window_length_label, authy_step_size_label, msauthenticator_code_length_label, msauthenticator_window_length_label, msauthenticator_step_size_label, googleUser_code_length_label, googleUser_window_length_label, googleUser_step_size_label security_result.detection_fields Unite dalle etichette create da authy.code.length, authy.window.length, authy.step.size, msauthenticator.code.length, msauthenticator.window.length, msauthenticator.step.size, googleUser.code.length, googleUser.window.length, googleUser.step.size, se presenti
cn target.resource.attribute.labels Unito da full_name_label creato da cn e attr_disabledRealm_label da attr_disabledRealm
attr_lastModified target.resource.attribute.last_update_time Data analizzata da attr_lastModified utilizzando ISO8601 o d MMM aaaa HH:mm:ss
attr_created target.resource.attribute.creation_time Data analizzata da attr_created utilizzando ISO8601 o d MMM aaaa HH:mm:ss
givenName target.user.first_name Valore copiato direttamente
ou target.user.group_identifiers Unito dall'unità organizzativa se product_event_type corrisponde a userUpdated|userCreated|changePassword|setPassword|answer|accountUnlockNoSuspension
sn target.user.last_name Valore copiato direttamente
attr_uuid, attr_disabledPrincipal target.user.product_object_id Valore di attr_uuid se product_event_type corrisponde a userUpdated|userCreated|changePassword|setPassword|answer|accountUnlockNoSuspension o groupCreated|groupUpdated o attr_group o group, altrimenti di attr_disabledPrincipal se accountDisabled
displayName, description target.user.user_display_name Valore di displayName se non è vuoto, altrimenti di description se product_event_type corrisponde a userUpdated|userCreated|changePassword|setPassword|answer|accountUnlockNoSuspension
userPrincipalName, attr_user, attr_associatedPrincipals, attr_disabledPrincipalName target.user.userid Valore di userPrincipalName se product_event_type corrisponde a userUpdated|userCreated|changePassword|setPassword|answer|accountUnlockNoSuspension, altrimenti attr_user se non impostato, altrimenti attr_associatedPrincipals se groupCreated|groupUpdated o attr_group, altrimenti attr_user se gruppo, altrimenti attr_disabledPrincipalName se accountDisabled
attr_group target.group.group_display_name Valore copiato direttamente se product_event_type corrisponde a groupCreated|groupUpdated o se è presente attr_group
attr_uuid target.group.product_object_id Valore copiato direttamente se product_event_type corrisponde a groupCreated|groupUpdated o se è presente attr_group

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