HTTP v2

En este documento se explica cómo integrar HTTP v2 con el módulo SOAR de Google Security Operations y cómo usar la acción Ejecutar solicitud HTTP.

Versión de integración: 5.0

Información general

Usa HTTP v2 para integrar productos de terceros sin escribir código y resolver casos prácticos, como ejecutar solicitudes de API, trabajar con archivos y gestionar flujos asíncronos.

Flujos de autenticación

En función del producto al que te autentiques, HTTP/2 admite los siguientes flujos de autenticación:

  • Flujo de autenticación básica
  • Flujo de claves de API
  • Flujo de autenticación específico

Flujo de autenticación básica

Con el flujo de autenticación básica, autentica con los parámetros Test URL, Basic Auth Username y Basic Auth Password.

Flujo de claves de API

Con el flujo de claves de API, autentica mediante los parámetros Test URL, API Key Field Name y API Key Field Value.

Flujo de autenticación específico

En el flujo de autenticación específico, se usa la siguiente autenticación en dos pasos:

  1. Una acción genera un token de acceso.

    Cuando se ejecuta Ping o la acción Ejecutar solicitud HTTP, la integración obtiene los parámetros necesarios para la autenticación.

  2. Una acción usa el token de acceso generado para autenticar las solicitudes de la API.

El flujo de autenticación específico requiere los siguientes parámetros de integración:

  • Dedicated Auth API Request Method
  • Dedicated Auth API Request URL
  • Dedicated Auth API Request Headers
  • Dedicated Auth API Request Body
  • Dedicated Auth API Request Token Field Name

Para obtener más información sobre los parámetros de integración, consulta Integrar HTTP v2 con Google SecOps.

Para usar el token de la respuesta, proporciona el nombre de la clave en el parámetro Dedicated Auth API Request Token Field Name. En el siguiente ejemplo de respuesta, el nombre de la clave es access_token:

{
   "access_token": "eyJhbGciOiJSUzI1NiIsImtpZCIO4",
   "expires_in": 1799,
   "token_type": "bearer"
}

Para aplicar el token, la integración requiere el siguiente marcador de posición: {{integration.token}}. Si proporcionas este marcador de posición en la carga útil, la integración usará el token generado.

Si la clave access_token de la respuesta JSON aparece anidada, proporciona la ubicación completa del token para el valor del parámetro Dedicated Auth API Request Token Field Name. Por ejemplo, en lugar de access_token, proporciona la clave data_access_token de la respuesta anidada de la siguiente manera:

{
   "data": {
       "access_token": "eyJhbGciOiJSUzI1NiIsImtpZCIZMI3DQAQsYibMpO4",
       "expires_in": 1799,
       "token_type": "bearer"
   }
}

En el siguiente ejemplo se muestra la solicitud del flujo de autenticación dedicado a la API de Crowdstrike:

POST /falconx/entities/submissions/v1 HTTP/1.1
Host: api.crowdstrike.com
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6
Content-Length: 209

{
   "sandbox": [{
       "sha256": "9854c9dfded29d8442499daba01082ba5d164aa02e44",
       "environment_id": 100,
       "submit_name": "filename.pdf"
   }]
}

En el ejemplo se usa el encabezado Authorization con un token Bearer para autenticar la API. Para rellenar el encabezado con la información correcta, la integración de HTTP versión 2 requiere los siguientes datos: Authorization: Bearer {{integration.token}}.

Integrar HTTP v2 con Google SecOps

La integración requiere los siguientes parámetros:

Parámetro Descripción
Test URL Optional

URL de prueba que se va a usar para la autenticación básica o el flujo de autenticación con clave de API.

Basic Auth Username Optional

Parámetro que se añade como encabezado de autenticación básica a cada ejecución de acción junto con el parámetro Contraseña de autenticación básica.

Proporciona los parámetros Nombre de usuario de autenticación básica y Contraseña de autenticación básica.

Basic Auth Password Optional

Parámetro que se añade como encabezado de autenticación básica a cada ejecución de acción junto con el parámetro Nombre de usuario de autenticación básica.

Proporciona los parámetros Nombre de usuario de autenticación básica y Contraseña de autenticación básica.

API Key Field Name Optional

Nombre del encabezado que contiene la clave de API.

Proporciona los parámetros API Key Field Name (Nombre del campo de clave de API) y API Key Secret (Secreto de clave de API) para añadirlos a cada ejecución de acción.

