Coletar registros de identidade privilegiada do BeyondTrust

Compatível com:

Neste documento, explicamos como ingerir registros de identidade privilegiada do BeyondTrust no Google Security Operations usando o Bindplane. O analisador extrai registros do BeyondTrust Remote Support, processando mensagens syslog formatadas em CEF e não CEF. Ele analisa campos-chave, mapeia-os para o modelo de dados unificado (UDM) e determina o tipo de evento com base em campos extraídos, como dst, src, suid e sEventID, enriquecendo os dados com contexto adicional, como detalhes do usuário, endereços IP e resultados de segurança.

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 dispositivo de acesso remoto privilegiado da BeyondTrust.

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

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:
        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: 'BEYONDTRUST_PI'
                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 do cliente real.

  5. 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 no BeyondTrust Privileged Identity

  1. Faça login no Beyondtrust Privileged Appliance.
  2. Acesse Appliance > Segurança > Administração do appliance.
  3. Acesse a seção Syslog.
  4. Informe os seguintes detalhes de configuração:
    • Nome do host: insira o endereço IP do agente do Bindplane.
    • Porta: a porta padrão é definida como 514 (UDP).
    • Formato: selecione RFC 5424.
  5. Clique em Salvar.

Tabela de mapeamento da UDM

Campo de registro Mapeamento do UDM Lógica
cs1 additional.fields[0].key Mapeado diretamente do campo de registro bruto cs1Label.
cs1Label additional.fields[0].value.string_value Mapeado diretamente do campo de registro bruto cs1.
cs3 additional.fields[1].value.string_value Mapeado diretamente do campo de registro bruto cs3Label.
cs3Label additional.fields[1].key Mapeado diretamente do campo de registro bruto cs3.
cs4 additional.fields[2].value.string_value Mapeado diretamente do campo de registro bruto cs4Label.
cs4Label additional.fields[2].key Mapeado diretamente do campo de registro bruto cs4.
dados metadata.description Para mensagens CEF, o campo msg (extraído de data) é mapeado para metadata.description. Para mensagens não CEF, o campo sMessage (ou partes dele, dependendo do formato específico da mensagem) é mapeado para metadata.description.
dhost target.hostname Mapeado diretamente do campo de registro bruto dhost.
dntdom target.administrative_domain Mapeado diretamente do campo de registro bruto dntdom.
duser target.user.user_display_name Mapeado diretamente do campo de registro bruto duser.
msg metadata.description Mapeado diretamente do campo de registro bruto msg em mensagens CEF.
rt metadata.event_timestamp.seconds O carimbo de data/hora da época é extraído do campo rt nas mensagens CEF.
sEventType metadata.product_event_type Mapeado diretamente do campo de registro bruto sEventType em mensagens não CEF.
shost principal.ip Mapeado diretamente do campo de registro bruto shost.
sIpAddress principal.ip Mapeado diretamente do campo de registro bruto sIpAddress em mensagens não CEF.
sLoginName principal.user.userid Extraído do campo sLoginName usando uma expressão regular para separar o domínio e o ID do usuário.
sMessage security_result.description Mapeado diretamente do campo de registro bruto sMessage em mensagens não CEF ou partes extraídas dele são usadas para security_result.description.
sntdom principal.administrative_domain Mapeado diretamente do campo de registro bruto sntdom.
sOriginatingAccount principal.user.userid Extraído do campo sOriginatingAccount usando uma expressão regular para separar o domínio e o ID do usuário.
sOriginatingApplicationComponent principal.application Usado em combinação com sOriginatingApplicationName para preencher principal.application.
sOriginatingApplicationName principal.application Usado em combinação com sOriginatingApplicationComponent para preencher principal.application.
sOriginatingSystem principal.hostname Mapeado diretamente do campo de registro bruto sOriginatingSystem em mensagens não CEF.
suser principal.user.user_display_name Mapeado diretamente do campo de registro bruto suser. Determinado pela lógica do analisador com base na presença e nos valores de outros campos, como dst, src, shost e suid. Os valores possíveis são NETWORK_CONNECTION, STATUS_UPDATE, USER_UNCATEGORIZED e GENERIC_EVENT. Defina como "BEYONDTRUST_PI". Defina como "BeyondTrust Remote Support". Extraído do cabeçalho CEF em mensagens CEF. Defina como "BeyondTrust". Definido como "ALLOW" ou "BLOCK" com base nos campos status, reason ou sMessage. Defina como LOW.

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