Decoder : Configurer l’expiration du délai de fractionnement des sessions

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

Le comportement par défaut du Decoder est de mettre fin automatiquement aux sessions qui dépassent une taille configurée ou qui ont été inactives pendant une période donnée. Lorsque la session est terminée en raison du délai d’expiration, tous les paquets suivants reçus dans cette session sont stockés dans une nouvelle session. Vous pouvez réduire l’effet du fractionnement de la session dû aux longues périodes d’inactivité entre les paquets à l’aide de cette procédure.

Lorsqu'une session Decoder dépasse une taille configurée (32 Mo par défaut, le /decoder/config/assembler.max.size) ou a été inactive pendant une période de temps, la session est fractionnée. NetWitness Platform contient le paquet précédent et le paquet suivant et peut propager l'état de session à partir du fragment de session initial vers le fragment de session suivant.

Chaque fragment de session est annoté (métadonnée session.split) de façon à ce qu’il soit identifié et associé à d’autres fragments de la session réseau en cours. La direction, telle que déterminée par la session initiale, réduit l’occurrence de fragments ayant des directions inversées.

S’il existe un écart de temps suffisamment grand entre les paquets pour qu’il n’y en ait plus dans la session en mémoire, la session est supprimée du Decoder. Si un paquet ultérieur arrive après cela, une nouvelle session est créée sans lien avec la session précédente. Le problème réside dans l’incapacité à continuer une session lorsque nous rencontrons un écart entre les paquets d’une session qui dépasse les paquets que nous avons mis en mémoire tampon (en fonction des configurations disponibles pour la mémoire et le délai d’expiration). Lorsque le dernier paquet d’une session est supprimé de la mémoire, la session est également supprimée et, avec elle, le contexte nécessaire pour garantir une direction cohérente.

Il existe deux paramètres de délai d'attente dans un Network Decoder /decoder/config/assember.timeout.session et assembler.timeout.packet. Les deux sont paramétrés par défaut sur 60 secondes. Le paramètre assembler.timeout.session contrôle le temps que dure une session dans Assembler sans recevoir d’autre paquet. Le paramètre assembler.timeout.packet contrôle combien de temps une session attend avant d’être analysée. Si la session est exclue de l’Assembler avant ce délai, elle passe automatiquement à l’analyse.

Le délai d’expiration de session représente le nombre de secondes depuis que le dernier paquet a été ajouté à cette session. Par conséquent, ce délai est réinitialisé pour chaque paquet ajouté à la session. Le délai d’expiration du paquet représente le nombre de secondes depuis que le tout premier paquet à été ajouté à cette session (c’est-à-dire, le paquet qui a créé la session). Il n’est jamais réinitialisé et, après l’expiration du délai, la session est analysée.

Point important : une session peut être analysée tout en restant dans l’Assembler. Une session dans l’Assembler peut faire l’objet d’ajout de paquets, même si elle a déjà été analysée. Les paquets ajoutés après l’analyse de la session ne sont jamais vérifiés par les analyseurs, mais ils sont rattachés à la session et peuvent être affichés par un appel /sdk content ou /sdk packets ultérieur.

Après l’analyse d’une session, la session ET ses métadonnées sont écrites sur le disque. À ce stade, elles peuvent être agrégées et « affichées » par les commandes sdk. Les paquets sont écrits dans l’ordre de capture et ne sont pas réorganisés par la session à laquelle ils appartiennent. Ils ne sont pas non plus nécessairement écrits lorsque la session et les métadonnées sont écrites.

Vous pouvez désactiver les deux nœuds d’expiration du délai, /decoder/config/assembler.timeout.session et assembler.timeout.packet, en les définissant sur zéro dans la Vue Explorer les services.

Si les deux expirations de délai sont désactivées, les sessions sont quand même fractionnées en raison de l’expiration de la taille ou du délai. Toutefois, le Decoder assure le suivi du flux réseau tant qu’il dispose de suffisamment de mémoire. Par conséquent, lorsque plus de paquets arrivent sur le même flux réseau, le Decoder ajoute des éléments méta split aux sessions ultérieures. À l’aide d’une combinaison de métadonnées split et la clé du flux, il est possible de reconstituer le flux réseau à partir de plusieurs sessions.

La durée pendant laquelle les sessions sont suivies est limitée par le nombre d’entrées de pools de sessions disponibles sur le Decoder, et par conséquent, la période réelle varie en fonction de la vitesse à laquelle de nouvelles sessions sont ajoutées. Si de nouvelles sessions sont ajoutées à un débit élevé, la durée de la période diminue. La taille du pool est définie à l’aide de l’entrée de configuration /decoder/config/assembler.session.pool, qui définit le nombre maximal de sessions qui peuvent être suivies à la fois.

La statistique /decoder/stats/assembler.timespan vous permet de savoir quand le Decoder n’effectue plus le suivi des fractionnements de sessions car le taux d’acquisition est trop élevé et le Decoder ne dispose pas de suffisamment de mémoire pour effectuer le suivi. Cette statistique indique le nombre de secondes suivies au sein du tableau des sessions. C’est en fait la période effective pendant laquelle le Decoder peut rattacher des sessions. Dans des conditions normales de fonctionnement, cette statistique correspond à la valeur de /decoder/config/assembler.timeout.session, mais lors de l’exécution en mode de fractionnement du temps, la statistique /decoder/stats/assembler.timespan augmente ou diminue en fonction du taux d’acquisition.

Pour configurer le mode Fractionnement du temps, définissez les paramètres de configuration suivants et redémarrez le Decoder :

  1. Dans la vue Admin > Services, sélectionnez un service Decoder, puis The actions menu > Vue > Explorer.
  2. Dans la Vue Explorer les services, sélectionnez decoder > config.
    This is an example of the Decoder Explore view.
  3. Cliquez dans la colonne Valeur en regard du paramètre et définissez ces deux paramètres :
    /decoder/config/assembler.session.flush = 0
    /decoder/config/assembler.timeout.session = 0
  4. Pour savoir lorsque Decoder n’effectue plus le suivi des fractionnements de sessions car le taux d’acquisition est trop élevé et le Decoder n’a pas assez de mémoire pour effectuer le suivi, affichez la statistique /decoder/stats/assembler.timespan. Dans la Vue Explorer les services, sélectionnez decoder > stats.
    This is an example of the Decoder Explore view.
You are here
Table of Contents > Procédures supplémentaires de Decoder et Log Decoder > Configurer l’expiration du délai de fractionnement des sessions

Attachments

    Outcomes