Recoger registros de Synology
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:
- Ve a Configuración de SIEM > Feeds.
- Haz clic en Añadir feed.
- En la página siguiente, haga clic en Configurar un solo feed.
- En el campo Nombre del feed, introduce un nombre para el feed (por ejemplo, Registros de Synology).
- Selecciona Webhook como Tipo de fuente.
- Seleccione Synology como Tipo de registro.
- Haz clic en Siguiente.
- 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.
- Delimitador de división: el delimitador que se usa para separar las líneas de registro, como
- Haz clic en Siguiente.
- Revise la configuración del feed en la pantalla Finalizar y, a continuación, haga clic en Enviar.
- Haz clic en Generar clave secreta para generar una clave secreta que autentique este feed.
- 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.
- 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.
- Haz clic en Listo.
Crear una clave de API para la feed de webhook
Ve a la consolaGoogle Cloud > Credenciales.
Haz clic en Crear credenciales y, a continuación, selecciona Clave de API.
Restringe el acceso de la clave de API a la API Google Security Operations.
Especificar la URL del endpoint
- En tu aplicación cliente, especifica la URL del endpoint HTTPS proporcionada en el feed de webhook.
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.
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
- Inicia sesión en DiskStation Manager (DSM) en tu Synology NAS.
- Ve a Panel de control > Notificaciones > Webhook.
- Haz clic en Añadir.
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.
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.