Coletar registros LDAP da CA
Versão do analisador:2.0
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.
Opção 1: criar uma conta de serviço para a API Chronicle (recomendado)
- Faça login no console doGoogle Cloud e selecione o projeto do Google Cloud vinculado à sua instância do Google SecOps.
- Acesse IAM e administrador > Contas de serviço.
- Clique em Criar conta de serviço.
- 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).
- Nome da conta de serviço: insira um nome para a conta (por exemplo,
- Clique em Criar e continuar.
- Na seção Conceder a essa conta de serviço acesso ao projeto, clique em Selecionar uma função e escolha Editor do Chronicle.
- Clique em Continuar e depois em Concluído.
- Clique na conta de serviço que você criou e acesse a guia Chaves.
- Clique em Adicionar chave > Criar nova chave.
- Selecione JSON e clique em Criar. O arquivo de chave é baixado para o computador.
- Salve o arquivo de chave como
ingestion-auth.jsonno diretório do coletor do Bindplane (/opt/observiq-otel-collector/ingestion-auth.jsonno Linux ouC:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.jsonno Windows) ou atualizecreds_file_pathemconfig.yamlpara corresponder ao caminho em que você o salvou. - 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)
- Faça login no console do Google SecOps.
- Acesse Configurações do SIEM > Agentes de coleta.
- Faça o download do arquivo de autenticação de ingestão.
- Salve o arquivo com segurança no sistema em que o agente do Bindplane será instalado.
Receber o ID de cliente do Google SecOps
- Faça login no console do Google SecOps.
- Acesse Configurações do SIEM > Perfil.
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
- Abra o Prompt de comando ou o PowerShell como administrador.
Execute este comando:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quietAguarde a conclusão da instalação.
Execute o seguinte comando para confirmar a instalação:
sc query observiq-otel-collectorO serviço vai aparecer como EM EXECUÇÃO.
Instalação do Linux
- Abra um terminal com privilégios de raiz ou sudo.
Execute este comando:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.shAguarde a conclusão da instalação.
Execute o seguinte comando para confirmar a instalação:
sudo systemctl status observiq-otel-collectorO 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.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
Editar o arquivo de configuração
Substitua todo o conteúdo de
config.yamlpela 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_directorySubstitua os seguintes marcadores de posição:
Configuração do receptor:
listen_address: defina como0.0.0.0:514para detectar todas as interfaces na porta UDP 514.- Para instalações não raiz do Linux, use a porta
1514ou mais recente. - Verifique se a porta corresponde à porta configurada no encaminhamento do rsyslog.
- Para instalações não raiz do Linux, use a porta
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
- Linux:
customer_id: substituaYOUR_CUSTOMER_IDpelo seucustomer 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,europeouasia-southeast1). O exportador adiciona esse valor ao prefixochronicle.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 comochronicle.googleapis.com.log_type: definido comoCA_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
exporterspelo seguinte. Definacreds_file_pathcomo o caminho para o arquivo de autenticação de ingestão e, se a instância estiver fora dos EUA, substituamalachiteingestion-pa.googleapis.compelo 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, depoisEntere, 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:
Execute este comando:
sudo systemctl restart observiq-otel-collectorVerifique se o serviço está em execução:
sudo systemctl status observiq-otel-collectorVerifique se há erros nos registros:
sudo journalctl -u observiq-otel-collector -f
Para reiniciar o agente do Bindplane em Windows:
Escolha uma das seguintes opções:
Prompt de comando ou PowerShell como administrador:
net stop observiq-otel-collector && net start observiq-otel-collectorConsole de serviços:
- Pressione
Win+R, digiteservices.msce pressione Enter. - Localize o coletor do OpenTelemetry da observIQ.
- Clique com o botão direito do mouse e selecione Reiniciar.
- Pressione
Verifique se o serviço está em execução:
sc query observiq-otel-collectorVerifique 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
Faça login no servidor do diretório CA como raiz ou com privilégios sudo.
Instale o rsyslog, se ainda não estiver instalado:
sudo yum install rsyslogOu para Debian/Ubuntu:
sudo apt-get install rsyslogCrie um novo arquivo de configuração rsyslog para o diretório de CA:
sudo nano /etc/rsyslog.d/ca-directory.confAdicione 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 & stopSubstitua
BINDPLANE_AGENT_IPpelo 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).
- Se o agente do BindPlane estiver no mesmo servidor:
Salve o arquivo de configuração:
Pressione
Ctrl+O,EntereCtrl+XVerifique a sintaxe da configuração do rsyslog:
sudo rsyslogd -N1Reinicie o serviço rsyslog:
sudo systemctl restart rsyslogVerifique se o rsyslog está em execução:
sudo systemctl status rsyslogVerifique se há erros nos registros do rsyslog:
sudo tail -f /var/log/messages
Configurar o rsyslog no Windows
Baixe e instale o rsyslog para Windows no site do rsyslog.
Abra o arquivo de configuração do rsyslog:
notepad "C:\Program Files\rsyslog\rsyslog.conf"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 & stopSubstitua
BINDPLANE_AGENT_IPpelo endereço IP do host do agente do BindPlane.Salve o arquivo de configuração.
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:
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
- Linux:
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;Salve o arquivo de configuração.
Reinicie o DSA do diretório da AC:
Linux:
dxserver stop democorp dxserver start democorpWindows:
net stop "CA Directory DSA - democorp" net start "CA Directory DSA - democorp"
Verificar o encaminhamento de registros
Gere atividade de teste no CA Directory fazendo consultas LDAP ou tentativas de autenticação.
Verifique os registros do agente do Bindplane para confirmar se os registros estão sendo recebidos:
Linux:
sudo journalctl -u observiq-otel-collector -fWindows:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
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.