Recoger registros de conmutadores Alcatel
En este documento se explica cómo ingerir registros de conmutadores Alcatel en Google Security Operations mediante un agente de Bindplane. El analizador extrae campos mediante una serie de grok
patrones basados en diferentes formatos de registro. Después, asigna los campos extraídos a los campos correspondientes del modelo de datos unificado (UDM) y enriquece los datos con metadatos como el proveedor y el tipo de evento.
Antes de empezar
- Asegúrate de que tienes una instancia de Google SecOps.
- Asegúrate de usar Windows 2016 o una versión posterior, o un host Linux con
systemd
. - Si se ejecuta a través de un proxy, asegúrate de que los puertos del cortafuegos estén abiertos.
- Asegúrate de que tienes credenciales con privilegios para un conmutador Alcatel.
Obtener el archivo de autenticación de ingestión de Google SecOps
- Inicia sesión en la consola de Google SecOps.
- Ve a Configuración de SIEM > Agentes de recogida.
- Descarga el archivo de autenticación de ingestión. Guarda el archivo de forma segura en el sistema en el que se instalará Bindplane.
Obtener el ID de cliente de Google SecOps
- Inicia sesión en la consola de Google SecOps.
- Ve a Configuración de SIEM > Perfil.
- Copia y guarda el ID de cliente de la sección Detalles de la organización.
Instalar el agente de Bindplane
Instalación de ventanas
- Abre el símbolo del sistema o PowerShell como administrador.
Ejecuta el siguiente comando:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Instalación de Linux
- Abre un terminal con privilegios de superusuario o sudo.
Ejecuta el siguiente comando:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
Recursos de instalación adicionales
- Para ver otras opciones de instalación, consulta esta guía de instalación.
Configurar el agente de BindPlane para ingerir Syslog y enviarlo a Google SecOps
Accede al archivo de configuración:
- Busca el archivo
config.yaml
. Normalmente, se encuentra en el directorio/etc/bindplane-agent/
en Linux o en el directorio de instalación en Windows. - Abre el archivo con un editor de texto (por ejemplo,
nano
,vi
o Bloc de notas).
- Busca el archivo
Edita el archivo
config.yaml
de la siguiente manera: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
Sustituye el puerto y la dirección IP según sea necesario en tu infraestructura.
Sustituye
<customer_id>
por el ID de cliente real.Actualiza
/path/to/ingestion-authentication-file.json
a la ruta en la que se guardó el archivo de autenticación en la sección Obtener el archivo de autenticación de ingestión de Google SecOps.
Reinicia el agente de Bindplane para aplicar los cambios
Para reiniciar el agente de Bindplane en Linux, ejecuta el siguiente comando:
sudo systemctl restart bindplane-agent
Para reiniciar el agente de Bindplane en Windows, puedes usar la consola Servicios o introducir el siguiente comando:
net stop BindPlaneAgent && net start BindPlaneAgent
Configurar la exportación de Syslog de un conmutador Alcatel
- Conéctate al conmutador mediante SSH o un cable de consola.
- Inicia sesión con las credenciales de administrador.
Accede al modo de configuración global:
enable configure terminal
Define la dirección IP del servidor Bindplane (syslog):
swlog output socket <syslog-server-ip>
- Sustituye
<syslog-server-ip>
por la dirección IP del agente de Bindplane.
- Sustituye
Habilita el registro en el servidor syslog:
swlog remote enable
Configura el nivel de registro:
swlog console level info
Habilita el registro de comandos:
command-log enable
Guarda los cambios en la configuración de inicio:
write memory
Tabla de asignación de UDM
Campo de registro | Asignación de UDM | Lógica |
---|---|---|
1.1.1.1 |
principal.ip principal.asset.ip |
Extraído del mensaje de registro. |
1.1.1.2 |
target.ip target.asset.ip |
Extraído del mensaje de registro. |
1.1.2.7 |
target.ip target.asset.ip |
Extraído del mensaje de registro. |
1035 |
target.port | Extraído del mensaje de registro. |
2266 |
additional.fields.value.string_value | Se extrae del mensaje de registro y se asigna como vlan . |
3036 |
principal.port | Extraído del mensaje de registro. |
59300 |
target.port | Extraído del mensaje de registro. |
60588 |
target.port | Extraído del mensaje de registro. |
997 |
principal.resource.attribute.labels.value | Se extrae del mensaje de registro y se asigna como limit . |
A6450-L2-K4B-01 |
principal.application | Extraído del mensaje de registro. |
A6450-L2-X1B-02-01 |
principal.application | Extraído del mensaje de registro. |
A6450-L2-X2A-01-01 |
principal.application | Extraído del mensaje de registro. |
A6450-L2-X4B-02-01 |
principal.application | Extraído del mensaje de registro. |
A6900-L3-LTX0A |
principal.application | Extraído del mensaje de registro. |
Accepted keyboard-interactive/pam |
security_result.summary | Parte del campo sec_summary extraído. |
b8:53:ac:6e:c9:bc |
principal.mac | Extraído del mensaje de registro. |
BRIDGE(10) |
additional.fields.value.string_value | Se extrae del mensaje de registro y se asigna como id_protocol . |
CLI log, |
security_result.summary | Parte del campo sec_summary extraído. |
cmd: show configuration snapshot all, |
security_result.detection_fields.value | Se extrae del mensaje de registro y se asigna como cmd . |
Connection reset by 1.1.2.7 port 60505 |
security_result.summary | Extraído del mensaje de registro. |
Dec 7 14:28:40 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Analizado a partir del campo ts . |
Dec 8 04:21:22 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Analizado a partir del campo ts . |
Dec 9 20:08:29 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Analizado a partir del campo ts . |
Dec 9 20:51:34 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Analizado a partir del campo ts . |
Dec 11 10:18:30 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Analizado a partir del campo ts . |
Dec 17 02:14:22 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Analizado a partir del campo ts . |
Dec 19 10:27:33 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Analizado a partir del campo ts . |
Did not receive identification string from 1.1.2.7 port 60588 |
security_result.summary | Extraído del mensaje de registro. |
esmSetRateLimit: Txing |
additional.fields.value.string_value | Se extrae del mensaje de registro y se asigna como esm_set_rate_limit . |
Feb 15 16:29:29 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Analizado a partir del campo ts . |
Feb 16 11:08:45 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Analizado a partir del campo ts . |
Feb 16 11:08:49 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Analizado a partir del campo ts . |
flashManager FlashMgr Main info(5) flashMgrValidateImage_exec: valid |
security_result.summary | Extraído del mensaje de registro. |
for ncmadmin from 1.1.1.2 port 59300 ssh2 |
security_result.summary | Parte del campo sec_summary extraído. |
from port 3036 to port 1035 |
security_result.summary | Parte del campo sec_summary extraído. |
IVDELCSW03 |
principal.hostname principal.asset.hostname |
Se extrae del mensaje de registro cuando principal_ip no es una dirección IP. |
IP-HELPER(22) |
additional.fields.value.string_value | Se extrae del mensaje de registro y se asigna como id_protocol . |
Jan 16 02:14:13 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Analizado a partir del campo ts . |
LLDP(42) |
additional.fields.value.string_value | Se extrae del mensaje de registro y se asigna como id_protocol . |
limit=997, |
principal.resource.attribute.labels.value | Se extrae del mensaje de registro y se asigna como limit . |
limitType=1 |
principal.resource.attribute.labels.value | Se extrae del mensaje de registro y se asigna como limitType . |
lldpProcessLocationIdTLV: Error, LLDP-MED Civic Address LCI len 39 invalid, tlvL |
security_result.summary | Extraído del mensaje de registro. |
Mac Movement for MacAddr: a0:29:19:c0:55:18 |
security_result.summary | Extraído del mensaje de registro. |
MacAddr: a0:29:19:c0:55:18 |
principal.mac | Extraído del mensaje de registro. |
ncmadmin |
principal.user.userid | Extraído del mensaje de registro. |
OS6360 |
principal.hostname principal.asset.hostname |
Se extrae del mensaje de registro cuando principal_ip no es una dirección IP. |
result: SUCCESS |
security_result.detection_fields.value | Se extrae del mensaje de registro y se asigna como result . |
SES CMD info(5) |
security_result.summary | Parte del campo sec_summary extraído. |
STACK-MANAGER |
principal.application | Extraído del mensaje de registro. |
Stack Port A MAC Frames TX/RX Enabled |
security_result.summary | Extraído del mensaje de registro. |
STP(11) |
additional.fields.value.string_value | Se extrae del mensaje de registro y se asigna como id_protocol . |
SWCONSOLE-L2-K0A-01 |
target.hostname target.asset.hostname |
Extraído del mensaje de registro. |
trafficType=2, |
principal.resource.attribute.labels.value | Se extrae del mensaje de registro y se asigna como trafficType . |
user: ncmadmin |
security_result.summary | Parte del campo sec_summary extraído. |
zslot=0, |
principal.resource.attribute.labels.value | Se extrae del mensaje de registro y se asigna 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 | Se define como GENERIC_EVENT si no coincide con ningún otro tipo. |
- | metadata.product_name | Valor codificado: Alcatel Switch |
- | metadata.vendor_name | Valor codificado: ALCATEL SWITCH |
- | network.application_protocol | Se asigna el valor SSH cuando id_protocol coincide con ssh (sin distinguir entre mayúsculas y 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 | Se asigna el valor INFORMATIONAL cuando prod_severity coincide con info (sin distinguir entre mayúsculas y minúsculas). |
¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.