Recolha registos da DLP do Fortra Digital Guardian
Este documento explica como recolher registos de DLP do Fortra Digital Guardian para o Google Security Operations através de um agente do Bindplane. O código do analisador transforma os registos formatados JSON não processados num modelo de dados unificado (UDM). Primeiro, extrai campos do JSON não processado, realiza a limpeza e a normalização dos dados e, em seguida, mapeia os campos extraídos para os respetivos atributos do MDUs, enriquecendo os dados com tipos de eventos específicos com base na atividade identificada.
Antes de começar
- Certifique-se de que tem uma instância do Google Security Operations.
- Certifique-se de que está a usar o Windows 2016 ou posterior, ou um anfitrião Linux com
systemd
. - Se estiver a executar o serviço através de um proxy, certifique-se de que as portas da firewall estão abertas.
- Certifique-se de que tem acesso privilegiado ao Fortra Digital Guardian DLP.
Obtenha o ficheiro de autenticação de carregamento do Google SecOps
- Inicie sessão na consola Google SecOps.
- Aceda a Definições do SIEM > Agentes de recolha.
- Transfira o ficheiro de autenticação de carregamento. Guarde o ficheiro de forma segura no sistema onde o Bindplane vai ser instalado.
Obtenha o ID de cliente do Google SecOps
- Inicie sessão na consola Google SecOps.
- Aceda a Definições do SIEM > Perfil.
- Copie e guarde o ID do cliente da secção Detalhes da organização.
Instale o agente do Bindplane
Instalação do Windows
- Abra a Linha de comandos ou o PowerShell como administrador.
Execute o seguinte comando:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Instalação do Linux
- Abra um terminal com privilégios de raiz ou sudo.
Execute o seguinte comando:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
Recursos de instalação adicionais
- Para ver opções de instalação adicionais, consulte este guia de instalação.
Configure o agente Bindplane para carregar o Syslog e enviá-lo para o Google SecOps
Aceda ao ficheiro de configuração:
- Localize o ficheiro
config.yaml
. Normalmente, encontra-se no diretório/etc/bindplane-agent/
no Linux ou no diretório de instalação no Windows. - Abra o ficheiro com um editor de texto (por exemplo,
nano
,vi
ou Bloco de notas).
- Localize o ficheiro
Edite o ficheiro
config.yaml
da seguinte forma: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
Substitua a porta e o endereço IP conforme necessário na sua infraestrutura.
Substitua
<customer_id>
pelo ID de cliente real.Atualize
/path/to/ingestion-authentication-file.json
para o caminho onde o ficheiro de autenticação foi guardado na secção Obtenha o ficheiro de autenticação de carregamento do Google SecOps.
Reinicie o agente do Bindplane para aplicar as alterações
Para reiniciar o agente do Bindplane no Linux, execute o seguinte comando:
sudo systemctl restart bindplane-agent
Para reiniciar o agente do Bindplane no Windows, pode usar a consola Services ou introduzir o seguinte comando:
net stop BindPlaneAgent && net start BindPlaneAgent
Configure a exportação do Syslog do Fortra Digital Guardian
- Inicie sessão na Digital Guardian Management Console.
- Aceda a Workspace > Exportação de dados > Criar exportação.
- Selecione Alertas ou Eventos como origem de dados na lista Origens de dados.
- Selecione Syslog como o tipo de exportação.
Na lista Tipo, selecione UDP (também pode selecionar TCP como protocolo de transporte, consoante a configuração do Bindplane).
No campo Servidor, introduza o endereço IP do agente do Bindplane.
No campo Porta, introduza
514
(pode indicar outra porta, consoante a configuração do agente Bindplane).Selecione um nível de gravidade na lista Nível de gravidade.
Selecione a caixa de verificação Is Active (Está ativo).
Clicar em Seguinte.
Na lista de campos disponíveis, adicione Todos os campos de alertas e eventos para a exportação de dados.
Selecione Critérios para os campos na exportação de dados.
Clicar em Seguinte.
Selecione um Grupo para os critérios.
Clicar em Seguinte.
Clique em Testar consulta.
Clicar em Seguinte.
Clique em Guardar.
Tabela de mapeamento da UDM
Campo de registo | Mapeamento de UDM | Lógica |
---|---|---|
Versão do agente | observer.platform_version | Mapeado diretamente a partir do campo de registo não processado Agent Version . |
Aplicação | principal.process.command_line | Mapeado diretamente a partir do campo de registo não processado Application , se não estiver vazio. |
Linha de comandos | target.process.command_line | Mapeado diretamente a partir do campo de registo não processado Command Line . |
Nome da empresa | principal.user.company_name | Mapeado diretamente a partir do campo de registo não processado Company Name . |
Nome do computador | principal.hostname | Mapeado diretamente a partir do campo de registo não processado Computer Name . |
Nome de anfitrião de DNS | target.asset.hostname | Mapeado diretamente a partir do campo de registo não processado DNS Hostname . |
Tipo de tração do destino | about.labels.value | Mapeado diretamente a partir do campo de registo não processado Destination Drive Type . A tecla correspondente está definida como Destination Drive Type . |
Extensão do ficheiro de destino | target.file.mime_type | Mapeado diretamente a partir do campo de registo não processado Destination File Extension se não for no extension nem [no extension] . |
Caminho do ficheiro de destino | target.file.full_path | Mapeado diretamente a partir do campo de registo não processado Destination File Path . |
GUID do dispositivo | src.resource.id | Mapeado a partir do campo de registo não processado Device GUID com o prefixo GUID: . |
Remetente do Email | network.email.from | Mapeado diretamente a partir do campo de registo não processado Email Sender , se não estiver vazio. |
Assunto do email | network.email.subject | Mapeado diretamente a partir do campo de registo não processado Email Subject se Email Sender não estiver vazio. |
Nome a apresentar do evento | target.resource.type | Mapeado diretamente a partir do campo de registo não processado Event Display Name . |
Hora do evento | metadata.event_timestamp.seconds | Convertido para data/hora a partir do campo de registo não processado Event Time usando os formatos yyyy-MM-dd HH:mm:ss A e TIMESTAMP_ISO8601 . |
Descrição do ficheiro | metadata.description | Mapeado diretamente a partir do campo de registo não processado File Description . |
Tamanho do ficheiro | about.labels.value | Mapeado diretamente a partir do campo de registo não processado File Size . A tecla correspondente está definida como File Size . |
Versão do ficheiro | about.labels.value | Mapeado diretamente a partir do campo de registo não processado File Version . A tecla correspondente está definida como File Version . |
Endereço IP | principal.ip | Mapeado diretamente a partir do campo de registo não processado IP Address se Source IP Address estiver vazio. |
Porta local | principal.port | Mapeado diretamente a partir do campo de registo não processado Local Port , se não estiver vazio, e convertido em número inteiro. |
Endereço MAC | target.mac | Mapeado diretamente a partir do campo de registo não processado MAC Address , se não estiver vazio. |
ID do computador | principal.asset.asset_id | Mapeado a partir do campo de registo não processado Machine ID com o prefixo MachineId: . |
Tipo de máquina | principal.asset.category | Mapeado diretamente a partir do campo de registo não processado Machine Type . |
Hash MD5 | target.process.file.md5 | Mapeado diretamente a partir do campo de registo não processado MD5 Hash após a conversão para letras minúsculas. |
Direção da rede | network.direction | Mapeado a partir do campo de registo não processado Network Direction . Se Inbound , defina como INBOUND . Se Outbound , defina como OUTBOUND . |
Tipo de operação | security_result.action_details | Mapeado diretamente a partir do campo de registo não processado Operation Type . |
Aplicação parental | principal.process.parent_process.command_line | Mapeado diretamente a partir do campo de registo não processado Parent Application , se não estiver vazio. |
Hash MD5 principal | target.process.parent_process.file.md5 | Mapeado diretamente a partir do campo de registo não processado Parent MD5 Hash após a conversão para letras minúsculas se corresponder a um padrão de string hexadecimal. |
Domínio de processo | target.administrative_domain | Mapeado diretamente a partir do campo de registo não processado Process Domain . |
Extensão de ficheiro de processo | target.process.file.mime_type | Mapeado diretamente a partir do campo de registo não processado Process File Extension se não for no extension nem [no extension] . |
Caminho do processo | target.process.file.full_path | Mapeado diretamente a partir do campo de registo não processado Process Path . |
PID do processo | principal.process.pid | Mapeado diretamente a partir do campo de registo não processado Process PID após a conversão em string. |
Nome do produto | metadata.product_name | Mapeado diretamente a partir do campo de registo não processado Product Name . |
Versão do produto | metadata.product_version | Mapeado diretamente a partir do campo de registo não processado Product Version . |
Protocolo | network.application_protocol | Se HTTP ou HTTPS , defina como HTTPS . |
Nome da impressora | src.resource.name | Mapeado diretamente a partir do campo de registo não processado Printer Name . |
Porta remota | target.port | Mapeado diretamente a partir do campo de registo não processado Remote Port , se não estiver vazio, e convertido em número inteiro. |
Hash SHA1 | target.process.file.sha1 | Mapeado diretamente a partir do campo de registo não processado SHA1 Hash após a conversão para letras minúsculas. |
Hash SHA256 | target.process.file.sha256 | Mapeado diretamente a partir do campo de registo não processado SHA256 Hash após a conversão para letras minúsculas. |
Emissor da assinatura | network.tls.server.certificate.issuer | Mapeado diretamente a partir do campo de registo não processado Signature Issuer . |
Assunto da assinatura | network.tls.server.certificate.subject | Mapeado diretamente a partir do campo de registo não processado Signature Subject . |
Extensão do ficheiro de origem | src.file.mime_type | Mapeado diretamente a partir do campo de registo não processado Source File Extension se não for no extension nem [no extension] . |
Caminho do ficheiro de origem | src.file.full_path | Mapeado diretamente a partir do campo de registo não processado Source File Path . |
Endereço IP de origem | principal.ip | Mapeado diretamente a partir do campo de registo não processado Source IP Address , se não estiver vazio. |
Tamanho Total | about.labels.value | Mapeado diretamente a partir do campo de registo não processado Total Size . A tecla correspondente está definida como Total Size . |
Caminho de URL | target.url | Mapeado diretamente a partir do campo de registo não processado URL Path . |
ID único | metadata.product_log_id | Mapeado diretamente a partir do campo de registo não processado Unique ID . |
Utilizador | principal.user.userid | Mapeado diretamente a partir do campo de registo não processado User . |
Was Detail Blocked | security_result.action | Se Yes , defina como BLOCK . Se No , defina como ALLOW . |
dg_dst_dev.dev_prdname | target.asset.hardware.model | Mapeado diretamente a partir do campo de registo não processado dg_dst_dev.dev_prdname . |
dg_dst_dev.dev_sernum | target.asset.hardware.serial_number | Mapeado diretamente a partir do campo de registo não processado dg_dst_dev.dev_sernum . |
dg_recipients.uad_mr | network.email.to | Mapeado diretamente a partir do campo de registo não processado dg_recipients.uad_mr se corresponder a um padrão de endereço de email. |
dg_src_dev.dev_prdname | principal.asset.hardware.model | Mapeado diretamente a partir do campo de registo não processado dg_src_dev.dev_prdname . |
dg_src_dev.dev_sernum | principal.asset.hardware.serial_number | Mapeado diretamente a partir do campo de registo não processado dg_src_dev.dev_sernum . |
metadata.event_type | metadata.event_type | Inicialmente, definido como GENERIC_EVENT . Alterado com base em condições específicas: - NETWORK_HTTP : se o nome do anfitrião, o protocolo HTTP/HTTPS e o endereço MAC estiverem presentes. - FILE_COPY : se os caminhos dos ficheiros de destino e de origem existirem e Operation Type for File Copy . - FILE_MOVE : se os caminhos dos ficheiros de destino e de origem existirem e Operation Type for File Move . - FILE_UNCATEGORIZED : se o caminho do ficheiro de destino, o caminho/linha de comandos do processo existirem e Operation Type contiver File . - USER_LOGOUT : se o ID do utilizador existir e Operation Type contiver Logoff . - USER_LOGIN : se o ID do utilizador existir e Operation Type contiver Logon . - NETWORK_UNCATEGORIZED : se o caminho/linha de comandos do processo, o ID do processo, a direção da rede de saída e o endereço MAC estiverem presentes. - SCAN_PROCESS : se o caminho/linha de comandos do processo e o ID do processo estiverem presentes. - PROCESS_UNCATEGORIZED : se existir o caminho/linha de comandos do processo. |
metadata.log_type | metadata.log_type | Definido como DIGITALGUARDIAN_DLP . |
metadata.product_log_id | metadata.product_log_id | Mapeado diretamente a partir do campo de registo não processado Unique ID . |
metadata.product_name | metadata.product_name | Mapeado diretamente a partir do campo de registo não processado Product Name . |
metadata.product_version | metadata.product_version | Mapeado diretamente a partir do campo de registo não processado Product Version . |
metadata.vendor_name | metadata.vendor_name | Definido como DigitalGuardian . |
network.application_protocol | network.application_protocol | Definido como HTTPS se Protocol for HTTP ou HTTPS . |
network.direction | network.direction | Mapeado a partir do campo de registo não processado Network Direction . Se Inbound , defina como INBOUND . Se Outbound , defina como OUTBOUND . |
network.email.from | network.email.from | Mapeado diretamente a partir do campo de registo não processado Email Sender , se não estiver vazio. |
network.email.subject | network.email.subject | Mapeado diretamente a partir do campo de registo não processado Email Subject se Email Sender não estiver vazio. |
network.email.to | network.email.to | Mapeado diretamente a partir do campo de registo não processado dg_recipients.uad_mr se corresponder a um padrão de endereço de email. |
network.tls.server.certificate.issuer | network.tls.server.certificate.issuer | Mapeado diretamente a partir do campo de registo não processado Signature Issuer . |
network.tls.server.certificate.subject | network.tls.server.certificate.subject | Mapeado diretamente a partir do campo de registo não processado Signature Subject . |
observer.platform_version | observer.platform_version | Mapeado diretamente a partir do campo de registo não processado Agent Version . |
principal.asset.asset_id | principal.asset.asset_id | Mapeado a partir do campo de registo não processado Machine ID com o prefixo MachineId: . |
principal.asset.category | principal.asset.category | Mapeado diretamente a partir do campo de registo não processado Machine Type . |
principal.asset.hardware.model | principal.asset.hardware.model | Mapeado diretamente a partir do campo de registo não processado dg_src_dev.dev_prdname . |
principal.asset.hardware.serial_number | principal.asset.hardware.serial_number | Mapeado diretamente a partir do campo de registo não processado dg_src_dev.dev_sernum . |
principal.hostname | principal.hostname | Mapeado diretamente a partir do campo de registo não processado Computer Name . |
principal.ip | principal.ip | Mapeado diretamente a partir do campo de registo não processado Source IP Address , se não estiver vazio. Caso contrário, é mapeado a partir de IP Address se não estiver vazio. |
principal.port | principal.port | Mapeado diretamente a partir do campo de registo não processado Local Port , se não estiver vazio, e convertido em número inteiro. |
principal.process.command_line | principal.process.command_line | Mapeado diretamente a partir do campo de registo não processado Application , se não estiver vazio. |
principal.process.parent_process.command_line | principal.process.parent_process.command_line | Mapeado diretamente a partir do campo de registo não processado Parent Application , se não estiver vazio. |
principal.process.parent_process.file.md5 | principal.process.parent_process.file.md5 | Mapeado diretamente a partir do campo de registo não processado Parent MD5 Hash após a conversão para letras minúsculas se corresponder a um padrão de string hexadecimal. |
principal.process.pid | principal.process.pid | Mapeado diretamente a partir do campo de registo não processado Process PID após a conversão em string. |
principal.user.company_name | principal.user.company_name | Mapeado diretamente a partir do campo de registo não processado Company Name . |
principal.user.userid | principal.user.userid | Mapeado diretamente a partir do campo de registo não processado User . |
security_result.action | security_result.action | Se Was Detail Blocked for Yes , defina como BLOCK . Se Was Detail Blocked for No , defina como ALLOW . |
security_result.action_details | security_result.action_details | Mapeado diretamente a partir do campo de registo não processado Operation Type . |
src.file.full_path | src.file.full_path | Mapeado diretamente a partir do campo de registo não processado Source File Path . |
src.file.mime_type | src.file.mime_type | Mapeado diretamente a partir do campo de registo não processado Source File Extension se não for no extension nem [no extension] . |
src.resource.id | src.resource.id | Mapeado a partir do campo de registo não processado Device GUID com o prefixo GUID: . |
src.resource.name | src.resource.name | Mapeado diretamente a partir do campo de registo não processado Printer Name . |
target.administrative_domain | target.administrative_domain | Mapeado diretamente a partir do campo de registo não processado Process Domain . |
target.asset.hardware.model | target.asset.hardware.model | Mapeado diretamente a partir do campo de registo não processado dg_dst_dev.dev_prdname . |
target.asset.hardware.serial_number | target.asset.hardware.serial_number | Mapeado diretamente a partir do campo de registo não processado dg_dst_dev.dev_sernum . |
target.asset.hostname | target.asset.hostname | Mapeado diretamente a partir do campo de registo não processado DNS Hostname . |
target.asset.product_object_id | target.asset.product_object_id | Mapeado diretamente a partir do campo de registo não processado Adapter Name . |
target.file.full_path | target.file.full_path | Mapeado diretamente a partir do campo de registo não processado Destination File Path . |
target.file.mime_type | target.file.mime_type | Mapeado diretamente a partir do campo de registo não processado Destination File Extension se não for no extension nem [no extension] . |
target.mac | target.mac | Mapeado diretamente a partir do campo de registo não processado MAC Address , se não estiver vazio. |
target.port | target.port | Mapeado diretamente a partir do campo de registo não processado Remote Port , se não estiver vazio, e convertido em número inteiro. |
target.process.command_line | target.process.command_line | Mapeado diretamente a partir do campo de registo não processado Command Line . |
target.process.file.full_path | target.process.file.full_path | Mapeado diretamente a partir do campo de registo não processado Process Path . |
target.process.file.md5 | target.process.file.md5 | Mapeado diretamente a partir do campo de registo não processado MD5 Hash após a conversão para letras minúsculas. |
target.process.file.mime_type | target.process.file.mime_type | Mapeado diretamente a partir do campo de registo não processado Process File Extension se não for no extension nem [no extension] . |
target.process.file.sha1 | target.process.file.sha1 | Mapeado diretamente a partir do campo de registo não processado SHA1 Hash após a conversão para letras minúsculas. |
target.process.file.sha256 | target.process.file.sha256 | Mapeado diretamente a partir do campo de registo não processado SHA256 Hash após a conversão para letras minúsculas. |
target.process.parent_process.command_line | target.process.parent_process.command_line | Mapeado diretamente a partir do campo de registo não processado Parent Application , se não estiver vazio. |
target.process.parent_process.file.md5 | target.process.parent_process.file.md5 | Mapeado diretamente a partir do campo de registo não processado Parent MD5 Hash após a conversão para letras minúsculas se corresponder a um padrão de string hexadecimal. |
target.resource.type | target.resource.type | Mapeado diretamente a partir do campo de registo não processado Event Display Name . |
target.url | target.url | Mapeado diretamente a partir do campo de registo não processado URL Path . |
extensions.auth.type | extensions.auth.type | Definido como AUTHTYPE_UNSPECIFIED se Operation Type for User Logoff ou User Logon . |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.