Recopila registros del firewall de la serie SRX de Juniper

Se admite en los siguientes sistemas operativos:

En este documento, se explica cómo transferir registros de firewall de la serie SRX de Juniper a Google Security Operations con Bindplane.

Los firewalls de la serie SRX de Juniper son dispositivos de seguridad de red de alto rendimiento que proporcionan capacidades de firewall de última generación (NGFW), como inspección con estado, detección y prevención de intrusiones (IDP), seguridad de aplicaciones y VPN. Los firewalls SRX generan mensajes de syslog para eventos de tráfico, seguridad, sistema y sesión que se pueden reenviar a plataformas SIEM externas para la supervisión de seguridad centralizada.

Antes de comenzar

Asegúrate de cumplir con los siguientes requisitos previos:

  • Es una instancia de Google SecOps.
  • Windows Server 2016 o versiones posteriores, o host de Linux con systemd.
  • Conectividad de red entre el agente de Bindplane y el firewall de Juniper SRX
  • Si se ejecuta detrás de un proxy, asegúrate de que los puertos de firewall estén abiertos según los requisitos del agente de Bindplane.
  • Acceso privilegiado al firewall de Juniper SRX (acceso a nivel de raíz o superusuario a través de J-Web o la CLI).

Obtén el archivo de autenticación de transferencia de Google SecOps

  1. Accede a la consola de Google SecOps.
  2. Ve a Configuración de SIEM > Agentes de recopilación.
  3. 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

  1. Accede a la consola de Google SecOps.
  2. Ve a Configuración de SIEM > Perfil.
  3. Copia y guarda el ID de cliente de la sección Detalles de la organización.

Instala el agente de Bindplane

Instala el agente de Bindplane en tu sistema operativo Windows o Linux según las siguientes instrucciones.

Instalación en Windows

  1. Abre el símbolo del sistema o PowerShell como administrador.
  2. Ejecuta el comando siguiente:

    msiexec /i "[https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi](https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi)" /quiet
    
  3. Espera a que se complete la instalación.

  4. Ejecuta el siguiente comando para verificar la instalación:

    sc query observiq-otel-collector
    

El servicio debe mostrarse como RUNNING.

Instalación en Linux

  1. Abre una terminal con privilegios de raíz o sudo.
  2. Ejecuta el comando siguiente:

    sudo sh -c "$(curl -fsSlL [https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh](https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh))" install_unix.sh
    
  3. Espera a que se complete la instalación.

  4. Ejecuta el siguiente comando para verificar la instalación:

    sudo systemctl status observiq-otel-collector
    

El servicio debería mostrarse como activo (en ejecución).

Recursos de instalación adicionales

Para obtener más opciones de instalación y solucionar problemas, consulta la guía de instalación del agente de Bindplane.

Configura el agente de BindPlane para transferir el registro del sistema y enviarlo a Google SecOps

Ubica el archivo de configuración

  • Linux:

    sudo nano /opt/observiq-otel-collector/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

Edita el archivo de configuración

  • Reemplaza todo el contenido de config.yaml por la siguiente configuración:

    receivers:
    udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
    chronicle/juniper_firewall:
        compression: gzip
        creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
        customer_id: 'your-customer-id-here'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: JUNIPER_FIREWALL
        raw_log_field: body
        ingestion_labels:
        env: production
    
    service:
    pipelines:
        logs/juniper_to_chronicle:
        receivers:
            - udplog
        exporters:
            - chronicle/juniper_firewall
    

Parámetros de configuración

Reemplaza los marcadores de posición que se indican más abajo:

  • Configuración del receptor:

    • listen_address: Es la dirección IP y el puerto que se escucharán. Usa 0.0.0.0 para escuchar en todas las interfaces. El puerto 514 es el puerto estándar de syslog (requiere privilegios de administrador en Linux). Usa 1514 para las implementaciones que no son raíz.
  • Configuración del exportador:

    • creds_file_path: Ruta de acceso completa al archivo de autenticación de la transferencia:
      • Linux: /etc/bindplane-agent/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • customer_id: Es tu ID de cliente de Google SecOps.
    • endpoint: URL del endpoint regional:
      • EE.UU.: malachiteingestion-pa.googleapis.com
      • Europa: europe-malachiteingestion-pa.googleapis.com
      • Asia: asia-southeast1-malachiteingestion-pa.googleapis.com
      • Consulta Extremos regionales para obtener la lista completa.
    • ingestion_labels: Son etiquetas opcionales en formato YAML (por ejemplo, env: production).

