Raccogliere i log MySQL

Supportato in:

Questo documento spiega come importare i log MySQL in Google Security Operations utilizzando l'agente Bindplane.

MySQL è un sistema di gestione di database relazionali che genera messaggi syslog per eventi di autenticazione, esecuzione di query, operazioni di database e voci di audit trail. Il parser estrae i campi dai log di controllo formattati in syslog e li mappa al modello UDM (Unified Data Model).

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 MySQL
  • Se l'agente viene eseguito dietro un proxy, assicurati che le porte del firewall siano aperte in base ai requisiti dell'agente Bindplane.
  • Accesso SSH all'host MySQL con privilegi root o sudo

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.
  4. Salva il file in modo sicuro sul sistema in cui verrà installato l'agente 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 nano /opt/observiq-otel-collector/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/mysql:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: MYSQL
            raw_log_field: body
    
    service:
        pipelines:
            logs/mysql_to_chronicle:
                receivers:
                    - udplog
                exporters:
                    - chronicle/mysql
    

Parametri di configurazione

Sostituisci i seguenti segnaposto:

  • Configurazione del ricevitore:

    • listen_address: Indirizzo IP e porta da ascoltare:
      • 0.0.0.0 per ascoltare su tutte le interfacce (consigliato)
      • La porta 514 è la porta syslog standard (richiede l'accesso root su Linux; utilizza 1514 per l'accesso non root)
  • Configurazione dell'esportatore:

    • 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
    • customer_id: ID cliente copiato dalla console Google SecOps
    • endpoint: 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.

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, esegui questo comando:

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

      sudo systemctl status observiq-otel-collector
      
    2. Controlla i log per individuare eventuali errori:

      sudo journalctl -u observiq-otel-collector -f
      
  • Per riavviare l'agente Bindplane in Windows, scegli una delle seguenti opzioni:

    • Prompt dei comandi o PowerShell come amministratore:

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • Console Services:

      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.
      4. Verifica che il servizio sia in esecuzione:

        sc query observiq-otel-collector
        
      5. Controlla i log per individuare eventuali errori:

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

Configura syslog in MySQL

  1. Accedi all'host MySQL utilizzando SSH.
  2. Connettiti al database MySQL:

    mysql -u root -p
    
  3. Verifica il plug-in di controllo server_audit.so:

    show variables like 'plugin_dir';
    
  4. Se il plug-in non viene trovato, installalo:

    install plugin server_audit soname 'server_audit.so';
    
  5. Verifica che il plug-in sia installato e attivato:

    show plugins;
    
  6. Modifica il file /etc/my.cnf e attiva le seguenti impostazioni di controllo:

    server_audit_events='CONNECT,QUERY,TABLE'
    server_audit_file_path=server_audit.log
    server_audit_logging=ON
    server_audit_output_type=SYSLOG
    server_audit_syslog_facility=LOG_LOCAL6
    
  7. Verifica le variabili di controllo:

    show global variables like "server_audit%";
    
  8. Verifica che il controllo sia abilitato:

    Show global status like 'server_audit%';
    
  9. Modifica il file /etc/rsyslog.conf per attivare l'inoltro tramite UDP:

    *.* @@<bindplane-agent-ip>:<bindplane-agent-port>
    
    • Sostituisci <bindplane-agent-ip> e <bindplane-agent-port> con la configurazione dell'agente Bindplane.
  10. Riavvia il servizio MySQL:

    /etc/init.d/mysqld restart
    

Tabella di mappatura UDM

Campo log Mappatura UDM Logic
azione read_only_udm.metadata.event_type Se il valore è Created, FILE_CREATION, se il valore è Deleted, FILE_DELETION, altrimenti nessuna modifica.
database read_only_udm.target.resource.parent
db_hostname read_only_udm.target.hostname
db_user read_only_udm.target.user.userid
descrizione read_only_udm.security_result.description
error_details Si tratta di una variabile temporanea, ignorala
error_level read_only_udm.security_result.severity Se il valore è error, viene visualizzato ERROR, se il valore è warning, viene visualizzato MEDIUM, se il valore è note, viene visualizzato INFORMATIONAL, altrimenti non viene apportata alcuna modifica.
error_message read_only_udm.security_result.summary
file_path read_only_udm.target.file.full_path
file_size read_only_udm.target.file.size
nome host read_only_udm.principal.hostname
inner_message read_only_udm.security_result.description
riepilogo read_only_udm.metadata.product_event_type
tabella read_only_udm.target.resource.name
table_not_found Si tratta di una variabile temporanea, ignorala
timestamp read_only_udm.metadata.event_timestamp
read_only_udm.extensions.auth.type Valore statico - MACHINE
read_only_udm.metadata.event_type Valore statico: USER_LOGIN, GENERIC_EVENT, STATUS_UPDATE, FILE_CREATION, FILE_DELETION
read_only_udm.metadata.log_type Valore statico - MYSQL
read_only_udm.metadata.product_name Valore statico - MySQL
read_only_udm.metadata.vendor_name Valore statico - Oracle Corporation
read_only_udm.security_result.action Valore statico - BLOCK
read_only_udm.target.resource.resource_type Valore statico - DATABASE, TABLE

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