フローベースのセッション
Junos OS は、フローの最初のパケットによってトリガーされるセッション情報をキャッシュします。キャッシュされたセッションは、同じフローの後続のパケットと、フォワーディングパスに統合されたフローモジュールを使用したそのセッションのリバースフローで使用されます。
SRXシリーズファイアウォールのセッション特性について
セッションは、ルーティングやその他の分類情報に基づいて作成され、情報を保存し、フローにリソースを割り当てます。セッションには特性があり、終了タイミングなど、変更できる特性もあります。例えば、攻撃者がテーブルをフラッディングしようとする試みから保護し、正規のユーザーがセッションを開始できないようにするために、セッションテーブルが完全にいっぱいにならないようにしたい場合があります。
プロトコルとサービスに応じて、セッションはタイムアウト値でプログラムされます。例えば、TCPのデフォルトのタイムアウトは1800秒です。UDPのデフォルトのタイムアウトは60秒です。
サービスタイムアウト前にセッションを使用するトラフィックがない場合、セッションはエージングアウトされ、再利用のために共通のリソースプールに解放されます。以下の方法でセッションの有効期間に影響を与えることができます。
以下の方法のいずれかを使用して、セッションを終了する状況を指定することができます。
セッションテーブルの満杯状況に応じてセッションをエージアウトする
TCPセッションをエージングアウトするための明示的なタイムアウトを設定する
TCP RST(リセット)メッセージを受信したときに TCP セッションを無効にするように設定します
いずれかのセッションエンドポイントがピアにFIN(ish)メッセージを送信したときにセッションを終了するように
fin-invalidate-sessionステートメントを設定します。ピアエンドポイントは、FINフラグが設定されたパケットを受信すると、ACK(nowlege)メッセージを送信します。通常、この方法を使用してセッションを破棄するには、各セッションからFIN-ACKメッセージのペアを送信する必要があります。
他のシステムに対応するように、次のようにセッションを設定できます。
TCPパケットセキュリティチェックを無効にする
最大セグメントサイズの変更
アグレッシブセッションのエージングを理解する
セッションテーブルは、SRXシリーズファイアウォールの限られたリソースです。セッションテーブルがいっぱいになると、新しいセッションはデバイスによって拒否されます。
アグレッシブなセッションエージングメカニズムは、セッションテーブル内のセッション数が指定された高水準点しきい値を超えると、セッションタイムアウトプロセスを加速します。このメカニズムにより、セッションテーブルがいっぱいになったときに、SRXシリーズファイアウォールが新しいセッションを拒否する可能性が最小限に抑えられます。
以下のパラメーターを設定して、積極的なセッションエージングを実行します。
high-watermark–セッションテーブル内のセッション数が high-watermark しきい値を超えると、デバイスは積極的なセッションエージングを実行します。
low-watermark–セッションテーブルのセッション数が low-watermark しきい値を下回ると、デバイスは積極的なセッションエージングを終了し、通常の状態に戻ります。
early-ageout –アグレッシブセッションエージング中は、エージアウト時間が early-ageout しきい値よりも短いセッションは無効としてマークされます。
例:SRXシリーズファイアウォールのセッション終了の制御
この例では、一定期間後のエージングアウト、またはセッションテーブルのセッション数がフルになったか、指定されたパーセンテージに達した場合に、SRXシリーズファイアウォールのセッションを終了する方法を示しています。セッションテーブル内のタイムアウト値またはセッション数を指定します。
要件
開始する前に、セッションを終了する状況を理解しておいてください。
概要
例えば、TCP FIN Closeを受信した後またはRSTメッセージを受信した後、UDPのICMPエラーが発生した場合、およびサービスタイムアウト前に一致するトラフィックが受信されなかった場合など、特定の状況でセッションの終了を制御できます。セッションが終了すると、そのリソースは他のセッションが使用できるように解放されます。
この例では、セッションを終了するために以下の状況を設定します。
20秒のタイムアウト値。
注:TCPセッションの初期化に設定できる最小値は4秒です。デフォルト値は20秒です。必要に応じて、TCPセッション初期化値を20秒未満に設定できます。
280秒の明示的なタイムアウト値で、スリーウェイハンドシェイク中のTCPセッションタイムアウトが変更されます。
このコマンドは、TCPスリーウェイハンドシェイク中に、セッションテーブルの初期TCPセッションタイムアウトを280に設定します。タイマーは、最初のSYNパケットを受信すると開始され、スリーウェイハンドシェイク中に各パケットでリセットされます。スリーウェイハンドシェイクが完了すると、セッションのタイムアウトは、特定のアプリケーションによって定義されたタイムアウトにリセットされます。スリーウェイハンドシェイクが完了する前にタイマーが期限切れになると、セッションはセッションテーブルから削除されます。
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シリーズサービスゲートウェイのセッション終了
次のコマンドを使用して、トンネルセッションとリソースマネージャーセッションを除くすべてのセッションを終了できます。コマンド出力は、クリアされたセッションの数を示しています。このコマンドは、clearコマンドが発行された管理セッションを終了することに注意してください。
user@host> clear security flow session all
SRXシリーズサービスゲートウェイの特定セッションの終了
次のコマンドを使用して、指定したセッションIDを持つセッションを終了できます。
user@host> clear security flow session session-identifier 40000381
フィルターを使用して、SRXシリーズサービスゲートウェイで終了するセッションを指定する
clearコマンドで指定したフィルターパラメーターに基づいて、1つ以上のセッションを終了できます。次の例では、このプロトコルをフィルターとして使用しています。
user@host> clear security flow session protocol 89
マルチキャストフローセッションのタイムアウト値を設定する
カスタムアプリケーションを設定し、アプリケーションをポリシーに関連付けることで、マルチキャストフローセッションのタイムアウト値を設定できます。
マルチキャストフローセッションには、1つのテンプレートセッションと1つ以上のリーフセッションがあります。これらのセッションは相互にリンクされているため、タイムアウト値は1つだけです。マルチキャストフローセッションのタイムアウト値は、リーフセッションポリシーで設定されたタイムアウト値とIPプロトコルのタイムアウト値を考慮して決定されます。これらのタイムアウト値の中で最も高い値が、マルチキャスト フロー セッション タイムアウトとして選択されます。
リーフセッションのタイムアウト値が設定されていない場合、IPプロトコルのタイムアウト値がマルチキャストフローセッションのタイムアウト値として自動的に使用されます。IPプロトコルのタイムアウトはデフォルトであり、設定できません。
リーフセッションのタイムアウトの設定は、デフォルトのIPプロトコルのタイムアウトよりもパケット間隔が長いマルチキャストストリームに特に役立ちます。例えば、パケット間隔が60秒を超えるマルチキャストストリームでは、フローセッションの早期エージングアウトや、UDPタイムアウト値(常に60秒)のパケットドロップが発生します。このようなストリームでは、リーフセッションのタイムアウト値を高く設定し、パケットのドロップを防ぐことができます。
リーフセッションのタイムアウト値を設定するには、カスタムアプリケーションを設定し、アプリケーションをポリシーに関連付けます。