Coletar registros do CyberArk EPM
Esse código de analisador transforma os dados de registro do CyberArk EPM em um modelo de dados unificado (UDM, na sigla em inglês). Ele itera cada evento no registro, mapeia campos relevantes para os campos correspondentes do UDM, processa estruturas de dados específicas, como "exposedUsers", e enriquece a saída com informações estáticas de fornecedores e produtos.
Antes de começar
- Verifique se você tem uma instância do Google Security Operations.
- Verifique se você está usando o Windows 2016 ou uma versão mais recente ou um host Linux com systemd.
- Se estiver executando por trás de um proxy, verifique se as portas do firewall estão abertas.
- Verifique se você tem acesso privilegiado ao console de gerenciamento do servidor do EPM.
Receber o arquivo de autenticação de ingestão do Google SecOps
- 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 transferência.
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 do cliente na seção Detalhes da organização.
Instalar o agente do BindPlane
- Para a instalação do Windows, execute o seguinte script:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
- Para a instalação do Linux, execute o seguinte script:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
- Outras opções de instalação podem ser encontradas neste guia de instalação.
Configurar o agente BindPlane para ingerir o Syslog e enviar ao Google SecOps
- Acesse a máquina em que o BindPlane está instalado.
Edite o arquivo
config.yaml
da seguinte forma:receivers: tcplog: # Replace the below port <54525> and IP <0.0.0.0> with your specific values listen_address: "0.0.0.0:54525" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the creds location below according the placement of the credentials file you downloaded creds: '{ json file for creds }' # Replace <customer_id> below with your actual ID that you copied customer_id: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # You can apply ingestion labels below as preferred ingestion_labels: log_type: SYSLOG namespace: Cyberark_EPM raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog exporters: - chronicle/chronicle_w_labels
Reinicie o agente do BindPlane para aplicar as mudanças:
sudo systemctl restart bindplane
Configurar o encaminhamento de eventos de terceiros no EPM
- Faça login no console de gerenciamento do servidor do EPM.
- Acesse Avançado > Configuração do servidor.
- Na seção Listeners de eventos, localize a configuração Listeners de terceiros.
- Defina o valor como Ativado para ativar listeners de terceiros.
- Configure o ouvinte do Syslog fornecendo os seguintes detalhes:
- IP do servidor syslog: insira o endereço IP do servidor syslog (Bindplane).
- Porta Syslog: especifique o número da porta do servidor syslog (Bindplane).
- Protocolo: escolha o protocolo configurado no servidor syslog (TCP ou UDP).
- Formato: selecione Syslog como o formato dos registros.
- Clique em Salvar.
Tabela de mapeamento do UDM
Campo de registro | Mapeamento do UDM | Lógica |
---|---|---|
agentId | principal.asset.asset_id | Concatena "agentId:" com o valor do campo "agentId". |
computerName | principal.hostname | Mapeia diretamente o campo computerName. |
displayName | metadata.description | Mapeia diretamente o campo displayName. |
eventType | metadata.product_event_type | Mapeia diretamente o campo eventType. |
exposedUsers.[].accountName | target.user.attribute.labels | Cria um rótulo com a chave "accountName_[index]" e o valor de exposedUsers.[index].accountName. |
exposedUsers.[].domain | target.user.attribute.labels | Cria um rótulo com a chave "domain_[index]" e o valor de exposedUsers.[index].domain. |
exposedUsers.[].username | target.user.attribute.labels | Cria um rótulo com a chave "username_[index]" e o valor de exposedUsers.[index].username. |
filePath | target.file.full_path | Mapeia diretamente o campo filePath. |
hash | target.file.sha1 | Mapeia diretamente o campo de hash. |
operatingSystemType | principal.platform | Mapeia "Windows" para "WINDOWS" se o campo "operatingSystemType" for "Windows". |
policyName | security_result.rule_name | Mapeia diretamente o campo policyName. |
processCommandLine | target.process.command_line | Mapeia diretamente o campo processCommandLine. |
editor | additional.fields | Cria um campo com a chave "Editor" e string_value do campo do editor. |
sourceProcessCommandLine | target.process.parent_process.command_line | Mapeia diretamente o campo sourceProcessCommandLine. |
sourceProcessHash | target.process.parent_process.file.sha1 | Mapeia diretamente o campo sourceProcessHash. |
sourceProcessSigner | additional.fields | Cria um campo com a chave "sourceProcessSigner" e string_value do campo sourceProcessSigner. |
threatProtectionAction | security_result.action_details | Mapeia diretamente o campo threatProtectionAction. |
metadata.event_timestamp | Define o carimbo de data/hora do evento para o create_time da entrada de registro. | |
metadata.event_type | Fixado em "STATUS_UPDATE". | |
metadata.log_type | Fixado em "CYBERARK_EPM". | |
metadata.product_name | Fixado em "EPM". | |
metadata.vendor_name | Fixado em "CYBERARK". | |
security_result.alert_state | Fixado em "ALERTING". | |
userName | principal.user.userid | Mapeia diretamente o campo userName. |
Alterações
2023-08-22
- Parser recém-criado