Recoger registros de Juniper Junos
En este documento se describe cómo puede recoger registros de Juniper Junos mediante un reenviador de Google Security Operations.
Para obtener más información, consulta Ingestión de datos en Google Security Operations.
Una etiqueta de ingestión identifica el analizador que normaliza los datos de registro sin procesar en formato UDM estructurado. La información de este documento se aplica al analizador con la etiqueta de ingestión JUNIPER_JUNOS.
Configurar el registro estructurado en un dispositivo SRX de Juniper Networks
El formato de registro estructurado extrae información de los mensajes de registro. El formato del registro cumple el protocolo Syslog.
- Inicia sesión en la CLI de Juniper SRX mediante SSH con su dirección IP de gestión.
- Escribe CLIen el shell y pulsa Intro.
- Escribe configurey pulsa Intro para acceder al modo de configuración del dispositivo.
- Introduce los datos de contacto o el punto de referencia del cliente.
- Para asignar los campos a la cuenta de usuario, ejecuta los siguientes comandos: - set system syslog host FORWARDER_IP_ADDRESS any info set system syslog host FORWARDER_IP_ADDRESS structured-data- Sustituye - FORWARDER_IP_ADDRESSpor la dirección IP del reenviador de Google Security Operations.
- Para habilitar el registro estructurado de los registros de seguridad, usa los siguientes comandos: - set security log mode stream set security log source-address SRC_IP_ADDRESS set security log stream SYSLOG_STREAM_NAME host FORWARDER_IP_ADDRESS set security log stream SYSLOG_STREAM_NAME format sd-syslog- Haz los cambios siguientes: - SRC_IP_ADDRESS: la dirección IP del dispositivo Juniper SRX.
- SYSLOG_STREAM_NAME: el nombre asignado al servidor syslog.
- FORWARDER_IP_ADDRESS: la dirección IP del reenviador de Google Security Operations.
 
- Asegúrate de que el registro esté habilitado en todas las políticas de seguridad. Para habilitar el registro, ejecuta los siguientes comandos: - set security policies from-zone <zone-name1> to-zone <zone-name2> policy <policy-name> then log session-close set security policies from-zone <zone-name1> to-zone <zone-name2> policy <policy-name> then log session-init
- Configura el nombre de host en el dispositivo con el siguiente comando: - set system host-name HOSTNAME- Sustituye - HOSTNAMEpor el dispositivo Juniper Networks SRX asignado.
- Introduce - commitpara guardar los comandos ejecutados en la configuración.
Configurar el reenviador de Google Security Operations y syslog para ingerir registros de Juniper Junos
- Seleccione Configuración de SIEM > Reenviadores.
- Haz clic en Añadir nuevo remitente.
- Introduce un nombre único en el campo Nombre del reenviador.
- Haz clic en Enviar y, a continuación, en Confirmar. Se añade el reenviador y se muestra la ventana Añadir configuración de recopilador.
- En el campo Nombre del recolector, introduzca un nombre único para el recolector.
- Seleccione Juniper Junos como Tipo de registro.
- Seleccione Syslog como Tipo de recogida.
- Configure los siguientes parámetros de entrada:
- Protocolo: especifica el protocolo como UDP.
- Dirección: especifica la dirección IP o el nombre de host de destino en el que reside el recopilador y escucha los datos de syslog.
- Puerto: especifica el puerto de destino en el que reside el recolector y escucha los datos de syslog.
 
