Recolha registos do Symantec VIP Enterprise Gateway

Compatível com:

Este documento explica como carregar registos do Symantec VIP Enterprise Gateway para o Google Security Operations através do Bindplane. O código do analisador tenta primeiro processar a mensagem de registo de entrada como um objeto JSON. Se isto falhar, assume um formato syslog e usa expressões regulares (padrões grok) para extrair campos relevantes, como datas/horas, endereços IP, nomes de utilizadores e descrições de eventos. Por último, mapeia as informações extraídas para os campos do modelo de dados unificado (UDM) para uma representação padronizada de eventos de segurança.

Antes de começar

Certifique-se de que tem os seguintes pré-requisitos:

  • Instância do Google SecOps
  • Windows 2016 ou posterior, ou anfitrião Linux com systemd
  • Se estiver a ser executado através de um proxy, as portas da firewall estão abertas
  • Acesso privilegiado ao Symantec VIP Enterprise Gateway

Obtenha o ficheiro de autenticação de carregamento do Google SecOps

  1. Inicie sessão na consola Google SecOps.
  2. Aceda a Definições do SIEM > Agentes de recolha.
  3. Transfira o ficheiro de autenticação de carregamento. Guarde o ficheiro de forma segura no sistema onde o Bindplane vai ser instalado.

Obtenha o ID de cliente do Google SecOps

  1. Inicie sessão na consola Google SecOps.
  2. Aceda a Definições do SIEM > Perfil.
  3. Copie e guarde o ID do cliente da secção Detalhes da organização.

Instale o agente do Bindplane

Instalação do Windows

  1. Abra a Linha de comandos ou o PowerShell como administrador.
  2. Execute o seguinte 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 o seguinte comando:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

Recursos de instalação adicionais

Para ver opções de instalação adicionais, consulte o guia de instalação.

Configure o agente Bindplane para carregar o Syslog e enviá-lo para o Google SecOps

  1. Aceda ao ficheiro de configuração:
    • Localize o ficheiro config.yaml. Normalmente, encontra-se no diretório /etc/bindplane-agent/ no Linux ou no diretório de instalação no Windows.
    • Abra o ficheiro com um editor de texto (por exemplo, nano, vi ou Bloco de notas).
  2. Edite o ficheiro 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 de cliente real.

  5. Atualize /path/to/ingestion-authentication-file.json para o caminho onde o ficheiro de autenticação foi guardado na secção Obtenha o ficheiro de autenticação de carregamento do Google SecOps.

Reinicie o agente do Bindplane para aplicar as alterações

  • 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, pode usar a consola Services ou introduzir o seguinte comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configure o Syslog no Symantec VIP Enterprise Gateway

  1. Inicie sessão na IU Web do Symantec VIP Gateway.
  2. Aceda a Registos > Configuração do Syslog.
  3. Se estiver a configurar o Syslog pela primeira vez, é-lhe pedido que configure as definições do Syslog. Selecione Sim.
  4. Se já configurou o Syslog, clique em Editar na parte inferior da página.
  5. Indique os seguintes detalhes de configuração:
    • Syslog Facility: selecione LOG_LOCAL0.
    • Anfitrião Syslog: introduza o endereço IP do agente Bindplane.
    • Porta Syslog: introduza o número da porta do agente Bindplane (por exemplo, 514 para UDP).
  6. Clique em Guardar.
  7. Aceda a Definições > Definições da consola.
  8. Indique os seguintes detalhes de configuração:
    • Nível de registo: selecione Informações.
    • Ativar Syslog: selecione Sim.
  9. Clique em Enviar.
  10. Aceda a Definições > Definições da verificação de saúde.
  11. Selecione Sim para ativar o serviço de verificação de estado.
  12. Indique os seguintes detalhes de configuração:
    • Nível de registo: selecione Informações.
    • Ativar Syslog: selecione Sim.
  13. Clique em Enviar.
  14. Aceda a Armazenamento de utilizadores > Sincronização do diretório LDAP.
  15. Edite os seguintes detalhes de configuração:
    • Nível do registo: selecione Informações.
    • Ativar Syslog: selecione Sim.
  16. Clique em Enviar.

Tabela de mapeamento do UDM

