Raccogliere i log CA ACF2

Supportato in:

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

Broadcom ACF2 (Access Control Facility 2) per z/OS è un prodotto di sicurezza mainframe che fornisce controllo dell'accesso, autenticazione e controllo per i sistemi IBM z/OS. ACF2 registra gli eventi di sicurezza nei record IBM System Management Facility (SMF) (tipo 230 predefinito), inclusi tentativi di autenticazione, violazioni dell'accesso al set di dati, eventi di accesso alle risorse, registrazione dei comandi TSO e modifiche al database. Questi record SMF devono essere inoltrati a Chronicle utilizzando un agente di terze parti come BMC AMI Defender for z/OS.

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 l'agente BMC AMI Defender for z/OS
  • Se l'agente viene eseguito dietro un proxy, assicurati che le porte del firewall siano aperte in base ai requisiti dell'agente Bindplane
  • BMC AMI Defender for z/OS installato ed eseguito sulla partizione logica z/OS in cui è attivo ACF2
  • Accesso per modificare i file dei parametri BMC AMI Defender nel set di dati amihlq.CZAGENT.PARM
  • Autorizzazione per avviare o modificare l'attività avviata CZAGENT su z/OS

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 di 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

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

    receivers:
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/acf2_logs:
        compression: gzip
        creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
        customer_id: 'YOUR_CUSTOMER_ID'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: CA_ACF2
        raw_log_field: body
        ingestion_labels:
          env: production
          source: acf2
    
    service:
      pipelines:
        logs/acf2_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/acf2_logs
    
  2. Sostituisci i seguenti segnaposto:

    • Configurazione del ricevitore:

      • listen_address: impostalo su 0.0.0.0:514 per ascoltare tutte le interfacce sulla porta UDP 514

        • Per i sistemi Linux in esecuzione come non root, utilizza la porta 1514 o superiore
        • Abbina questa porta alla configurazione dell'istruzione BMC AMI Defender SERVER
    • 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: sostituisci YOUR_CUSTOMER_ID con il tuo customer ID. Per maggiori dettagli, vedi Recuperare l'ID cliente 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 l'elenco completo, vedi Endpoint regionali.
      • log_type: impostato su CA_ACF2 (etichetta di importazione di Chronicle per i log ACF2)

      • ingestion_labels: etichette facoltative per classificare i log (personalizza in base alle esigenze)

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 BMC AMI Defender for z/OS per inoltrare i record SMF ACF2

Modifica il membro $$$SERVR parameter member

  1. Sign in to the z/OS system using TSO/ISPF or a 3270 emulator.
  2. Navigate to the BMC AMI Defender parameter library:
    1. Enter ISPF at the TSO READY prompt.
    2. Select option 2 (Edit).
    3. In the ISPF Library field, enter the data set name: amihlq.CZAGENT.PARM (replace amihlq with your installation high-level qualifier).
    4. Press Enter.
  3. Edit the $$$SERVR:
    1. Digita E accanto al membro del parametro $$$SERVR member.
    2. Press Enter.
  4. Locate the SERVER statement section (approximately line 40-60).
  5. Uncomment one of the SERVER statements by removing the leading semicolon (;).
  6. Configure the SERVER statement with the Bindplane agent IP address and port:

    SERVER bindplane-host-ip:514 TRANS(UDP) MAXMSG(2000)
    
    • Replace bindplane-host-ip with the IP address of the Bindplane agent host (for example, 192.168.1.100).
    • If using a non-standard port (for example, 1514), specify: bindplane-host-ip:1514.
    • TRANS(UDP) specifies UDP transport protocol (recommended for syslog).
    • MAXMSG(2000) sets the maximum message length to 2000 bytes (ACF2 records may require larger sizes).
  7. Verify the OPTIONS statement for syslog format:

    1. Scroll up to locate the OPTIONS statements (approximately line 10-30).
    2. Ensure one of the following OPTIONS statements is uncommented based on your preferred format:

      OPTIONS IF(RFC3164) SIEM(RFC3164) TIMESTAMP INSTNAME(SIEM.Agent)
      
      • RFC3164: Standard syslog format (recommended for Chronicle)
      • CEF: Common Event Format (alternative)
      • LEEF: Log Event Extended Format (alternative)
      • JSON: JSON format (alternative)
  8. Save the changes:

    1. Press F3 to exit the editor.
    2. Type SAVE when prompted.
    3. Press Enter.

