Coletar registros do gateway Enterprise do VIP da Symantec

Compatível com:

Este documento explica como transferir os registros do Symantec VIP Enterprise Gateway para as operações de segurança do Google usando o Bindplane. O código do analisador primeiro tenta processar a mensagem de registro de entrada como um objeto JSON. Se isso falhar, o formato syslog será assumido e expressões regulares (padrões grok) serão usadas para extrair campos relevantes, como carimbos de data/hora, endereços IP, nomes de usuário e descrições de eventos. Por fim, ele mapeia as informações extraídas para os campos do Modelo de Dados Unificado (UDM) para representação padronizada de ocorrência de segurança.

Antes de começar

Verifique se você tem os seguintes pré-requisitos:

  • Instância do Google SecOps
  • Windows 2016 ou mais recente ou host Linux com systemd
  • Se estiver em execução por trás de um proxy, as portas do firewall estarão abertas.
  • Acesso privilegiado ao gateway empresarial VIP da Symantec

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 transferência. 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 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 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 mais opções de instalação, consulte o guia de instalação.

Configurar o agente do Bindplane para processar 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 Notepad).
  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: 'SYMANTEC_VIP'
                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 real do cliente.

  5. Atualize /path/to/ingestion-authentication-file.json para o caminho em que o arquivo de autenticação foi salvo na seção Receber o 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 Services ou digite o seguinte comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configurar o Syslog no Symantec VIP Enterprise Gateway

  1. Faça login na UI da Web do Symantec VIP Gateway.
  2. Acesse Logs > Configuração do Syslog.
  3. Se você estiver configurando o Syslog pela primeira vez, será solicitado que você configure as configurações do Syslog. Selecione Sim
  4. Se você já tiver configurado o Syslog, clique em Editar na parte de baixo da página.
  5. Informe os seguintes detalhes de configuração:
    • Facility syslog: selecione LOG_LOCAL0.
    • Host do Syslog: insira o endereço IP do agente do Bindplane.
    • Porta Syslog: insira o número da porta do agente do Bindplane. Por exemplo, 514 para UDP.
  6. Clique em Salvar.
  7. Acesse Configurações > Configurações do console.
  8. Informe os seguintes detalhes de configuração:
    • Nível de registro: selecione Informações.
    • Ativar o Syslog: selecione Sim.
  9. Clique em Enviar.
  10. Acesse Configurações > Configurações do Verificador de integridade.
  11. Selecione Sim para ativar o serviço de verificação de integridade.
  12. Informe os seguintes detalhes de configuração:
    • Nível de registro: selecione Informações.
    • Ativar o Syslog: selecione Sim.
  13. Clique em Enviar.
  14. Acesse Loja de usuários > Sincronização de diretório LDAP.
  15. Edite os seguintes detalhes de configuração:
    • Nível de registro: selecione Info.
    • Ativar o Syslog: selecione Sim.
  16. Clique em Enviar.

Tabela de mapeamento da UDM