Cómo guardar el archivo de configuración

  • Después de editarlo, guarda el archivo:
    • Linux: Presiona Ctrl+O, luego Enter y, por último, Ctrl+X.
    • Windows: Haz clic en Archivo > Guardar.

Reinicia el agente de Bindplane para aplicar los cambios

Para reiniciar el agente de Bindplane en Linux, haz lo siguiente:

  1. Ejecuta el comando siguiente:

    sudo systemctl restart observiq-otel-collector
    
  2. Verifica que el servicio esté en ejecución:

    sudo systemctl status observiq-otel-collector
    
  3. Revisa los registros en busca de errores:

    sudo journalctl -u observiq-otel-collector -f
    

Para reiniciar el agente de Bindplane en Windows, haz lo siguiente:

  1. Elige una de las siguientes opciones:

    • Símbolo del sistema o PowerShell como administrador:
    net stop observiq-otel-collector && net start observiq-otel-collector
    
    • Consola de Services:
      1. Presiona Win+R, escribe services.msc y presiona Intro.
      2. Busca observIQ OpenTelemetry Collector.
      3. Haz clic con el botón derecho y selecciona Reiniciar.
  2. Verifica que el servicio esté en ejecución:

    sc query observiq-otel-collector
    
  3. Revisa los registros en busca de errores:

    type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
    

Configura el reenvío de Syslog de Juniper SRX

Configura el firewall de Juniper SRX para que reenvíe mensajes de Syslog al agente de BindPlane.

Uso de la interfaz J-Web

  1. Accede a la interfaz J-Web de Juniper SRX.
  2. Ve a Configurar > Propiedades del sistema > Syslog.
  3. Haz clic en Agregar en la sección Host para agregar un servidor syslog nuevo.
  4. Proporciona los siguientes detalles de configuración:
    • Nombre de host: Ingresa la dirección IP del host del agente de Bindplane (por ejemplo, 192.168.1.100).
    • Puerto: Ingresa 514 (o el puerto configurado en el agente de Bindplane).
    • Prefijo del registro: Es un prefijo opcional para los mensajes de registro.
    • Instalación: Selecciona la instalación y los niveles de gravedad que deseas reenviar:
      • any: Selecciona el nivel de gravedad info o superior.
  5. En el campo Dirección de origen, ingresa la IP de la interfaz de administración del SRX (opcional, pero recomendado para una identificación de origen coherente).
  6. Haz clic en Aceptar para guardar los cambios.
  7. Haz clic en Commit para aplicar la configuración.

Usa la CLI de Junos

  1. Conéctate al Juniper SRX a través de SSH o la consola.
  2. Ingresa al modo de configuración:

    configure
    
  3. Configura el host de Syslog:

    set system syslog host BINDPLANE_IP any info
    set system syslog host BINDPLANE_IP port 514
    set system syslog host BINDPLANE_IP source-address SRX_MGMT_IP
    set system syslog host BINDPLANE_IP structured-data
    

    Reemplaza lo siguiente:

    • BINDPLANE_IP: Es la dirección IP del host del agente de Bindplane.
    • SRX_MGMT_IP: Es la dirección IP de administración del firewall SRX.
  4. Configura la transmisión de registros de seguridad (para registros de tráfico y de sesión):

    set security log mode stream
    set security log source-address SRX_MGMT_IP
    set security log stream chronicle-stream host BINDPLANE_IP
    set security log stream chronicle-stream port 514
    set security log stream chronicle-stream transport protocol udp
    set security log stream chronicle-stream format sd-syslog
    set security log stream chronicle-stream severity info
    set security log stream chronicle-stream category all
    

    Reemplaza lo siguiente:

    • BINDPLANE_IP: Es la dirección IP del host del agente de Bindplane.
    • SRX_MGMT_IP: Es la dirección IP de administración del firewall SRX.
  5. Confirma la configuración:

    commit
    
  6. Verifica la configuración de Syslog:

    show system syslog
    show security log
    