- Haz clic en Enviar.
Para obtener más información sobre los reenviadores de Google Security Operations, consulta la documentación de los reenviadores de Google Security Operations. Para obtener información sobre los requisitos de cada tipo de reenviador, consulta Configuración de reenviadores por tipo. Si tienes problemas al crear reenviadores, ponte en contacto con el equipo de Asistencia de Google Security Operations.
Referencia de asignación de campos
Este analizador extrae campos de mensajes syslog de Juniper JUNOS y gestiona tanto los formatos de pares clave-valor como los que no son de pares clave-valor. Utiliza patrones grok para identificar varias estructuras de mensajes, como registros de firewall, actividad SSH y ejecuciones de comandos. Después, asigna los campos extraídos al modelo de datos unificado. El analizador también gestiona los registros con formato CEF mediante un archivo de inclusión y realiza acciones específicas en función del contenido del mensaje, como combinar direcciones IP y nombres de usuario en los campos de UDM correspondientes.
Tabla de asignación de UDM
| Campo de registro | Asignación de UDM | Lógica | 
|---|---|---|
| DPT | target.port | Puerto de destino de la conexión de red, convertido en un número entero. | 
| DST | target.ip | La dirección IP de destino de la conexión de red. | 
| FLAG | additional.fields{}.key: "FLAG",additional.fields{}.value.string_value:  valor deFLAG | Marca TCP asociada a la conexión de red. | 
| ID | additional.fields{}.key: "ID",additional.fields{}.value.string_value: valor deID | Campo de identificación de IP. | 
| IN | additional.fields{}.key: "IN",additional.fields{}.value.string_value: valor deIN | Interfaz de red entrante. | 
| LEN | additional.fields{}.key: "LEN",additional.fields{}.value.string_value: valor deLEN | La longitud del paquete IP. | 
| MAC | principal.mac | La dirección MAC extraída del campo MAC. | 
| OUT | additional.fields{}.key: "OUT",additional.fields{}.value.string_value: valor deOUT | Interfaz de red saliente. | 
| PREC | additional.fields{}.key: "PREC",additional.fields{}.value.string_value: valor dePREC | El campo de precedencia del encabezado IP. | 
| PROTO | network.ip_protocol | El protocolo IP utilizado en la conexión de red. | 
| RES | additional.fields{}.key: "RES",additional.fields{}.value.string_value: valor deRES | Campo reservado en el encabezado TCP. | 
| SPT | principal.port | Puerto de origen de la conexión de red, convertido en un número entero. | 
| SRC | principal.ip | La dirección IP de origen de la conexión de red. | 
| TOS | additional.fields{}.key: "TOS",additional.fields{}.value.string_value: valor deTOS | El campo Tipo de servicio del encabezado IP. | 
| TTL | network.dns.additional.ttl | Valor de tiempo de vida, convertido en un número entero sin signo. | 
| URGP | additional.fields{}.key: "URGP",additional.fields{}.value.string_value: valor deURGP | Campo Puntero urgente en el encabezado TCP. | 
| WINDOW | additional.fields{}.key: "WINDOW_SIZE",additional.fields{}.value.string_value: valor deWINDOW | Tamaño de la ventana TCP. | 
| action | security_result.action | Acción realizada por el cortafuegos, extraída del mensaje CEF. | 
| agt | observer.ip | La dirección IP del agente. | 
| amac | target.mac | La dirección MAC del objetivo, convertida a minúsculas y con los guiones sustituidos por dos puntos. | 
| app | target.application | La aplicación implicada en el evento. | 
| artz | observer.zone | La zona horaria del observador. | 
| atz | target.location.country_or_region | La zona horaria de destino. | 
| categoryBehavior | additional.fields{}.key: "Category Behavior" (Comportamiento de la categoría),additional.fields{}.value.string_value: valor decategoryBehaviorcon las barras eliminadas | El comportamiento de la categoría. | 
| categoryDeviceGroup | additional.fields{}.key: "Category Device Group" (Grupo de dispositivos de categoría),additional.fields{}.value.string_value: valor decategoryDeviceGroupcon las barras eliminadas | El grupo de dispositivos de categoría. | 
| categoryObject | additional.fields{}.key: "Category Object" (Objeto de categoría),additional.fields{}.value.string_value: valor decategoryObjectcon las barras quitadas | Objeto de categoría. | 
| categoryOutcome | additional.fields{}.key: "Category Outcome" (Resultado de la categoría),additional.fields{}.value.string_value: valor decategoryOutcomecon las barras eliminadas | Resultado de la categoría. | 
| categorySignificance | additional.fields{}.key: "category Significance",additional.fields{}.value.string_value: valor decategorySignificance | La importancia de la categoría. | 
| command | target.process.command_line | El comando se ha ejecutado. | 
| cs1Label | additional.fields{}.key:cs1Label,additional.fields{}.value.string_value: valor del campo CEF correspondiente | Etiqueta y valor del campo de cadena personalizado 1 del mensaje CEF. | 
| cs2Label | additional.fields{}.key:cs2Label,additional.fields{}.value.string_value: valor del campo CEF correspondiente | Etiqueta y valor del campo de cadena personalizado 2 del mensaje CEF. | 
| cs3Label | additional.fields{}.key:cs3Label,additional.fields{}.value.string_value: valor del campo CEF correspondiente | Etiqueta y valor del campo de cadena personalizado 3 del mensaje CEF. | 
| cs4Label | additional.fields{}.key:cs4Label,additional.fields{}.value.string_value: valor del campo CEF correspondiente | Etiqueta y valor del campo de cadena personalizado 4 del mensaje CEF. | 
| cs5Label | additional.fields{}.key:cs5Label,additional.fields{}.value.string_value: valor del campo CEF correspondiente | Etiqueta y valor del campo de cadena personalizado 5 del mensaje CEF. | 
| cs6Label | additional.fields{}.key:cs6Label,additional.fields{}.value.string_value: valor del campo CEF correspondiente | Etiqueta y valor del campo de cadena personalizado 6 del mensaje CEF. | 
| dhost | target.hostname | Nombre de host de destino. | 
| deviceCustomString1 | additional.fields{}.key:cs1Label,additional.fields{}.value.string_value: valor dedeviceCustomString1 | Cadena personalizada del dispositivo 1. | 
| deviceCustomString2 | additional.fields{}.key:cs2Label,additional.fields{}.value.string_value: valor dedeviceCustomString2 | Cadena personalizada de dispositivo 2. | 
| deviceCustomString3 | additional.fields{}.key:cs3Label,additional.fields{}.value.string_value: valor dedeviceCustomString3 | Cadena personalizada de dispositivo 3. | 
| deviceCustomString4 | additional.fields{}.key:cs4Label,additional.fields{}.value.string_value: valor dedeviceCustomString4 | Cadena personalizada de dispositivo 4. | 
| deviceCustomString5 | additional.fields{}.key:cs5Label,additional.fields{}.value.string_value: valor dedeviceCustomString5 | Cadena personalizada de dispositivo 5. | 
| deviceCustomString6 | additional.fields{}.key:cs6Label,additional.fields{}.value.string_value: valor dedeviceCustomString6 | Cadena personalizada de dispositivo 6. | 
| deviceDirection | network.direction | Dirección del tráfico de red. | 
| deviceEventClassId | additional.fields{}.key: "eventId",additional.fields{}.value.string_value: valor dedeviceEventClassId | ID de la clase de evento del dispositivo. | 
| deviceFacility | observer.product.subproduct | La instalación del dispositivo. | 
| deviceProcessName | about.process.command_line | El nombre del proceso del dispositivo. | 
| deviceSeverity | security_result.severity | La gravedad del dispositivo. | 
| deviceTimeZone | observer.zone | La zona horaria del dispositivo. | 
| deviceVendor | metadata.vendor_name | El proveedor del dispositivo. | 
| deviceVersion | metadata.product_version | La versión del dispositivo. | 
| dpt | target.port | El puerto de destino. | 
| dst | target.ip | La dirección IP de destino. | 
| duser | target.user.user_display_name | El usuario de destino. | 
| eventId | additional.fields{}.key: "eventId",additional.fields{}.value.string_value: valor deeventId | ID de evento. | 
| event_time | metadata.event_timestamp | La hora en la que se produjo el evento, analizada a partir del mensaje. | 
| firewall_action | security_result.action_details | La acción del cortafuegos. | 
| host | principal.hostname,intermediary.hostname | El nombre de host del dispositivo que genera el registro. Se usa tanto para el principal como para el intermediario en diferentes casos. | 
| msg | security_result.summary | El mensaje asociado al evento, que se usa como resumen del resultado de seguridad. | 
| name | metadata.product_event_type | Nombre del evento. | 
| process_name | additional.fields{}.key: "process_name",additional.fields{}.value.string_value: valor deprocess_name | Nombre del proceso. | 
| p_id | target.process.pid | El ID del proceso, convertido en una cadena. | 
| sha256 | principal.process.file.sha256 | El hash SHA256 de un archivo, extraído de la información de la clave SSH2. | 
| shost | principal.hostname | Nombre de host de origen. | 
| source_address | principal.ip | La dirección IP de origen. | 
| source_port | principal.port | Puerto de origen convertido en un número entero. | 
| src | principal.ip | La dirección IP de origen. | 
| src_ip | principal.ip | La dirección IP de origen. | 
| src_port | principal.port | Puerto de origen convertido en un número entero. | 
| ssh2 | security_result.detection_fields{}.key: "ssh2",security_result.detection_fields{}.value: valor dessh2 | Información de la clave SSH2. | 
| subtype | metadata.product_event_type | Subtipo del evento. | 
| task_summary | security_result.description | El resumen de la tarea, que se usa como descripción del resultado de seguridad. | 
| timestamp | metadata.event_timestamp | Marca de tiempo del evento. | 
| user | target.user.userid | El usuario asociado al evento. | 
| username | principal.user.userid | El nombre de usuario asociado al evento. | 
| user_name | principal.user.userid | El nombre de usuario. | 
| metadata.vendor_name | Codificado como "Juniper Firewall". Codificado como "Juniper Firewall". Codificado como "JUNIPER_JUNOS". Determinado por la lógica del analizador en función del contenido del registro. Si no es un mensaje CEF y no se identifica ningún otro tipo de evento específico, el valor predeterminado es "STATUS_UPDATE". Se define como "NETWORK_HTTP" para los mensajes CEF. Si no hay ningún campo desc, este campo se rellena con elmessage_descriptionextraído del mensaje de registro sin procesar. | 
¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.