API Key Secret Optional

El valor secreto de la clave de API.

Proporciona los parámetros API Key Field Name (Nombre del campo de clave de API) y API Key Secret (Secreto de clave de API) para añadirlos a cada ejecución de acción.

Dedicated Auth API Request Method Optional

Método que se debe usar en el flujo de la API de autenticación dedicada para generar el token de acceso.

El valor predeterminado es POST.

Dedicated Auth API Request URL Optional

La solicitud de API que se va a usar en el flujo de la API de autenticación dedicada para generar el token de acceso, como https://api.crowdstrike.com/oauth2/token.

Dedicated Auth API Request Headers Optional

Encabezados que se deben usar en el flujo de la API de autenticación dedicada para generar el token de acceso.

Proporciona los encabezados como un objeto JSON, como el siguiente:

    {
    "Content-type": "application/x-www-form-urlencoded"
    }
    
Dedicated Auth API Request Body Optional

El cuerpo de la solicitud que se debe usar en el flujo de la API de autenticación dedicada para generar el token de acceso. Proporciona el valor del parámetro como un objeto JSON, como el siguiente:

    {
    "client_id": "CLIENT_ID",
    "client_secret": "CLIENT_SECRET"
    }
    
Dedicated Auth API Request Token Field Name
Optional

Nombre del campo que contiene el token de acceso generado. Para usar el token de acceso en las acciones, usa el siguiente marcador de posición: {{integration.token}}.

La respuesta de generación de tokens usa el carácter de subrayado (_) como delimitador.

CA Certificate Optional

El certificado de la autoridad de certificación (CA) que se va a usar para validar la conexión segura.

Si usas un agente remoto para conectarte a un producto local, proporciona una capa de seguridad adicional suministrando la integración con el certificado de la AC para asegurar la integridad de la conexión. Una vez que proporciones un certificado de CA, todas las solicitudes de la API lo usarán.

Este parámetro acepta el certificado de la AC en forma de cadena codificada con base64.

Verify SSL Obligatorio

Si se selecciona esta opción, el sistema verifica que el certificado SSL de todas las conexiones de integración sea válido.

Esta opción está seleccionada de forma predeterminada.

Es una práctica recomendada crear una instancia independiente de la integración de HTTP versión 2 para cada producto de terceros con el que te integres en tu entorno. Para obtener más información sobre varias instancias de integración, consulte Compatibilidad con varias instancias.

Cómo usar la integración de HTTP v2

En esta sección se explica cómo usar la integración de HTTP v2 modificando los parámetros de la acción Ejecutar solicitud HTTP.

Trabajar con el parámetro Body Payload

Para asegurarte de que el cuerpo se crea correctamente, proporciona el encabezado Content-Type correcto en el parámetro Headers. La acción Ejecutar solicitud HTTP genera diferentes cargas útiles para la misma entrada de parámetro:

{
  "Id": "123123",
  "sorting": "asc"
}

En el caso del valor del encabezado "Content-Type:" "application/x-www-form-urlencoded", la carga útil generada es Id=123123&sorting=asc.

En el caso del valor del encabezado "Content-Type": "application/json", la carga útil generada es la siguiente:

{
  "Id": "123123",
  "sorting": "asc"
}

Cuando trabajes con XML, proporciona una entrada con formato XML como la siguiente:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
 <soap:Body>
   <NumberToWords xmlns="http://www.dataaccess.com/webservicesserver/">
     <ubiNum>500</ubiNum>
   </NumberToWords>
 </soap:Body>
</soap:Envelope>

Trabajar con el flujo asíncrono

Los flujos de API asíncronos, como la creación y la ejecución de una tarea de búsqueda, requieren que se espere a que se complete el procesamiento del resultado antes de ejecutar la siguiente solicitud a la API. Por ejemplo, puedes crear un trabajo de búsqueda en Google SecOps SIEM, esperar a que se complete y, a continuación, obtener los resultados mediante el parámetro Expected Response Values.

En el siguiente ejemplo de respuesta, la clave state puede contener los valores error, in_progress o finished:

{
   "state": "in_progress",
   "percentage": "10"
}

Puedes solicitar que la acción Ejecutar solicitud HTTP se ejecute en modo asíncrono hasta que la respuesta contenga el estado finished asignando al parámetro Expected Response Values el siguiente valor:

{
   "state": "finished"
}

Para no esperar hasta que se agote el tiempo de espera cuando se produzca un error, proporcione una condición adicional en el valor del parámetro. En el siguiente ejemplo de entrada, la acción deja de ejecutarse cuando el estado es finished o error:

{
   "state": [
       "finished",
       "error"
   ]
}

En el ejemplo siguiente, la acción deja de ejecutarse cuando el estado es finished y el valor de la clave de porcentaje es 100:

{
   "state": "finished",
   "percentage": "100"
}

Puedes combinar varias condiciones de clave en una entrada, como las siguientes:

{
   "state": [
       "finished",
       "error"
   ],
   "percentage": "100"
}

Puedes configurar el parámetro Expected Response Values para que espere un resultado de un par clave-valor específico. La acción Ejecutar solicitud HTTP busca una clave específica en todo el objeto de respuesta JSON y considera que se ha alcanzado el resultado esperado solo cuando se asigna a todos los nombres de clave coincidentes un valor de clave esperado idéntico. Por ejemplo, para que la acción busque la coincidencia de finished en la respuesta JSON e ignore cualquier otro estado, asigna el valor finished a todas las claves state de la entrada del parámetro Expected Response Values:

{
"data": {
  "state": "finished"
  },
  "state": "finished"
}

El parámetro Expected Response Values obtiene el valor necesario del objeto JSON anidado. En el siguiente ejemplo, solo debes proporcionar la clave state, no data_state ni data-state:

{
   "data": {
       "state": [
           "finished",
           "error"
       ],
       "percentage": "100"
   }
}

Trabajar con archivos

Trabajar con archivos incluye dos flujos de trabajo independientes:

  • Descargar un archivo
  • Subir un archivo

Descargar archivos

La acción Ejecutar solicitud HTTP puede devolver archivos como salida en base64 en el objeto JSON o guardar archivos en el muro del caso como archivos ZIP.

Para devolver los datos como parte de un resultado JSON en formato base64, seleccione el parámetro Base64 Output. Para guardar archivos en el muro de la conversación, selecciona el parámetro Save To Case Wall.

Si trabajas con archivos sensibles, como malware, selecciona el parámetro Password Protect Zip. En todos los archivos ZIP protegidos por contraseña, la acción asigna automáticamente la contraseña infected.

Subir archivos

Para subir archivos, conviértelos al formato base64 y envíalos como parte del valor del parámetro Body Payload. A continuación, se muestra un ejemplo de un archivo de imagen convertido al formato base64:

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

Para obtener más información sobre cómo usar el parámetro Body Payload, consulta la sección Trabajar con el parámetro Body Payload de este documento.

Bloques como código

Puedes usar la integración de HTTP v2 y la función de bloques de guías en Google SecOps para crear contenido reutilizable. Por ejemplo, puedes crear un bloque de runbook que contenga una acción HTTP v2 y configurar una integración para usar los resultados de la acción como entradas del bloque. Para obtener más información sobre los bloques de la guía, consulta Trabajar con bloques de la guía.

Crear bloques de guía

Para crear un bloque de guía, sigue estos pasos:

  1. En Google SecOps, ve a Respuesta > Libros de jugadas.
  2. En la barra de navegación de la página Guías, selecciona Añadir Añadir nueva guía o bloque. Se abrirá la ventana Crear nuevo.
  3. En la ventana Crear nuevo, asigna el valor Block al parámetro Type.
  4. En el parámetro Choose Folder, selecciona la carpeta en la que quieres guardar el nuevo bloque.
  5. En el parámetro Environment, selecciona tu entorno.
  6. Haz clic en Crear. Se abre la página Nuevo bloque. Configura el nuevo bloque de la guía para usarlo en varias guías.

En la siguiente sección se muestra un ejemplo de cómo configurar un bloque de guía.

Ejemplo de configuración de bloque de guía

El siguiente ejemplo es una acción de solicitud HTTP de ejecución personalizada que envía comentarios a ServiceNow. La acción usa los parámetros comment, sys_id y table_name que el bloque de la guía personalizada ha creado como parámetros de entrada. Para configurar los parámetros de la acción, sigue estos pasos:

  1. Asigna el valor PUT al parámetro Method.

  2. Asigna al parámetro URL Path el siguiente valor:

    https://SERVICE_NOW_INSTANCE.service-now.com/api/now/table/[Input.table_name]/[Input.sys_id]
    
  3. Asigna al parámetro Headers el siguiente valor:

    {"Content-type": "application/json; charset=utf-8",
    "Accept": "application/json", "User-Agent": "GoogleSecops"}
    
  4. Asigna al parámetro Body Payload el siguiente valor:

    {
    "work_notes": "[Input.comment]"
    }
    

