Coletar registros do CyberArk Privilege Cloud

Compatível com:

Este documento explica como ingerir registros do CyberArk Privilege Cloud no Google Security Operations usando o Bindplane. O código do analisador transforma os registros do formato SYSLOG + KV bruto para o formato do modelo de dados unificado (UDM) do Google SecOps. Primeiro, ele extrai campos de mensagens formatadas em CEF usando padrões grok e análise de chave-valor. Depois, mapeia esses campos e outros para os campos correspondentes da UDM, enriquecendo os dados com valores padronizados para fornecedor, produto e gravidade.

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 CyberArk Privilege Cloud

Receber o arquivo de autenticação de ingestão do Google SecOps

  1. Faça login no console do Google SecOps.
  2. Acesse Configurações do SIEM > Agentes de coleta.
  3. 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

  1. Faça login no console do Google SecOps.
  2. Acesse Configurações do SIEM > Perfil.
  3. Copie e salve o ID do cliente na seção Detalhes da organização.

Instalar o agente do Bindplane

Instale o agente do Bindplane no sistema operacional Windows ou Linux de acordo com as instruções a seguir.

Instalação do Windows

  1. Abra o Prompt de Comando ou o PowerShell como administrador.
  2. Execute este 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 root ou sudo.
  2. 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

  1. 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).
  2. Edite o arquivo config.yaml da seguinte forma:

    receivers:
        tcplog:
            # Replace the port and IP address as required
            listen_address: "0.0.0.0:6514"
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the path to the credentials file you downloaded in Step 1
            creds_file_path: '/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
            log_type: 'CYBERARK_PRIVILEGE_CLOUD'
            raw_log_field: body
            ingestion_labels:
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                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

  1. Para reiniciar o agente do Bindplane em Linux, execute o seguinte comando:

    sudo systemctl restart bindplane-agent
    
  2. Para reiniciar o agente do Bindplane no Windows, use o console Serviços ou insira o seguinte comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Instalar o Secure Tunnel

  1. Verifique se o ID da máquina é exclusivo, mesmo quando as máquinas são implantadas em vários domínios.
  2. Faça o download do pacote de software do Privilege Cloud em Implantar o conector do Privilege Cloud (Standard), copie o arquivo ZIP do Secure Tunnel e descompacte-o.
  3. Execute a instalação na pasta descompactada.
  4. Na página Selecionar pasta de instalação, insira o local da pasta de instalação e clique em Avançar.
  5. Na página Pronto para instalar, clique em Instalar.
  6. Quando a instalação for concluída, clique em Concluir. A ferramenta de configuração será iniciada.

Configurar o Secure Tunnel

  1. Na página Autenticar no Privilege Cloud, insira os seguintes detalhes e clique em Próxima:
    • Subdomínio ou ID do cliente: o subdomínio é o identificador do sistema no endereço do sistema, conforme mostrado no FQDN do portal do Privilege Cloud: https://<subdomain>.Privilegecloud.cyberark.com. Insira apenas o identificador <subdomain>, não o URL completo. Se preferir, use o ID do cliente fornecido pela CyberArk.
    • Nome de usuário e senha: insira as credenciais fornecidas pelo suporte do CyberArk.
  2. Na página Configurar componentes locais, adicione os componentes que você quer conectar pelo túnel seguro e clique em Configurar componentes.
  3. Informe os seguintes detalhes de configuração:
    • Tipo de componente: selecione SIEM.
    • Endereço do host: insira o endereço do host do agente do Bindplane (o componente SIEM precisa incluir um nome de host).
    • Porta de destino: insira o número da porta do agente do Bindplane.
    • Porta remota: a porta usada pelo CyberArk para fazer interface com seu túnel seguro. A porta remota é fornecida pelo suporte do CyberArk. Normalmente, a porta é 1468.
    • Clique em Avançado para mostrar essa coluna.
    • Acesso por túneis seguros: é possível configurar quais túneis seguros seus servidores vão acessar, mesmo que eles estejam sendo executados em uma máquina diferente.
  4. Clique em Configurar componentes > Fechar.

