Gestione dei lavori Logpush
IBM Cloud® Internet Services I piani di livello Enterprise hanno accesso a registri dettagliati delle richieste HTTP, DNS e Range, nonché agli eventi firewall relativi ai propri domini. Questi log sono utili per il debug e l'analisi, soprattutto se combinati con altre origini dati, come i log in ingresso o del server delle applicazioni all'origine.
Prima di iniziare
Prima di creare un processo Logpush utilizzando la console, controlla le seguenti informazioni e assicurati di soddisfare tutti i prerequisiti:
-
Attualmente, la console CIS supporta le seguenti destinazioni:
- Log IBM Cloud
- Cloud Object Storage
- IBM QRadar
- Splunk
-
Assicurarsi di abilitare la conservazione dei registri prima di utilizzare Logpush.
-
Se la destinazione non è esplicitamente supportata da CIS, potrebbe essere comunque accessibile da Logpush con una destinazione personalizzata di HTTP. Questo include i server di log personalizzati di HTTP.
Per evitare errori, assicurarsi che la destinazione possa accettare il caricamento di un file gzippato denominato
test.txt.gz, contenente il contenuto compresso{"content":"tests"}. -
Solo per Splunk: Quando si inviano i log a QRadar o Splunk, CIS verifica l'accessibilità dell'indirizzo IP e della porta e convalida il certificato del ricevitore HTTP. Se tutti i parametri sono validi, il lavoro Logpush viene creato e inizia a inviare gli eventi alla sorgente di registro HTTP Receiver ( QRadar ) o al raccoglitore di eventi HTTP ( Splunk ).
Creazione di un lavoro Logpush nella console
Per creare un lavoro Logpush nella console, procedere come segue:
-
Nella console CIS, spostarsi su Account > Registri, quindi fare clic su Crea.
-
Selezionare e configurare i tipi di servizio di destinazione tra le opzioni disponibili:
- Log IBM Cloud
-
-
Selezionare IBM Cloud Logs dalle opzioni del tipo di servizio.
-
Fai clic su Next.
-
Inserisci l'ID dell'istanza.
-
Selezionare la regione dell'istanza.
-
Inserisci la chiave API.
È necessaria una chiave API per l'account in cui è impostata l'istanza di IBM Cloud Logs. È possibile utilizzare una chiave API utente o una chiave API ID servizio. Questa chiave viene utilizzata per generare un token portatore per il lavoro Logpush. La chiave API può essere ruotata utilizzando l'API Update a Logpush job.
Per un servizio IBM Cloud Logs, all'utente o all'ID del servizio deve essere concesso il ruolo IAM Sender.
-
Fai clic su Next.
-
- Cloud Object Storage
-
-
Selezionare Cloud Object Storage tra le opzioni del tipo di servizio.
-
Fai clic su Next.
-
Inserire l'ID dell'istanza Cloud Object Storage, il nome del bucket, la regione del bucket, il percorso del bucket (opzionale) e la chiave API.
Opzionale: Attivare l'opzione Organizza i registri in cartelle giornaliere.
I valori di destinazione per Cloud Object Storage devono essere unici. Utilizza un percorso unico per i bucket per evitare conflitti.
È necessaria una chiave API per l'account in cui è stata configurata l'istanza Cloud Object Storage. È possibile utilizzare una chiave API utente o una chiave API ID servizio. Questa chiave viene utilizzata per generare un token portatore per il lavoro Logpush. La chiave API può essere ruotata utilizzando l'API Update a Logpush job.
Per un servizio Cloud Object Storage, all'utente o all'ID del servizio deve essere concesso il ruolo Object Writer IAM per il bucket.
-
Fai clic su Next.
-
- IBM QRadar
-
- Selezionare il tipo di servizio IBM QRadar tra le opzioni del tipo di servizio.
- Fai clic su Next.
- Immettere QRadar URL e selezionare la porta di origine del registro.
- Fai clic su Next.
- Splunk
-
-
Selezionare Splunk tra le opzioni del tipo di servizio.
-
Fai clic su Next.
-
Immettere il raccoglitore di eventi Splunk raw HTTP URL, l'ID canale e il token di autenticazione.
È possibile scegliere di utilizzare una verifica non sicura, ma non è consigliabile.
-
Fai clic su Next.
-
-
Esaminare le configurazioni del lavoro di logpush:
-
Verificare che i dettagli di Logpush siano corretti.
-
Selezionare il formato del timestamp e le impostazioni di frequenza desiderate.
-
Scegliere se abilitare il lavoro Logpush spostando l'interruttore Abilitazione su On.
-
Selezionare i campi di log da includere nel lavoro Logpush.
È possibile utilizzare i selettori per Selezionare tutti i campi o Espandere tutti i campi. È anche possibile ripristinare le impostazioni predefinite.
-
Fare clic su Fine per creare il lavoro Logpush.
-
Il lavoro Logpush viene creato e inizia a inviare i log alla destinazione configurata.
Creazione di un lavoro Logpush dalla CLI
È possibile utilizzare la ibmcloud cis logpush-job-create CLI per creare un lavoro Logpush.
Per creare un lavoro Logpush per un dominio specifico e attivarlo, eseguire il seguente comando:
ibmcloud cis logpush-job-create DNS_DOMAIN_ID --destination PATH --name JOB_NAME --fields all --enable true
Dove:
-destination: Specifica il percorso della destinazione. I percorsi per le destinazioni supportate sono i seguenti:
| Log IBM Cloud |
|---|
ibmcl://<INSTANCE_ID>.ingress.<REGION>.logs.cloud.ibm.com/logs/v1/singles?ibm_api_key=<IBM_API_KEY>
Ad esempio: È necessaria una chiave API per l'account in cui è impostata l'istanza di IBM Cloud Logs. È possibile utilizzare una chiave API utente o una chiave API ID servizio. Questa chiave viene utilizzata per generare un token portatore per il lavoro Logpush. È possibile aggiornare la chiave API utilizzando l'API "Aggiorna un'attività Logpush ". Importante: all'utente o all'ID del servizio deve essere assegnato il ruolo IAM "Sender" nel servizio Logs di IBM Cloud. |
| Cloud Object Storage |
|---|
cos://<BUCKET_OBJECT_PATH>?region=<REGION>&instance-id=<IBM_ClOUD_OBJECT_STORAGE_INSTANCE_ID>&ibm_api_key=<IBM_API_KEY>
Ad esempio: |
| IBM QRadar |
|---|
<QRADAR_URL>:<LOG_SOURCE_PORT>
Ad esempio: |
| Splunk |
|---|
splunk://<SPLUNK_ENDPOINT_URL>?channel=<SPLUNK_CHANNEL_ID>&header_Authorization=<SPLUNK_AUTH_TOKEN>&sourcetype=<SOURCE_TYPE>&insecure-skip-verify=<INSECURE_SKIP_VERIFY>
Ad esempio: |
| Personalizzato HTTP |
|---|
https://<HOSTNAME>?header_Authorization=Basic%20REDACTED&tags=host:<DOMAIN_NAME>,dataset:<LOGPUSH_DATASET>
Ad esempio: |
--name: Indica il nome del processo Logpush.
--fields: Specifica l'elenco dei campi di log da includere nei file di log. Utilizza le virgole per separare più campi. Utilizza il comando ibmcloud cis logpush-available-fields DNS_DOMAIN_ID --dataset DATASET per ottenere un elenco completo dei campi di log disponibili, oppure utilizza all per includere tutti i campi disponibili nei file di log.
--enable: È l'opzione che consente di abilitare o disabilitare il processo Logpush. I valori validi sono true o false (impostazione predefinita).
Esempi di comando
Esempi di CLI per le destinazioni supportate:
- Log IBM Cloud
- Esempio
ibmcloud cis logpush-job-create 601b728b86e630c744c81740f72570c3 --destination "ibmcl://604a309c-585c-4a42-955d-76239ccc1905.ingress.us-south.logs.cloud.ibm.com/logs/v1/singles?ibm_api_key=xxxxxxxx" --name logpushJobGen --enable true --fields RayID --dataset http_requests --frequency high --instance 1a9174b6-0106-417a-844b-c8eb43a72f63 - Cloud Object Storage
- Esempio
```sh {: pre}
ibmcloud cis logpush-job-create 31984fea73a15b45779fa0df4ef62f9b --destination cos://cis-test-bucket/logs/{DATE}?region=us&instance-id=f75e6d90-4212-4026-851c-d572071146cd&ibm_api_key=XXX --name logpushcreate --enable true --fields all --timestamps rfc3339 --dataset http_requests --frequency low -i cis-demo --output JSON
```
- IBM QRadar
-
Esempio
ibmcloud cis logpush-job-create 31984fea73a15b45779fa0df4ef62f9b --destination https://qradar.example.com:8088 --name logpushJobQRadar --enable true --fields RayID --dataset http_requests --frequency high --instance 1a9174b6-0106-417a-844b-c8eb43a72f63 - Splunk
-
Esempio
ibmcloud cis logpush-job-create 601b728b86e630c744c81740f72570c3 --destination splunk://cis-analytics.ibm.com:8088/services/collector/raw?header_Authorization=Splunk%20e6d94e8c-5792-4ad1-be3c-29bcaee0197d&channel=f1aafa4f-684f-4c29-a040-7fe184b03712&sourcetype=cloudflare:json&insecure-skip-verify=false --name logpushJobSplunk --enable true --fields RayID --dataset http_requests --frequency high --instance 1a9174b6-0106-417a-844b-c8eb43a72f63 - Personalizzato HTTP
-
Esempio
ibmcloud cis logpush-job-create 601b728b86e630c744c81740f72570c3 --destination https://logs.example.com?header_Authorization=a64VuywesDu5Aq" --name logpushJobGen --enable true --fields RayID --dataset http_requests --frequency high --instance 1a9174b6-0106-417a-844b-c8eb43a72f63
Creazione di un lavoro Logpush con l'API
È possibile utilizzare l'API Crea un lavoro Logpush per creare un lavoro Logpush quando si utilizza IBM Cloud Logs, Cloud Object Storage, o Splunk.
Ottenere i campi di log disponibili per un set di dati con l'API
I campi del registro possono essere specificati nel sito logpull_options di un lavoro Logpush per personalizzare l'invio alla destinazione. Per ottenere i campi di log disponibili per un set di dati Logpush, procedere come segue:
- Configura il tuo ambiente API con le variabili corrette.
- Memorizza i seguenti valori nelle variabili da utilizzare nel comando API:
CRN: Il CRN completo codificato da URL dell'istanza di servizio.
ZONE_ID: L'ID del dominio.
DATASET: Il set di dati Logpush da ispezionare. Uno di http_requests, range_events, dns_logs, firewall_events.
-
Quando tutte le variabili sono state inizializzate, creare il lavoro Logpush:
curl -X GET https://api.cis.cloud.ibm.com/v2/$CRN/zones/$ZONE_ID/logpush/datas/$DATASET/fields \ --header "Content-Type: application/json" \ --header "X-Auth-User-Token: Bearer $IAM_TOKEN"'
Creare un lavoro Logpush per inviare i log alla propria destinazione
Per creare un lavoro Logpush verso la destinazione ( IBM Cloud Logs, Cloud Object Storage o Splunk ), procedere come segue:
- Configura il tuo ambiente API con le variabili corrette.
- Memorizza i seguenti valori nelle variabili da utilizzare nel comando API:
CRN: Il nome completo della risorsa cloud (CRN) codificato da URL dell'istanza del servizio.
ZONE_ID: L'ID del dominio.
--request body: Informazioni per creare il corpo del lavoro Logpush ( logpush_job_DESTINATION_req ) dove DESTINATION è uno dei seguenti valori:
| Log IBM Cloud |
|---|
|
Importante: all'utente o all'ID del servizio deve essere assegnato il ruolo IAM "Sender" nel servizio Logs di IBM Cloud.
|
| Cloud Object Storage |
|---|
cos: Informazioni per identificare il bucket Object Storage in cui vengono spinti i dati. I campi dell'oggetto cos sono
Importante: il cliente o l'ID del servizio deve disporre del ruolo IAM "Object Writer " sul bucket " Object Storage ". |
| IBM QRadar |
|---|
qradar: Informazioni per identificare il ricevitore QRadar HTTP dove vengono inviati i dati. |
| Splunk |
|---|
|
|
| Personalizzato HTTP |
|---|
destination_conf: Informazioni per configurare la destinazione Custom- HTTP, dove vengono inviati i dati. Le intestazioni possono essere specificate per essere utilizzate da Logpush con parametri di query preceduti da header_ (ad esempio: header_Authorization=XXXX). |
name: Il nome del processo Logpush.
enabled: se il lavoro è abilitato. O true o false.
logpull_options: La stringa di configurazione. Ad esempio, fields=RayID,ZoneID×tamps=rfc3339.
dataset: il set di dati estratto. Uno di http_requests, dns_logs, range_events, firewall_events.
frequency: La frequenza con cui CIS invia i batch di log alla destinazione specificata. O high o low.
-
Quando tutte le variabili sono state inizializzate, creare il lavoro Logpush:
- Log IBM Cloud
-
curl -X POST https://api.cis.cloud.ibm.com/v2/$CRN/zones/$ZONE_ID/logpush/jobs \ --header "Content-Type: application/json" \ --header "X-Auth-User-Token: Bearer $IAM_TOKEN" \ --data '{ "ibmcl": { "instance_id": "f8k3309c-585c-4a42-955d-76239cccf8k3", "region": "us-south", "api_key": "f8k3NQI22dPwNVCcmS62YFL1tm9vaehY6C9jxdtnf8k3" }, "ibmcl_names": { "application_name": "cis-edge-logs", "subsystem_name": "stage-firewall-logs" } "dataset": "http_requests", "enabled": true, "logpull_options": "fields=RayID,ZoneID×tamps=rfc3339", "name": "CIS-Edge-Requests", "frequency": "low" }'
{: pre} Cloud Object Storage : ```sh curl -X POST https://api.cis.cloud.ibm.com/v2/$CRN/zones/$ZONE_ID/logpush/jobs \ --header "Content-Type: application/json" \ --header "X-Auth-User-Token: Bearer $IAM_TOKEN" \ --data '{ "cos": { "bucket_name": "example_bucket", "path": "temp/", "id": "cos_instance_id", "region": "us-east" }, "dataset": "firewall_events", "enabled": false, "name": "CIS-Firewall-COS", "frequency": "low", "logpull_options": "fields=RayID,ZoneID×tamps=rfc3339", "ownership_challenge": "xxxxxxx" }'- IBM QRadar
-
curl -X POST https://api.cis.cloud.ibm.com/v2/$CRN/zones/$ZONE_ID/logpush/jobs \ --header "Content-Type: application/json" \ --header "X-Auth-User-Token: Bearer $IAM_TOKEN" \ --data '{ "qradar": { "url": "https://example.qradar.ibmcloud.com", "port": 8088 }, "dataset": "firewall_events", "enabled": false, "name": "CIS-Firewall-QRadar", "frequency": "low", "logpull_options": "fields=RayID,CacheResponseBytes,CacheResponseStatus,CacheCacheStatus×tamps=rfc3339" }'
{: pre} Splunk : ```sh curl -X POST https://api.cis.cloud.ibm.com/v2/$CRN/zones/$ZONE_ID/logpush/jobs \ --header "Content-Type: application/json" \ --header "X-Auth-User-Token: Bearer $IAM_TOKEN" \ --data '{ "splunk": { "endpoint_url": "example.splunkcloud.com:8088/services/collector/raw", "channel_id": "def3c136-7a01-4655-b17f-8e25a780ef2c", "skip_verify": false, "source_type": "cloudflare:json", "auth_token": "Splunk fake3585-0f38-4d62-8b43-c4b78584fake" }, "dataset": "http_requests", "enabled": true, "name": "CIS-Splunk-Logpush", "frequency": "high", "logpull_options": "fields=RayID,CacheResponseBytes,CacheResponseStatus,CacheCacheStatus×tamps=rfc3339" }'- Personalizzato HTTP
-
curl -X POST https://api.cis.cloud.ibm.com/v2/$CRN/zones/$ZONE_ID/logpush/jobs \ --header "Content-Type: application/json" \ --header "X-Auth-User-Token: Bearer $IAM_TOKEN" \ --data '{ "destination_conf": "https://logs.example.com?header_Authorization=a64VuywesDu5Aq", "dataset": "http_requests", "enabled": true, "name": "CIS-Custom-Logpush", "frequency": "high", "logpull_options": "fields=RayID,CacheResponseBytes,CacheResponseStatus,CacheCacheStatus×tamps=rfc3339" }'
{: pre}