Recoger registros de Radware WAF
En este documento se explica cómo recoger los registros del cortafuegos de aplicaciones web (WAF) de Radware mediante un reenviador de Google Security Operations.
El analizador extrae campos de los mensajes syslog del cortafuegos de Radware mediante patrones grok y los asigna a UDM. Gestiona varios formatos de registro, rellena los campos de resultados de seguridad en función de los detalles del ataque y categoriza los eventos según attack_id
, lo que enriquece los datos para que Google SecOps los ingiera.
Antes de empezar
- Asegúrate de que tienes una instancia de Google Security Operations.
- 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 Radware Vision Reporter esté instalado y configurado en AppWall.
- Asegúrate de que tienes acceso con privilegios al portal de Radware WAF.
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á el agente de 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 with your specific IP and port listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: compression: gzip # Path to the ingestion authentication file creds: '/path/to/your/ingestion-auth.json' # Your Chronicle customer ID customer_id: 'your_customer_id' endpoint: malachiteingestion-pa.googleapis.com ingestion_labels: log_type: SYSLOG namespace: radware_waf 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 Radware AppWall WAF
Para completar las tareas, realiza las tres configuraciones siguientes:
- Configura AppWall independiente con Vision Reporter.
- Configura AppWall integrado en Alteon mediante Vision Reporter (incluye datos de solicitudes HTTP en los detalles del evento).
- Configura Vision Reporter para enviar registros al agente de Bindplane.
Configurar AppWall Standalone con Vision Reporter
- Inicia sesión en la consola de Radware WAF con las credenciales de administrador.
- Ve a Configuración > Servicios > Asistencia visual > Vision Reporter.
- Para habilitar el registro, selecciona la casilla Enviar eventos a Vision Reporter.
- Dirección de Vision Reporter: introduzca la dirección IP de Vision Reporter.
- Puerto: introduce el número de puerto.
- Protocolo: selecciona UDP o TCP.
- Para incluir datos de respuesta HTTP, selecciona la casilla Enviar respuestas a Vision Reporter.
- Haz clic en Guardar.
Configurar AppWall integrado en Alteon mediante Vision Reporter (opción preferida para el registro de datos de solicitudes HTTP)
- Inicia sesión en la consola de Radware WAF con las credenciales de administrador.
- Vaya a Configuración > Seguridad > Seguridad web > Vision Reporter.
- Para habilitar el registro, selecciona la casilla Enviar eventos a Vision Reporter.
- Marca la casilla Enviar eventos a Vision reporter.
- Dirección IP de Vision Reporter: introduce la dirección IP de Vision Reporter.
- Puerto: introduce un número de puerto alto.
- Seguridad: selecciona UDP o TCP.
- Haz clic en Guardar.
Configurar Vision Reporter para enviar registros al agente de Bindplane
- Inicia sesión en la consola de administración de Radware Vision Reporter.
- Vaya a Configuración > SIEM y registro externo.
- Haga clic en + Añadir nuevo destino de SIEM.
- Nombre del destino: introduce Google SecOps Forwarder.
- Tipo de exportación de registros: selecciona Syslog (formato RFC 5424) para el registro estructurado.
- En IP del servidor Syslog remoto, introduce la dirección IP del agente de Bindplane.
- Puerto: introduce un puerto en el que escucha el agente de Bindplane (por ejemplo, 514 para UDP o 601 para TCP).
- Protocolo: selecciona UDP o TCP en función de la configuración de Bindplane.
- Haz clic en Guardar.
Tabla de asignación de UDM
Campo de registro | Asignación de UDM | Lógica |
---|---|---|
action |
event.idm.read_only_udm.security_result.action |
Si action es "drop", asigna el valor "BLOCK". |
attack_desc |
event.idm.read_only_udm.security_result.description |
Asignación directa. |
attack_type |
event.idm.read_only_udm.security_result.threat_name |
Asignación directa. |
command |
event.idm.read_only_udm.principal.process.command_line |
Asignación directa. |
description |
event.idm.read_only_udm.security_result.description |
Se asigna directamente si attack_desc está vacío. |
dst_ip |
event.idm.read_only_udm.target.ip |
Asignación directa. |
dst_port |
event.idm.read_only_udm.target.port |
Asignado directamente, convertido en entero. Se debe definir como "MACHINE" si username está presente y command no. Copiado del campo collection_time del registro sin procesar. El valor predeterminado es "NETWORK_CONNECTION". Asigna el valor "GENERIC_EVENT" si faltan src_ip o dst_ip . Se define como "USER_LOGIN" si username está presente y command no. Se puede anular mediante una lógica basada en attack_id . Se ha definido como "RADWARE_FIREWALL". Asignado desde el campo product . Selecciona "Radware". |
intermediary_ip |
event.idm.read_only_udm.intermediary.ip |
Asignación directa. |
obv_ip |
event.idm.read_only_udm.observer.ip |
Asignación directa. |
product |
event.idm.read_only_udm.metadata.product_name |
Asignación directa. |
protocol_number_src |
event.idm.read_only_udm.network.ip_protocol |
Se analiza con la lógica parse_ip_protocol.include . |
rule_id |
event.idm.read_only_udm.security_result.rule_id |
Asignación directa. Se deriva del valor de attack_id . Entre los valores se incluyen "ACL_VIOLATION", "NETWORK_DENIAL_OF_SERVICE", "NETWORK_SUSPICIOUS" y "NETWORK_RECON". |
src_ip |
event.idm.read_only_udm.principal.ip |
Asignación directa. |
src_port |
event.idm.read_only_udm.principal.port |
Asignado directamente, convertido en entero. |
ts |
event.idm.read_only_udm.metadata.event_timestamp |
Analizado y convertido a marca de tiempo. |
username |
event.idm.read_only_udm.target.user.userid |
Se asigna directamente si no se incluye command . |
username |
event.idm.read_only_udm.principal.user.userid |
Se asigna directamente si se incluye command . |
¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.