Recopila registros del conmutador Alcatel
En este documento, se explica cómo transferir registros de conmutadores Alcatel a las Operaciones de seguridad de Google con un agente de Bindplane. El analizador extrae campos con una serie de patrones grok
basados en diferentes formatos de registro. Luego, asigna los campos extraídos a los campos correspondientes en el Modelo de datos unificado (UDM) y enriquece los datos con metadatos, como el proveedor y el tipo de evento.
Antes de comenzar
- Asegúrate de tener una instancia de Google SecOps.
- Asegúrate de usar Windows 2016 o una versión posterior, o un host de Linux con
systemd
. - Si ejecutas la herramienta detrás de un proxy, asegúrate de que los puertos del firewall estén abiertos.
- Asegúrate de tener credenciales con privilegios para un conmutador Alcatel.
Obtén el archivo de autenticación de transferencia de Google SecOps
- Accede a la consola de Google SecOps.
- Ve a SIEM Settings > Collection Agents.
- Descarga el archivo de autenticación de transferencia. Guarda el archivo de forma segura en el sistema en el que se instalará BindPlane.
Obtén el ID de cliente de Google SecOps
- Accede a la consola de Google SecOps.
- Ve a SIEM Settings > Profile.
- Copia y guarda el ID de cliente de la sección Detalles de la organización.
Instala el agente de BindPlane
Instalación en Windows
- 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 en Linux
- Abre una terminal con privilegios de raíz 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 obtener más opciones de instalación, consulta esta guía de instalación.
Configura el agente de BindPlane para transferir Syslog y enviarlo a Google SecOps
Accede al archivo de configuración:
- Ubica el archivo
config.yaml
. Por lo general, 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).
- Ubica 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
Reemplaza el puerto y la dirección IP según sea necesario en tu infraestructura.
Reemplaza
<customer_id>
por el ID de cliente real.Actualiza
/path/to/ingestion-authentication-file.json
a la ruta de acceso en la que se guardó el archivo de autenticación en la sección Cómo obtener el archivo de autenticación de la transferencia de datos 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 de Servicios o ingresar el siguiente comando:
net stop BindPlaneAgent && net start BindPlaneAgent
Configura la exportación de Syslog del conmutador Alcatel
- Conéctate al conmutador con un cable de consola o SSH.
- Accede con credenciales de administrador.
Ingresa al modo de configuración global:
enable configure terminal
Establece la dirección IP del servidor de BindPlane (syslog):
swlog output socket <syslog-server-ip>
- Reemplaza
<syslog-server-ip>
por la dirección IP del agente de Bindplane.
- Reemplaza
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 |
Se extrae del mensaje de registro. |
1.1.1.2 |
target.ip target.asset.ip |
Se extrae del mensaje de registro. |
1.1.2.7 |
target.ip target.asset.ip |
Se extrae del mensaje de registro. |
1035 |
target.port | Se extrae del mensaje de registro. |
2266 |
additional.fields.value.string_value | Se extrae del mensaje de registro y se asigna como vlan . |
3036 |
principal.port | Se extrae del mensaje de registro. |
59300 |
target.port | Se extrae del mensaje de registro. |
60588 |
target.port | Se extrae 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 | Se extrae del mensaje de registro. |
A6450-L2-X1B-02-01 |
principal.application | Se extrae del mensaje de registro. |
A6450-L2-X2A-01-01 |
principal.application | Se extrae del mensaje de registro. |
A6450-L2-X4B-02-01 |
principal.application | Se extrae del mensaje de registro. |
A6900-L3-LTX0A |
principal.application | Se extrae del mensaje de registro. |
Accepted keyboard-interactive/pam |
security_result.summary | Es parte del campo sec_summary extraído. |
b8:53:ac:6e:c9:bc |
principal.mac | Se extrae 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 | Es 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 | Se extrae del mensaje de registro. |
Dec 7 14:28:40 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Se analizó a partir del campo ts . |
Dec 8 04:21:22 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Se analizó a partir del campo ts . |
Dec 9 20:08:29 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Se analizó a partir del campo ts . |
Dec 9 20:51:34 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Se analizó a partir del campo ts . |
Dec 11 10:18:30 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Se analizó a partir del campo ts . |
Dec 17 02:14:22 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Se analizó a partir del campo ts . |
Dec 19 10:27:33 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Se analizó a partir del campo ts . |
Did not receive identification string from 1.1.2.7 port 60588 |
security_result.summary | Se extrae 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 |
Se analizó a partir del campo ts . |
Feb 16 11:08:45 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Se analizó a partir del campo ts . |
Feb 16 11:08:49 |
metadata.event_timestamp.seconds metadata.event_timestamp.nanos |
Se analizó a partir del campo ts . |
flashManager FlashMgr Main info(5) flashMgrValidateImage_exec: valid |
security_result.summary | Se extrae del mensaje de registro. |
for ncmadmin from 1.1.1.2 port 59300 ssh2 |
security_result.summary | Es parte del campo sec_summary extraído. |
from port 3036 to port 1035 |
security_result.summary | Es 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 |
Se analizó 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 | Se extrae del mensaje de registro. |
Mac Movement for MacAddr: a0:29:19:c0:55:18 |
security_result.summary | Se extrae del mensaje de registro. |
MacAddr: a0:29:19:c0:55:18 |
principal.mac | Se extrae del mensaje de registro. |
ncmadmin |
principal.user.userid | Se extrae 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 | Es parte del campo sec_summary extraído. |
STACK-MANAGER |
principal.application | Se extrae del mensaje de registro. |
Stack Port A MAC Frames TX/RX Enabled |
security_result.summary | Se extrae 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 |
Se extrae 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 | Es 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 establece en 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 establece en SSH cuando id_protocol coincide con ssh (sin distinguir mayú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 | Se establece en INFORMATIONAL cuando prod_severity coincide con info (sin distinguir mayúsculas de minúsculas). |
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.