Coletar registros do Symantec VIP Enterprise Gateway

Compatível com:

Este documento explica como ingerir registros do Symantec VIP Enterprise Gateway no Google Security Operations usando o Bindplane. O código do analisador primeiro tenta processar a mensagem de registro de entrada como um objeto JSON. Se isso falhar, ele vai assumir um formato syslog e usar expressões regulares (padrões grok) 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 uma representação padronizada de ocorrência de segurança.

Antes de começar

Verifique se você atende aos seguintes pré-requisitos:

  • Instância do Google SecOps
  • Host Windows 2016 ou mais recente ou Linux com systemd
  • Se estiver executando por trás de um proxy, as portas do firewall estarão abertas.
  • Acesso privilegiado ao Symantec VIP Enterprise Gateway.

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: '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 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 Symantec VIP Enterprise Gateway

  1. Faça login na UI da Web do Symantec VIP Gateway.
  2. Acesse Registros > Configuração do Syslog.
  3. Se você estiver configurando o Syslog pela primeira vez, será solicitado que você configure as definições dele. 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:
    • Facilidade do Syslog: selecione LOG_LOCAL0.
    • Host syslog: insira o endereço IP do agente do Bindplane.
    • Porta do Syslog: insira o número da porta do agente 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.
    • Enable Syslog: selecione Yes.
  9. Clique em Enviar.
  10. Acesse Configurações > Configurações de verificação 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.
    • Enable Syslog: selecione Yes.
  13. Clique em Enviar.
  14. Acesse Repositório de usuários > Sincronização de diretório LDAP.
  15. Edite os seguintes detalhes de configuração:
    • Nível do registro: selecione Informações.
    • Enable Syslog: selecione Yes.
  16. Clique em Enviar.

Tabela de mapeamento da UDM

Campo de registro Mapeamento da UDM Lógica
aplicativo read_only_udm.principal.application Valor extraído do campo application pelo filtro json.
comando read_only_udm.target.process.command_line Valor extraído do campo command pelo padrão grok.
credentialType Esse campo não é mapeado diretamente para o UDM. Usado para derivar 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 o início da era Unix extraídos do campo datetime.
desc read_only_udm.metadata.description Valor extraído do campo desc pelo filtro json.
description read_only_udm.security_result.description Valor extraído do campo description pelo filtro json.
filename read_only_udm.target.process.file.full_path Valor extraído do campo filename pelo padrão grok.
nome do host read_only_udm.principal.hostname Valor extraído do campo hostname pelo filtro json.
host_name read_only_udm.intermediary.hostname Valor extraído do campo host_name pelo filtro json.
log_level Esse campo não é mapeado diretamente para o UDM. 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 pelo 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 pelo padrão grok.
processid read_only_udm.target.process.pid Valor extraído do campo processid pelo padrão grok.
produto read_only_udm.metadata.product_name Valor extraído do campo product pelo filtro json.
reason read_only_udm.metadata.description Valor extraído do campo reason pelo padrão grok.
request_id read_only_udm.target.resource.id Valor extraído do campo request_id pelo padrão grok.
src_ip read_only_udm.principal.ip Valor extraído do campo src_ip pelo padrão grok.
status read_only_udm.metadata.description Valor extraído do campo status pelo padrão grok.
resumo read_only_udm.security_result.summary Valor extraído do campo summary pelo 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 derivar 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 pelo filtro JSON ou pelo padrão grok.
fornecedor read_only_udm.metadata.vendor_name Valor extraído do campo vendor pelo 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 estiverem vazios, USER_LOGIN será usado. Se user estiver vazio e src_ip não estiver vazio ou for 0.0.0.0, STATUS_UPDATE será usado. Caso contrário, GENERIC_EVENT será usado.
read_only_udm.metadata.log_type Fixado no código como 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.

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