Coletar registros do switch Alcatel
Neste documento, explicamos como ingerir registros de switches Alcatel no Google Security Operations usando um agente do Bindplane. O analisador extrai campos usando uma série de padrões grok
com base em diferentes formatos de registro. Em seguida, ele mapeia os campos extraídos para os campos correspondentes no modelo de dados unificado (UDM, na sigla em inglês) e enriquece os dados com metadados, como fornecedor e tipo de evento.
Antes de começar
- Verifique se você tem uma instância do Google SecOps.
- Use o Windows 2016 ou uma versão mais recente ou um host Linux com
systemd
. - Se você estiver executando por trás de um proxy, verifique se as portas do firewall estão abertas.
- Verifique se você tem credenciais privilegiadas para um switch Alcatel.
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 do 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 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
,vi
ou Bloco de Notas).
- 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: ALCATEL_SWITCH 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 do cliente real.Atualize
/path/to/ingestion-authentication-file.json
para 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-agent
Para reiniciar o agente do Bindplane no Windows, use o console Serviços ou insira o seguinte comando:
net stop BindPlaneAgent && net start BindPlaneAgent
Configurar a exportação do Syslog do switch Alcatel
- Conecte-se usando SSH ou um cabo de console ao switch.
- Faça login com as credenciais de administrador.
Insira o modo configuração global:
enable configure terminal
Defina o endereço IP do servidor Bindplane (syslog):
swlog output socket <syslog-server-ip>
- Substitua
<syslog-server-ip>
pelo endereço IP do agente do Bindplane.
- Substitua
Ative o registro no servidor syslog:
swlog remote enable
Configure o nível de geração de registros:
swlog console level info
Ative a geração de registros de comandos:
command-log enable
Salve as mudanças na configuração de inicialização:
write memory
Tabela de mapeamento do UDM
Campo de registro | Mapeamento do UDM | Lógica |
---|---|---|
1.1.1.1 |
principal.ip principal.asset.ip |
Extraído da mensagem de registro. |
1.1.1.2 |
target.ip target.asset.ip |
Extraído da mensagem de registro. |
1.1.2.7 |
target.ip target.asset.ip |
Extraído da mensagem de registro. |
1035 |
target.port | Extraído da mensagem de registro. |
2266 |
additional.fields.value.string_value | Extraído da mensagem de registro e mapeado como vlan . |
3036 |
principal.port | Extraído da mensagem de registro. |
59300 |
target.port | Extraído da mensagem de registro. |
60588 |
target.port | Extraído da mensagem de registro. |
997 |
principal.resource.attribute.labels.value | Extraído da mensagem de registro e mapeado como limit . |
A6450-L2-K4B-01 |
principal.application | Extraído da mensagem de registro. |
A6450-L2-X1B-02-01 |
principal.application | Extraído da mensagem de registro. |
A6450-L2-X2A-01-01 |
principal.application | Extraído da mensagem de registro. |
A6450-L2-X4B-02-01 |
principal.application | Extraído da mensagem de registro. |
A6900-L3-LTX0A |
principal.application | Extraído da mensagem de registro. |
Accepted keyboard-interactive/pam |
security_result.summary | Parte do campo sec_summary extraído. |
b8:53:ac:6e:c9:bc |
principal.mac | Extraído da mensagem de registro. |
BRIDGE(10) |
additional.fields.value.string_value | Extraído da mensagem de registro e mapeado como id_protocol . |
CLI log, |
security_result.summary | Parte do campo sec_summary extraído. |
cmd: show configuration snapshot all, |
security_result.detection_fields.value | Extraído da mensagem de registro e mapeado como cmd . |
Connection reset by 1.1.2.7 port 60505 |
security_result.summary | Extraído da mensagem de registro. |
Dec 7 14:28:40 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Analisado do campo ts . |
Dec 8 04:21:22 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Analisado do campo ts . |
Dec 9 20:08:29 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Analisado do campo ts . |
Dec 9 20:51:34 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Analisado do campo ts . |
Dec 11 10:18:30 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Analisado do campo ts . |
Dec 17 02:14:22 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Analisado do campo ts . |
Dec 19 10:27:33 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Analisado do campo ts . |
Did not receive identification string from 1.1.2.7 port 60588 |
security_result.summary | Extraído da mensagem de registro. |
esmSetRateLimit: Txing |
additional.fields.value.string_value | Extraído da mensagem de registro e mapeado como esm_set_rate_limit . |
Feb 15 16:29:29 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Analisado do campo ts . |
Feb 16 11:08:45 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Analisado do campo ts . |
Feb 16 11:08:49 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Analisado do campo ts . |
flashManager FlashMgr Main info(5) flashMgrValidateImage_exec: valid |
security_result.summary | Extraído da mensagem de registro. |
for ncmadmin from 1.1.1.2 port 59300 ssh2 |
security_result.summary | Parte do campo sec_summary extraído. |
from port 3036 to port 1035 |
security_result.summary | Parte do campo sec_summary extraído. |
IVDELCSW03 |
principal.hostname principal.asset.hostname |
Extraído da mensagem de registro quando principal_ip não é um endereço IP. |
IP-HELPER(22) |
additional.fields.value.string_value | Extraído da mensagem de registro e mapeado como id_protocol . |
Jan 16 02:14:13 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Analisado do campo ts . |
LLDP(42) |
additional.fields.value.string_value | Extraído da mensagem de registro e mapeado como id_protocol . |
limit=997, |
principal.resource.attribute.labels.value | Extraído da mensagem de registro e mapeado como limit . |
limitType=1 |
principal.resource.attribute.labels.value | Extraído da mensagem de registro e mapeado como limitType . |
lldpProcessLocationIdTLV: Error, LLDP-MED Civic Address LCI len 39 invalid, tlvL |
security_result.summary | Extraído da mensagem de registro. |
Mac Movement for MacAddr: a0:29:19:c0:55:18 |
security_result.summary | Extraído da mensagem de registro. |
MacAddr: a0:29:19:c0:55:18 |
principal.mac | Extraído da mensagem de registro. |
ncmadmin |
principal.user.userid | Extraído da mensagem de registro. |
OS6360 |
principal.hostname principal.asset.hostname |
Extraído da mensagem de registro quando principal_ip não é um endereço IP. |
result: SUCCESS |
security_result.detection_fields.value | Extraído da mensagem de registro e mapeado como result . |
SES CMD info(5) |
security_result.summary | Parte do campo sec_summary extraído. |
STACK-MANAGER |
principal.application | Extraído da mensagem de registro. |
Stack Port A MAC Frames TX/RX Enabled |
security_result.summary | Extraído da mensagem de registro. |
STP(11) |
additional.fields.value.string_value | Extraído da mensagem de registro e mapeado como id_protocol . |
SWCONSOLE-L2-K0A-01 |
target.hostname target.asset.hostname |
Extraído da mensagem de registro. |
trafficType=2, |
principal.resource.attribute.labels.value | Extraído da mensagem de registro e mapeado como trafficType . |
user: ncmadmin |
security_result.summary | Parte do campo sec_summary extraído. |
zslot=0, |
principal.resource.attribute.labels.value | Extraído da mensagem de registro e mapeado como zslot . |
- | additional.fields.key | Valor codificado: id_protocol |
- | additional.fields.key | Valor codificado: esm_set_rate_limit |
- | additional.fields.key | Valor codificado: vlan |
- | metadata.event_type | Defina como GENERIC_EVENT se nenhum outro tipo for correspondente. |
- | metadata.product_name | Valor codificado: Alcatel Switch |
- | metadata.vendor_name | Valor codificado: ALCATEL SWITCH |
- | network.application_protocol | Defina como SSH quando id_protocol corresponder a ssh (sem diferenciar maiúsculas de minúsculas). |
- | principal.resource.attribute.labels.key | Valor codificado: limit |
- | principal.resource.attribute.labels.key | Valor codificado: trafficType |
- | principal.resource.attribute.labels.key | Valor codificado: limitType |
- | principal.resource.attribute.labels.key | Valor codificado: zslot |
- | security_result.detection_fields.key | Valor codificado: cmd |
- | security_result.detection_fields.key | Valor codificado: result |
- | security_result.severity | Defina como INFORMATIONAL quando prod_severity corresponder a info (sem diferenciar maiúsculas de minúsculas). |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.