Tabela de mapeamento da UDM

Campo de registro Mapeamento do UDM Lógica
age security_result.action_details Mapeado diretamente do campo act no registro bruto.
app network.application_protocol Mapeado do campo app no registro bruto e transformado usando a lógica em parse_app_protocol.include.
cn1 additional.fields.value.string_value Mapeado diretamente do campo cn1 no registro bruto.
cn1Label additional.fields.key Mapeado diretamente do campo cn1Label no registro bruto.
cn2 additional.fields.value.string_value Mapeado diretamente do campo cn2 no registro bruto.
cn2Label additional.fields.key Mapeado diretamente do campo cn2Label no registro bruto.
cs1 additional.fields.value.string_value Mapeado diretamente do campo cs1 no registro bruto.
cs1Label additional.fields.key Mapeado diretamente do campo cs1Label no registro bruto.
cs2 additional.fields.value.string_value Mapeado diretamente do campo cs2 no registro bruto.
cs2Label additional.fields.key Mapeado diretamente do campo cs2Label no registro bruto.
cs3 additional.fields.value.string_value Mapeado diretamente do campo cs3 no registro bruto.
cs3Label additional.fields.key Mapeado diretamente do campo cs3Label no registro bruto.
cs4 additional.fields.value.string_value Mapeado diretamente do campo cs4 no registro bruto.
cs4Label additional.fields.key Mapeado diretamente do campo cs4Label no registro bruto.
cs5 additional.fields.value.string_value Mapeado diretamente do campo cs5 no registro bruto.
cs5Label additional.fields.key Mapeado diretamente do campo cs5Label no registro bruto.
device_event_class_id metadata.product_event_type Mapeado diretamente do campo device_event_class_id no registro bruto.
device_version metadata.product_version Mapeado diretamente do campo device_version no registro bruto.
dhost target.hostname Mapeado diretamente do campo dhost no registro bruto.
duser target.user.user_display_name Mapeado diretamente do campo duser no registro bruto.
dvc about.ip Mapeado diretamente do campo dvc no registro bruto.
event_name metadata.product_event_type Mapeado diretamente do campo event_name no registro bruto.
externalId metadata.product_log_id Mapeado diretamente do campo externalId no registro bruto.
fname additional.fields.value.string_value Mapeado diretamente do campo fname no registro bruto.
msg metadata.description Mapeado diretamente do campo msg no registro bruto.
reason security_result.summary Mapeado diretamente do campo reason no registro bruto.
gravidade, security_result.severity Mapeado do campo severity no registro bruto e transformado em "BAIXA", "MÉDIA", "ALTA" ou "CRÍTICA" com base no valor.
shost principal.ip Mapeado diretamente do campo shost no registro bruto.
suser principal.user.user_display_name Mapeado diretamente do campo suser no registro bruto.
tempo metadata.event_timestamp.seconds Mapeado diretamente do campo time no registro bruto após ser analisado e convertido em um carimbo de data/hora.
metadata.event_type Defina como "USER_UNCATEGORIZED" se suser estiver presente e duser não estiver. Caso contrário, defina como "GENERIC_EVENT".
metadata.log_type Defina como "CYBERARK_PRIVILEGE_CLOUD".
metadata.product_name Defina como "CYBERARK_PRIVILEGE_CLOUD".
principal.asset.hostname Valor extraído dos campos shost ou dvc, se eles contiverem um nome de host.
principal.asset.ip Valor extraído dos campos shost ou dvc, se eles contiverem um endereço IP.
principal.hostname Valor extraído dos campos shost ou dvc, se eles contiverem um nome de host.
target.asset.hostname Valor extraído do campo dhost, se ele contiver um nome de host.
additional.fields.key A chave para campos adicionais é determinada pelo campo de marcador correspondente (por exemplo, cn1Label por cn1).

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.