Recolha registos do Check Point EDR

Compatível com:

Este documento explica como carregar registos do antivírus Check Point para o Google Security Operations através do Bindplane. O analisador processa registos do Check Point SandBlast, convertendo registos formatados SYSLOG + KV e SYSLOG + CEF no Unified Data Model (UDM). O analisador sintático extrai campos de mensagens CEF através de módulos incluídos e mapeia-os para campos UDM, processando vários tipos de eventos e enriquecendo os dados com contexto adicional dos registos não processados. Para mensagens que não sejam CEF, o analisador usa a extração de chave-valor, padrões grok e lógica condicional para mapear campos relevantes para o esquema UDM de EDR.

Antes de começar

Certifique-se de que tem os seguintes pré-requisitos:

  • Instância do Google SecOps
  • Windows 2016 ou posterior, ou um anfitrião Linux com systemd
  • Se estiver a ser executado através de um proxy, as portas da firewall estão abertas
  • Acesso privilegiado ao dispositivo Check Point com SandBlast

Obtenha o ficheiro de autenticação de carregamento do Google SecOps

  1. Inicie sessão na consola Google SecOps.
  2. Aceda a Definições do SIEM > Agentes de recolha.
  3. 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

  1. Inicie sessão na consola Google SecOps.
  2. Aceda a Definições do SIEM > Perfil.
  3. Copie e guarde o ID do cliente da secção Detalhes da organização.

Instale o agente do Bindplane

Instalação do Windows

  1. Abra a Linha de comandos ou o PowerShell como administrador.
  2. Execute o seguinte comando:

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

Instalação do Linux

  1. Abra um terminal com privilégios de raiz ou sudo.
  2. 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 o guia de instalação.

Configure o agente Bindplane para carregar o Syslog e enviá-lo para o Google SecOps

  1. 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).
  2. 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: 'CHECKPOINT_EDR'
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Substitua a porta e o endereço IP conforme necessário na sua infraestrutura.

  4. Substitua <customer_id> pelo ID de cliente real.

  5. 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 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 o Syslog na série de dispositivos Checkpoint 1500

  1. Inicie sessão no Checkpoint Appliance.
  2. Aceda a Registos e monitorização > Servidores de registos > Servidores Syslog.
  3. Clique em Configurar.
  4. Indique os seguintes detalhes de configuração:
    • Protocolo: selecione UDP.
    • Nome: introduza um nome descritivo.
    • Endereço IP: introduza o endereço IP do agente do Bindplane.
    • Porta: introduza o número da porta do agente do Bindplane.
    • Selecione Ativar servidor de registo.
    • Selecione os registos a encaminhar: registos do sistema e de segurança.
  5. Clique em Aplicar.

Tabela de mapeamento do UDM

