Raccogliere i log CA ACF2
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
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Agenti di raccolta.
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
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Profilo.
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
- Apri Prompt dei comandi o PowerShell come amministratore.
Esegui questo comando:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quietAttendi il completamento dell'installazione.
Verifica l'installazione eseguendo il comando:
sc query observiq-otel-collectorIl servizio dovrebbe essere visualizzato come IN ESECUZIONE.
Installazione di Linux
- Apri un terminale con privilegi di root o sudo.
Esegui questo comando:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.shAttendi il completamento dell'installazione.
Verifica l'installazione eseguendo il comando:
sudo systemctl status observiq-otel-collectorIl 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.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
Modifica il file di configurazione
Sostituisci l'intero contenuto di
config.yamlcon 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_logsSostituisci i seguenti segnaposto:
Configurazione del ricevitore:
listen_address: impostalo su0.0.0.0:514per ascoltare tutte le interfacce sulla porta UDP 514- Per i sistemi Linux in esecuzione come non root, utilizza la porta
1514o superiore - Abbina questa porta alla configurazione dell'istruzione BMC AMI Defender SERVER
- Per i sistemi Linux in esecuzione come non root, utilizza la porta
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
- Linux:
customer_id: sostituisciYOUR_CUSTOMER_IDcon il tuocustomer 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.
- Stati Uniti:
log_type: impostato suCA_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, poiEntere infineCtrl+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-collectorVerifica che il servizio sia in esecuzione:
sudo systemctl status observiq-otel-collectorControlla 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-collectorConsole dei servizi:
- Premi
Win+R, digitaservices.msce premi Invio. - Individua observIQ OpenTelemetry Collector.
- Fai clic con il tasto destro del mouse e seleziona Riavvia.
- Premi
Verifica che il servizio sia in esecuzione:
sc query observiq-otel-collectorControlla 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
- Sign in to the z/OS system using TSO/ISPF or a 3270 emulator.
- Navigate to the BMC AMI Defender parameter library:
- Enter
ISPFat the TSO READY prompt. - Select option 2 (Edit).
- In the ISPF Library field, enter the data set name:
amihlq.CZAGENT.PARM(replaceamihlqwith your installation high-level qualifier). - Press Enter.
- Enter
- Edit the $$$SERVR:
- Digita
Eaccanto al membro del parametro $$$SERVR member. - Press Enter.
- Digita
- Locate the SERVER statement section (approximately line 40-60).
- Uncomment one of the SERVER statements by removing the leading semicolon (
;). Configure the SERVER statement with the Bindplane agent IP address and port:
SERVER bindplane-host-ip:514 TRANS(UDP) MAXMSG(2000)- Replace
bindplane-host-ipwith 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).
- Replace
Verify the OPTIONS statement for syslog format:
- Scroll up to locate the OPTIONS statements (approximately line 10-30).
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)
Save the changes:
- Press F3 to exit the editor.
- Type
SAVEwhen prompted. - Press Enter.
Edit the $$$CONFG per abilitare la raccolta dei record SMF ACF2
Nell'elenco dei membri del set di dati
amihlq.CZAGENT.PARM, modifica il membro $$$CONFG member:- Type
Enext to the $$$CONFG. - Premi Invio.
- Type
Individua l'opzione di selezione dei record SMF ACF2 (cerca
ACF2oSMF 230).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 SYSTEMSin TSO.
Salva le modifiche:
- Premi F3 per uscire dall'editor.
- Digita
SAVEquando richiesto. - Premi Invio.
- Nell'elenco dei membri del set di dati
amihlq.CZAGENT.PARM, controlla se è presente un membro denominato $$$ACF2 or SMFACF2 exists. If the member does not exist, create it:
- Type
C(Create) on the command line. - Enter the member name:
$$$ACF2.
- Type
Crea o modifica il membro del parametro dell'istruzione SMF ACF2
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 conACF 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.
(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)
Salva le modifiche:
- Premi F3 per uscire dall'editor.
- Digita
SAVEquando richiesto. - Premi Invio.
Aggiorna il file dei parametri BMC AMI Defender
- Esci da ISPF e torna al prompt TSO READY.
Esegui il comando MODIFY per ricaricare il file dei parametri:
F CZAGENT,PARMS- Sostituisci
CZAGENTcon il nome dell'attività avviata di BMC AMI Defender, se diverso. - Questo comando ricarica il file dei parametri senza arrestare l'agente.
- Sostituisci
Verifica la configurazione controllando l'output di CZAPRINT:
- In ISPF, seleziona l'opzione 3.4 (DSLIST).
- Inserisci il pattern del nome del set di dati:
CZAGENT.CZAPRINT(o la convenzione di denominazione specifica del tuo sito). - Premi Invio.
- Digita
B(Sfoglia) accanto al set di dati CZAPRINT più recente. - Premi Invio.
Cerca messaggi che indicano la connessione riuscita al server syslog:
CZA0070I Connected to server bindplane-host-ip:514CZA0100I SMF ACF2 statement processed
Se l'attività avviata CZAGENT non è in esecuzione, avviala:
S CZAGENT
Verificare l'inoltro dei log ACF2
Genera eventi di sicurezza ACF2 di test:
- In TSO, tenta di accedere a un set di dati per il quale non disponi dell'autorizzazione.
- Tentativo di accesso con una password non valida (utilizza un account di test).
- Esegui un comando TSO registrato da ACF2.
Controlla i log dell'agente Bindplane per verificare la ricezione dei messaggi syslog ACF2:
Linux:
sudo journalctl -u observiq-otel-collector -f | grep ACF2Windows:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log" | findstr ACF2
Accedi alla console Google SecOps e verifica che i log ACF2 vengano importati:
- Vai a Ricerca > Ricerca UDM.
Inserisci la seguente query:
metadata.log_type = "CA_ACF2"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.