Para usar los valores que se proporcionan en las entradas de bloque como marcadores de posición de la acción, los marcadores de posición deben contener el prefijo Input. antes del nombre del parámetro. Si la entrada del bloque es keyname, el marcador de posición es [Input.keyname].

Acciones

La integración de HTTP versión 2 incluye las siguientes acciones:

Ejecutar solicitud HTTP

Ejecuta una solicitud HTTP mediante la integración de HTTP v2.

Usa esta acción para crear una solicitud HTTP personalizada y devolver información sobre ella. Todos los parámetros de esta acción se pueden modificar.

Esta acción no se ejecuta en entidades.

Entradas de acciones

La acción Ejecutar solicitud HTTP requiere los siguientes parámetros:

Parámetro Descripción
Method
Optional

El método que se va a usar en la solicitud.

El valor predeterminado es GET.

Los valores posibles son:
  • GET
  • POST
  • PUT
  • PATCH
  • DELETE
  • HEAD
  • OPTIONS
URL Path
Optional

La URL que se va a ejecutar.

URL Params Optional

Los parámetros de URL.

La acción usa cualquier valor proporcionado junto con los valores que se proporcionan directamente en el parámetro Ruta de URL.

Por ejemplo, la cadena ?parameter=value&sorting=asc en el backend significa que la entrada es la siguiente:
    {
    "parameter": "value",
    "sorting": "asc"
    }
    

Este parámetro requiere el formato de objeto JSON como entrada. El valor predeterminado es el siguiente:

{
    "URL Field Name": "URL_FIELD_VALUE"
    }
Headers
Optional

Encabezados que se usarán en la solicitud HTTP.

Por ejemplo, la solicitud HTTP con los encabezados Accept y User-Agent requiere la siguiente entrada:

    {
    "Accept": "application/json",
    "User-Agent": "Google Secops"
    }
    

Este parámetro requiere el formato de objeto JSON como entrada. El valor predeterminado es el siguiente:

{
    "Content-Type": "application/json; charset=utf-8",
    "Accept": "application/json",
    "User-Agent" : "GoogleSecOps"
    }
Cookie Optional

Los parámetros que se deben usar en el encabezado Cookie.

Este parámetro sobrescribe la cookie proporcionada en el parámetro Headers.

Por ejemplo, para incluir un encabezado Cookie con el valor PHPSESSID=298zf09hf012fh2; csrftoken=u32t4o3tb3gg43;, la solicitud HTTP requiere la siguiente entrada:

    {
    "PHPSESSID": "298zf09hf012fh2",
    "csrftoken": "u32t4o3tb3gg43"
    }
    

Este parámetro requiere el formato de objeto JSON como entrada. El valor predeterminado es el siguiente:

{
    "Cookie_1": "COOKIE_1_VALUE"
    }
Body Payload
Optional

Cuerpo de la solicitud HTTP. La acción crea diferentes cargas útiles en función del valor de la cabecera Content-Type proporcionado en el parámetro Headers.

Este parámetro requiere el formato de objeto JSON como entrada, excepto cuando un producto de terceros requiere un XML o el contenido multipart/form-data. Si envía o sube un archivo mediante la solicitud de la API, proporcione la versión codificada en base64 del archivo en el parámetro Body Payload y defina el encabezado como "Content-type": "multipart/form-data".

El valor predeterminado es el siguiente:

{
    "Body Field Name": "BODY_FIELD_VALUE"
    }
Expected Response Values
Optional

Los valores de respuesta esperados.

Si se proporciona este parámetro, la acción funciona en modo asíncrono y se ejecuta hasta que recibe los valores esperados o hasta que se agota el tiempo de espera.

Save To Case Wall
Optional

Si se selecciona esta opción, la acción guarda el archivo y lo adjunta al panel de casos. El archivo se archiva con la extensión .zip. El archivo .zip no está protegido con contraseña.

No está seleccionada de forma predeterminada.

Password Protect Zip
Optional

