Coletar registros de VPN SSL da Array Networks
Este documento explica como ingerir registros de VPN SSL da Array Networks no Google Security Operations usando o Bindplane. O analisador extrai campos das mensagens syslog, mapeando-os para a UDM. Ele usa padrões grok para identificar vários formatos de registro, incluindo solicitações HTTP, mensagens SSL e atualizações de status genéricas. Em seguida, ele analisa condicionalmente pares de chave-valor e dados CSV nas mensagens para preencher campos da UDM, como principal, destino, informações de rede e resultados de segurança. O analisador também processa diferentes tipos de eventos com base nos dados extraídos, categorizando-os como eventos de rede, de usuário ou genéricos.
Antes de começar
Verifique se você tem os pré-requisitos a seguir:
- Uma instância do Google SecOps
- Um host Windows 2016 ou mais recente ou Linux com
systemd - Se você estiver executando por trás de um proxy, verifique se as portas do firewall estão abertas de acordo com os requisitos do agente Bindplane.
- Acesso privilegiado ao console ou dispositivo de gerenciamento de VPN SSL da Array Networks (série AG ou vxAG)
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.
- 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 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
Instale o agente do Bindplane no seu sistema operacional Windows ou Linux de acordo com as instruções a seguir.
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 root 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 este guia de instalação.
Configurar o agente do Bindplane para ingerir o Syslog e enviar ao Google SecOps
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,viou Bloco de Notas).
- Localize o arquivo
Edite o arquivo
config.yamlda 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_file_path: '/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 log_type: 'ARRAYNETWORKS_VPN' raw_log_field: body ingestion_labels: 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 do cliente real. - Atualize
/path/to/ingestion-authentication-file.jsonpara 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-agentPara 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 encaminhamento do Syslog na VPN SSL da Array Networks
- Faça login na UI da Web do Console de gerenciamento de VPN SSL da Array Networks.
- No menu de navegação à esquerda, clique em FERRAMENTAS DE ADMINISTRAÇÃO.
- Clique em Monitoring.
- Clique na guia Registro em log.
- Clique na subguia Servidores Syslog.
- Na seção CONFIGURAÇÃO DO SERVIDOR SYSLOG REMOTO, clique em Adicionar entrada de servidor.
- Informe os seguintes detalhes de configuração:
- IP do host: insira o endereço IP do agente do Bindplane.
- Porta do host: insira o número da porta do agente Bindplane (por exemplo,
514). - Protocolo: selecione UDP ou TCP, dependendo da configuração do agente do Bindplane.
- Porta de origem: deixe o padrão ou especifique se exigido pela configuração de rede.
- Nível: selecione Informativo.
- Clique em Salvar para aplicar a configuração.
- Clique em Salvar configuração na parte de cima da página para manter as mudanças.
Tabela de mapeamento do UDM
| Campo de registro | Mapeamento do UDM | Lógica |
|---|---|---|
clientip |
principal.ip |
O endereço IP do cliente extraído do campo clientip na mensagem de registro bruta. |
column1 |
principal.ip |
Endereço IP extraído de column1 no registro bruto. |
column1 |
principal.asset.ip |
Endereço IP extraído de column1 no registro bruto. |
column3 |
network.received_bytes |
O número de bytes recebidos, convertido em um número inteiro sem sinal. |
column4 |
network.http.method |
O método HTTP extraído de column4 no registro bruto. |
column7 |
target.ip |
O endereço IP de destino extraído de column7 no registro bruto. |
dport |
target.port |
Porta de destino, convertida em um número inteiro. |
dst |
target.ip |
Endereço IP de destino. |
dst |
target.asset.ip |
Endereço IP de destino. |
hostname |
principal.hostname |
O nome do host extraído do campo hostname na mensagem de registro bruta. |
hostname |
principal.asset.hostname |
O nome do host extraído do campo hostname na mensagem de registro bruta. |
http_method |
network.http.method |
O método HTTP extraído da mensagem de registro bruta. |
id |
principal.application |
O ID do aplicativo do registro bruto. |
mac |
principal.mac |
O endereço MAC extraído do campo mac na mensagem de registro bruta. |
msg |
metadata.product_event_type |
O campo de mensagem do registro bruto, usado como o tipo de evento do produto. Também usado para security_result.description depois de remover barras invertidas e aspas. |
product_name |
metadata.product_name |
O nome do produto extraído da mensagem de registro bruta. |
prxy_ip |
intermediary.ip |
Endereço IP do proxy. |
prxy_port |
intermediary.port |
Porta do proxy, convertida em um número inteiro. |
response_code |
network.http.response_code |
O código de resposta HTTP, convertido em um número inteiro. |
security_result.action |
security_result.action |
Determinado pela lógica do analisador com base no valor de column2. "BLOCK" se column2 contiver "TCP_MISS", "UNKNOWN_ACTION" caso contrário. |
security_result.description |
security_result.description |
O campo de mensagem do registro bruto, depois de remover barras invertidas e aspas. |
sport |
principal.port |
Porta de origem, convertida em um número inteiro. |
src |
principal.ip |
Endereço IP de origem. |
src |
principal.asset.ip |
Endereço IP de origem. |
target_hostname |
target.hostname |
O nome do host de destino extraído da mensagem de registro bruta. |
timestamp |
metadata.event_timestamp |
O carimbo de data/hora extraído da mensagem de registro bruta e analisado em um objeto de carimbo de data/hora. |
uri |
target.url |
Parte do URL de destino. Combinado com uri_param para formar o URL completo. |
uri_param |
target.url |
Parte do URL de destino. Combinado com uri para formar o URL completo. |
user |
target.user.userid |
O nome de usuário extraído da mensagem de registro bruta. |
user_agent_string |
network.http.user_agent |
A string do user agent extraída da mensagem de registro bruta. |
vpn |
target.user.group_identifiers |
O nome da VPN extraído da mensagem de registro bruta. |
metadata.event_type |
metadata.event_type |
Determinado pela lógica do analisador com base em uma combinação de campos como has_principal, has_target, has_http_value e user. Pode ser "NETWORK_HTTP", "NETWORK_CONNECTION", "STATUS_UPDATE", "USER_UNCATEGORIZED" ou "GENERIC_EVENT". |
network.ip_protocol |
network.ip_protocol |
Defina como "TCP" se a mensagem contiver "TCP". |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.