Coletar registros de VPN SSL da Array Networks
Versão do analisador: 1.0
Este documento explica como ingerir registros de VPN SSL da Array Networks no Google Security Operations usando o agente do Bindplane.
Antes de começar
Verifique se você tem os pré-requisitos a seguir:
- Uma instância do Google SecOps
- Um host do Windows 2016 ou mais recente ou do Linux com
systemd - Se você estiver executando em um proxy, verifique se as portas do firewall estão abertas de acordo com os requisitos do agente do Bindplane
- Acesso privilegiado ao console de gerenciamento ou appliance de VPN SSL da Array Networks (série AG ou vxAG)
Receber credenciais do Google SecOps para o agente do Bindplane
Para autenticar o agente do Bindplane no Google SecOps, escolha um dos seguintes métodos:
- Novas implantações: use a API Chronicle (opção 1).
- Implantações legadas: continue usando o arquivo de autenticação de ingestão (opção 2) até que a API Ingestion seja descontinuada em 20 de julho de 2027.
Opção 1: criar uma conta de serviço para a API Chronicle (recomendado)
- Faça login no Google Cloud console e selecione o Google Cloud projeto vinculado à sua instância do Google SecOps.
- Acesse IAM e administrador > Contas de serviço.
- Clique em Criar conta de serviço.
- Informe os seguintes detalhes de configuração:
- Nome da conta de serviço: insira um nome para a conta (por exemplo,
bindplane-ingest). - Descrição da conta de serviço: insira uma descrição (por exemplo,
Bindplane agent log ingestion).
- Nome da conta de serviço: insira um nome para a conta (por exemplo,
- Clique em Criar e continuar.
- Na seção Conceder a essa conta de serviço acesso ao projeto, clique em Selecionar um papel e escolha Editor do Chronicle.
- Clique em Continuar e depois em Concluído.
- Clique na conta de serviço criada e acesse a guia Chaves.
- Selecione Adicionar chave > Criar nova chave.
- Selecione JSON e clique em Criar. O arquivo de chave é baixado para o computador.
- Salve o arquivo de chave como
ingestion-auth.jsonno diretório do coletor do Bindplane (/opt/observiq-otel-collector/ingestion-auth.jsonno Linux ouC:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.jsonno Windows) ou atualizecreds_file_pathemconfig.yamlpara corresponder ao caminho em que você o salva. - Acesse IAM e administrador > Configurações e copie o Número do projeto. Você vai precisar dele para a configuração do exportador.
Opção 2: baixar o arquivo de autenticação de ingestão (legado)
- 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 com segurança no sistema em que o agente do 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 de cliente na seção Detalhes da organização.
Instalar o agente do Bindplane
Instale o agente do Bindplane no 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 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
Recursos de instalação adicionais
Para outras 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 está no diretório/opt/observiq-otel-collector/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: protocol: https # Region of your instance, for example us, europe, asia-southeast1 location: <LOCATION> # Project number of the Google Cloud project linked to the instance project: '<PROJECT_NUMBER>' 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: chronicle.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 de cliente real. - Atualize
/path/to/ingestion-authentication-file.jsonpara o caminho do arquivo em que o arquivo de chave da conta de serviço (opção 1) foi salvo na etapa 1. - Substitua
<LOCATION>pela região da sua instância do Google SecOps (por exemplo,us,europe, ouasia-southeast1). O exportador prefixachronicle.googleapis.comcom esse valor. Consulte Endpoints regionais para conferir a lista completa. - Substitua
<PROJECT_NUMBER>pelo número do projeto em IAM e administrador > Configurações.
Exportador da API Ingestion legada
Se você usar o arquivo de autenticação de ingestão da opção 2, substitua o bloco
exporterspelo seguinte. Definacreds_file_pathcomo o caminho para o arquivo de autenticação de ingestão e, se a instância estiver fora dos EUA, substituamalachiteingestion-pa.googleapis.compelo endpoint regional (por exemplo,europe-malachiteingestion-pa.googleapis.com).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:
Reiniciar o agente do Bindplane para aplicar as mudanças
Para reiniciar o agente do Bindplane no Linux, execute o seguinte comando:
sudo systemctl restart observiq-otel-collectorPara reiniciar o agente do Bindplane no Windows, use o console Serviços ou insira o seguinte comando:
net stop observiq-otel-collector && net start observiq-otel-collector
Configurar o encaminhamento do Syslog na VPN SSL da Array Networks
- Faça login no console de gerenciamento de VPN SSL da Array Networks (interface da Web).
- No menu de navegação à esquerda, clique em ADMIN TOOLS.
- Clique em Monitoring.
- Clique na guia Logging.
- 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:
- Host IP: insira o endereço IP do agente do Bindplane.
- Host Port: insira o número da porta do agente do Bindplane (por exemplo, 514).
- Protocol: 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 o nível mínimo de gravidade para encaminhar (por exemplo, informativo, aviso, erro).
- Clique em Add ou Save para aplicar a configuração.
Clique em Save Configuration na parte de cima da página para manter as mudanças.
Tabela de mapeamento de UDM
| Campo de registro | Mapeamento de 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 não assinado. |
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 após 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, após 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 |
Definido como "TCP" se a mensagem contiver "TCP". |
Registro de alterações
Consulte o registro de alterações desse analisador
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.