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. Em seguida, mapeia esses campos e outros para os campos UDM correspondentes, 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 em um proxy, as portas de 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. Faça o download do arquivo de autenticação de ingestão. Salve o arquivo com segurança no sistema em que o Bindplane será instalado.

Receber o ID de 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 de 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 raiz 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 outras 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 está 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
    

Reiniciar o agente do Bindplane para aplicar as mudanças

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

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

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Instalar o túnel seguro

  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 (padrão), copie o arquivo ZIP do túnel seguro e descompacte.
  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 Próxima.
  5. Na página Pronto para instalar, clique em Instalar.
  6. Quando a instalação estiver concluída, clique em Concluir; a ferramenta de configuração será iniciada.

Configurar o túnel seguro

  1. Na página Autenticar no Privilege Cloud, insira os detalhes a seguir e clique em Próxima:
    • Subdomínio ou ID de 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 inteiro. Como alternativa, use o ID de cliente fornecido pelo 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 a interface com o 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 esses túneis seguros estejam sendo executados em uma máquina diferente.
  4. Clique em Configurar componentes > Fechar.

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
act 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.
severity security_result.severity Mapeado do campo severity no registro bruto e transformado em "LOW", "MEDIUM", "HIGH" ou "CRITICAL" 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.
time 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 Definido como "USER_UNCATEGORIZED" se suser estiver presente e duser não. Caso contrário, defina como "GENERIC_EVENT".
metadata.log_type Definido como "CYBERARK_PRIVILEGE_CLOUD".
metadata.product_name Definido 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 outros campos é determinada pelo campo de rótulo correspondente (por exemplo, cn1Label para cn1).

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