Recoger registros de Juniper Junos

Disponible en:

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.

  1. Inicia sesión en la CLI de Juniper SRX mediante SSH con su dirección IP de gestión.
  2. Escribe CLI en el shell y pulsa Intro.
  3. Escribe configure y pulsa Intro para acceder al modo de configuración del dispositivo.
  4. Introduce los datos de contacto o el punto de referencia del cliente.
  5. 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_ADDRESS por la dirección IP del reenviador de Google Security Operations.

  6. 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.

  7. 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
    
    
  8. Configura el nombre de host en el dispositivo con el siguiente comando:

       set system host-name HOSTNAME
    
    

    Sustituye HOSTNAME por el dispositivo Juniper Networks SRX asignado.

  9. Introduce commit para guardar los comandos ejecutados en la configuración.

Configurar el reenviador de Google Security Operations y syslog para ingerir registros de Juniper Junos

  1. Seleccione Configuración de SIEM > Reenviadores.
  2. Haz clic en Añadir nuevo remitente.
  3. Introduce un nombre único en el campo Nombre del reenviador.
  4. 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.
  5. En el campo Nombre del recolector, introduzca un nombre único para el recolector.
  6. Seleccione Juniper Junos como Tipo de registro.
  7. Seleccione Syslog como Tipo de recogida.
  8. 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.
  9. 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 de FLAG Marca TCP asociada a la conexión de red.
ID additional.fields{}.key: "ID", additional.fields{}.value.string_value: valor de ID Campo de identificación de IP.
IN additional.fields{}.key: "IN", additional.fields{}.value.string_value: valor de IN Interfaz de red entrante.
LEN additional.fields{}.key: "LEN", additional.fields{}.value.string_value: valor de LEN 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 de OUT Interfaz de red saliente.
PREC additional.fields{}.key: "PREC", additional.fields{}.value.string_value: valor de PREC 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 de RES 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 de TOS 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 de URGP Campo Puntero urgente en el encabezado TCP.
WINDOW additional.fields{}.key: "WINDOW_SIZE", additional.fields{}.value.string_value: valor de WINDOW 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 de categoryBehavior con 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 de categoryDeviceGroup con 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 de categoryObject con las barras quitadas Objeto de categoría.
categoryOutcome additional.fields{}.key: "Category Outcome" (Resultado de la categoría), additional.fields{}.value.string_value: valor de categoryOutcome con las barras eliminadas Resultado de la categoría.
categorySignificance additional.fields{}.key: "category Significance", additional.fields{}.value.string_value: valor de categorySignificance 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 de deviceCustomString1 Cadena personalizada del dispositivo 1.
deviceCustomString2 additional.fields{}.key: cs2Label, additional.fields{}.value.string_value: valor de deviceCustomString2 Cadena personalizada de dispositivo 2.
deviceCustomString3 additional.fields{}.key: cs3Label, additional.fields{}.value.string_value: valor de deviceCustomString3 Cadena personalizada de dispositivo 3.
deviceCustomString4 additional.fields{}.key: cs4Label, additional.fields{}.value.string_value: valor de deviceCustomString4 Cadena personalizada de dispositivo 4.
deviceCustomString5 additional.fields{}.key: cs5Label, additional.fields{}.value.string_value: valor de deviceCustomString5 Cadena personalizada de dispositivo 5.
deviceCustomString6 additional.fields{}.key: cs6Label, additional.fields{}.value.string_value: valor de deviceCustomString6 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 de deviceEventClassId 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 de eventId 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 de process_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 de ssh2 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 el message_description extraí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.