Gestión de las tareas de Logpush
IBM Cloud® Internet Services Los planes de nivel empresarial tienen acceso a registros detallados de las solicitudes de HTTP, DNS y Range, así como a los eventos del cortafuegos correspondientes a sus dominios. Estos registros son útiles para la depuración y la analítica, especialmente cuando se combinan con otros orígenes de datos, como por ejemplo los registros de entrada o de servidor de aplicaciones en el origen.
Antes de empezar
Antes de crear un trabajo de Logpush mediante la consola, revise la siguiente información y cumpla con los requisitos previos:
-
Actualmente, la consola CIS admite los siguientes destinos:
- Registros de IBM Cloud
- Cloud Object Storage
- IBM QRadar
- Splunk
-
Asegúrese de habilitar la retención de registros antes de utilizar Logpush.
-
Si su destino no está explícitamente soportado por CIS, aún podría ser accesible por Logpush con un destino personalizado de HTTP. Esto incluye sus propios servidores de registro personalizados HTTP.
Para evitar errores, asegúrese de que el destino puede aceptar la carga de un archivo comprimido con gzip cuyo nombre sea
test.txt.gz, que contenga el contenido comprimido{"content":"tests"}. -
Sólo para Splunk: Al enviar registros a QRadar o Splunk, CIS comprueba la accesibilidad de la dirección IP y el puerto y valida el certificado del receptor HTTP. Si todos los parámetros son válidos, se crea la tarea Logpush y comienza a enviar eventos a la fuente de registro HTTP Receiver ( QRadar ) o al recopilador de eventos HTTP ( Splunk ).
Creación de una tarea Logpush en la consola
Para crear una tarea Logpush en la consola, siga estos pasos:
-
En la consola CIS, vaya a Cuenta > Registros y, a continuación, haga clic en Crear.
-
Seleccione y configure los tipos de servicio de destino entre las opciones disponibles:
- Registros de IBM Cloud
-
-
Seleccione IBM Cloud Logs en las opciones de tipo de servicio.
-
Pulse Siguiente.
-
Introduce el ID de la instancia.
-
Selecciona la región de la instancia.
-
Introduce la clave de API.
Se necesita una clave API para la cuenta en la que se ha configurado la instancia de IBM Cloud Logs. Puede utilizar una clave API de usuario o una clave API de ID de servicio. Esta clave se utiliza para generar un token al portador para el trabajo de Logpush. La clave API se puede rotar utilizando la API Actualizar un trabajo Logpush.
Para un servicio IBM Cloud Logs, el ID de usuario o servicio debe tener concedido el rol IAM Remitente.
-
Pulse Siguiente.
-
- Cloud Object Storage
-
-
Seleccione Cloud Object Storage entre las opciones de tipo de servicio.
-
Pulse Siguiente.
-
Introduzca el ID de instancia de Cloud Object Storage, el nombre del cubo, la región del cubo, la ruta del cubo (opcional) y la clave API.
Opcional: Activar Organizar registros en carpetas diarias.
Los valores de destino para Cloud Object Storage deben ser únicos. Utiliza una ruta de bucket única para evitar conflictos.
Se requiere una clave API para la cuenta en la que se ha configurado la instancia Cloud Object Storage. Puede utilizar una clave API de usuario o una clave API de ID de servicio. Esta clave se utiliza para generar un token al portador para el trabajo de Logpush. La clave API se puede rotar utilizando la API Actualizar un trabajo Logpush.
Para un servicio Cloud Object Storage, el ID de usuario o servicio debe tener concedido el rol IAM Object Writer para el bucket.
-
Pulse Siguiente.
-
- IBM QRadar
-
- Seleccione IBM QRadar de las opciones de tipo de servicio.
- Pulse Siguiente.
- Introduzca la dirección QRadar URL y, a continuación, seleccione el puerto de origen del registro.
- Pulse Siguiente.
- Splunk
-
-
Seleccione Splunk entre las opciones de tipo de servicio.
-
Pulse Siguiente.
-
Introduzca el recopilador de eventos Splunk raw HTTP URL, el ID de canal y el token de autenticación.
Puede optar por utilizar la verificación no segura; sin embargo, no se recomienda.
-
Pulse Siguiente.
-
-
Revise las configuraciones del trabajo logpush:
-
Comprueba que los datos de Logpush sean correctos.
-
Seleccione el formato de fecha y hora y la configuración de frecuencia.
-
Elija si desea habilitar el trabajo Logpush activando el interruptor de habilitación.
-
Selecciona los campos de registro que deseas incluir en la tarea de Logpush.
Puede utilizar los botones para Seleccionar todos los campos o Expandir todos los campos. También puedes volver a la configuración por defecto.
-
Haga clic en Hecho para crear su tarea Logpush.
-
Se crea la tarea Logpush y comienza a enviar registros al destino configurado.
Creación de un trabajo Logpush desde la CLI
Puede utilizar la ibmcloud cis logpush-job-create CLI para crear un trabajo de Logpush.
Para crear un trabajo de Logpush para un dominio específico y habilitar el trabajo, ejecute el siguiente mandato:
ibmcloud cis logpush-job-create DNS_DOMAIN_ID --destination PATH --name JOB_NAME --fields all --enable true
Donde:
-destination: Especifica la ruta de acceso al destino. Las rutas para los destinos admitidos son las siguientes:
| Registros de IBM Cloud |
|---|
ibmcl://<INSTANCE_ID>.ingress.<REGION>.logs.cloud.ibm.com/logs/v1/singles?ibm_api_key=<IBM_API_KEY>
Por ejemplo: Se requiere una clave API para la cuenta en la que está configurada la instancia IBM Cloud Logs. Puede utilizar una clave API de usuario o una clave API de ID de servicio. Esta clave se utiliza para generar un token al portador para el trabajo de Logpush. La clave API se puede renovar mediante la API «Actualizar una tarea de Logpush ». Importante: Se debe asignar al usuario o al identificador de servicio el rol IAM «Sender» en el servicio « IBM Cloud Logs». |
| Cloud Object Storage |
|---|
cos://<BUCKET_OBJECT_PATH>?region=<REGION>&instance-id=<IBM_ClOUD_OBJECT_STORAGE_INSTANCE_ID>&ibm_api_key=<IBM_API_KEY>
Por ejemplo: |
| IBM QRadar |
|---|
<QRADAR_URL>:<LOG_SOURCE_PORT>
Por ejemplo: |
| Splunk |
|---|
splunk://<SPLUNK_ENDPOINT_URL>?channel=<SPLUNK_CHANNEL_ID>&header_Authorization=<SPLUNK_AUTH_TOKEN>&sourcetype=<SOURCE_TYPE>&insecure-skip-verify=<INSECURE_SKIP_VERIFY>
Por ejemplo: |
| Personalizado HTTP |
|---|
https://<HOSTNAME>?header_Authorization=Basic%20REDACTED&tags=host:<DOMAIN_NAME>,dataset:<LOGPUSH_DATASET>
Por ejemplo: |
--name: Especifica el nombre de la tarea de Logpush.
--fields: Especifica la lista de campos de registro que se deben incluir en los archivos de registro. Utilice comas para separar varios campos. Utilice el comando ibmcloud cis logpush-available-fields DNS_DOMAIN_ID --dataset DATASET para obtener una lista completa de los campos de registro disponibles, o utilice all para incluir todos los campos disponibles en los archivos de registro.
--enable: Es el indicador que permite activar o desactivar la tarea de Logpush. Los valores válidos son true o false (valor predeterminado).
Ejemplos de mandato
Ejemplos de CLI para los destinos admitidos:
- Registros de IBM Cloud
- Ejemplo
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 :
Ejemplo
```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
-
Ejemplo
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
-
Ejemplo
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 - Personalizado HTTP
-
Ejemplo
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
Creación de una tarea Logpush con la API
Puede utilizar la API Crear un trabajo Logpush para crear un trabajo Logpush cuando utilice IBM Cloud Logs, Cloud Object Storage o Splunk.
Obtener los campos de registro disponibles para un conjunto de datos con la API
Los campos de registro se pueden especificar en el logpull_options de un trabajo Logpush para personalizar lo que se envía al destino. Para obtener los campos de registro disponibles para un conjunto de datos Logpush, siga estos
pasos:
- Configure el entorno de la API con las variables correctas.
- Almacene los valores siguientes en variables que se utilizarán en el mandato de la API:
CRN: el CRN codificado por url completo de la instancia de servicio.
ZONE_ID: el ID de dominio.
DATASET: El conjunto de datos Logpush que se está inspeccionando. Uno de http_requests, range_events, dns_logs, firewall_events.
-
Cuando se hayan iniciado todas las variables, cree el trabajo 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"'
Creación de un trabajo Logpush para enviar registros a su destino
Para crear un trabajo Logpush a su destino ( IBM Cloud Logs, Cloud Object Storage, o Splunk ), siga estos pasos:
- Configure el entorno de la API con las variables correctas.
- Almacene los valores siguientes en variables que se utilizarán en el mandato de la API:
CRN: El nombre de recurso en la nube ( URL ) completo codificado con el servicio de instancia.
ZONE_ID: el ID de dominio.
--request body: Información para crear el cuerpo del trabajo Logpush ( logpush_job_DESTINATION_req ) donde DESTINATION es uno de los siguientes valores:
| Registros de IBM Cloud |
|---|
|
Importante: Se debe asignar al usuario o al ID de servicio el rol IAM «Sender» en el servicio « IBM Cloud Logs».
|
| Cloud Object Storage |
|---|
cos: Información para identificar el depósito de Object Storage al que se envían los datos. Los campos del objeto cos son
Importante: El cliente o el ID de servicio debe tener asignado el rol de IAM « Object Writer » en el depósito de « Object Storage ». |
| IBM QRadar |
|---|
qradar: Información para identificar el receptor QRadar HTTP al que se envían los datos. |
| Splunk |
|---|
|
|
| Personalizado HTTP |
|---|
destination_conf: Información para configurar el destino de Custom HTTP, donde se envían los datos. Los encabezados se pueden especificar para que los utilice Logpush con parámetros de consulta prefijados por header_ (por ejemplo: header_Authorization=XXXX). |
name: nombre del trabajo logpush.
enabled: si el trabajo está habilitado. O true o false.
logpull_options: la serie de configuración. Por ejemplo, fields=RayID,ZoneID×tamps=rfc3339.
dataset: el conjunto de datos que se ha extraído. Uno de http_requests, dns_logs, range_events, firewall_events.
frequency: la frecuencia con la que CIS envía lotes de registros a su destino. O high o low.
-
Cuando se hayan iniciado todas las variables, cree el trabajo logpush:
- Registros de 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" }'- Personalizado 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}