Coletar registros do switch da plataforma H3C Comware
Este documento explica como ingerir registros do switch da plataforma H3C Comware no Google Security Operations usando o Bindplane.
Os switches da plataforma H3C Comware são switches de rede de nível empresarial que oferecem recursos de comutação de camada 2 e camada 3, recursos de segurança avançados e gerenciamento de rede abrangente pelo sistema operacional Comware. Os switches oferecem recursos abrangentes de geração de registros pelo recurso do centro de informações para monitorar operações de rede, ocorrências de segurança e diagnósticos do sistema.
Antes de começar
Verifique se você tem os pré-requisitos a seguir:
- Uma instância do Google SecOps
- Windows Server 2016 ou mais recente ou host Linux com
systemd - Conectividade de rede entre o agente do BindPlane e o switch da plataforma H3C Comware
- 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 do Bindplane.
- Acesso privilegiado ao console de gerenciamento do switch da plataforma H3C Comware via console, Telnet ou SSH
- Switch da plataforma H3C Comware com o recurso de central de informações ativado (ativado por padrão)
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 desativada em 20 de julho de 2027.
Opção 1: criar uma conta de serviço para a API Chronicle (recomendado)
- Faça login no console doGoogle Cloud e selecione o projeto do Google Cloud 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 que você criou e acesse a guia Chaves.
- Clique em Adicionar chave > Criar nova chave.
- Selecione JSON e clique em Criar. O download do arquivo de chave é feito no seu 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 salvou. - Acesse IAM e administrador > Configurações e copie o Número do projeto. Você vai precisar dele para configurar o 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.
- Faça o download do 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 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" /quietAguarde a conclusão da instalação.
Execute o seguinte comando para confirmar a instalação:
sc query observiq-otel-collector
O serviço vai aparecer como EM EXECUÇÃO.
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.shAguarde a conclusão da instalação.
Execute o seguinte comando para confirmar a instalação:
sudo systemctl status observiq-otel-collector
O serviço vai aparecer como ativo (em execução).
Outros recursos de instalação
Para mais opções de instalação e solução de problemas, consulte o guia de instalação do agente do Bindplane.
Configurar o agente do Bindplane para ingerir syslog e enviar ao Google SecOps
Localizar o arquivo de configuração
Linux:
sudo nano /opt/observiq-otel-collector/config.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
Editar o arquivo de configuração
Substitua todo o conteúdo de
config.yamlpela seguinte configuração:receivers: udplog: listen_address: "0.0.0.0:514" exporters: chronicle/h3c_switch: 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 creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json' customer_id: 'YOUR_CUSTOMER_ID' endpoint: chronicle.googleapis.com log_type: H3C_SWITCH raw_log_field: body ingestion_labels: env: production service: pipelines: logs/h3c_to_chronicle: receivers: - udplog exporters: - chronicle/h3c_switch
Parâmetros de configuração
Substitua os seguintes marcadores de posição:
Configuração do receptor:
listen_address: defina como0.0.0.0:514para detectar todas as interfaces na porta UDP 51. Você pode usar uma porta diferente, como1514, se estiver executando como não raiz no Linux.
Configuração do exportador:
creds_file_path: caminho completo para o arquivo de chave JSON da conta de serviço (opção 1):- Linux:
/opt/observiq-otel-collector/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
customer_id: substituaYOUR_CUSTOMER_IDpelo ID de cliente da etapa anterior.location: substitua<LOCATION>pela região da sua instância do Google SecOps (por exemplo,us,europeouasia-southeast1). O exportador prefixachronicle.googleapis.comcom esse valor. Consulte Endpoints regionais para ver a lista completa.project: substitua<PROJECT_NUMBER>pelo número do projeto em IAM e administrador > Configurações.endpoint: mantenha definido comochronicle.googleapis.com.log_type: defina comoH3C_SWITCHexatamente como mostrado.ingestion_labels: rótulos opcionais no formato YAML (por exemplo,env: production).
Exportador da API de ingestão 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/h3c_switch: compression: gzip creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json' customer_id: 'YOUR_CUSTOMER_ID' endpoint: malachiteingestion-pa.googleapis.com log_type: H3C_SWITCH raw_log_field: body ingestion_labels: env: production
Salve o arquivo de configuração.
Depois de editar, salve o arquivo:
- Linux: pressione
Ctrl+O,EntereCtrl+X. - Windows: clique em Arquivo > Salvar.
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 observiq-otel-collectorVerifique se o serviço está em execução:
sudo systemctl status observiq-otel-collectorVerifique se há erros nos registros:
sudo journalctl -u observiq-otel-collector -f
Para reiniciar o agente do BindPlane no Windows, escolha uma das seguintes opções:
Prompt de comando ou PowerShell como administrador:
net stop observiq-otel-collector && net start observiq-otel-collectorConsole de serviços:
- Pressione
Win+R, digiteservices.msce pressione Enter. - Localize o coletor do OpenTelemetry da observIQ.
Clique com o botão direito do mouse e selecione Reiniciar.
Verifique se o serviço está em execução:
sc query observiq-otel-collectorVerifique se há erros nos registros:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
- Pressione
Configurar o encaminhamento de syslog do switch da plataforma H3C Comware
Configure o switch da plataforma H3C Comware para enviar mensagens syslog ao agente do BindPlane.
Acessar a CLI do interruptor
- Faça login no switch da plataforma H3C Comware usando um dos seguintes métodos:
- Conexão da porta do console
- Telnet
- SSH
Digite o seguinte comando para entrar na visualização do sistema:
<H3C> system-view
O prompt muda para [H3C], indicando que você está na visualização do sistema.
Verificar se a central de informações está ativada
O centro de informações é ativado por padrão nos switches da plataforma H3C Comware. Para verificar ou ativar a central de informações, digite o seguinte comando:
[H3C] info-center enableSe a central de informações já estiver ativada, o sistema vai exibir:
Info: Information center is enabled.
Configurar o formato de carimbo de data/hora (opcional)
O formato de carimbo de data/hora padrão para informações do sistema enviadas ao host de registros é "data". Para configurar o formato do carimbo de data/hora, use o seguinte comando:
[H3C] info-center timestamp loghost dateFormatos de carimbo de data/hora disponíveis:
date: o formato é "Mmm dd hh:mm:ss:ms yyyy" (por exemplo, Dec 8 10:12:21:708 2012)iso: formato ISO 8601 (por exemplo, 2012-09-21T15:32:55)no-year-date: data e hora atuais do sistema sem o anonone: nenhuma informação de carimbo de data/hora
Configurar o host de registros
Especifique o host do agente do Bindplane como o host de registros. O parâmetro "facility" pode ser definido de local0 a local7, sendo o valor padrão local7.
[H3C] info-center loghost BINDPLANE_AGENT_IP port 514 facility local7Substitua
BINDPLANE_AGENT_IPpelo endereço IP do host que executa o agente do Bindplane.Por exemplo, se o agente do Bindplane estiver em execução no host 192.168.1.100:
[H3C] info-center loghost 192.168.1.100 port 514 facility local7Parâmetros:
BINDPLANE_AGENT_IP: endereço IP do host do agente do BindPlaneport 514: número da porta UDP (precisa corresponder à porta configurada no agente do Bindplane)facility local7: recurso Syslog (local0 a local7 são válidos; o padrão é local7)
Configurar interface de origem (opcional)
O comando info-center loghost source só entra em vigor depois que o centro de informações é ativado com o comando info-center enable. Para especificar uma interface de origem para mensagens de registro:
[H3C] info-center loghost source INTERFACE_TYPE INTERFACE_NUMBERPor exemplo, para usar a interface VLAN 1 como origem:
[H3C] info-center loghost source vlan-interface 1
Desativar a saída de registros padrão para o host de registros
Por padrão, o sistema envia informações de todos os módulos para o host de registros. Para controlar quais módulos enviam registros, primeiro desative a saída padrão:
[H3C] undo info-center source default loghost
Configurar regras de saída de registro
Configure quais módulos e níveis de gravidade devem enviar registros para o host de registros. As informações do sistema são classificadas em oito níveis de gravidade, de 0 a 7, em ordem decrescente. A chave gera as informações do sistema com um nível de gravidade maior ou igual ao nível especificado. Por exemplo, se você configurar uma regra de saída com um valor de gravidade de 6 (informativo), as informações com um valor de gravidade de 0 a 6 serão mostradas.
Níveis de gravidade (0 a 7):
- 0: emergências
- 1: alertas
- 2: crítico
- 3: erros
- 4: avisos
- 5: notificações
- 6: informativo
- 7: depuração
Para configurar a saída de registros de todos os módulos no nível informativo ou superior:
[H3C] info-center source default loghost level informationalPara configurar a saída de registro para módulos específicos (por exemplo, ARP e IP):
[H3C] info-center source arp loghost level informational [H3C] info-center source ip loghost level informationalPara conferir os módulos de origem disponíveis, use:
[H3C] info-center source ?
Salvar a configuração
Salve a configuração para garantir que ela persista após uma reinicialização:
[H3C] saveQuando solicitado, digite
Ypara confirmar.
Verificar a configuração
Para verificar a configuração da central de informações, use o seguinte comando:
[H3C] display info-center
Esse comando mostra a configuração atual da central de informações, incluindo configurações de host de registro, regras de saída e configurações de canal.
Exemplo de configuração completa
O exemplo a seguir mostra uma configuração completa para enviar registros de todos os módulos no nível informativo ou superior para um host de registro em 192.168.1.100:
<H3C> system-view [H3C] info-center enable [H3C] info-center timestamp loghost date [H3C] info-center loghost 192.168.1.100 port 514 facility local7 [H3C] undo info-center source default loghost [H3C] info-center source default loghost level informational [H3C] save
Exemplo de configuração para módulos específicos
O exemplo a seguir mostra a configuração para enviar registros de módulos ARP e IP no nível informativo para um host de registro:
<H3C> system-view [H3C] info-center enable [H3C] info-center loghost 192.168.1.100 port 514 facility local7 [H3C] undo info-center source default loghost [H3C] info-center source arp loghost level informational [H3C] info-center source ip loghost level informational [H3C] save
Tabela de mapeamento de UDM
| Campo de registro | Mapeamento de UDM | Lógica |
|---|---|---|
| extensions.auth.type | Tipo de autenticação usado no evento | |
| nome do host | intermediary.asset.hostname | Nome do host do recurso associado ao intermediário |
| nome do host | intermediary.hostname | Nome do host da entidade intermediária |
| inter_ip | intermediary.asset.ip | Endereço IP do recurso associado ao intermediário |
| inter_ip | intermediary.ip | Endereço IP da entidade intermediária |
| IPAddr, prin_ip | principal.asset.ip | Endereço IP do recurso associado ao principal |
| IPAddr, prin_ip | principal.ip | Endereço IP da entidade principal |
| prin_port | principal.port | Número da porta associado ao principal |
| Usuário, usuário | principal.user.userid | ID do usuário do principal |
| tar_host | target.asset.hostname | Nome do host do recurso associado ao destino |
| tar_host | target.hostname | Nome do host da entidade de destino |
| tar_ip | target.asset.ip | Endereço IP do recurso associado ao destino |
| tar_ip | target.ip | Endereço IP da entidade de destino |
| tar_port | target.port | Número da porta associado ao destino |
| tar_user | target.user.userid | ID do usuário do destino |
| Line, OperateType, OperateTime, OperateState, OperateEndTime, EventIndex, CommandSource, ConfigSource, ConfigDestination | additional.fields | Campos de metadados adicionais não cobertos pelos campos padrão do UDM |
| desc | metadata.description | A descrição do evento |
| timestamp | metadata.event_timestamp | Carimbo de data/hora em que o evento ocorreu |
| metadata.event_type | Tipo de evento (por exemplo, USER_LOGIN, NETWORK_CONNECTION) | |
| event_type | metadata.product_event_type | Identificador de tipo de evento específico do produto |
| metadata.product_name | Nome do produto que gerou o evento | |
| metadata.vendor_name | Nome do fornecedor do produto | |
observer_asset_id |
event.idm.read_only_udm.observer.asset_id |
Mapeado do registro de alterações |
observer_hostname |
event.idm.read_only_udm.observer.hostname e event.idm.read_only_udm.observer.asset.hostname |
Mapeado do registro de mudanças |
severity |
event.idm.read_only_udm.security_result.severity_details |
Mapeado do registro de alterações |
severityName |
event.idm.read_only_udm.security_result.severity |
Mapeado do registro de alterações |
duplicate_ip |
event.idm.read_only_udm.principal.ip e event.idm.read_only_udm.principal.asset.ip |
Mapeado do registro de alterações |
facility |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
facilityName |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
id |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
interface |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
host |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
device_type |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
dev_ip |
event.idm.read_only_udm.target.ip e event.idm.read_only_udm.target.asset.ip |
Mapeado do registro de mudanças |
program |
event.idm.read_only_udm.metadata.product_event_type |
Mapeado do registro de alterações |
security_result |
event.idm.read_only_udm.security_result |
Mapeado do registro de alterações |
product_event_type |
event.idm.read_only_udm.metadata.product_event_type |
Mapeado do registro de alterações |
src_ip |
event.idm.read_only_udm.principal.ip |
Mapeado do registro de alterações |
src_ip |
event.idm.read_only_udm.principal.asset.ip |
Mapeado do registro de alterações |
dest_ip |
event.idm.read_only_udm.target.ip |
Mapeado do registro de alterações |
dest_ip |
event.idm.read_only_udm.target.asset.ip |
Mapeado do registro de alterações |
hostname |
event.idm.read_only_udm.intermediary.hostname |
Mapeado do registro de alterações |
hostname |
event.idm.read_only_udm.intermediary.asset.hostname |
Mapeado do registro de alterações |
timestamp |
event.idm.read_only_udm.metadata.event_timestamp |
Mapeado do registro de alterações |
inter_ip |
event.idm.read_only_udm.metadata.intermediary.ip |
Mapeado do registro de alterações |
inter_ip |
event.idm.read_only_udm.metadata.intermediary.asset.ip |
Mapeado do registro de alterações |
Line |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
OperateType |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
OperateTime |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
OperateState |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
OperateEndTime |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
EventIndex |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
CommandSource |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
ConfigSource |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
ConfigDestination |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
IPAddr |
event.idm.read_only_udm.principal.ip |
Mapeado do registro de alterações |
IPAddr |
event.idm.read_only_udm.principal.asset.ip |
Mapeado do registro de alterações |
User |
event.idm.read_only_udm.principal.user.userid |
Mapeado do registro de alterações |
prin_ip |
event.idm.read_only_udm.principal.ip |
Mapeado do registro de alterações |
prin_ip |
event.idm.read_only_udm.principal.asset.ip |
Mapeado do registro de alterações |
prin_port |
event.idm.read_only_udm.principal.port |
Mapeado do registro de alterações |
tar_ip |
event.idm.read_only_udm.target.ip |
Mapeado do registro de alterações |
tar_ip |
event.idm.read_only_udm.target.asset.ip |
Mapeado do registro de alterações |
tar_host |
event.idm.read_only_udm.target.hostname |
Mapeado do registro de alterações |
tar_port |
event.idm.read_only_udm.target.port |
Mapeado do registro de alterações |
tar_user |
event.idm.read_only_udm.target.user.userid |
Mapeado do registro de alterações |
user |
event.idm.read_only_udm.principal.user.userid |
Mapeado do registro de mudanças |
Registro de alterações
Confira o registro de alterações deste analisador
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.