フローベースセッション
Junos OS は、フローの最初のパケットによってトリガーされたセッション情報をキャッシュします。キャッシュされたセッションは、転送パスに統合されたフロー モジュールを使用して、同じフローの後続のパケットとそのセッションのリバース フローで使用されます。
SRX シリーズ サービス ゲートウェイのセッション特性について
セッションは、ルーティングやその他の分類情報に基づいて作成され、情報を保存し、フローにリソースを割り当てます。セッションには特性があり、その一部は終了時など変更できます。例えば、セッションテーブルが完全に満たされないようにして、攻撃者がテーブルをフラッディングしようとして、正規ユーザーがセッションを開始しないように保護することができます。
プロトコルとサービスに応じて、セッションはタイムアウト値でプログラムされます。例えば、TCP のデフォルトのタイムアウトは 1800 秒です。UDP のデフォルト タイムアウトは 60 秒です。
サービスのタイムアウト前にトラフィックがセッションを使用していない場合、セッションはエージングアウトされ、共通のリソースプールに解放されて再利用されます。以下の方法でセッションの寿命に影響を与えることができます。
以下のいずれかの方法を使用して、セッションを終了する状況を指定できます。
セッションテーブルのフル数に基づいたセッションのエージングアウト
TCP セッションのエージング アウトの明示的なタイムアウトを設定する
TCP RST(リセット)メッセージを受信したときに無効になる TCP セッションを設定する
いずれかのセッションエンドポイントが
fin-invalidate-session
FIN(ish)メッセージをピアに送信した場合に、セッションを終了するように ステートメントを設定します。ピア エンドポイントは、FIN フラグが設定されたパケットを受信すると、ACK(nowlege)メッセージを送信します。通常、この方法を使用してセッションを破棄するには、各セッションから 1 組の FIN-ACK メッセージを送信します。
セッションを設定して、他のシステムに対応するには、次の手順に従います。
TCPパケットセキュリティチェックを無効にする
最大セグメント サイズの変更
積極的なセッションエージングを理解する
セッション テーブルは、SRX シリーズ デバイスの限定的なリソースです。セッションテーブルがフルの場合、新しいセッションはデバイスによって拒否されます。
アグレッシブセッションエージングメカニズムは、セッションテーブル内のセッション数が指定された透かし値のしきい値を超えた場合、セッションタイムアウトプロセスを高速化します。このメカニズムにより、セッション テーブルがフルになると、SRX シリーズ デバイスが新しいセッションを拒否する可能性が最小限に抑えられます。
アグレッシブセッションエージングを実行するには、以下のパラメーターを設定します。
high-watermark– セッションテーブル内のセッション数がしきい値を超えた場合、デバイスはアグレッシブなセッションエージングを high-watermark 実行します。
low-watermark– セッション テーブル内のセッション数がしきい値を下回ると、デバイスはアグレッシブセッションエージングを終了し、正常に low-watermark 戻ります。
early-ageout - アグレッシブセッションエージング中、タイムアウト時間がしきい値より early-ageout 低いセッションは無効とマークされます。
SRX1400、SRX3400、SRX3600、SRX5600、SRX5800の各デバイスでは、SPUはセッションテーブルをチェックし、タイムアウト値が早期タイムアウト時間値よりも低いセッションを特定し、無効とマークします。(プラットフォームのサポートは、インストールされている Junos OS リリースによって異なります)。
例:SRXシリーズサービスゲートウェイのセッション終了の制御
この例では、一定期間後のエージングアウトや、セッションテーブル内のセッション数がフルになったり、指定された割合に達した場合に基づいて、SRXシリーズデバイスのセッションを終了する方法を示しています。タイムアウト値またはセッションテーブル内のセッション数を指定します。
要件
開始する前に、セッションを終了する状況を理解してください。
概要
TCP FINを閉じるか、RSTメッセージを受信した後、UDPのICMPエラーが発生した場合、サービスのタイムアウト前に一致するトラフィックが受信されない場合など、特定の状況でセッション終了を制御できます。セッションが終了すると、そのリソースは他のセッションで使用するために解放されます。
この例では、セッションを終了するように以下の状況を設定します。
タイムアウト値は 20 秒です。
メモ:TCPセッション初期化に設定できる最小値は4秒です。デフォルト値は20秒です。必要に応じて、TCPセッション初期化値を20秒未満に設定できます。
明示的なタイムアウト値は280秒で、3方向ハンドシェイク中のTCPセッションタイムアウトを変更します。
コマンドは、TCPスリーウェイハンドシェイク中に、セッションテーブルで最初のTCPセッションタイムアウトを280に設定します。タイマーは、最初の SYN パケットを受信したときに開始され、3 方向ハンドシェイク中に各パケットでリセットされます。スリーウェイハンドシェイクが完了すると、セッションタイムアウトは特定のアプリケーションで定義されたタイムアウトにリセットされます。スリーウェイハンドシェイクが完了する前にタイマーが終了すると、セッションはセッションテーブルから削除されます。
TCP RST(リセット)メッセージを受信したセッションは無効です。
構成
手順
手順
SRX シリーズ デバイスのセッション終端を制御するには、次の手順に示します。
次の例では、設定階層内のさまざまなレベルに移動する必要があります。その方法の詳細については、CLIユーザーガイドの設定モードでのCLIエディターの使用を参照してください。
SRX シリーズ デバイスのセッション終端を制御するには、次の手順に示します。
セッションのエージアウト値を指定します。
[edit security flow] user@host# set aging early-ageout 20
エージング アウト値を設定します。
[edit security flow] user@host# set tcp-session tcp-initial-timeoout 280
TCP RST メッセージを受信したセッションは無効になります。
[edit security flow] user@host# set tcp-session rst-invalidate-session
デバイスの設定が完了したら、設定をコミットします。
[edit ] user@host# commit
検証
設定が正常に機能していることを確認するには、 コマンドを show security flow
入力します。
SRX シリーズ サービス ゲートウェイのセッションのクリア
コマンドを clear
使用して、セッションを終了できます。特定のアプリケーション タイプのセッション、特定の宛先ポートを使用するセッション、特定のインターフェイスまたはポートを使用するセッション、特定の IP プロトコルを使用するセッション、ソース プレフィックスに一致するセッション、リソース マネージャー セッションなど、すべてのセッションをクリアできます。
- SRX シリーズ サービス ゲートウェイのセッション終了
- SRX シリーズ サービス ゲートウェイの特定のセッションの終了
- フィルターを使用して、SRX シリーズ サービス ゲートウェイで終了するセッションを指定する
SRX シリーズ サービス ゲートウェイのセッション終了
以下のコマンドを使用して、トンネルとリソース・マネージャーのセッションを除くすべてのセッションを終了できます。コマンドの出力には、クリアされたセッション数が表示されます。このコマンドは、clear コマンドが発行された管理セッションを終了させることに注意してください。
user@host> clear security flow session all
SRX シリーズ サービス ゲートウェイの特定のセッションの終了
以下のコマンドを使用して、指定したセッションIDを持つセッションを終了できます。
user@host> clear security flow session session-identifier 40000381
フィルターを使用して、SRX シリーズ サービス ゲートウェイで終了するセッションを指定する
コマンドに指定したフィルター パラメーターに基づいて、1 つ以上のセッションを clear
終了できます。次の例では、プロトコルをフィルターとして使用しています。
user@host> clear security flow session protocol 89
マルチキャスト フロー セッションのタイムアウト値の設定
カスタム アプリケーションを設定し、アプリケーションをポリシーに関連付けることで、マルチキャスト フロー セッションのタイムアウト値を設定できます。
マルチキャスト フロー セッションには、1 つのテンプレート セッションと 1 つ以上のリーフ セッションがあります。これらのセッションは共にリンクされているため、タイムアウト値は 1 つだけです。マルチキャストフローセッションのタイムアウト値は、リーフセッションポリシーで設定されたタイムアウト値とIPプロトコルのタイムアウト値を考慮して決定されます。これらのタイムアウト値の最大値は、マルチキャスト フロー セッションのタイムアウトとして選択されます。
リーフセッションのタイムアウト値が設定されていない場合、IPプロトコルのタイムアウト値は、マルチキャストフローセッションのタイムアウト値として自動的に使用されます。IP プロトコルのタイムアウトはデフォルトで、構成できません。
リーフセッションのタイムアウトを設定することは、デフォルトのIPプロトコルのタイムアウトよりも長いパケット間隔を持つマルチキャストストリームにとって特に役立ちます。例えば、パケット間隔が60秒を超えるマルチキャストストリームでは、フローセッションの早期エージングアウトが発生し、パケットはUDPタイムアウト値(常に60秒)でドロップします。このようなストリームでは、リーフセッションのタイムアウト値を高く設定し、パケットのドロップを防ぐことができます。
リーフセッションのタイムアウト値を設定するには、カスタムアプリケーションを設定し、アプリケーションをポリシーに関連付けます。