Edit the $$$CONFG per abilitare la raccolta dei record SMF ACF2

  1. Nell'elenco dei membri del set di dati amihlq.CZAGENT.PARM, modifica il membro $$$CONFG member:

    1. Type E next to the $$$CONFG.

    2. Premi Invio.
  2. Individua l'opzione di selezione dei record SMF ACF2 (cerca ACF2 o SMF 230).

  3. Rimuovi il commento dall'istruzione SELECT per ACF2:

    SELECT IF(ACF2) SMF(ACF2)
    
    • Consente la raccolta dei record SMF ACF2 (tipo 230 predefinito).
    • Se il tuo sito utilizza un tipo di record SMF diverso per ACF2, verifica il tipo con il comando: ACF SHOW SYSTEMS in TSO.
  4. Salva le modifiche:

    1. Premi F3 per uscire dall'editor.
    2. Digita SAVE quando richiesto.
    3. Premi Invio.
  5. Crea o modifica il membro del parametro dell'istruzione SMF ACF2

    1. Nell'elenco dei membri del set di dati amihlq.CZAGENT.PARM, controlla se è presente un membro denominato $$$ACF2 or SMFACF2 exists.
    2. If the member does not exist, create it:

      1. Type C (Create) on the command line.
      2. Enter the member name: $$$ACF2.
      3. Premi Invio.
    3. Modifica il membro e aggiungi la seguente istruzione SMF ACF2:

      SMF ACF2(230) FACILITY(SECURITY4) SEVERITY(INFORMATIONAL)
      
      • ACF2(230): specifica il tipo di record SMF per ACF2 (il valore predefinito è 230; verifica con ACF SHOW SYSTEMS).
      • FACILITY(SECURITY4): imposta la funzionalità syslog su Security (4).
      • SEVERITY(INFORMATIONAL): imposta la gravità predefinita su Informativa.

        • Le violazioni della password o dell'autorità non valide vengono inviate automaticamente con gravità ERRORE.
        • Le violazioni delle risorse vengono inviate automaticamente con gravità ERROR.
    4. (Facoltativo) Configura gravità e sottotipi ACF2 specifici:

      SMF ACF2(230) +
        FACILITY(SECURITY4) +
        SEVERITY(INFORMATIONAL) +
        SUBTYPES(P SEV(ERROR)) +
        SUBTYPES(V SEV(ERROR)) +
        SUBTYPES(D SEV(ERROR))
      
      • Tipo secondario P: eventi di password o autorità non validi (gravità ERRORE)
      • Sottotipo V: violazioni delle risorse (gravità ERRORE)
      • Sottotipo D: violazioni dell'accesso al set di dati (gravità ERRORE)
    5. Salva le modifiche:

      1. Premi F3 per uscire dall'editor.
      2. Digita SAVE quando richiesto.
      3. Premi Invio.
    6. Aggiorna il file dei parametri BMC AMI Defender

      1. Esci da ISPF e torna al prompt TSO READY.
      2. Esegui il comando MODIFY per ricaricare il file dei parametri:

        F CZAGENT,PARMS
        
        • Sostituisci CZAGENT con il nome dell'attività avviata di BMC AMI Defender, se diverso.
        • Questo comando ricarica il file dei parametri senza arrestare l'agente.
      3. Verifica la configurazione controllando l'output di CZAPRINT:

        1. In ISPF, seleziona l'opzione 3.4 (DSLIST).
        2. Inserisci il pattern del nome del set di dati: CZAGENT.CZAPRINT (o la convenzione di denominazione specifica del tuo sito).
        3. Premi Invio.
        4. Digita B (Sfoglia) accanto al set di dati CZAPRINT più recente.
        5. Premi Invio.
        6. Cerca messaggi che indicano la connessione riuscita al server syslog:

          • CZA0070I Connected to server bindplane-host-ip:514
          • CZA0100I SMF ACF2 statement processed
      4. Se l'attività avviata CZAGENT non è in esecuzione, avviala:

        S CZAGENT
        

      Verificare l'inoltro dei log ACF2

      1. Genera eventi di sicurezza ACF2 di test:

        1. In TSO, tenta di accedere a un set di dati per il quale non disponi dell'autorizzazione.
        2. Tentativo di accesso con una password non valida (utilizza un account di test).
        3. Esegui un comando TSO registrato da ACF2.
      2. Controlla i log dell'agente Bindplane per verificare la ricezione dei messaggi syslog ACF2:

        • Linux:

          sudo journalctl -u observiq-otel-collector -f | grep ACF2
          
        • Windows:

          type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log" | findstr ACF2
          
      3. Accedi alla console Google SecOps e verifica che i log ACF2 vengano importati:

        1. Vai a Ricerca > Ricerca UDM.
        2. Inserisci la seguente query:

          metadata.log_type = "CA_ACF2"
          
        3. Verifica che gli eventi di sicurezza ACF2 vengano visualizzati nei risultati di ricerca.

      Tabella di mappatura UDM

      Campo log Mappatura UDM Logic
      extensions.auth.mechanism Il meccanismo di autenticazione utilizzato.
      extensions.auth.type Il tipo di autenticazione.
      somma metadata.description Una descrizione dell'evento.
      metadata.event_type Il tipo di evento.
      event_type, cat metadata.product_event_type Il tipo di evento specifico del prodotto.
      product_version metadata.product_version La versione del prodotto.
      terminale principal.hostname Il nome host associato all'entità.
      nome principal.user.user_display_name Il nome visualizzato dell'utente.
      usrName principal.user.userid L'ID utente.
      security_result.action L'azione intrapresa dal sistema di sicurezza.
      security_result.category La categoria del risultato di sicurezza.
      classe security_result.category_details Ulteriori dettagli sulla categoria dei risultati di sicurezza.
      motivo security_result.severity Il livello di gravità del risultato di sicurezza.
      motivo security_result.severity_details Informazioni dettagliate sulla gravità.
      logstr security_result.summary Un riepilogo del risultato di sicurezza.
      job_id target.application L'applicazione di destinazione.
      job_group target.group.group_display_name Il nome visualizzato del gruppo.
      target.namespace Lo spazio dei nomi del target.
      dsn target.resource.name Nome della risorsa.
      vol target.resource.parent La risorsa padre.
      res, dsn target.resource.product_object_id L'identificatore dell'oggetto specifico del prodotto.
      target.resource.resource_type Il tipo di risorsa.
      nome target.user.user_display_name Il nome visualizzato dell'utente di destinazione.
      usrName target.user.userid L'ID utente dell'utente di destinazione.
      product_name metadata.product_name Il nome del prodotto che genera l'evento.
      vendor_name metadata.vendor_name Il nome del fornitore.

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