Configura categorías de registros específicas

  • Para reenviar tipos de registros específicos, configura instalaciones individuales:

    set system syslog host BINDPLANE_IP firewall any
    set system syslog host BINDPLANE_IP authorization info
    set system syslog host BINDPLANE_IP daemon info
    set system syslog host BINDPLANE_IP kernel info
    set system syslog host BINDPLANE_IP interactive-commands info
    

Reemplaza BINDPLANE_IP por la dirección IP del host del agente de Bindplane.

Verifica el reenvío de Syslog

  1. En el SRX, ejecuta el siguiente comando para ver los destinos de syslog activos:

    show system syslog
    
  2. Genera tráfico de prueba a través del firewall y verifica que los registros aparezcan en los registros del agente de Bindplane.

Para obtener más información, consulta la documentación de la serie SRX de Juniper.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
source-address event.idm.read_only_udm.principal.ip Valor tomado de source-address.
source-port event.idm.read_only_udm.principal.port Valor tomado de source-port y convertido en número entero.
destination-address event.idm.read_only_udm.target.ip Valor tomado de destination-address.
destination-port event.idm.read_only_udm.target.port Valor tomado de destination-port y convertido en número entero.
protocol-id event.idm.read_only_udm.network.ip_protocol Se asigna del número de protocolo al nombre (6=TCP, 17=UDP, 1=ICMP).
policy-name event.idm.read_only_udm.security_result.rule_name Valor tomado de policy-name.
source-zone-name event.idm.read_only_udm.additional.fields Valor tomado de source-zone-name y agregado con la clave source-zone-name.
destination-zone-name event.idm.read_only_udm.additional.fields Valor tomado de destination-zone-name y agregado con la clave destination-zone-name.
service-name event.idm.read_only_udm.target.application Valor tomado de service-name.
application event.idm.read_only_udm.target.application Valor tomado de application (si service-name no está presente).
nat-source-address event.idm.read_only_udm.principal.nat_ip Valor tomado de nat-source-address.
nat-source-port event.idm.read_only_udm.principal.nat_port Valor tomado de nat-source-port y convertido en número entero.
nat-destination-address event.idm.read_only_udm.target.nat_ip Valor tomado de nat-destination-address.
nat-destination-port event.idm.read_only_udm.target.nat_port Valor tomado de nat-destination-port y convertido en número entero.
bytes-from-client event.idm.read_only_udm.network.sent_bytes Valor tomado de bytes-from-client y convertido en un número entero sin signo.
bytes-from-server event.idm.read_only_udm.network.received_bytes Valor tomado de bytes-from-server y convertido en un número entero sin signo.
packets-from-client event.idm.read_only_udm.additional.fields Valor tomado de packets-from-client y agregado con la clave packets-from-client.
packets-from-server event.idm.read_only_udm.additional.fields Valor tomado de packets-from-server y agregado con la clave packets-from-server.
elapsed-time event.idm.read_only_udm.additional.fields Valor tomado de elapsed-time y agregado con la clave elapsed-time.
username event.idm.read_only_udm.principal.user.userid Valor tomado de username.
reason event.idm.read_only_udm.security_result.description Valor tomado de reason.
action event.idm.read_only_udm.security_result.action Si action es accept o permit, se establece en ALLOW. Si action es deny, drop, reject o close, configúralo como BLOCK.
hostname event.idm.read_only_udm.principal.hostname Valor tomado del campo de nombre de host de syslog.
attack-name event.idm.read_only_udm.security_result.threat_name Valor tomado de attack-name (eventos de IDP).
severity event.idm.read_only_udm.security_result.severity Se asignó desde la cadena de gravedad: info a INFORMATIONAL, warning a MEDIUM, error o major a ERROR, critical a CRITICAL.
event.idm.read_only_udm.metadata.vendor_name Se define en Juniper Networks.
event.idm.read_only_udm.metadata.product_name Se define en SRX Series Firewall.
source-zone event.idm.read_only_udm.principal.resource.attribute.labels Se asignó desde el registro de cambios
destination-zone event.idm.read_only_udm.target.resource.attribute.labels Se asignó desde el registro de cambios
REASON event.idm.read_only_udm.security_result.detection_fields Se asignó desde el registro de cambios
PROFILE event.idm.read_only_udm.security_result.detection_fields Se asignó desde el registro de cambios
host event.idm.read_only_udm.intermediary.hostname y event.idm.read_only_udm.intermediary.asset.hostname Se asignó desde el registro de cambios
pid event.idm.read_only_udm.intermediary.process.pid Se asignó desde el registro de cambios
ppid event.idm.read_only_udm.intermediary.process.product_specific_process_id Se asignó desde el registro de cambios
CATEGORY event.idm.read_only_udm.security_result.detection_fields Se asignó desde el registro de cambios
type event.idm.read_only_udm.security_result.detection_fields Se asignó desde el registro de cambios
URL event.idm.read_only_udm.target.url Se asignó desde el registro de cambios
src_value_zone event.idm.read_only_udm.additional.fields Se asignó desde el registro de cambios
destinationzone event.idm.read_only_udm.additional.fields Se asignó desde el registro de cambios
NESTED-APPLICATION event.idm.read_only_udm.additional.fields Se asignó desde el registro de cambios
protocol_value event.idm.read_only_udm.network.ip_protocol Se asignó desde el registro de cambios
SESSIONID event.idm.read_only_udm.network.session_id Se asignó desde el registro de cambios
application_value event.idm.read_only_udm.principal.application Se asignó desde el registro de cambios
src_address event.idm.read_only_udm.principal.ip y event.idm.read_only_udm.principal.asset.ip Se asignó desde el registro de cambios
src_mac event.idm.read_only_udm.principal.mac y event.idm.read_only_udm.principal.asset.mac Se asignó desde el registro de cambios
nat_src_address event.idm.read_only_udm.principal.nat_ip y event.idm.read_only_udm.principal.asset.nat_ip Se asignó desde el registro de cambios
nat_src_value_port event.idm.read_only_udm.principal.nat_port Se asignó desde el registro de cambios
src_value_port event.idm.read_only_udm.principal.port Se asignó desde el registro de cambios
roles_names event.idm.read_only_udm.principal.user.attribute.roles.name Se asignó desde el registro de cambios
interface event.idm.read_only_udm.security_result.detection_fields Se asignó desde el registro de cambios
eth_type event.idm.read_only_udm.security_result.detection_fields Se asignó desde el registro de cambios
direction event.idm.read_only_udm.security_result.detection_fields Se asignó desde el registro de cambios
packet_info event.idm.read_only_udm.security_result.detection_fields Se asignó desde el registro de cambios
packets_info event.idm.read_only_udm.security_result.detection_fields Se asignó desde el registro de cambios
src_rule_type event.idm.read_only_udm.security_result.detection_fields Se asignó desde el registro de cambios
src_rule_name event.idm.read_only_udm.security_result.detection_fields Se asignó desde el registro de cambios
srv_name event.idm.read_only_udm.security_result.detection_fields Se asignó desde el registro de cambios
srcpolicyname event.idm.read_only_udm.security_result.rule_name Se asignó desde el registro de cambios
dest_address event.idm.read_only_udm.target.ip y event.idm.read_only_udm.target.asset.ip Se asignó desde el registro de cambios
dst_mac event.idm.read_only_udm.target.mac y event.idm.read_only_udm.target.asset.mac Se asignó desde el registro de cambios
nat_dest_address event.idm.read_only_udm.target.nat_ip y event.idm.read_only_udm.target.asset.nat_ip Se asignó desde el registro de cambios
nat_dest_port event.idm.read_only_udm.target.nat_port Se asignó desde el registro de cambios
dest_port event.idm.read_only_udm.target.port Se asignó desde el registro de cambios
target_user_name event.idm.read_only_udm.target.user.userid Se asignó desde el registro de cambios
user_value event.idm.ready_only_udm.metadata.product_event_type Se asignó desde el registro de cambios
RTLOG event.idm.ready_only_udm.metadata.product_event_type Se asignó desde el registro de cambios
RT event.idm.ready_only_udm.metadata.product_event_type Se asignó desde el registro de cambios
WEBFILTER event.idm.ready_only_udm.metadata.product_event_type Se asignó desde el registro de cambios
SNMPD event.idm.ready_only_udm.metadata.product_event_type Se asignó desde el registro de cambios
FLOW event.idm.ready_only_udm.metadata.product_event_type Se asignó desde el registro de cambios
DH event.idm.ready_only_udm.metadata.product_event_type Se asignó desde el registro de cambios
PKID event.idm.ready_only_udm.metadata.product_event_type Se asignó desde el registro de cambios
BGP event.idm.ready_only_udm.metadata.product_event_type Se asignó desde el registro de cambios
SNMP event.idm.ready_only_udm.metadata.product_event_type Se asignó desde el registro de cambios
RPD event.idm.ready_only_udm.metadata.product_event_type Se asignó desde el registro de cambios
JTASK event.idm.ready_only_udm.metadata.product_event_type Se asignó desde el registro de cambios
KMD event.idm.ready_only_udm.metadata.product_event_type Se asignó desde el registro de cambios
APPIDD event.idm.ready_only_udm.metadata.product_event_type Se asignó desde el registro de cambios
IFINFO event.idm.ready_only_udm.metadata.product_event_type Se asignó desde el registro de cambios
sec_desc security_result.description Se asignó desde el registro de cambios
processid target.process.id Se asignó desde el registro de cambios
TSr" and "TSi additional.fields Se asignó desde el registro de cambios
fw intermediary.ip Se asignó desde el registro de cambios
msg1 security_result.summary Se asignó desde el registro de cambios
desc metadata.description Se asignó desde el registro de cambios
local_ip principal.ip Se asignó desde el registro de cambios
remote_ip target.ip Se asignó desde el registro de cambios
app principal.application Se asignó desde el registro de cambios
pid principal.process.pid Se asignó desde el registro de cambios
event_title metadata.product_event_type Se asignó desde el registro de cambios
event_message metadata.description Se asignó desde el registro de cambios
Local-ip principal.ip Se asignó desde el registro de cambios
Gateway_Name", "vpn", "tunnel_id", "tunnel_if", "Local_IKE_ID", "Remote_IKE_ID", "AAA_username", "VR_id", "Traffic_selector", "Traffic_selector_Remote_ID", "Traffic_selector_local_ID", "SA_Type", "Reason", "threshold", "time-period", and "error-message_data observer.resource.attribute.labels Se asignó desde el registro de cambios
target_ip target.ip Se asignó desde el registro de cambios
principal_host principal.hostname Se asignó desde el registro de cambios
user_id target.user.userid Se asignó desde el registro de cambios
file_path target.file.full_path Se asignó desde el registro de cambios
pid_2 target.process.pid Se asignó desde el registro de cambios
server_ip target.ip Se asignó desde el registro de cambios
event_time metadata.event_timestamp Se asignó desde el registro de cambios
ACTION security_result.action_details Se asignó desde el registro de cambios
SESSION_ID network.session_id Se asignó desde el registro de cambios
APPLICATION principal.application Se asignó desde el registro de cambios
pingCtlOwnerIndex", "pingCtlTestName", "usp_lsys_max_num_rpd", "usp_lsys_max_num", "urlcategory_risk", "application_sub_category", "source-zone", "destination-zone", "NESTED-APPLICATION", "CATEGORY", "REASON", "PROFILE", "source_rule", "retrans_timer" and "arp_unicast_mode additional.fields Se asignó desde el registro de cambios
time metadata.event_timestamp Se asignó desde el registro de cambios
ident target.application Se asignó desde el registro de cambios
pid target.process.pid Se asignó desde el registro de cambios
internal-protocol network.ip_protocol Se asignó desde el registro de cambios
state security_result.detection_fields Se asignó desde el registro de cambios
internal-ip principal.ip Se asignó desde el registro de cambios
reflexive-ip target.ip Se asignó desde el registro de cambios
internal-port principle.port Se asignó desde el registro de cambios
reflexive-port target.port Se asignó desde el registro de cambios
local-address principal.ip Se asignó desde el registro de cambios
remote-address target.ip Se asignó desde el registro de cambios
dns-server-address principal.ip Se asignó desde el registro de cambios
domain-name principal.administrative_domain Se asignó desde el registro de cambios
argument1 network.direction Se asignó desde el registro de cambios
test-owner additional.fields Se asignó desde el registro de cambios
local-initiator additional.fields Se asignó desde el registro de cambios
test-name additional.fields Se asignó desde el registro de cambios
SPI additional.fields Se asignó desde el registro de cambios
AUX-SPI additional.fields Se asignó desde el registro de cambios
Type additional.fields Se asignó desde el registro de cambios
error-message security_result.summary Se asignó desde el registro de cambios
rcvd network.received_bytes Se asignó desde el registro de cambios
rule-name security_result.rule_id Se asignó desde el registro de cambios
rulebase-name security_result.detection_fields Se asignó desde el registro de cambios
export-id security_result.detection_fields Se asignó desde el registro de cambios
repeat-count security_result.detection_fields Se asignó desde el registro de cambios
packet-log-id security_result.detection_fields Se asignó desde el registro de cambios
alert is_alert Se asignó desde el registro de cambios
outbound-packets network.sent_packets Se asignó desde el registro de cambios
inbound-packets network.received_packets Se asignó desde el registro de cambios
outbound-bytes network.sent_bytes Se asignó desde el registro de cambios
inbound-bytes network.received_bytes Se asignó desde el registro de cambios
application-characteristics security_result.summary Se asignó desde el registro de cambios
application-risk security_result.severity_details Se asignó desde el registro de cambios
application-category security_result.detection_fields Se asignó desde el registro de cambios
application-sub-category security_result.detection_fields Se asignó desde el registro de cambios
dst-nat-rule-name security_result.detection_fields Se asignó desde el registro de cambios
dst-nat-rule-type security_result.detection_fields Se asignó desde el registro de cambios
src-nat-rule-name security_result.detection_fields Se asignó desde el registro de cambios
src-nat-rule-type security_result.detection_fields Se asignó desde el registro de cambios
encrypted security_result.detection_fields Se asignó desde el registro de cambios
nested-application security_result.detection_fields Se asignó desde el registro de cambios
packet-incoming-interface security_result.detection_fields Se asignó desde el registro de cambios
session-id-32 network.session_id Se asignó desde el registro de cambios
packets-from-client network.sent_packets Se asignó desde el registro de cambios
packets-from-server network.received_packets Se asignó desde el registro de cambios
elapsed-time network.session_duration.seconds Se asignó desde el registro de cambios
source-destination-address principal.nat_ip Se asignó desde el registro de cambios
source-destination-port principal.nat_port Se asignó desde el registro de cambios
msg_data security_result.description Se asignó desde el registro de cambios
threat-severity security_result.severity Se asignó desde el registro de cambios
app_name target.application Se asignó desde el registro de cambios
command target.process.command_line Se asignó desde el registro de cambios
action security_result.action_details Se asignó desde el registro de cambios
sec_description security_result.description Se asignó desde el registro de cambios
application-name network.application_protocol Se asignó desde el registro de cambios
subtype metadata.product_event_type Se asignó desde el registro de cambios
source-interface-name security_result.detection_fields Se asignó desde el registro de cambios
destination-interface-name security_result.detection_fields Se asignó desde el registro de cambios
source-zone-name security_result.detection_fields Se asignó desde el registro de cambios
destination-zone-name security_result.detection_fields Se asignó desde el registro de cambios
service-name security_result.detection_fields Se asignó desde el registro de cambios
application-name security_result.detection_fields Se asignó desde el registro de cambios

Registro de cambios

Consulta el registro de cambios de este analizador

¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.