Decoder:セッション分割タイムアウトの構成

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

Decoderのデフォルトの動作では、構成されたサイズを超えるか、一定期間非アクティブな状態のセッションを自動的に終了します。タイムアウトのためにセッションが終了すると、そのセッションで受信する以降のパケットは新しいセッションに格納されます。この処理手順を使用して、パケット間の非アクティブの期間が長いことによる分割セッションの影響を軽減できます。

Decoderのセッションが構成済みのサイズ(デフォルトで32MB、/decoder/config/assembler.max.size)を超えた場合、または一定期間非アクティブな状態である場合、セッションが分割されます。NetWitness Suiteには以前のパケットと次のパケットがあり、最初のセッション フラグメントから後続のセッション フラグメントへセッションの状態を反映させることができます。

各セッション フラグメントには、それが識別され、実際のネットワーク セッションからその他のフラグメントに関連付けられているという注釈が付きます(session.splitメタ)。最初のセッションによって決定される方向性により、逆の方向性をもつフラグメントの発生が低減されます。

パケット間の時間差が大きくなり、セッションに対するパケットがメモリ内になくなると、セッションはDecoderから削除されます。この発生後に後続のパケットが発生すると、前のセッションのコンテキストを持たない新しいセッションが作成されます。この問題により、(使用可能なメモリとタイムアウト構成に基づいて)バッファリングしているパケットより大きい差がセッションのパケット間に発生すると、セッションを続行できません。セッションの最後のパケットがメモリから削除されると、セッションも削除され、それには一貫性のある方向性を確保するために必要なコンテキストも含まれています。

Packet Decoderには/decoder/config/assember.timeout.sessionassembler.timeout.packetの2つのタイムアウト設定があります。どちらもデフォルトは60秒です。設定assembler.timeout.sessionは、アセンブラ内のセッションが別のパケットを受信せずに存続する時間を制御します。設定assembler.timeout.packetは、セッションが解析されるまで待機する時間を制御します。セッションは、このタイムアウト前にアセンブラから排除されると、解析に自動的に移行します。

セッション タイムアウトは、最後のパケットがそのセッションに追加されてからの秒数です。そのため、このタイムアウトは、そのセッションに追加されたすべてのパケットをリセットします。パケット タイムアウトは、そのセッションに対するパケット(つまり、セッションを作成したパケット)が初めて追加されてからの秒数です。これはリセットされることはなく、タイムアウトが終了すると、セッションの解析が行われます。

重要なポイントは、セッションは解析することができますが、アセンブラにまだ残っているということです。セッションが既に解析されている場合でも、アセンブラのセッションには追加されるパケットがまだあります。セッションの解析後に追加されたパケットは、パーサによって認識されませんが、セッションに添付され、後続の/sdk content または/sdk packetsコールによって表示できます。

セッションの解析後、セッションおよびそのメタデータがディスクに書き込まれます。この時点では、それらは集計され、sdkコマンドによって「認識」されます。パケットは収集の順に書き込まれ、属しているセッションによって順序が変更されることはありません。またセッションとメタ データが書き込まれるときに、パケットが書き込まれるとは限りません。

サービスの[エクスプローラ]ビューで両方のタイムアウト ノード/decoder/config/assembler.timeout.sessionおよび assembler.timeout.packetにゼロを設定することで、これらを無効にできます。

両方のタイムアウトを無効にしても、時間またはサイズの有効期限のためセッションは分割されたままです。ただし、十分なメモリがある間は、Decoderはネットワーク ストリームを引き続きトラッキングします。したがって、同一のネットワーク ストリームに多くのパケットが到着すると、Decoderはsplitメタ アイテムを後続のセッションに追加します。split メタデータとストリーム キーの組み合わせを使用すると、複数のセッションのネットワーク ストリームを再構築することができます。

セッションがトラッキングされる時間は、Decoderで利用可能なセッション プールのエントリーの数で制限されています。したがって、実際のタイム ウィンドウは新しいセッションが追加されるレートに応じて異なります。新しいセッションを高レートで追加すると、タイム ウィンドウのサイズが減少します。構成エントリー/decoder/config/assembler.session.poolを使用してプールのサイズが設定されると、一度にトラッキングされるセッションの最大数が設定されます。

/decoder/stats/assembler.timespan統計情報を使用すると、取得レートが高すぎて、Decoderにトラッキングするのに十分なメモリがないためにDecoderがセッション分割をトラッキングしなくなるときが把握できます。この統計情報は、セッション テーブル内でトラッキングされる秒数を示します。この秒数は、Decoderがセッションをまとめてリンクできる有効なタイム ウィンドウです。通常の運用では、この統計情報は/decoder/config/assembler.timeout.sessionの値に一致しますが、時間分割モードで実行している場合は、/decoder/stats/assembler.timespan統計情報は取得レートに応じて拡大または縮小します。

時間分割モードを構成するには、次の構成パラメータを設定し、Decoderを再起動します。

  1. [管理]の[サービス]ビューで、Decoderサービスを選択し、アクション メニュー[表示]>[構成]を選択します。
  2. サービスの[エクスプローラ]ビューで、[Decoder]>[構成]を選択します。
    これは、Decoderの[エクスプローラ]ビューの例です。
  3. パラメータの横にある[]列をクリックして、次の2つのパラメータを設定します。
    /decoder/config/assembler.session.flush = 0
    /decoder/config/assembler.timeout.session = 0
  4. 高すぎる取得レートやDecoderがトラッキングに十分なメモリを確保できない事によりDecoderがセッション分割をトラッキング出来ていない事を確認するには、/decoder/stats/assembler.timespan統計情報を表示し、サービスの[エクスプローラ]ビューで[Decoder]>[統計情報]を選択します。
    これは、Decoderの[エクスプローラ]ビューの例です。
You are here
Table of Contents > DecoderおよびLog Decoderのための追加の手順 > セッション分割タイムアウトの構成

Attachments

    Outcomes