Recopila registros de Synology
Descripción general
Este analizador extrae campos de los mensajes de SYSLOG de Synology con patrones de Grok y los asigna al UDM. Maneja varios formatos de registro, identifica los accesos de los usuarios y el acceso a los recursos, y categoriza los eventos según las palabras clave, lo que enriquece los datos con información del proveedor y del producto.
Antes de comenzar
Asegúrate de cumplir con los siguientes requisitos previos:
- Instancia de Google SecOps.
- Acceso privilegiado a Synology DSM
Configura feeds
Para configurar un feed, sigue estos pasos:
- Ve a Configuración del SIEM > Feeds.
- Haz clic en Agregar feed nuevo.
- En la siguiente página, haz clic en Configurar un solo feed.
- En el campo Nombre del feed, ingresa un nombre para el feed, por ejemplo, Registros de Synology.
- Selecciona Webhook como el Tipo de origen.
- Selecciona Synology como el Tipo de registro.
- Haz clic en Siguiente.
- Opcional: Especifica valores para los siguientes parámetros de entrada:
- Delimitador de división: Es el delimitador que se usa para separar las líneas de registro, como
\n
. - Espacio de nombres del recurso: Es el espacio de nombres del recurso.
- Etiquetas de transferencia: Es la etiqueta que se aplica a los eventos de este feed.
- Delimitador de división: Es el delimitador que se usa para separar las líneas de registro, como
- Haz clic en Siguiente.
- Revisa la configuración del feed en la pantalla Finalizar y, luego, haz clic en Enviar.
- Haz clic en Generar clave secreta para generar una clave secreta que autentique este feed.
- Copia y almacena la clave secreta. No podrás volver a ver esta clave secreta. Si es necesario, puedes regenerar una clave secreta nueva, pero esta acción hace que la clave secreta anterior quede obsoleta.
- En la pestaña Detalles, copia la URL del extremo del feed del campo Información del extremo. Debes especificar esta URL de extremo en tu aplicación cliente.
- Haz clic en Listo.
Crea una clave de API para el feed del webhook
Ve a Google Cloud consola > Credenciales.
Haz clic en Crear credenciales y selecciona Clave de API.
Restringe el acceso de la clave de API a la API de Google Security Operations.
Especifica la URL del extremo
- En tu aplicación cliente, especifica la URL del extremo HTTPS que se proporciona en el feed de webhook.
Para habilitar la autenticación, especifica la clave de API y la clave secreta como parte del encabezado personalizado en el siguiente formato:
X-goog-api-key = API_KEY X-Webhook-Access-Key = SECRET
Recomendación: Especifica la clave de API como un 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 con parámetros de búsqueda en el siguiente formato:
ENDPOINT_URL?key=API_KEY&secret=SECRET
Reemplaza lo siguiente:
ENDPOINT_URL
: Es la URL del extremo del feed.API_KEY
: Es la clave de API para autenticarse en Google Security Operations.SECRET
: Es la clave secreta que generaste para autenticar el feed.
Cómo crear un webhook en Synology para Google SecOps
- Accede a DiskStation Manager (DSM) en tu Synology NAS.
- Ve a Panel de control > Notificación > Webhook.
- Haz clic en Agregar.
Especifica valores para los siguientes parámetros:
- Proveedor: Selecciona Personalizado.
Regla: Selecciona el tipo de mensajes que deseas enviar en tu webhook.
Haz clic en Siguiente.
Nombre del proveedor: Asigna un nombre distintivo al webhook (por ejemplo, Google SecOps).
Asunto: Se agregará como prefijo del mensaje de notificación.
URL de webhook: Ingresa ENDPOINT_URL.
Selecciona Enviar mensajes de notificación en inglés.
Haz clic en Siguiente.
Método HTTP: Selecciona POST.
Agrega el encabezado X-Webhook-Access-Key con el valor SECRET.
Agrega 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 que extrae el filtro grok se asigna a target.application . |
desc |
metadata.description |
El valor del campo desc que extrae el filtro grok se asigna a metadata.description . |
desc |
target.file.names |
Si el campo desc contiene "Closed)", se extrae la ruta de acceso del archivo entre paréntesis y se asigna a target.file.names . Si el campo desc contiene "accessed shared folder", se extrae la ruta de acceso a la carpeta entre corchetes y se asigna a target.file.names . |
host |
principal.hostname |
El valor del campo host que extrae 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 agrega a principal.ip . |
intermediary_host |
intermediary.hostname |
El valor del campo intermediary_host que extrae el filtro grok se asigna a intermediary.hostname . Se crea un objeto auth vacío dentro de 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 "accediste" o "accede", el valor se establece en USER_LOGIN . Si el mensaje contiene "accessed shared folder", el valor se establece en USER_RESOURCE_ACCESS . De lo contrario, el valor predeterminado es GENERIC_EVENT . El valor del campo type que extrae el filtro grok se asigna a metadata.product_event_type . El valor se establece de forma estática en "SYNOLOGY". El valor se establece de forma estática en "SYNOLOGY". Si el mensaje contiene "failed to sign", el valor se establece en BLOCK . Si el mensaje contiene "success", el valor se establece en ALLOW . Si el campo severity (extraído por Grok) es "INFO", el valor se establece en INFORMATIONAL . |
severity |
security_result.severity |
El valor del campo severity que extrae 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 , que se extrae con el filtro grok, se analiza y se convierte en una marca de tiempo. Luego, esta marca de tiempo se asigna a metadata.event_timestamp . |
type |
metadata.product_event_type |
El valor del campo type que extrae 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 la "\" 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? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.