Coletar registros LDAP da CA

Versão do analisador:2.0

Compatível com:

Neste documento, explicamos como ingerir registros LDAP da CA no Google Security Operations usando o agente do Bindplane.

O CA Directory (antigo Symantec Directory) é um servidor de diretório compatível com LDAP v2/v3 baseado nos padrões X.500. Ele oferece serviços de diretório de nível empresarial com recursos abrangentes de geração de registros, incluindo registros de alarme, rastreamento, aviso, consulta, resumo, conexão, diagnóstico, atualização e estatísticas para monitorar operações de diretório e eventos de segurança.

Antes de começar

Verifique se você tem os pré-requisitos a seguir:

  • Uma instância do Google SecOps
  • Windows Server 2016 ou mais recente ou host Linux com systemd
  • Conectividade de rede entre o agente do BindPlane e o servidor do diretório da AC
  • Se estiver em execução atrás de um proxy, verifique se as portas do firewall estão abertas de acordo com os requisitos do agente do Bindplane.
  • Acesso privilegiado ao servidor do CA Directory (root ou administrador)
  • Diretório de AC instalado e configurado com a geração de registros ativada

Receber credenciais do Google SecOps para o agente do BindPlane

Para autenticar o agente do Bindplane no Google SecOps, escolha um dos seguintes métodos:

  • Novas implantações: use a API Chronicle (opção 1).
  • Implantações legadas: continue usando o arquivo de autenticação de ingestão (opção 2) até que a API Ingestion seja desativada em 20 de julho de 2027.
  1. Faça login no console doGoogle Cloud e selecione o projeto do Google Cloud vinculado à sua instância do Google SecOps.
  2. Acesse IAM e administrador > Contas de serviço.
  3. Clique em Criar conta de serviço.
  4. Informe os seguintes detalhes de configuração:
    • Nome da conta de serviço: insira um nome para a conta (por exemplo, bindplane-ingest).
    • Descrição da conta de serviço: insira uma descrição (por exemplo, Bindplane agent log ingestion).
  5. Clique em Criar e continuar.
  6. Na seção Conceder a essa conta de serviço acesso ao projeto, clique em Selecionar uma função e escolha Editor do Chronicle.
  7. Clique em Continuar e depois em Concluído.
  8. Clique na conta de serviço que você criou e acesse a guia Chaves.
  9. Clique em Adicionar chave > Criar nova chave.
  10. Selecione JSON e clique em Criar. O arquivo de chave é baixado para o computador.
  11. Salve o arquivo de chave como ingestion-auth.json no diretório do coletor do Bindplane (/opt/observiq-otel-collector/ingestion-auth.json no Linux ou C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json no Windows) ou atualize creds_file_path em config.yaml para corresponder ao caminho em que você o salvou.
  12. Acesse IAM e administrador > Configurações e copie o número do projeto. Você vai precisar dele para a configuração do exportador.

Opção 2: fazer o download do arquivo de autenticação de ingestão (legado)

  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.
  4. Salve o arquivo com segurança no sistema em que o agente do 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 seu 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
      
    3. Aguarde a conclusão da instalação.

    4. Execute o seguinte comando para confirmar a instalação:

      sc query observiq-otel-collector
      

      O serviço vai aparecer como EM EXECUÇÃO.

  • 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
      
    3. Aguarde a conclusão da instalação.

    4. Execute o seguinte comando para confirmar a instalação:

      sudo systemctl status observiq-otel-collector
      

      O serviço vai aparecer como ativo (em execução).

Outros recursos de instalação

Para mais opções de instalação e solução de problemas, consulte o guia de instalação do agente do BindPlane.

Configurar o agente do Bindplane para ingerir o syslog e enviar ao Google SecOps

Localize o arquivo de configuração.

  • Linux:

    sudo nano /opt/observiq-otel-collector/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

