Decoder: Configurar los tiempos de espera divididos de la sesión

Document created by RSA Information Design and Development on Apr 23, 2018
Version 1Show Document
  • View in full screen mode
 

El comportamiento predeterminado del Decoder es finalizar automáticamente las sesiones que superen un tamaño configurado o hayan estado inactivas durante un período de tiempo. Cuando la sesión finaliza debido al tiempo de espera, todos los paquetes subsiguientes recibidos en esa sesión parecen almacenarse en una nueva sesión. Puede mitigar el efecto de la división de la sesión debido a largos períodos de inactividad entre los paquetes mediante este procedimiento.

Cuando una sesión de Decoder supera un tamaño configurado (32 MB de forma predeterminada, el /decoder/config/assembler.max.size) o ha estado inactiva durante un período de tiempo, esta se divide. NetWitness Suite tiene los paquetes anterior y siguiente, y puede propagar el estado de la sesión desde el fragmento de la sesión inicial hasta el fragmento de la sesión subsiguiente.

Se anota cada fragmento de sesión (metadatos session.split) para que se pueda identificar y asociar con otros fragmentos de la sesión real de la red. La direccionalidad, según lo determina la sesión inicial, reduce la aparición de fragmentos con direccionalidad invertida.

Si hay una brecha de tiempo entre los paquetes que es lo suficientemente grande como para que ya no haya paquetes para la sesión en la memoria, la sesión se quita del Decoder. Si después de que esto ocurre se muestra un paquete posterior, se crea una nueva sesión sin ningún contexto de la sesión anterior. El problema es la incapacidad para continuar una sesión cuando se producen una brecha entre los paquetes de una sesión que es más grande que los paquetes que colocamos en el búfer (según las configuraciones disponibles de memoria y tiempo de espera). Una vez que se quita de la memoria el último paquete de una sesión, también se quita la sesión y con ella el contexto necesario para garantizar una direccionalidad coherente.

Existen dos ajustes de tiempo de espera en un Packet Decoder, /decoder/config/assember.timeout.session y assembler.timeout.packet. Ambos tienen un valor predeterminado de 60 segundos. La configuración assembler.timeout.session controla cuánto tiempo dura una sesión en el ensamblador sin recibir otro paquete. La configuración assembler.timeout.packet controla cuánto tiempo espera una sesión antes de su análisis. Si la sesión se extrae del ensamblador antes de este tiempo de espera, se analiza automáticamente.

El tiempo de espera de la sesión es la cantidad de segundos desde que el último paquete se agregó a esa sesión. Por lo tanto, este tiempo de espera se restablece en cada paquete que se agrega a esa sesión. El tiempo de espera del paquete es la cantidad de segundos transcurridos desde que se agregó el primer paquete para esa sesión (en otras palabras, el paquete que creó la sesión). Esto nunca se restablece y una vez que vence el tiempo de espera, la sesión se analiza.

El punto importante es que se puede analizar una sesión, pero permanece en el ensamblador. Una sesión en el ensamblador aún puede tener los paquetes que se le agregaron incluso si ya se analizó. Los analizadores nunca verán los paquetes que se agregan después del análisis de la sesión, pero estarán conectados a la sesión y se podrán ver en una llamada /sdk content o /sdk packets posterior.

Después de que se analiza una sesión, la sesión Y sus metadatos se escriben en el disco. En este punto, se pueden agregar y “ver” mediante los comandos sdk. Los paquetes se escriben en orden de captura y no se reordenan según la sesión a la que pertenecen. Tampoco se escriben cuando se escribe la sesión y los metadatos.

Puede deshabilitar ambos nodos de tiempo de espera agotado, /decoder/config/assembler.timeout.session y assembler.timeout.packet, para ello configúrelos en cero en la Vista Explorar de servicios.

Si ambos tiempos de espera están deshabilitados, las sesiones permanecen divididas debido al vencimiento del tiempo o del tamaño. Sin embargo, el Decoder rastrea el flujo de red mientras tiene suficiente memoria. Por lo tanto, cuando llegan más paquetes en el mismo flujo de red, el Decoder agrega elementos de metadatos split a las sesiones posteriores. Mediante una combinación de los metadatos split y la clave de flujo, es posible volver a construir el flujo de red a partir de las múltiples sesiones.

La cantidad de tiempo durante el cual se rastrean las sesiones tiene como límite la cantidad de entradas de pool de sesión disponibles en el Decoder y, por lo tanto, la ventana de tiempo real varía según la tasa a la que se agregan nuevas sesiones. Si se agregan nuevas sesiones a alta velocidad, se reduce el tamaño de la ventana de tiempo. El tamaño del pool se establece mediante la entrada de configuración /decoder/config/assembler.session.pool, que establece la cantidad máxima de sesiones que se rastrearán a la vez.

La estadística /decoder/stats/assembler.timespan permite ver cuándo el Decoder ya no rastrea las divisiones de las sesiones debido a que la tasa de recopilación es demasiado alta y el Decoder no tiene suficiente memoria para rastrear. Esta estadística indica la cantidad de segundos que se rastrean dentro de la tabla de sesiones, que es la ventana de tiempo efectivo en el cual el Decoder puede vincular las sesiones. En una operación normal esta estadística coincide con el valor de /decoder/config/assembler.timeout.session, pero cuando se ejecuta en el modo de división de tiempo, la estadística /decoder/stats/assembler.timespan aumenta o disminuye según la tasa de recopilación.

Para configurar el modo de división de tiempo, ajuste los siguientes parámetros de configuración y reinicie el Decoder:

  1. En la vista Administration > Servicios, seleccione el servicio Decoder y elija El menú Acciones > Ver > Explorar.
  2. En la Vista Explorar de servicios seleccione decoder > configuración.
    Este es un ejemplo de la vista Explorar del Decoder.
  3. Haga clic en la columna Valor junto al parámetro y configure estos dos parámetros:
    /decoder/config/assembler.session.flush = 0
    /decoder/config/assembler.timeout.session = 0
  4. Para ver cuándo el Decoder ya no rastrea las divisiones de las sesiones debido a que la tasa de recopilación es demasiado alta y el Decoder no tiene suficiente memoria para rastrear, vea la estadística /decoder/stats/assembler.timespan, en el Vista Explorar de servicios seleccione decoder > estadística.
    Este es un ejemplo de la vista Explorar del Decoder.
You are here
Table of Contents > Procedimientos adicionales de Decoder y Log Decoder > Configurar los tiempos de espera divididos de la sesión

Attachments

    Outcomes