Si se selecciona, la acción añade una contraseña al archivo .zip creado con el parámetro Guardar en el muro del caso. La contraseña es la siguiente: infected.

Utilice este parámetro cuando trabaje con archivos sospechosos.

Esta opción está seleccionada de forma predeterminada.

Follow Redirects Optional

Si se selecciona esta opción, la acción sigue las redirecciones.

Esta opción está seleccionada de forma predeterminada.

Fail on 4xx/5xx Optional

Si se selecciona esta opción, la acción falla si el código de estado de la respuesta es un error 4xx o 5xx.

Esta opción está seleccionada de forma predeterminada.

Base64 Output
Optional

Si se selecciona, la acción convierte la respuesta al formato base64.

Utiliza este parámetro al descargar archivos.

El resultado JSON no puede superar los 15 MB.

No está seleccionada de forma predeterminada.

Fields To Return Obligatorio

Los campos que se van a devolver. Los valores posibles son:

  • response_data
  • redirects
  • response_code
  • response_cookies
  • response_headers
  • apparent_encoding
Request Timeout Obligatorio

Tiempo que se espera a que el servidor envíe datos antes de que falle la acción.

El valor predeterminado es 120 segundos.

Resultados de la acción

La acción Ejecutar solicitud HTTP proporciona los siguientes resultados:

Tipo de salida de la acción Disponibilidad
Adjunto del panel de casos No disponible
Enlace del panel de casos No disponible
Tabla del panel de casos No disponible
Tabla de enriquecimiento No disponible
Resultado de JSON Disponible
Mensajes de salida Disponible
Resultado de la secuencia de comandos Disponible
Resultado de JSON

En el siguiente ejemplo se describe la salida del resultado JSON recibida al usar la acción Ejecutar solicitud HTTP:

{
   "response_data": {
       "data": {
           "relationships": {
               "comment": [
                   {
                       "name": "item",
                       "description": "Object to which the comment belongs to."
                   },
                   {
                       "name": "author",
                       "description": "User who wrote the comment."
                   }
               ]
           }
       }
   },
   "redirects": [],
   "response_code": 200,
   "cookies": {},
   "response_headers": {
       "Content-Type": "application/json",
       "X-Cloud-Trace-Context": "1ca450b35c66634a2ae01248cca50b19",
       "Date": "Fri, 03 Nov 2023 16:14:13 GMT",
       "Server": "Google Frontend",
       "Content-Length": "36084"
   },
   "apparent_encoding": "ascii"
}
Mensajes de salida

En un muro de casos, la acción Ejecutar solicitud HTTP proporciona los siguientes mensajes de salida:

Mensaje resultante Descripción del mensaje

Successfully executed API request.

Successfully executed API request, but status code STATUS_CODE was in response.

La acción se ha realizado correctamente.

Failed to execute API request. Error: ERROR_REASON

Failed to execute API request. Error: Invalid parameter "PARAMETER_NAME".

The JSON structure is invalid. Wrong value provided: VALUE

Ha fallado la acción.

Comprueba la conexión con el servidor, los parámetros de entrada, el valor del archivo JSON o las credenciales.

Resultado de la secuencia de comandos

En la siguiente tabla se describen los valores del resultado de la secuencia de comandos al usar la acción Ejecutar solicitud HTTP:

Nombre del resultado del script Valor
is_success True o False

Ping

Usa esta acción para probar la conectividad.

Entradas de acciones

Ninguno

Resultados de la acción

La acción Ping proporciona los siguientes resultados:

Tipo de salida de la acción Disponibilidad
Adjunto del panel de casos No disponible
Enlace del panel de casos No disponible
Tabla del panel de casos No disponible
Tabla de enriquecimiento No disponible
Resultado de JSON No disponible
Mensajes de salida Disponible
Resultado de la secuencia de comandos Disponible
Mensajes de salida

En un panel de casos, la acción Ping proporciona los siguientes mensajes de salida:

Mensaje resultante Descripción del mensaje
Successfully tested connectivity. La acción se ha realizado correctamente.
Failed to test connectivity.

Ha fallado la acción.

Comprueba la conexión al servidor, los parámetros de entrada o las credenciales.

Resultado de la secuencia de comandos

En la siguiente tabla se describen los valores del resultado de la secuencia de comandos al usar la acción Ping:

Nombre del resultado del script Valor
is_success True o False

¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.