Campo de registo Mapeamento do UDM Lógica
aplicação read_only_udm.principal.application Valor retirado do campo application extraído pelo filtro JSON.
comando read_only_udm.target.process.command_line Valor retirado do campo command extraído pelo padrão grok.
credentialType Este campo não está mapeado diretamente para o UDM. É usado para obter o valor de read_only_udm.extensions.auth.mechanism.
dados Este campo não está mapeado diretamente para o UDM. É analisado para extrair outros campos.
data2 Este campo não está mapeado diretamente para o UDM. É analisado para extrair outros campos.
datetime read_only_udm.metadata.event_timestamp.seconds
read_only_udm.metadata.event_timestamp.nanos
Segundos e nanosegundos desde epoch extraídos do campo datetime.
desc read_only_udm.metadata.description Valor retirado do campo desc extraído pelo filtro JSON.
descrição read_only_udm.security_result.description Valor retirado do campo description extraído pelo filtro JSON.
nome de ficheiro read_only_udm.target.process.file.full_path Valor retirado do campo filename extraído pelo padrão grok.
hostname read_only_udm.principal.hostname Valor retirado do campo hostname extraído pelo filtro JSON.
host_name read_only_udm.intermediary.hostname Valor retirado do campo host_name extraído pelo filtro JSON.
log_level Este campo não está 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 retirado do campo log_type extraído pelo filtro JSON.
msg Este campo não está mapeado diretamente para o UDM. É analisado para extrair outros campos.
operação read_only_udm.security_result.summary Valor retirado do campo operation extraído pelo padrão grok.
processid read_only_udm.target.process.pid Valor retirado do campo processid extraído pelo padrão grok.
produto read_only_udm.metadata.product_name Valor retirado do campo product extraído pelo filtro JSON.
motivo read_only_udm.metadata.description Valor retirado do campo reason extraído pelo padrão grok.
request_id read_only_udm.target.resource.id Valor retirado do campo request_id extraído pelo padrão grok.
src_ip read_only_udm.principal.ip Valor retirado do campo src_ip extraído pelo padrão grok.
estado read_only_udm.metadata.description Valor retirado do campo status extraído pelo padrão grok.
resumo read_only_udm.security_result.summary Valor retirado do campo summary extraído pelo filtro JSON.
timestamp.nanos read_only_udm.metadata.event_timestamp.nanos Nanosegundos a partir da data/hora do registo original.
timestamp.seconds read_only_udm.metadata.event_timestamp.seconds Segundos a partir da data/hora do registo original.
tempo Este campo não está mapeado diretamente para o UDM. É usado para derivar os valores de read_only_udm.metadata.event_timestamp.seconds e read_only_udm.metadata.event_timestamp.nanos.
utilizador read_only_udm.target.user.userid Valor retirado do campo user extraído pelo filtro JSON ou pelo padrão Grok.
fornecedor read_only_udm.metadata.vendor_name Valor retirado do campo vendor extraído pelo filtro JSON.
read_only_udm.extensions.auth.mechanism Determinado pelo campo credentialType. Se credentialType for SMS_OTP ou STANDARD_OTP, é usado OTP. Se credentialType corresponder à expressão regular PASSWORD, é usado USERNAME_PASSWORD.
read_only_udm.extensions.auth.type Se o campo reason corresponder à expressão regular LDAP, é usado SSO. Caso contrário, é usado AUTHTYPE_UNSPECIFIED.
read_only_udm.metadata.event_type Determinado pela presença de determinados campos. Se user ou processid não estiver vazio, é usado USER_LOGIN. Se user estiver vazio e src_ip não estiver vazio ou for 0.0.0.0, é usado STATUS_UPDATE. Caso contrário, é usado GENERIC_EVENT.
read_only_udm.metadata.log_type Codificado para 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, é usado ALLOW. Se status for DENIED, Acces-Reject, Unknown Error, Service Unavailable ou FAILED, é usado BLOCK. Se status for PUSH request sent for user ou Trying to fetch attribute, é usado QUARANTINE.
read_only_udm.security_result.severity Determinado pelo campo log_level. Se log_level for DEBUG, INFO ou AUDIT, é usado INFORMATIONAL. Se log_level for ERROR, é usado ERROR. Se log_level for WARNING, é usado MEDIUM.

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