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
CLI
en el shell y pulsa Intro. - Escribe
configure
y 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_ADDRESS
por 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
HOSTNAME
por el dispositivo Juniper Networks SRX asignado.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
- 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 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.