Recoger registros de Synology

Disponible en:

Información general

Este analizador extrae campos de mensajes SYSLOG de Synology mediante patrones grok y los asigna a UDM. Gestiona varios formatos de registro, identifica los inicios de sesión de los usuarios y el acceso a los recursos, y clasifica los eventos en función de las palabras clave, lo que enriquece los datos con información sobre el proveedor y el producto.

Antes de empezar

Asegúrate de que cumples los siguientes requisitos previos:

  • Instancia de Google SecOps.
  • Acceso privilegiado a Synology DSM.

Configurar feeds

Para configurar un feed, sigue estos pasos:

  1. Ve a Configuración de SIEM > Feeds.
  2. Haz clic en Añadir feed.
  3. En la página siguiente, haga clic en Configurar un solo feed.
  4. En el campo Nombre del feed, introduce un nombre para el feed (por ejemplo, Registros de Synology).
  5. Selecciona Webhook como Tipo de fuente.
  6. Seleccione Synology como Tipo de registro.
  7. Haz clic en Siguiente.
  8. Opcional: Especifica los valores de los siguientes parámetros de entrada:
    • Delimitador de división: el delimitador que se usa para separar las líneas de registro, como \n.
    • Espacio de nombres de recursos: el espacio de nombres de recursos.
    • Etiquetas de ingestión: la etiqueta aplicada a los eventos de este feed.
  9. Haz clic en Siguiente.
  10. Revise la configuración del feed en la pantalla Finalizar y, a continuación, haga clic en Enviar.
  11. Haz clic en Generar clave secreta para generar una clave secreta que autentique este feed.
  12. Copia y guarda la clave secreta. No podrás volver a ver esta clave secreta. Si es necesario, puedes volver a generar una clave secreta, pero esta acción hará que la clave secreta anterior quede obsoleta.
  13. En la pestaña Detalles, copia la URL del endpoint del feed del campo Información del endpoint. Debes especificar esta URL de endpoint en tu aplicación cliente.
  14. Haz clic en Listo.

Crear una clave de API para la feed de webhook

  1. Ve a la consolaGoogle Cloud > Credenciales.

    Ir a Credenciales

  2. Haz clic en Crear credenciales y, a continuación, selecciona Clave de API.

  3. Restringe el acceso de la clave de API a la API Google Security Operations.

Especificar la URL del endpoint

  1. En tu aplicación cliente, especifica la URL del endpoint HTTPS proporcionada en el feed de webhook.
  2. Para habilitar la autenticación, especifica la clave de API y la clave secreta como parte del encabezado personalizado con el siguiente formato:

    X-goog-api-key = API_KEY
    X-Webhook-Access-Key = SECRET
    

    Recomendación: Especifica la clave de API como encabezado en lugar de hacerlo en la URL.

  3. Si tu cliente de webhook no admite encabezados personalizados, puedes especificar la clave de API y la clave secreta mediante parámetros de consulta con el siguiente formato:

    ENDPOINT_URL?key=API_KEY&secret=SECRET
    

    Haz los cambios siguientes:

    • ENDPOINT_URL: URL del endpoint del feed.
    • API_KEY: la clave de API para autenticarte en Google Security Operations.
    • SECRET: la clave secreta que has generado para autenticar el feed.

Crear un webhook en Synology para Google SecOps

  1. Inicia sesión en DiskStation Manager (DSM) en tu Synology NAS.
  2. Ve a Panel de control > Notificaciones > Webhook.
  3. Haz clic en Añadir.
  4. Especifique los valores de los siguientes parámetros:

    • Proveedor: selecciona Personalizado.
    • Regla: selecciona el tipo de mensajes que quieres enviar en tu webhook.

    • Haz clic en Siguiente.

    • Nombre del proveedor: asigna un nombre distintivo al webhook (por ejemplo, Google SecOps).

    • Asunto: se añadirá como prefijo del mensaje de notificación.

    • Webhook URL (URL del webhook): introduce ENDPOINT_URL.

    • Selecciona Enviar mensajes de notificación en inglés.

    • Haz clic en Siguiente.

    • Método HTTP: selecciona POST.

    • Añade la cabecera X-Webhook-Access-Key con el valor SECRET.

    • Añade el encabezado X-goog-api-key con el valor API_KEY.

    • Haz clic en Aplicar.

  5. Haz clic en Aplicar para guardar el webhook.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
app target.application El valor del campo app extraído por el filtro grok se asigna a target.application.
desc metadata.description El valor del campo desc extraído por el filtro grok se asigna a metadata.description.
desc target.file.names Si el campo desc contiene "Closed)", se extraerá la ruta del archivo entre paréntesis y se asignará a target.file.names. Si el campo desc contiene "accessed shared folder", se extrae la ruta de la carpeta entre corchetes y se asigna a target.file.names.
host principal.hostname El valor del campo host extraído por el filtro grok del campo host_and_ip se asigna a principal.hostname.
host_and_ip principal.ip Se analiza el campo host_and_ip. Si se encuentra una dirección IP (ip1), se asigna a principal.ip. Si se encuentra una segunda dirección IP (ip2), también se añade a principal.ip.
intermediary_host intermediary.hostname El valor del campo intermediary_host extraído por el filtro grok se asigna a intermediary.hostname. Se crea un objeto auth vacío en extensions si el mensaje contiene "signed in" o "sign in". Se usa la marca de tiempo del campo collection_time del registro sin procesar. Si el mensaje contiene "signed in" o "sign in", el valor se define como USER_LOGIN. Si el mensaje contiene "accessed shared folder", el valor se define como USER_RESOURCE_ACCESS. De lo contrario, se utiliza GENERIC_EVENT de forma predeterminada. El valor del campo type extraído por el filtro grok se asigna a metadata.product_event_type. El valor se asigna de forma estática a "SYNOLOGY". El valor se asigna de forma estática a "SYNOLOGY". Si el mensaje contiene "failed to sign", el valor se define como BLOCK. Si el mensaje contiene "success", el valor se asigna a ALLOW. Si el campo severity (extraído por grok) es "INFO", el valor se define como INFORMATIONAL.
severity security_result.severity El valor del campo severity extraído por el filtro grok se usa para determinar el security_result.severity. Si el valor es "INFO", se asigna a "INFORMATIONAL".
time metadata.event_timestamp El campo time, extraído por el filtro grok, se analiza y se convierte en una marca de tiempo. Esta marca de tiempo se asigna a metadata.event_timestamp.
type metadata.product_event_type El valor del campo type extraído por el filtro grok se asigna a metadata.product_event_type.
user target.administrative_domain Si se extrae un dominio del campo user, se asigna a target.administrative_domain.
user target.user.userid La parte del nombre de usuario del campo user (antes de "\", si está presente) se extrae y se asigna a target.user.userid. Se usa la marca de tiempo del campo collection_time del registro sin procesar.

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