Coletar registros do gateway Enterprise do VIP da Symantec
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
- 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. Salve o arquivo com segurança no sistema em que o 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 do cliente na seção Detalhes da organização.
Instalar o agente do Bindplane
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" /quiet
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.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
- 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).
- Localize o arquivo
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
Substitua a porta e o endereço IP conforme necessário na sua infraestrutura.
Substitua
<customer_id>
pelo ID real do cliente.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
- Faça login na UI da Web do Symantec VIP Gateway.
- Acesse Logs > Configuração do Syslog.
- Se você estiver configurando o Syslog pela primeira vez, será solicitado que você configure as configurações do Syslog. Selecione Sim
- Se você já tiver configurado o Syslog, clique em Editar na parte de baixo da página.
- 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.
- Clique em Salvar.
- Acesse Configurações > Configurações do console.
- Informe os seguintes detalhes de configuração:
- Nível de registro: selecione Informações.
- Ativar o Syslog: selecione Sim.
- Clique em Enviar.
- Acesse Configurações > Configurações do Verificador de integridade.
- Selecione Sim para ativar o serviço de verificação de integridade.
- Informe os seguintes detalhes de configuração:
- Nível de registro: selecione Informações.
- Ativar o Syslog: selecione Sim.
- Clique em Enviar.
- Acesse Loja de usuários > Sincronização de diretório LDAP.
- Edite os seguintes detalhes de configuração:
- Nível de registro: selecione Info.
- Ativar o Syslog: selecione Sim.
- 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
paratarget.user.userid
nos registros que ainda não foram analisados. - Mapeou
event_type
paraUSER_LOGIN
nos registros em queuserid
está presente. Seprincipal.hostname
estiver presente, mapeouevent_type
paraSTATUS_UPDATE
. Caso contrário, mapeou paraGENERIC_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.