Coletar registros do EDR da Check Point
Neste documento, explicamos como ingerir registros do antivírus Check Point no Google Security Operations usando o Bindplane. O analisador processa registros do Check Point SandBlast, convertendo registros formatados SYSLOG + KV e SYSLOG + CEF no modelo de dados unificado (UDM). O analisador extrai campos de mensagens CEF usando módulos incluídos e os mapeia para campos da UDM, processando vários tipos de eventos e enriquecendo os dados com contexto adicional dos registros brutos. Para mensagens que não são do CEF, o analisador usa extração de chave-valor, padrões grok e lógica condicional para mapear campos relevantes para o esquema UDM do EDR.
Antes de começar
Verifique se você tem os pré-requisitos a seguir:
- Instância do Google SecOps
- Windows 2016 ou mais recente ou um host Linux com
systemd
- Se estiver executando por trás de um proxy, as portas do firewall estarão abertas.
- Acesso privilegiado ao Check Point Appliance com SandBlast.
Receber o arquivo de autenticação de ingestão do Google SecOps
- Faça login no console do Google SecOps.
- Acesse Configurações do SIEM > Agentes de coleta.
- Baixe o arquivo de autenticação de ingestão. Salve o arquivo de forma segura no sistema em que o Bindplane será instalado.
Receber o ID do cliente do Google SecOps
- Faça login no console do Google SecOps.
- Acesse Configurações do SIEM > Perfil.
- Copie e salve o ID do cliente na seção Detalhes da organização.
Instalar o agente do Bindplane
Instalação do Windows
- Abra o Prompt de Comando ou o PowerShell como administrador.
Execute este 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 root ou sudo.
Execute este comando:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
Outros recursos de instalação
Para mais opções de instalação, consulte o guia de instalação.
Configurar o agente do Bindplane para ingerir o Syslog e enviar ao Google SecOps
- Acesse o arquivo de configuração:
- Localize o arquivo
config.yaml
. Normalmente, ele fica no diretório/etc/bindplane-agent/
no Linux ou no diretório de instalação no Windows. - Abra o arquivo usando um editor de texto (por exemplo,
nano
,vi
ou Bloco de Notas).
- Localize o arquivo
Edite o arquivo
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: 'CHECKPOINT_EDR' 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 do cliente real.Atualize
/path/to/ingestion-authentication-file.json
para o caminho em que o arquivo de autenticação foi salvo na seção Receber arquivo de autenticação de ingestão do Google SecOps.
Reinicie o agente do BindPlane para aplicar as mudanças.
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, use o console Serviços ou insira o seguinte comando:
net stop BindPlaneAgent && net start BindPlaneAgent
Configurar o Syslog na série de appliances Checkpoint 1500
- Faça login no dispositivo Checkpoint.
- Acesse Registros e monitoramento > Servidores de registro > Servidores Syslog.
- Clique em Configurar.
- Informe os seguintes detalhes de configuração:
- Protocolo: selecione UDP.
- Nome: insira um nome descritivo.
- Endereço IP: insira o endereço IP do agente do Bindplane.
- Porta: digite o número da porta do agente do Bindplane.
- Selecione Ativar o servidor de registros.
- Selecione os registros a serem encaminhados: registros do sistema e de segurança.
- Clique em Aplicar.
Tabela de mapeamento da UDM
Campo de registro | Mapeamento do UDM | Lógica |
---|---|---|
action |
event.idm.read_only_udm.security_result.action |
Mapeado diretamente do campo action CEF. |
action_comment |
event.idm.read_only_udm.additional.fields[<N>].key : action_comment event.idm.read_only_udm.additional.fields[<N>].value.string_value : valor de action_comment |
Mapeado diretamente do campo action_comment . |
action_details |
event.idm.read_only_udm.security_result.action_details |
Mapeado diretamente do campo action_details CEF. |
additional_info |
event.idm.read_only_udm.additional.fields[<N>].key : additional_info event.idm.read_only_udm.additional.fields[<N>].value.string_value : valor de additional_info |
Mapeado diretamente do campo additional_info . |
am_update_proxy |
event.idm.read_only_udm.intermediary.domain.name |
Mapeado diretamente do campo am_update_proxy . |
am_update_source |
event.idm.read_only_udm.target.url |
Mapeado diretamente do campo am_update_source . |
client_version |
event.idm.read_only_udm.metadata.product_version |
Mapeado diretamente do campo client_version . |
cn1 |
event.idm.read_only_udm.security_result.severity |
Mapeado do campo cn1 do CEF e convertido em valores de gravidade do UDM (CRITICAL, HIGH, MEDIUM, LOW, INFO). |
cs1 |
event.idm.read_only_udm.additional.fields[<N>].key : Connectivity State event.idm.read_only_udm.additional.fields[<N>].value.string_value : valor de cs1 |
Mapeado diretamente do campo cs1 . |
description |
event.idm.read_only_udm.metadata.description |
Mapeado diretamente do campo description CEF. |
deviceDirection |
event.idm.read_only_udm.network.direction |
Mapeado do campo deviceDirection . Um valor de 0 é mapeado para INBOUND , e outros valores não são mapeados. |
deviceFacility |
event.idm.read_only_udm.additional.fields[<N>].key : deviceFacility event.idm.read_only_udm.additional.fields[<N>].value.string_value : valor de deviceFacility |
Mapeado diretamente do campo deviceFacility . |
dst |
event.idm.read_only_udm.network.target.ip |
Mapeado diretamente do campo dst quando event_type é Firewall . |
engine_ver |
event.idm.read_only_udm.additional.fields[<N>].key : engine_ver event.idm.read_only_udm.additional.fields[<N>].value.string_value : valor de engine_ver |
Mapeado diretamente do campo engine_ver . |
ep_rule_id |
event.idm.read_only_udm.firewall.firewall_rule_id |
Mapeado diretamente do campo ep_rule_id quando event_type é Firewall . |
event_type |
event.idm.read_only_udm.metadata.product_event_type |
Mapeado diretamente do campo event_type CEF. |
failed_updates |
event.idm.read_only_udm.additional.fields[<N>].key : failed_updates event.idm.read_only_udm.additional.fields[<N>].value.string_value : valor de failed_updates |
Mapeado diretamente do campo failed_updates . |
file_md5 |
event.idm.read_only_udm.source_file.hash_md5 |
Mapeado diretamente do campo file_md5 quando event_type é TE Event . |
file_name |
event.idm.read_only_udm.source_file.file_name |
Mapeado diretamente do campo file_name quando event_type é TE Event . |
file_sha1 |
event.idm.read_only_udm.source_file.hash_sha1 |
Mapeado diretamente do campo file_sha1 quando event_type é TE Event . |
file_sha256 |
event.idm.read_only_udm.source_file.hash_sha256 |
Mapeado diretamente do campo file_sha256 quando event_type é TE Event . |
host_type |
event.idm.read_only_udm.principal.asset.type |
Mapeado do campo host_type . Desktop é convertido em WORKSTATION , e o valor é convertido para maiúsculas. |
ifdir |
event.idm.read_only_udm.network.direction |
Mapeado diretamente do campo ifdir e convertido para maiúsculas quando event_type é Firewall . |
installed_products |
event.idm.read_only_udm.principal.asset.software.name |
Mapeado diretamente do campo installed_products . |
is_scanned |
sec_res.detection_fields[<N>].key : is_scanned sec_res.detection_fields[<N>].value : valor de is_scanned |
Mapeado diretamente do campo is_scanned . |
local_time |
event.idm.read_only_udm.additional.fields[<N>].key : local_time event.idm.read_only_udm.additional.fields[<N>].value.string_value : valor de local_time |
Mapeado diretamente do campo local_time . |
log_type |
event.idm.read_only_udm.metadata.log_type |
Mapeado diretamente do campo log_type . |
loguid |
event.idm.read_only_udm.metadata.product_log_id |
Mapeado diretamente do campo loguid . |
machine_guid |
event.idm.read_only_udm.principal.asset.product_object_id |
Mapeado diretamente do campo machine_guid . |
media_authorized |
event.idm.read_only_udm.additional.fields[<N>].key : media_authorized event.idm.read_only_udm.additional.fields[<N>].value.string_value : valor de media_authorized |
Mapeado diretamente do campo media_authorized . |
media_class_id |
event.idm.read_only_udm.additional.fields[<N>].key : media_class_id event.idm.read_only_udm.additional.fields[<N>].value.string_value : valor de media_class_id |
Mapeado diretamente do campo media_class_id . |
media_description |
event.idm.read_only_udm.additional.fields[<N>].key : media_description event.idm.read_only_udm.additional.fields[<N>].value.string_value : valor de media_description |
Mapeado diretamente do campo media_description . |
media_encrypted |
event.idm.read_only_udm.additional.fields[<N>].key : media_encrypted event.idm.read_only_udm.additional.fields[<N>].value.string_value : valor de media_encrypted |
Mapeado diretamente do campo media_encrypted . |
media_manufacturer |
event.idm.read_only_udm.additional.fields[<N>].key : media_manufacturer event.idm.read_only_udm.additional.fields[<N>].value.string_value : valor de media_manufacturer |
Mapeado diretamente do campo media_manufacturer . |
media_type |
event.idm.read_only_udm.additional.fields[<N>].key : media_type event.idm.read_only_udm.additional.fields[<N>].value.string_value : valor de media_type |
Mapeado diretamente do campo media_type . |
msg |
event.idm.read_only_udm.metadata.description |
Mapeado diretamente do campo msg CEF. |
origin |
event.idm.read_only_udm.about.ip |
Mapeado diretamente do campo origin CEF. |
os_name |
event.idm.read_only_udm.additional.fields[<N>].key : os_name event.idm.read_only_udm.additional.fields[<N>].value.string_value : valor de os_name |
Mapeado diretamente do campo os_name . |
os_version |
event.idm.read_only_udm.principal.asset.platform_software.platform_version |
Mapeado diretamente do campo os_version . |
policy_date |
event.idm.read_only_udm.additional.fields[<N>].key : policy_date event.idm.read_only_udm.additional.fields[<N>].value.string_value : valor de policy_date |
Mapeado diretamente do campo policy_date . |
policy_guid |
event.idm.read_only_udm.principal.resource.product_object_id |
Mapeado diretamente do campo policy_guid . |
policy_name |
event.idm.read_only_udm.principal.resource.name |
Mapeado diretamente do campo policy_name . |
policy_number |
event.idm.read_only_udm.principal.resource.product_object_id |
Mapeado diretamente do campo policy_number . |
policy_type |
event.idm.read_only_udm.additional.fields[<N>].key : policy_type event.idm.read_only_udm.additional.fields[<N>].value.string_value : valor de policy_type |
Mapeado diretamente do campo policy_type . |
policy_version |
event.idm.read_only_udm.additional.fields[<N>].key : policy_version event.idm.read_only_udm.additional.fields[<N>].value.string_value : valor de policy_version |
Mapeado diretamente do campo policy_version . |
product |
event.idm.read_only_udm.metadata.product_name |
Mapeado diretamente do campo product CEF. |
proto |
event.idm.read_only_udm.network.protocol |
Mapeado diretamente do campo proto quando event_type é Firewall . |
reading_data_access |
event.idm.read_only_udm.additional.fields[<N>].key : reading_data_access event.idm.read_only_udm.additional.fields[<N>].value.string_value : valor de reading_data_access |
Mapeado diretamente do campo reading_data_access . |
requestClientApplication |
event.idm.read_only_udm.network.http.user_agent |
Mapeado diretamente do campo requestClientApplication . |
result |
event.idm.read_only_udm.security_result.summary |
Mapeado diretamente do campo result . |
rt |
event.idm.read_only_udm.metadata.event_timestamp.seconds |
Mapeado do campo rt , dividido por 1.000, e a parte inteira é considerada como segundos. |
rule_name |
event.idm.read_only_udm.firewall.firewall_rule |
Mapeado diretamente do campo rule_name quando event_type é Firewall . |
s_port |
event.idm.read_only_udm.network.client.port |
Mapeado diretamente do campo s_port quando event_type é Firewall . |
sequencenum |
event.idm.read_only_udm.additional.fields[<N>].key : sequencenum event.idm.read_only_udm.additional.fields[<N>].value.string_value : valor de sequencenum |
Mapeado diretamente do campo sequencenum . |
service |
event.idm.read_only_udm.network.target.port |
Mapeado diretamente do campo service quando event_type é Firewall . |
severity |
event.idm.read_only_udm.security_result.severity |
Mapeado do campo severity e convertido em valores de gravidade do UDM (CRITICAL, HIGH, MEDIUM, LOW, INFO). |
shost |
event.idm.read_only_udm.principal.hostname |
Mapeado diretamente do campo shost CEF. |
sig_ver |
event.idm.read_only_udm.additional.fields[<N>].key : sig_ver event.idm.read_only_udm.additional.fields[<N>].value.string_value : valor de sig_ver |
Mapeado diretamente do campo sig_ver . |
src |
event.idm.read_only_udm.principal.ip |
Mapeado diretamente do campo src CEF. |
src_machine_name |
event.idm.read_only_udm.principal.hostname |
Mapeado diretamente do campo src_machine_name quando event_type está vazio. |
subject |
event.idm.read_only_udm.task.task_name |
Mapeado diretamente do campo subject quando event_type está vazio. |
suser |
event.idm.read_only_udm.principal.user.user_display_name |
Mapeado diretamente do campo suser CEF. |
time |
event.idm.read_only_udm.metadata.event_timestamp.seconds |
Mapeado diretamente do campo time e convertido para segundos da época Unix. |
user_name |
event.idm.read_only_udm.principal.user.email_addresses |
Mapeado diretamente do campo user_name CEF. |
user_sid |
event.idm.read_only_udm.principal.user.windows_sid |
Mapeado diretamente do campo user_sid . |
version |
event.idm.read_only_udm.additional.fields[<N>].key : version event.idm.read_only_udm.additional.fields[<N>].value.string_value : valor de version |
Mapeado diretamente do campo version . |
writing_data_access |
event.idm.read_only_udm.additional.fields[<N>].key : writing_data_access event.idm.read_only_udm.additional.fields[<N>].value.string_value : valor de writing_data_access |
Mapeado diretamente do campo writing_data_access . |
N/A | event.idm.read_only_udm.metadata.event_type |
Defina como GENERIC_EVENT se nenhum de principal.ip , principal.hostname ou principal.mac estiver presente no registro bruto. Caso contrário, defina como STATUS_UPDATE . |
N/A | event.idm.read_only_udm.metadata.vendor_name |
Valor constante: Check Point . |
N/A | event.idm.read_only_udm.metadata.log_type |
Valor constante: CHECKPOINT_EDR . |
N/A | event.idm.read_only_udm.principal.asset.platform_software.platform |
Defina como WINDOWS se os_name contiver WINDOWS ou Windows . |
N/A | event.idm.read_only_udm.network.http.user_agent |
Defina como Check Point Endpoint Security Client se requestClientApplication estiver presente. |
N/A | event.edr.data_source |
Valor constante: CHECKPOINT_SANDBLAST quando message não contém CEF . |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.