Editar o arquivo de configuração

  1. Substitua todo o conteúdo de config.yaml pela seguinte configuração:

    receivers:
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/ca_directory:
        protocol: https
        # Region of your instance, for example us, europe, asia-southeast1
        location: <LOCATION>
        # Project number of the Google Cloud project linked to the instance
        project: '<PROJECT_NUMBER>'
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: 'YOUR_CUSTOMER_ID'
        endpoint: chronicle.googleapis.com
        log_type: CA_LDAP
        raw_log_field: body
        ingestion_labels:
          env: production
          source: ca_directory
    
    service:
      pipelines:
        logs/ca_directory_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/ca_directory
    
  2. Substitua os seguintes marcadores de posição:

    • Configuração do receptor:

      • listen_address: defina como 0.0.0.0:514 para detectar todas as interfaces na porta UDP 514.

        • Para instalações não raiz do Linux, use a porta 1514 ou mais recente.
        • Verifique se a porta corresponde à porta configurada no encaminhamento do rsyslog.
    • Configuração do exportador:

      • creds_file_path: caminho completo para o arquivo de chave JSON da conta de serviço (opção 1):

        • Linux: /opt/observiq-otel-collector/ingestion-auth.json
        • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
      • customer_id: substitua YOUR_CUSTOMER_ID pelo seu customer ID. Para mais detalhes, consulte Receber o ID de cliente do Google SecOps.

      • location: substitua <LOCATION> pela região da sua instância do Google SecOps (por exemplo, us, europe ou asia-southeast1). O exportador adiciona esse valor ao prefixo chronicle.googleapis.com. Consulte Endpoints regionais para ver a lista completa.

      • project: substitua <PROJECT_NUMBER> pelo número do projeto em IAM e administrador > Configurações.

      • endpoint: mantenha definido como chronicle.googleapis.com.

      • log_type: definido como CA_LDAP (rótulo de ingestão do Chronicle para o CA Directory)

      • ingestion_labels: rótulos opcionais para filtragem e organização.

Exportador da API de ingestão legada

  • Se você usar o arquivo de autenticação de ingestão da Opção 2, substitua o bloco exporters pelo seguinte. Defina creds_file_path como o caminho para o arquivo de autenticação de ingestão e, se a instância estiver fora dos EUA, substitua malachiteingestion-pa.googleapis.com pelo endpoint regional (por exemplo, europe-malachiteingestion-pa.googleapis.com).

    exporters:
      chronicle/ca_directory:
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: 'YOUR_CUSTOMER_ID'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: CA_LDAP
        raw_log_field: body
        ingestion_labels:
          env: production
          source: ca_directory
    

Salve o arquivo de configuração.

Depois de editar, salve o arquivo:

  • Linux: pressione Ctrl+O, depois Enter e, em seguida, Ctrl+X.
  • Windows: clique em Arquivo > Salvar.

Reinicie o agente do Bindplane para aplicar as mudanças:

  • Para reiniciar o agente do Bindplane no Linux:

    1. Execute este comando:

      sudo systemctl restart observiq-otel-collector
      
    2. Verifique se o serviço está em execução:

      sudo systemctl status observiq-otel-collector
      
    3. Verifique se há erros nos registros:

      sudo journalctl -u observiq-otel-collector -f
      
  • Para reiniciar o agente do Bindplane em Windows:

    1. Escolha uma das seguintes opções:

      • Prompt de comando ou PowerShell como administrador:

        net stop observiq-otel-collector && net start observiq-otel-collector
        
      • Console de serviços:

        1. Pressione Win+R, digite services.msc e pressione Enter.
        2. Localize o coletor do OpenTelemetry da observIQ.
        3. Clique com o botão direito do mouse e selecione Reiniciar.
    2. Verifique se o serviço está em execução:

      sc query observiq-otel-collector
      
    3. Verifique se há erros nos registros:

      type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
      

Configurar o encaminhamento de syslog do LDAP da CA usando o rsyslog

Nesta seção, descrevemos como configurar o rsyslog no servidor do diretório da CA para encaminhar registros ao agente do BindPlane.

Identificar locais de arquivos de registros do CA Directory

O CA Directory armazena arquivos de registro nos seguintes locais:

  • Linux: /opt/CA/Directory/dxserver/logs/
  • Windows: C:\Program Files\CA\Directory\dxserver\logs\

Os arquivos de registro seguem padrões de nomenclatura com base no nome da DSA (por exemplo, democorp_alarm, democorp_warn, democorp_trace).

Tipos de registro disponíveis

O Diretório de CA gera os seguintes tipos de registro:

  • Registro de alarmes: eventos críticos (sempre ativado)
  • Registro de aviso: erros e avisos
  • Registro de rastreamento: rastreamento detalhado de operações
  • Registro de consultas: informações detalhadas sobre as operações com carimbos de data/hora.
  • Registro de resumo: resumos de operações
  • Registro de conexão: eventos de conexão e desconexão
  • Registro de diagnóstico: operações rejeitadas
  • Registro de estatísticas: estatísticas operacionais por minuto
  • Registro de atualizações: operações de adição, modificação, renomeação e exclusão
  • Registro de tempo: informações de tempo da operação