Campo de registo Mapeamento de UDM Lógica
action event.idm.read_only_udm.security_result.action Mapeado diretamente a partir do campo CEF action.
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 a partir do campo action_comment.
action_details event.idm.read_only_udm.security_result.action_details Mapeado diretamente a partir do campo CEF action_details.
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 a partir do campo additional_info.
am_update_proxy event.idm.read_only_udm.intermediary.domain.name Mapeado diretamente a partir do campo am_update_proxy.
am_update_source event.idm.read_only_udm.target.url Mapeado diretamente a partir do campo am_update_source.
client_version event.idm.read_only_udm.metadata.product_version Mapeado diretamente a partir do campo client_version.
cn1 event.idm.read_only_udm.security_result.severity Mapeado a partir do campo cn1 CEF e convertido em valores de gravidade da 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 a partir do campo cs1.
description event.idm.read_only_udm.metadata.description Mapeado diretamente a partir do campo CEF description.
deviceDirection event.idm.read_only_udm.network.direction Mapeado a partir do campo deviceDirection. Um valor de 0 é mapeado para INBOUND. Os 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 a partir do campo deviceFacility.
dst event.idm.read_only_udm.network.target.ip Mapeado diretamente a partir 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 a partir do campo engine_ver.
ep_rule_id event.idm.read_only_udm.firewall.firewall_rule_id Mapeado diretamente a partir do campo ep_rule_id quando event_type é Firewall.
event_type event.idm.read_only_udm.metadata.product_event_type Mapeado diretamente a partir do campo CEF event_type.
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 a partir do campo failed_updates.
file_md5 event.idm.read_only_udm.source_file.hash_md5 Mapeado diretamente a partir do campo file_md5 quando event_type é TE Event.
file_name event.idm.read_only_udm.source_file.file_name Mapeado diretamente a partir do campo file_name quando event_type é TE Event.
file_sha1 event.idm.read_only_udm.source_file.hash_sha1 Mapeado diretamente a partir do campo file_sha1 quando event_type é TE Event.
file_sha256 event.idm.read_only_udm.source_file.hash_sha256 Mapeado diretamente a partir do campo file_sha256 quando event_type é TE Event.
host_type event.idm.read_only_udm.principal.asset.type Mapeado a partir do campo host_type. Desktop é convertido em WORKSTATION e, em seguida, o valor é convertido em maiúsculas.
ifdir event.idm.read_only_udm.network.direction Mapeado diretamente a partir do campo ifdir e convertido em maiúsculas quando event_type é Firewall.
installed_products event.idm.read_only_udm.principal.asset.software.name Mapeado diretamente a partir 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 a partir 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 a partir do campo local_time.
log_type event.idm.read_only_udm.metadata.log_type Mapeado diretamente a partir do campo log_type.
loguid event.idm.read_only_udm.metadata.product_log_id Mapeado diretamente a partir do campo loguid.
machine_guid event.idm.read_only_udm.principal.asset.product_object_id Mapeado diretamente a partir 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 a partir 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 a partir 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 a partir 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 a partir 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 a partir 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 a partir do campo media_type.
msg event.idm.read_only_udm.metadata.description Mapeado diretamente a partir do campo CEF msg.
origin event.idm.read_only_udm.about.ip Mapeado diretamente a partir do campo CEF origin.
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 a partir do campo os_name.
os_version event.idm.read_only_udm.principal.asset.platform_software.platform_version Mapeado diretamente a partir 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 a partir do campo policy_date.
policy_guid event.idm.read_only_udm.principal.resource.product_object_id Mapeado diretamente a partir do campo policy_guid.
policy_name event.idm.read_only_udm.principal.resource.name Mapeado diretamente a partir do campo policy_name.
policy_number event.idm.read_only_udm.principal.resource.product_object_id Mapeado diretamente a partir 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 a partir 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 a partir do campo policy_version.
product event.idm.read_only_udm.metadata.product_name Mapeado diretamente a partir do campo CEF product.
proto event.idm.read_only_udm.network.protocol Mapeado diretamente a partir 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 a partir do campo reading_data_access.
requestClientApplication event.idm.read_only_udm.network.http.user_agent Mapeado diretamente a partir do campo requestClientApplication.
result event.idm.read_only_udm.security_result.summary Mapeado diretamente a partir do campo result.
rt event.idm.read_only_udm.metadata.event_timestamp.seconds Mapeado a partir do campo rt, dividido por 1000, e a parte inteira é considerada como segundos.
rule_name event.idm.read_only_udm.firewall.firewall_rule Mapeado diretamente a partir do campo rule_name quando event_type é Firewall.
s_port event.idm.read_only_udm.network.client.port Mapeado diretamente a partir 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 a partir do campo sequencenum.
service event.idm.read_only_udm.network.target.port Mapeado diretamente a partir do campo service quando event_type é Firewall.
severity event.idm.read_only_udm.security_result.severity Mapeado a partir do campo severity e convertido em valores de gravidade da UDM (CRÍTICO, ALTO, MÉDIO, BAIXO, INFO).
shost event.idm.read_only_udm.principal.hostname Mapeado diretamente a partir do campo CEF shost.
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 a partir do campo sig_ver.
src event.idm.read_only_udm.principal.ip Mapeado diretamente a partir do campo CEF src.
src_machine_name event.idm.read_only_udm.principal.hostname Mapeado diretamente a partir do campo src_machine_name quando event_type está vazio.
subject event.idm.read_only_udm.task.task_name Mapeado diretamente a partir do campo subject quando event_type está vazio.
suser event.idm.read_only_udm.principal.user.user_display_name Mapeado diretamente a partir do campo CEF suser.
time event.idm.read_only_udm.metadata.event_timestamp.seconds Mapeado diretamente a partir do campo time e convertido em segundos da época Unix.
user_name event.idm.read_only_udm.principal.user.email_addresses Mapeado diretamente a partir do campo CEF user_name.
user_sid event.idm.read_only_udm.principal.user.windows_sid Mapeado diretamente a partir 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 a partir 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 a partir do campo writing_data_access.
N/A event.idm.read_only_udm.metadata.event_type Definido como GENERIC_EVENT se nenhum de principal.ip, principal.hostname ou principal.mac estiver presente no registo não processado. Caso contrário, é definido 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 Definido 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 da Google SecOps.