Recoger registros de DLP de Fortra Digital Guardian

Disponible en:

En este documento se explica cómo recoger registros de DLP de Fortra Digital Guardian en Google Security Operations mediante un agente de Bindplane. El código del analizador transforma los registros sin procesar con formato JSON en un modelo de datos unificado (UDM). Primero, extrae los campos del JSON sin procesar, limpia y normaliza los datos y, a continuación, asigna los campos extraídos a sus atributos de UDM correspondientes. De esta forma, enriquece los datos con tipos de eventos específicos en función de la actividad identificada.

Antes de empezar

  • Asegúrate de que tienes una instancia de Google Security Operations.
  • Asegúrate de usar Windows 2016 o una versión posterior, o un host Linux con systemd.
  • Si se ejecuta a través de un proxy, asegúrate de que los puertos del cortafuegos estén abiertos.
  • Asegúrate de que tienes acceso con privilegios a Fortra Digital Guardian DLP.

Obtener el archivo de autenticación de ingestión de Google SecOps

  1. Inicia sesión en la consola de Google SecOps.
  2. Ve a Configuración de SIEM > Agentes de recogida.
  3. Descarga el archivo de autenticación de ingestión. Guarda el archivo de forma segura en el sistema en el que se instalará Bindplane.

Obtener el ID de cliente de Google SecOps

  1. Inicia sesión en la consola de Google SecOps.
  2. Ve a Configuración de SIEM > Perfil.
  3. Copia y guarda el ID de cliente de la sección Detalles de la organización.

Instalar el agente de Bindplane

Instalación de ventanas

  1. Abre el símbolo del sistema o PowerShell como administrador.
  2. Ejecuta el siguiente comando:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Instalación de Linux

  1. Abre un terminal con privilegios de superusuario o sudo.
  2. Ejecuta el siguiente comando:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

Recursos de instalación adicionales

Configurar el agente de BindPlane para ingerir Syslog y enviarlo a Google SecOps

  1. Accede al archivo de configuración:

    1. Busca el archivo config.yaml. Normalmente, se encuentra en el directorio /etc/bindplane-agent/ en Linux o en el directorio de instalación en Windows.
    2. Abre el archivo con un editor de texto (por ejemplo, nano, vi o Bloc de notas).
  2. Edita el archivo config.yaml de la siguiente manera:

    receivers:
        udplog:
            # Replace the port and IP address as required
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the path to the credentials file you downloaded in Step 1
            creds: '/path/to/ingestion-authentication-file.json'
            # Replace with your actual customer ID from Step 2
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # Add optional ingestion labels for better organization
            ingestion_labels:
                log_type: DIGITALGUARDIAN_DLP
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Sustituye el puerto y la dirección IP según sea necesario en tu infraestructura.

  4. Sustituye <customer_id> por el ID de cliente real.

  5. Actualiza /path/to/ingestion-authentication-file.json a la ruta en la que se guardó el archivo de autenticación en la sección Obtener el archivo de autenticación de ingestión de Google SecOps.

Reinicia el agente de Bindplane para aplicar los cambios

  • Para reiniciar el agente de Bindplane en Linux, ejecuta el siguiente comando:

    sudo systemctl restart bindplane-agent
    
  • Para reiniciar el agente de Bindplane en Windows, puedes usar la consola Servicios o introducir el siguiente comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configurar la exportación de syslog de Fortra Digital Guardian

  1. Inicia sesión en la consola de gestión de Digital Guardian.
  2. Ve a Workspace > Exportación de datos > Crear exportación.
  3. Seleccione Alertas o Eventos como fuente de datos en la lista Fuentes de datos.
  4. Seleccione Syslog como tipo de exportación.
  5. En la lista Tipo, selecciona UDP (también puedes seleccionar TCP como protocolo de transporte, en función de tu configuración de Bindplane).

  6. En el campo Servidor, introduzca la dirección IP del agente de Bindplane.

  7. En el campo Port (Puerto), introduce 514 (puedes proporcionar otro puerto en función de la configuración de tu agente de Bindplane).

  8. Selecciona un nivel de gravedad en la lista Nivel de gravedad.

  9. Seleccione la casilla Activo.

  10. Haz clic en Siguiente.

  11. En la lista de campos disponibles, añada todos los campos de alerta y evento para la exportación de datos.

  12. Selecciona los criterios de los campos de los datos que vas a exportar.

  13. Haz clic en Siguiente.

  14. Selecciona un grupo para los criterios.

  15. Haz clic en Siguiente.

  16. Haga clic en Probar consulta.

  17. Haz clic en Siguiente.

  18. Haz clic en Guardar.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