Configurar o rsyslog no Linux

  1. Faça login no servidor do diretório CA como raiz ou com privilégios sudo.

  2. Instale o rsyslog, se ainda não estiver instalado:

    sudo yum install rsyslog
    

    Ou para Debian/Ubuntu:

    sudo apt-get install rsyslog
    
  3. Crie um novo arquivo de configuração rsyslog para o diretório de CA:

    sudo nano /etc/rsyslog.d/ca-directory.conf
    
  4. Adicione a seguinte configuração para encaminhar os registros do CA Directory:

    # Load the imfile module for file monitoring
    module(load="imfile" PollingInterval="10")
    
    # Monitor CA Directory alarm logs
    input(type="imfile"
        File="/opt/CA/Directory/dxserver/logs/*_alarm*"
        Tag="ca-directory-alarm"
        Severity="error"
        Facility="local0")
    
    # Monitor CA Directory warn logs
    input(type="imfile"
        File="/opt/CA/Directory/dxserver/logs/*_warn*"
        Tag="ca-directory-warn"
        Severity="warning"
        Facility="local0")
    
    # Monitor CA Directory trace logs
    input(type="imfile"
        File="/opt/CA/Directory/dxserver/logs/*_trace*"
        Tag="ca-directory-trace"
        Severity="info"
        Facility="local0")
    
    # Monitor CA Directory query logs
    input(type="imfile"
        File="/opt/CA/Directory/dxserver/logs/*_query*"
        Tag="ca-directory-query"
        Severity="info"
        Facility="local0")
    
    # Monitor CA Directory connection logs
    input(type="imfile"
        File="/opt/CA/Directory/dxserver/logs/*_connection*"
        Tag="ca-directory-connection"
        Severity="info"
        Facility="local0")
    
    # Monitor CA Directory update logs
    input(type="imfile"
        File="/opt/CA/Directory/dxserver/logs/*_update*"
        Tag="ca-directory-update"
        Severity="info"
        Facility="local0")
    
    # Forward all CA Directory logs to Bindplane agent
    if $syslogtag contains 'ca-directory' then @@BINDPLANE_AGENT_IP:514
    & stop
    
  5. Substitua BINDPLANE_AGENT_IP pelo endereço IP do host do agente do BindPlane:

    • Se o agente do BindPlane estiver no mesmo servidor: 127.0.0.1
    • Se o agente do Bindplane estiver em um servidor diferente: insira o endereço IP (por exemplo, 192.168.1.100).
  6. Salve o arquivo de configuração:

    Pressione Ctrl+O, Enter e Ctrl+X

  7. Verifique a sintaxe da configuração do rsyslog:

    sudo rsyslogd -N1
    
  8. Reinicie o serviço rsyslog:

    sudo systemctl restart rsyslog
    
  9. Verifique se o rsyslog está em execução:

    sudo systemctl status rsyslog
    
  10. Verifique se há erros nos registros do rsyslog:

    sudo tail -f /var/log/messages
    

Configurar o rsyslog no Windows

  1. Baixe e instale o rsyslog para Windows no site do rsyslog.

  2. Abra o arquivo de configuração do rsyslog:

    notepad "C:\Program Files\rsyslog\rsyslog.conf"
    
  3. Adicione a seguinte configuração:

    # Load the imfile module for file monitoring
    module(load="imfile" PollingInterval="10")
    
    # Monitor CA Directory alarm logs
    input(type="imfile"
        File="C:\\Program Files\\CA\\Directory\\dxserver\\logs\\*_alarm*"
        Tag="ca-directory-alarm"
        Severity="error"
        Facility="local0")
    
    # Monitor CA Directory warn logs
    input(type="imfile"
        File="C:\\Program Files\\CA\\Directory\\dxserver\\logs\\*_warn*"
        Tag="ca-directory-warn"
        Severity="warning"
        Facility="local0")
    
    # Monitor CA Directory trace logs
    input(type="imfile"
        File="C:\\Program Files\\CA\\Directory\\dxserver\\logs\\*_trace*"
        Tag="ca-directory-trace"
        Severity="info"
        Facility="local0")
    
    # Forward all CA Directory logs to Bindplane agent
    if $syslogtag contains 'ca-directory' then @@BINDPLANE_AGENT_IP:514
    & stop
    
  4. Substitua BINDPLANE_AGENT_IP pelo endereço IP do host do agente do BindPlane.

  5. Salve o arquivo de configuração.

  6. Reinicie o serviço rsyslog:

    net stop rsyslog
    net start rsyslog
    

