Recopila registros de DLP de Fortra Digital Guardian

Compatible con:

En este documento, se explica cómo recopilar registros de la DLP de Fortra Digital Guardian en Google Security Operations con 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 campos del JSON sin procesar, realiza la limpieza y la normalización de los datos y, luego, asigna los campos extraídos a sus atributos de UDM correspondientes, lo que enriquece los datos con tipos de eventos específicos según la actividad identificada.

Antes de comenzar

  • Asegúrate de tener una instancia de Google Security Operations.
  • Asegúrate de usar Windows 2016 o una versión posterior, o un host de Linux con systemd.
  • Si ejecutas la herramienta detrás de un proxy, asegúrate de que los puertos del firewall estén abiertos.
  • Asegúrate de tener acceso con privilegios a la DLP de Fortra Digital Guardian.

Obtén el archivo de autenticación de transferencia de Google SecOps

  1. Accede a la consola de Google SecOps.
  2. Ve a SIEM Settings > Collection Agents.
  3. Descarga el archivo de autenticación de transferencia. Guarda el archivo de forma segura en el sistema en el que se instalará BindPlane.

Obtén el ID de cliente de Google SecOps

  1. Accede a la consola de Google SecOps.
  2. Ve a SIEM Settings > Profile.
  3. Copia y guarda el ID de cliente de la sección Detalles de la organización.

Instala el agente de BindPlane

Instalación en Windows

  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 en Linux

  1. Abre una terminal con privilegios de raíz 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

Configura el agente de BindPlane para transferir Syslog y enviarlo a Google SecOps

  1. Accede al archivo de configuración:

    1. Ubica el archivo config.yaml. Por lo general, 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. Reemplaza el puerto y la dirección IP según sea necesario en tu infraestructura.

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

  5. Actualiza /path/to/ingestion-authentication-file.json a la ruta de acceso en la que se guardó el archivo de autenticación en la sección Cómo obtener el archivo de autenticación de la transferencia de datos 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 de Servicios o ingresar el siguiente comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configura la exportación de Syslog de Fortra Digital Guardian

  1. Accede a la Consola de administración de Digital Guardian.
  2. Ve a Workspace > Exportación de datos > Crear exportación.
  3. Selecciona Alertas o Eventos como la fuente de datos de la lista Fuentes de datos.
  4. Selecciona Syslog como el tipo de exportación.
  5. En la lista de tipos, selecciona UDP (también puedes seleccionar TCP como protocolo de transporte, según la configuración de Bindplane).

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

  7. En el campo Puerto, ingresa 514 (puedes proporcionar otro puerto, según la configuración de tu agente de Bindplane).

  8. Selecciona un nivel de gravedad en la lista Severity Level.

  9. Selecciona la casilla de verificación Is Active.

  10. Haz clic en Siguiente.

  11. En la lista de campos disponibles, agrega todos los campos de Alerta y Evento para la exportación de datos.

  12. Selecciona Criterios para los campos de tu exportación de datos.

  13. Haz clic en Siguiente.

  14. Selecciona un grupo para los criterios.

  15. Haz clic en Siguiente.

  16. Haz 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 de la computadora 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 clave correspondiente se establece en 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 o [no extension].
Ruta de acceso al 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 Se asigna desde el campo de registro sin procesar 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.
Fecha y hora del evento metadata.event_timestamp.seconds Se convirtió 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 del archivo about.labels.value Se asigna directamente desde el campo de registro sin procesar File Size. La clave correspondiente se establece en File Size.
Versión del archivo about.labels.value Se asigna directamente desde el campo de registro sin procesar File Version. La clave correspondiente se establece en 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 Se asigna desde el campo de registro sin procesar 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 asignó desde el campo de registro sin procesar Network Direction. Si es Inbound, configúralo como INBOUND. Si es Outbound, configúralo como 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 del proceso target.administrative_domain Se asigna directamente desde el campo de registro sin procesar Process Domain.
Procesa la 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 o [no extension].
Ruta de procesamiento 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, configúralo como 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 de 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.
Entidad emisora de la firma network.tls.server.certificate.issuer Se asigna directamente desde el campo de registro sin procesar Signature Issuer.
Asunto de la firma network.tls.server.certificate.subject Se asigna directamente desde el campo de registro sin procesar Signature Subject.
Extensión del archivo fuente src.file.mime_type Se asigna directamente desde el campo de registro sin procesar Source File Extension si no es no extension o [no extension].
Ruta de acceso al archivo fuente 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 clave correspondiente se establece en 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.
Se bloqueó el detalle security_result.action Si es Yes, configúralo como BLOCK. Si es No, configúralo como 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 electrónico.
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 Se establece en GENERIC_EVENT de forma inicial. Cambia según 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 acceso a los archivos de destino y de origen, y Operation Type es File Copy.
 - FILE_MOVE: Si existen las rutas de acceso a los archivos de destino y de origen, y Operation Type es File Move.
- FILE_UNCATEGORIZED: Si existen la ruta de acceso al archivo de destino y la ruta de acceso o la línea de comandos del proceso, y Operation Type contiene File.
- USER_LOGOUT: Si existe el ID de usuario y Operation Type contiene Logoff.
- USER_LOGIN: Si existe el ID de usuario y Operation Type contiene Logon.
- NETWORK_UNCATEGORIZED: Si están presentes la ruta de acceso o la línea de comandos del proceso, el ID del proceso, la dirección de red saliente y la dirección MAC
- SCAN_PROCESS: Si la ruta de acceso al proceso o la línea de comandos y el ID del proceso están presentes.
- PROCESS_UNCATEGORIZED: Si existe la ruta de acceso al proceso o la línea de comandos.
metadata.log_type metadata.log_type Se define en 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 Se define en DigitalGuardian.
network.application_protocol network.application_protocol Se establece en HTTPS si Protocol es HTTP o HTTPS.
network.direction network.direction Se asignó desde el campo de registro sin procesar Network Direction. Si es Inbound, configúralo como INBOUND. Si es Outbound, configúralo como 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 electrónico.
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 Se asigna desde el campo de registro sin procesar 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, configúralo como BLOCK. Si Was Detail Blocked es No, configúralo como 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 o [no extension].
src.resource.id src.resource.id Se asigna desde el campo de registro sin procesar 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 o [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 o [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 Se establece en AUTHTYPE_UNSPECIFIED si Operation Type es User Logoff o User Logon.

¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.