Versión del agente observer.platform_version Se asigna directamente desde el campo de registro sin procesar Agent Version.
Aplicación principal.process.command_line Se asigna directamente desde el campo de registro sin procesar Application si no está vacío.
Línea de comandos target.process.command_line Se asigna directamente desde el campo de registro sin procesar Command Line.
Nombre de la empresa principal.user.company_name Se asigna directamente desde el campo de registro sin procesar Company Name.
Nombre del ordenador principal.hostname Se asigna directamente desde el campo de registro sin procesar Computer Name.
Nombre de host de DNS target.asset.hostname Se asigna directamente desde el campo de registro sin procesar DNS Hostname.
Tipo de unidad de destino about.labels.value Se asigna directamente desde el campo de registro sin procesar Destination Drive Type. La tecla correspondiente se ha definido como Destination Drive Type.
Extensión del archivo de destino target.file.mime_type Se asigna directamente desde el campo de registro sin procesar Destination File Extension si no es no extension ni [no extension].
Ruta del archivo de destino target.file.full_path Se asigna directamente desde el campo de registro sin procesar Destination File Path.
GUID del dispositivo src.resource.id Asignado desde el campo de registro sin formato Device GUID con el prefijo GUID:.
Remitente del mensaje de correo electrónico network.email.from Se asigna directamente desde el campo de registro sin procesar Email Sender si no está vacío.
Asunto del correo electrónico network.email.subject Se asigna directamente desde el campo de registro sin procesar Email Subject si Email Sender no está vacío.
Nombre visible del evento target.resource.type Se asigna directamente desde el campo de registro sin procesar Event Display Name.
Hora del evento metadata.event_timestamp.seconds Se ha convertido a marca de tiempo desde el campo de registro sin procesar Event Time con los formatos yyyy-MM-dd HH:mm:ss A y TIMESTAMP_ISO8601.
Descripción del archivo metadata.description Se asigna directamente desde el campo de registro sin procesar File Description.
Tamaño de archivo about.labels.value Se asigna directamente desde el campo de registro sin procesar File Size. La tecla correspondiente se ha definido como File Size.
Versión del archivo about.labels.value Se asigna directamente desde el campo de registro sin procesar File Version. La tecla correspondiente se ha definido como File Version.
Dirección IP principal.ip Se asigna directamente desde el campo de registro sin procesar IP Address si Source IP Address está vacío.
Puerto local principal.port Se asigna directamente desde el campo de registro sin procesar Local Port si no está vacío y se convierte en un número entero.
Dirección MAC target.mac Se asigna directamente desde el campo de registro sin procesar MAC Address si no está vacío.
ID de máquina principal.asset.asset_id Asignado desde el campo de registro sin formato Machine ID con el prefijo MachineId:.
Tipo de máquina principal.asset.category Se asigna directamente desde el campo de registro sin procesar Machine Type.
Hash MD5 target.process.file.md5 Se asigna directamente desde el campo de registro sin procesar MD5 Hash después de convertirlo a minúsculas.
Dirección de la red network.direction Se ha asignado desde el campo de registro sin procesar Network Direction. Si Inbound, asigna el valor INBOUND. Si Outbound, asigna el valor OUTBOUND.
Tipo de operación security_result.action_details Se asigna directamente desde el campo de registro sin procesar Operation Type.
Aplicación para padres principal.process.parent_process.command_line Se asigna directamente desde el campo de registro sin procesar Parent Application si no está vacío.
Hash MD5 principal target.process.parent_process.file.md5 Se asigna directamente desde el campo de registro sin procesar Parent MD5 Hash después de convertirlo a minúsculas si coincide con un patrón de cadena hexadecimal.
Dominio de proceso target.administrative_domain Se asigna directamente desde el campo de registro sin procesar Process Domain.
Procesar extensión de archivo target.process.file.mime_type Se asigna directamente desde el campo de registro sin procesar Process File Extension si no es no extension ni [no extension].
Ruta de proceso target.process.file.full_path Se asigna directamente desde el campo de registro sin procesar Process Path.
PID del proceso principal.process.pid Se asigna directamente desde el campo de registro sin procesar Process PID después de convertirlo en una cadena.
Nombre del producto metadata.product_name Se asigna directamente desde el campo de registro sin procesar Product Name.
Versión del producto metadata.product_version Se asigna directamente desde el campo de registro sin procesar Product Version.
Protocolo network.application_protocol Si es HTTP o HTTPS, asigna el valor HTTPS.
Nombre de la impresora src.resource.name Se asigna directamente desde el campo de registro sin procesar Printer Name.
Puerto remoto target.port Se asigna directamente desde el campo de registro sin procesar Remote Port si no está vacío y se convierte en un número entero.
Hash SHA1 target.process.file.sha1 Se asigna directamente desde el campo de registro sin procesar SHA1 Hash después de convertirlo a minúsculas.
Hash SHA256 target.process.file.sha256 Se asigna directamente desde el campo de registro sin procesar SHA256 Hash después de convertirlo a minúsculas.
Emisor de la firma network.tls.server.certificate.issuer Se asigna directamente desde el campo de registro sin procesar Signature Issuer.
Firma del sujeto network.tls.server.certificate.subject Se asigna directamente desde el campo de registro sin procesar Signature Subject.
Extensión del archivo de origen src.file.mime_type Se asigna directamente desde el campo de registro sin procesar Source File Extension si no es no extension ni [no extension].
Ruta del archivo de origen src.file.full_path Se asigna directamente desde el campo de registro sin procesar Source File Path.
Dirección IP de origen principal.ip Se asigna directamente desde el campo de registro sin procesar Source IP Address si no está vacío.
Tamaño total about.labels.value Se asigna directamente desde el campo de registro sin procesar Total Size. La tecla correspondiente se ha definido como Total Size.
Ruta de URL target.url Se asigna directamente desde el campo de registro sin procesar URL Path.
ID único metadata.product_log_id Se asigna directamente desde el campo de registro sin procesar Unique ID.
Usuario principal.user.userid Se asigna directamente desde el campo de registro sin procesar User.
Was Detail Blocked security_result.action Si Yes, asigna el valor BLOCK. Si No, asigna el valor ALLOW.
dg_dst_dev.dev_prdname target.asset.hardware.model Se asigna directamente desde el campo de registro sin procesar dg_dst_dev.dev_prdname.
dg_dst_dev.dev_sernum target.asset.hardware.serial_number Se asigna directamente desde el campo de registro sin procesar dg_dst_dev.dev_sernum.
dg_recipients.uad_mr network.email.to Se asigna directamente desde el campo de registro sin procesar dg_recipients.uad_mr si coincide con un patrón de dirección de correo.
dg_src_dev.dev_prdname principal.asset.hardware.model Se asigna directamente desde el campo de registro sin procesar dg_src_dev.dev_prdname.
dg_src_dev.dev_sernum principal.asset.hardware.serial_number Se asigna directamente desde el campo de registro sin procesar dg_src_dev.dev_sernum.
metadata.event_type metadata.event_type Inicialmente, se define como GENERIC_EVENT. Cambia en función de condiciones específicas:
- NETWORK_HTTP: si están presentes el nombre de host, el protocolo HTTP/HTTPS y la dirección MAC.
- FILE_COPY: si existen las rutas de archivo de destino y de origen, y Operation Type es File Copy.
- FILE_MOVE: si existen las rutas de archivo de destino y de origen, y Operation Type es File Move.
- FILE_UNCATEGORIZED: si existe la ruta del archivo de destino, la ruta del proceso o la línea de comandos, y Operation Type contiene File.
- USER_LOGOUT: si el ID de usuario existe y Operation Type contiene Logoff.
- USER_LOGIN: si el ID de usuario existe y Operation Type contiene Logon.
- NETWORK_UNCATEGORIZED: si se incluyen la ruta del proceso, la línea de comandos, la dirección de red saliente y la dirección MAC.
- SCAN_PROCESS: si se incluyen la ruta del proceso o la línea de comandos y el ID del proceso.
- PROCESS_UNCATEGORIZED: si existe la ruta del proceso o la línea de comandos.
metadata.log_type metadata.log_type Su valor debe ser DIGITALGUARDIAN_DLP.
metadata.product_log_id metadata.product_log_id Se asigna directamente desde el campo de registro sin procesar Unique ID.
metadata.product_name metadata.product_name Se asigna directamente desde el campo de registro sin procesar Product Name.
metadata.product_version metadata.product_version Se asigna directamente desde el campo de registro sin procesar Product Version.
metadata.vendor_name metadata.vendor_name Su valor debe ser DigitalGuardian.
network.application_protocol network.application_protocol Su valor debe ser HTTPS si Protocol es HTTP o HTTPS.
network.direction network.direction Se ha asignado desde el campo de registro sin procesar Network Direction. Si Inbound, asigna el valor INBOUND. Si Outbound, asigna el valor OUTBOUND.
network.email.from network.email.from Se asigna directamente desde el campo de registro sin procesar Email Sender si no está vacío.
network.email.subject network.email.subject Se asigna directamente desde el campo de registro sin procesar Email Subject si Email Sender no está vacío.
network.email.to network.email.to Se asigna directamente desde el campo de registro sin procesar dg_recipients.uad_mr si coincide con un patrón de dirección de correo.
network.tls.server.certificate.issuer network.tls.server.certificate.issuer Se asigna directamente desde el campo de registro sin procesar Signature Issuer.
network.tls.server.certificate.subject network.tls.server.certificate.subject Se asigna directamente desde el campo de registro sin procesar Signature Subject.
observer.platform_version observer.platform_version Se asigna directamente desde el campo de registro sin procesar Agent Version.
principal.asset.asset_id principal.asset.asset_id Asignado desde el campo de registro sin formato Machine ID con el prefijo MachineId:.
principal.asset.category principal.asset.category Se asigna directamente desde el campo de registro sin procesar Machine Type.
principal.asset.hardware.model principal.asset.hardware.model Se asigna directamente desde el campo de registro sin procesar dg_src_dev.dev_prdname.
principal.asset.hardware.serial_number principal.asset.hardware.serial_number Se asigna directamente desde el campo de registro sin procesar dg_src_dev.dev_sernum.
principal.hostname principal.hostname Se asigna directamente desde el campo de registro sin procesar Computer Name.
principal.ip principal.ip Se asigna directamente desde el campo de registro sin procesar Source IP Address si no está vacío. De lo contrario, se asigna desde IP Address si no está vacío.
principal.port principal.port Se asigna directamente desde el campo de registro sin procesar Local Port si no está vacío y se convierte en un número entero.
principal.process.command_line principal.process.command_line Se asigna directamente desde el campo de registro sin procesar Application si no está vacío.
principal.process.parent_process.command_line principal.process.parent_process.command_line Se asigna directamente desde el campo de registro sin procesar Parent Application si no está vacío.
principal.process.parent_process.file.md5 principal.process.parent_process.file.md5 Se asigna directamente desde el campo de registro sin procesar Parent MD5 Hash después de convertirlo a minúsculas si coincide con un patrón de cadena hexadecimal.
principal.process.pid principal.process.pid Se asigna directamente desde el campo de registro sin procesar Process PID después de convertirlo en una cadena.
principal.user.company_name principal.user.company_name Se asigna directamente desde el campo de registro sin procesar Company Name.
principal.user.userid principal.user.userid Se asigna directamente desde el campo de registro sin procesar User.
security_result.action security_result.action Si Was Detail Blocked es Yes, asigna el valor BLOCK. Si Was Detail Blocked es No, asigna el valor ALLOW.
security_result.action_details security_result.action_details Se asigna directamente desde el campo de registro sin procesar Operation Type.
src.file.full_path src.file.full_path Se asigna directamente desde el campo de registro sin procesar Source File Path.
src.file.mime_type src.file.mime_type Se asigna directamente desde el campo de registro sin procesar Source File Extension si no es no extension ni [no extension].
src.resource.id src.resource.id Asignado desde el campo de registro sin formato Device GUID con el prefijo GUID:.
src.resource.name src.resource.name Se asigna directamente desde el campo de registro sin procesar Printer Name.
target.administrative_domain target.administrative_domain Se asigna directamente desde el campo de registro sin procesar Process Domain.
target.asset.hardware.model target.asset.hardware.model Se asigna directamente desde el campo de registro sin procesar dg_dst_dev.dev_prdname.
target.asset.hardware.serial_number target.asset.hardware.serial_number Se asigna directamente desde el campo de registro sin procesar dg_dst_dev.dev_sernum.
target.asset.hostname target.asset.hostname Se asigna directamente desde el campo de registro sin procesar DNS Hostname.
target.asset.product_object_id target.asset.product_object_id Se asigna directamente desde el campo de registro sin procesar Adapter Name.
target.file.full_path target.file.full_path Se asigna directamente desde el campo de registro sin procesar Destination File Path.
target.file.mime_type target.file.mime_type Se asigna directamente desde el campo de registro sin procesar Destination File Extension si no es no extension ni [no extension].
target.mac target.mac Se asigna directamente desde el campo de registro sin procesar MAC Address si no está vacío.
target.port target.port Se asigna directamente desde el campo de registro sin procesar Remote Port si no está vacío y se convierte en un número entero.
target.process.command_line target.process.command_line Se asigna directamente desde el campo de registro sin procesar Command Line.
target.process.file.full_path target.process.file.full_path Se asigna directamente desde el campo de registro sin procesar Process Path.
target.process.file.md5 target.process.file.md5 Se asigna directamente desde el campo de registro sin procesar MD5 Hash después de convertirlo a minúsculas.
target.process.file.mime_type target.process.file.mime_type Se asigna directamente desde el campo de registro sin procesar Process File Extension si no es no extension ni [no extension].
target.process.file.sha1 target.process.file.sha1 Se asigna directamente desde el campo de registro sin procesar SHA1 Hash después de convertirlo a minúsculas.
target.process.file.sha256 target.process.file.sha256 Se asigna directamente desde el campo de registro sin procesar SHA256 Hash después de convertirlo a minúsculas.
target.process.parent_process.command_line target.process.parent_process.command_line Se asigna directamente desde el campo de registro sin procesar Parent Application si no está vacío.
target.process.parent_process.file.md5 target.process.parent_process.file.md5 Se asigna directamente desde el campo de registro sin procesar Parent MD5 Hash después de convertirlo a minúsculas si coincide con un patrón de cadena hexadecimal.
target.resource.type target.resource.type Se asigna directamente desde el campo de registro sin procesar Event Display Name.
target.url target.url Se asigna directamente desde el campo de registro sin procesar URL Path.
extensions.auth.type extensions.auth.type Asigna el valor AUTHTYPE_UNSPECIFIED si Operation Type es User Logoff o User Logon.

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