Ativar a geração de registros do diretório de ACs

Verifique se os tipos de registro necessários estão ativados no CA Directory:

  1. Edite o arquivo de configuração da DSA:

    • Linux: /opt/CA/Directory/dxserver/config/servers/democorp.dxc
    • Windows: C:\Program Files\CA\Directory\dxserver\config\servers\democorp.dxc
  2. Verifique ou adicione as seguintes configurações de geração de registros:

        set alarm-log = true;
        set warn-log = true;
        set trace-log = true;
        set query-log = true;
        set connection-log = true;
        set update-log = true;
    
  3. Salve o arquivo de configuração.

  4. Reinicie o DSA do diretório da AC:

    • Linux:

      dxserver stop democorp
      dxserver start democorp
      
    • Windows:

      net stop "CA Directory DSA - democorp"
      net start "CA Directory DSA - democorp"
      

Verificar o encaminhamento de registros

  1. Gere atividade de teste no CA Directory fazendo consultas LDAP ou tentativas de autenticação.

  2. Verifique os registros do agente do Bindplane para confirmar se os registros estão sendo recebidos:

    • Linux:

      sudo journalctl -u observiq-otel-collector -f
      
    • Windows:

      type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
      
  3. Faça login no console do Google SecOps e verifique se os registros do CA Directory estão aparecendo no visualizador de registros.

Para mais informações sobre o registro do CA Directory, consulte a documentação do Broadcom CA Directory.

Para exemplos detalhados de configuração do rsyslog, consulte o artigo da base de conhecimento da Broadcom sobre geração de registros centralizada.

Tabela de mapeamento de UDM

Campo de registro Mapeamento de UDM Lógica
agent.ephemeral_id, logstash.irm_region, logstash.irm_environment, logstash.irm_site, host.os.name additional.fields Mesclados como rótulos com as chaves "ephemeral_id", "irm_region", "irm_environment", "irm_site", "os_name", respectivamente.
host.architecture hardware.cpu_platform Valor copiado diretamente
logstash.process.host intermediary.hostname Valor copiado diretamente
logstash.collect.timestamp metadata.collected_timestamp Analisado como carimbo de data/hora usando o filtro de data
msg metadata.description Valor copiado diretamente
metadata.event_type Definido como "STATUS_UPDATE"
agent.type, agent.version observer.application Concatenado como "%{agent.type} %{agent.version}" se ambos não estiverem vazios, caso contrário, "%{agent.type}"
agent.type, agent.id observer.asset_id Concatenado como "%{agent.type}: %{agent.id}"
agent.hostname observer.hostname Valor copiado diretamente
host.id principal.asset.asset_id Concatenado como "CA_LDAP:%{host.id}"
hardware principal.asset.hardware Mesclado do objeto de hardware
host.hostname principal.hostname Valor copiado diretamente
host.ip principal.ip Mesclado da matriz host.ip
host.mac principal.mac Mesclado da matriz host.mac
host.os.family principal.platform Definido como "LINUX" se corresponder a "(rhel|redhat)"
host.os.kernel principal.platform_patch_level Valor copiado diretamente
host.os.version principal.platform_version Valor copiado diretamente
log.file.path principal.process.file.full_path Valor copiado diretamente
syslog_severity security_result.severity Definido como "INFORMATIONAL" se corresponder a "(?i)(DEFAULT|DEBUG|INFO|NOTICE)", "ERROR" se corresponder a "(?i)ERROR", "MEDIUM" se corresponder a "(?i)WARNING", "HIGH" se corresponder a "(?i)(CRITICAL|ALERT|EMERGENCY)"
syslog_severity security_result.severity_details Valor copiado diretamente
metadata.product_name Defina como "CA_LDAP".
metadata.vendor_name Defina como "CA_LDAP".

Registro de alterações

Confira o registro de alterações deste analisador

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