Campo de registro Mapeamento de UDM Lógica
aplicativo read_only_udm.principal.application Valor extraído do campo application por filtro JSON.
comando read_only_udm.target.process.command_line Valor extraído do campo command por padrão grok.
credentialType Esse campo não é mapeado diretamente para o UDM. Ele é usado para extrair o valor de read_only_udm.extensions.auth.mechanism.
dados Esse campo não é mapeado diretamente para o UDM. Ele é analisado para extrair outros campos.
data2 Esse campo não é mapeado diretamente para o UDM. Ele é analisado para extrair outros campos.
datetime read_only_udm.metadata.event_timestamp.seconds
read_only_udm.metadata.event_timestamp.nanos
Segundos e nanossegundos desde a Era Unix extraídos do campo datetime.
desc read_only_udm.metadata.description Valor extraído do campo desc por filtro JSON.
description read_only_udm.security_result.description Valor extraído do campo description por filtro JSON.
filename read_only_udm.target.process.file.full_path Valor extraído do campo filename por padrão grok.
nome do host read_only_udm.principal.hostname Valor extraído do campo hostname por filtro JSON.
host_name read_only_udm.intermediary.hostname Valor extraído do campo host_name por filtro JSON.
log_level Esse campo não é mapeado diretamente para o UDM. Ele é usado para derivar o valor de read_only_udm.security_result.severity.
log_type read_only_udm.metadata.product_event_type Valor extraído do campo log_type por filtro JSON.
msg Esse campo não é mapeado diretamente para o UDM. Ele é analisado para extrair outros campos.
operação read_only_udm.security_result.summary Valor extraído do campo operation por padrão grok.
processid read_only_udm.target.process.pid Valor extraído do campo processid por padrão grok.
produto read_only_udm.metadata.product_name Valor extraído do campo product por filtro JSON.
reason read_only_udm.metadata.description Valor extraído do campo reason por padrão grok.
request_id read_only_udm.target.resource.id Valor extraído do campo request_id por padrão grok.
src_ip read_only_udm.principal.ip Valor extraído do campo src_ip por padrão grok.
status read_only_udm.metadata.description Valor extraído do campo status por padrão grok.
resumo read_only_udm.security_result.summary Valor extraído do campo summary por filtro JSON.
timestamp.nanos read_only_udm.metadata.event_timestamp.nanos Nanossegundos do carimbo de data/hora do registro original.
timestamp.seconds read_only_udm.metadata.event_timestamp.seconds Segundos do carimbo de data/hora do registro original.
tempo Esse campo não é mapeado diretamente para o UDM. Ele é usado para extrair os valores de read_only_udm.metadata.event_timestamp.seconds e read_only_udm.metadata.event_timestamp.nanos.
usuário read_only_udm.target.user.userid Valor extraído do campo user por filtro JSON ou padrão Grok.
fornecedor read_only_udm.metadata.vendor_name Valor extraído do campo vendor por filtro JSON.
read_only_udm.extensions.auth.mechanism Determinado pelo campo credentialType. Se credentialType for SMS_OTP ou STANDARD_OTP, OTP será usado. Se credentialType corresponder à expressão regular PASSWORD, USERNAME_PASSWORD será usado.
read_only_udm.extensions.auth.type Se o campo reason corresponder à expressão regular LDAP, SSO será usado. Caso contrário, AUTHTYPE_UNSPECIFIED será usado.
read_only_udm.metadata.event_type Determinado pela presença de determinados campos. Se user ou processid não estiver vazio, USER_LOGIN será usado. Se user estiver vazio e src_ip não estiver vazio ou 0.0.0.0, STATUS_UPDATE será usado. Caso contrário, GENERIC_EVENT será usado.
read_only_udm.metadata.log_type Fixado em SYMANTEC_VIP.
read_only_udm.security_result.action Determinado pelo campo status. Se status for Authentication Success, GRANTED, Authentication Completed, After Services Authenticate call ou CHALLENGED, ALLOW será usado. Se status for DENIED, Acces-Reject, Unknown Error, Service Unavailable ou FAILED, BLOCK será usado. Se status for PUSH request sent for user ou Trying to fetch attribute, QUARANTINE será usado.
read_only_udm.security_result.severity Determinado pelo campo log_level. Se log_level for DEBUG, INFO ou AUDIT, INFORMATIONAL será usado. Se log_level for ERROR, ERROR será usado. Se log_level for WARNING, MEDIUM será usado.

Alterações

2023-03-03

Melhoria:

  • Mapeou userid para target.user.userid nos registros que ainda não foram analisados.
  • Mapeou event_type para USER_LOGIN nos registros em que userid está presente. Se principal.hostname estiver presente, mapeou event_type para STATUS_UPDATE. Caso contrário, mapeou para GENERIC_EVENT.
  • Analisou os registros que foram descartados inicialmente.

2022-08-03

Correção de bugs:

  • O padrão grok foi adicionado para processar os registros não analisados com log_type remove_credentials.

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