アプリケーションQoS
AppQoS を使用すると、特定のアプリケーションへのアクセスを特定して制御し、アプリケーション レイヤーで サービス品質(QoS)を一致して適用するステートフル ファイアウォール ルール ベースの細分性を提供します。詳細については、以下のトピックを参照してください。
アプリケーション サービス品質(AppQoS)について
AppQoS(アプリケーションサービス品質)機能により、Junos OS サービス クラス(CoS)の機能が拡張され、レイヤー 7 アプリケーション タイプに基づいて DSCP 値をマーキングし、損失の優先度設定を通じてアプリケーションベースのトラフィックに対応し、レイヤー 7 アプリケーション タイプに基づいてエグレス PI での転送レートを制御できます。
セキュリティ デバイスで DSCP 値をマークする方法は 4 種類あります。
IDP 攻撃アクションベース DSCP 書き換え
レイヤー 7 アプリケーションベースの DSCP 書き換え
ALG ベースの DSCP 書き換え
ファイアウォール フィルター-ベースの DSCP 書き換え
IDPは、受信ポートで受信ルールに基づいてIDPします。アプリケーション のアコメントは、アプリケーション ルールに基づき、エグレス ポートで実行されます。インターフェイスベースの注目は、ファイアウォール フィルター ルールに基づいたエグレス ポートでも実行されます。(サービス クラス ユーザー ガイド(セキュリティ デバイス)を参照して、サービスJunos OS CoSしてください)。
このような 3 つの書き換えに関するリライトの判断は異なる場合があります。パケットが 3 つすべてのトリガーをトリガーした場合、優先される方法は、一致したパケットコンテンツの深い情報に基づいて行われます。IDPは、インターフェイスベースのアロケーション よりも優先されるアプリケーション アロケーション設定よりも優先されます。
パケットが AppQoS と ALG ベースの DSCP 書き換えの両方をトリガーした場合、AppQoS が ALG ベースの DSCP 書き換えに優先されます。
AppQoS DSCP 書き換えエンジンは、転送クラスと損失サービス品質を介してパケットのパケット パケット パケットパケットを転送します。AppQoS レート制限パラメータは、関連するキューの伝送速度とボリュームを制御します。
- アプリケーション アプリケーション アプリケーションのQoS
- 固有の転送クラスとキューの割り当て
- アプリケーション認識型 DSCP コード ポイントおよび損失の優先度設定
- レート制限機能とプロファイル
- レート制限割り当て
- レート制限アクション
- AppQoS セキュリティ ポリシーの設定
アプリケーション アプリケーション アプリケーションのQoS
AppQoS では、アプリケーション トラフィックの優先度を設定して測定し、アプリケーション トラフィックや優先度の高いアプリケーション トラフィックにビジネスクリティカルななサービスを提供できます。
固有の転送クラスとキューの割り当て
転送クラスには、次の 3 つの機能があります。
パケットを特性同様にグループ化する
出力キューの割り当て
ファイアウォール フィルターベースの書き換Junos OS既存のファイアウォール との競合を解決します。
一意の転送クラス名により、AppQoS リアクションがインターフェイスベースの書き換えルールで上書き されるのを保護します。ファイアウォール フィルターベースの書き換え機能は、パケットの転送クラスがこの書き換え専用に定義されたクラスと一致する場合、パケットの DSCP 値をリライトします。パケットの転送クラスがファイアウォール フィルターベースの書き換えエンジンのクラスと一致しない場合、DSCP 値はリマークされません。AppQoS 値を上書きから保護するには、ファイアウォール フィルターベースの書き換えに未知の転送クラス名を使用します。
各転送クラスは、適切なレベルの拡張処理または標準処理を提供するエグレス キューに割り当てられます。多くの転送クラスを 1 つのキューに割り当てることができます。したがって、デバイスに定義されたキューは、アプリケーション、AppQoS、ファイアウォール フィルターベースの書き換IDPで使用できます。伝送の優先度を区別するのは、キューではなく転送クラス名です。(キュー とスケジューラの設定については、 サービス クラス ユーザー ガイド(セキュリティ デバイス)を参照してください)。
デバイスSRX5400、SRX5600、SRX5800では、AppQoS転送クラス名とキューの割り当てが、 CLI class-of-service
設定コマンドで定義されています。
[edit class-of-service] user@host# set forwarding-classes class forwarding-class-name queue-num queue-number
SRX300、SRX320、SRX340、SRX345、SRX380、SRX550M、SRX1500、SRX4100、SRX4200、SRX4600のデバイスとvSRXインスタンスでは、AppQoS転送クラスの名前とキューの割り当ては、CLI設定コマンドで定義されています class-of-service
。
[edit class-of-service] user@host# set forwarding-classes queue queue-number forwarding-class-name
アプリケーション認識型 DSCP コード ポイントおよび損失の優先度設定
AppQoS では、定義された転送クラスを選択したアプリケーションに関連付けるルールに基づいてトラフィックがグループ化されます。ルールの一致条件には、1 つ以上のアプリケーションが含まれます。一致するアプリケーションからのトラフィックがルールに遭遇すると、ルール アクションによって転送クラスが設定され、DSCP 値と損失の優先度がアプリケーションに適した値に設定されます。
DSCP(Differentiated Services)コード ポイント(DSCP)値は、6 ビットのキュー内の値またはユーザー定義のエイリアスまたはデフォルト エイリアスによって指定されます。 表 1 は、 デフォルト DSCP エイリアス名Junos OS大きなデフォルト値のリストを示しています。
エイリアス |
ビット値 |
---|---|
Ef |
101110 |
af11 |
001010 |
af12 |
001100 |
af13 |
001110 |
af21 |
010010 |
af22 |
010100 |
af23 |
010110 |
af31 |
011010 |
af32 |
011100 |
af33 |
011110 |
af41 |
100010 |
af42 |
100100 |
af43 |
100110 |
Bve |
000000 |
cs1 |
001000 |
cs2 |
010000 |
cs3 |
011000 |
cs4 |
100000 |
Cs5 |
101000 |
nc1/cs6 |
110000 |
nc2/cs7 |
111000 |
詳細 については、「 デフォルト CoS 値 」と「エイリアス」 を参照してください。
キューのスケジューラーは、損失優先度を使用して、輻輳期間中にドロップ プロファイルを特定の損失優先度値と関連付けすることで、パケット破棄を制御します。(キュー とスケジューラの設定については、 サービス クラス ユーザー ガイド(セキュリティ デバイス)を参照してください)。
このルールは、トラフィック グループに損失の優先度を適用します。損失の優先度が高いということは、混雑している間にパケットが破棄される可能性が高いという意味です。損失を優先する 4 レベルを使用できます。
high
medium-high
medium-low
low
ルール セットは、設定コマンドで class-of-service application-traffic-control
定義されています。
[edit class-of-service] user@host# set application-traffic-control rule-sets ruleset-name rule rule-name1 match application application-name application-name ... user@host# set application-traffic-control rule-sets ruleset-name rule rule-name1 match application-group application-group-name application-group-name ... user@host# set application-traffic-control rule-sets ruleset-name rule rule-name1 then forwarding-class fc-name user@host# set application-traffic-control rule-sets ruleset-name rule rule-name1 then dscp-code-point bitmap user@host# set application-traffic-control rule-sets ruleset-name rule rule-name1 then loss-priority loss-pri-value
レート制限機能とプロファイル
輻輳が発生すると、AppQoS はデバイス上のすべてのエグレス PI にレート制限を実装します。パケットが割り当てられた制限を超えると、パケットはドロップされます。 レート 制限機能は 、異なるトラフィック クラスに対して一貫したレベルのスループットとパケット ロスの感度を維持します。すべてのエグレス PIC は、同じレート制限スキームを採用しています。
PIC の総帯域幅は約 10 Gbps です。PIC 用のレート制限ハードウェアは最大 2 Gbps をプロビジョニングできます。そのため、レート制限の上限帯域幅は 231 bps です。
レート制限プロファイルが制限を定義します。仕様を独自に組み bandwidth-limit
合 burst-size-limit
わせていますで bandwidth-limit
、ポートを通過できる 1 秒あたりの最大キロビット数を定義します。では burst-size-limit
、1 つのバーストでポートを通過できる最大バイト数を定義します。各 burst-size-limit
バーストの有限サイズを保証することで、優先度の低いトラフィックの消費を低減します。
AppQoS では、デバイスごとに最大 16 のプロファイルと 1000 レート制限を使用できます。複数のレート 制限機能で同じプロファイルを使用できます。次の例では、2 つのプロファイルを使用して 5 つのレート制限を定義しています。
レート リミサー名 |
プロファイル |
|
---|---|---|
帯域幅制限 |
バースト サイズ制限 |
|
リミスター1 |
200 |
26000 |
リミスター2 |
200 |
26000 |
リミスター3 |
200 |
26000 |
リミター-4 |
400 |
52000 |
limiter-5 |
400 |
52000 |
レート制限機能は、設定コマンドを使用 class-of-service application-traffic-control
して定義します。
[edit class-of-service] user@host# set application-traffic-control rate-limiters rate-limiter-name bandwidth-limit value-in-Kbps burst-rate-limit value-in-bytes
レート制限割り当て
レート制限値は、トラフィックのアプリケーションに基づいたルールに適用されます。各セッションには、 と の 2 つのレート制限が client-to-server
適用されます server-to-client
。この使用量では、それぞれの方向のトラフィックを個別にプロビジョニングできます。
レート 制限によるトラフィック帯域幅の処理は、トラフィックの方向に関係なく、パケット レベルで行われます。例: 10G のレート 制限を 1 つしか設定していない場合、受信/送信トラフィックが同じライン カードからの場合、スループット(イングレスとエグレス方向の両方を組み合わせた最大トラフィック)は最大 10G にし、20G は設定できないとします。ただし、デバイスで IOC がサポートされている(SRX5000 シリーズ デバイスと SRX4600 デバイスの場合)、イングレス トラフィックが 1 つの IOC を経由し、他の IOC を介してトラフィックをエグレスする場合、1 つのレート制限が設定されている場合は、20G のスループットを期待できます。
同じルール セット内の異なる AppQoS ルールは、レート制限を共有できます。この場合、それらのルールのアプリケーションは同じ帯域幅を共有します。同じレート制限を割り当て可能なルール セットのルール数には制限はありません。
以下の例では、前のセクションで定義したレート制限を割り当てる方法を示しています。たとえば、ルール セットは、以下に示す複数のルールと、以下に示す 1 つまたは両方のフローの方向でレート制限を再利用できます。
rule-set-1
rule-1A
クライアントとサーバー間の制限-1
サーバーとクライアント間の制限-1
ルール-1B
クライアントとサーバー間の制限-1
サーバーとクライアント間の制限-1
複数のルール セットで同じプロファイルが必要な場合は、同じプロファイルを指定して十分なレート 制限子数を指定する必要 bandwidth-limit
があります burst-size-limit
。次の例で示す 2 つのルール セットは、比較可能な異なるレート制限を割り当て、同じプロファイルを実装しています。
ルールセット2
ルール2A
client-to-server limiter-2
サーバーとクライアント間の制限-2
rule-2B
client-to-server limiter-2
サーバーとクライアント間の制限-4
rule-set-3
ルール3A
クライアントからサーバーへの制限-3
サーバーとクライアント間の制限-3
rule-3B
クライアントからサーバーへの制限-3
サーバーとクライアント間の制限-5
転送クラス、DSCP 値、損失の優先度を設定するのと同じ方法で、 コマンドを使用してレート 制限 edit class-of-service application-traffic-control rule-sets
を適用します。
[edit class-of-service] user@host# set application-traffic-control rule-sets rule-set-name rule rule-name1 then rate-limit client-to-server rate-limiter1 server-to-client rate-limiter2
AppQoS とファイアウォール フィルターベースのレート制限の両方がエグレス PIC に実装されている場合は、両方とも考慮されます。AppQoS レート制限が最初に考慮されます。ファイアウォール フィルターベースのレート制限は、その後発生します。
パケットがPICからドロップされた場合、デバイスはクライアントまたはサーバーに通知を送信しません。クライアント上の上位レベルのアプリケーションとサーバー デバイスは、再送とエラー処理を実行します。
レート制限アクション
セキュリティ デバイスのタイプに基づいて、AppQoS ルールはさまざまなレート制限アクションで設定できます。
破棄
このオプションを選択すると、プロファイル外パケットがドロップされるばかりです。
これはデフォルトのアクション タイプで、設定する必要はありません。
このオプションは、すべてのデバイスSRX シリーズサポートされています。
損失の優先度が高い
このオプションを選択すると、損失の優先度が最大に高くなります。つまり、遅延ドロップです。つまり、破棄の決定はエグレス出力キュー レベルで行います。輻輳がない場合は、最大損失の優先度を持つトラフィックが許可されます。しかし、輻輳が発生すると、最も損失の優先度の高いパケットが最初にドロップされます。
このオプションは、次のコマンドを使用して AppQoS ルール内で設定する必要があります(デフォルト アクションをオーバーライドするには)。
[edit] user@host# set class-of-service application-traffic-control rule-sets rset-01 rule r1 then rate-limit loss-priority-high
このオプションは、デバイスSRX300 SRX340、SRX345のSRX320でのみサポートされています。
AppQoS セキュリティ ポリシーの設定
AppQoS ルール セットは、既存のポリシーまたは特定のアプリケーション ポリシーに実装できます。
[edit security policies from-zone zone-name to-zone zone-name]
user@host# set policy policy-name match source-address IP-address
user@host# set policy policy-name match destination-address IP-address
user@host# set policy policy-name match application application-name application-name
user@host# set policy policy-name then permit application-services application-traffic-control rule-set app-rule-set-name
詳細については、
例: アプリケーションサービス品質の設定
この例では、ポリシー内で AppQoS の prioritization とレート制限を有効にする方法を示しています。
要件
この機能を設定する前に、デバイス初期化以外の特別な設定を行う必要はありません。
概要
この例では、AppQoS が実装され、FTP アプリケーションが指定スループットを下回るレベルに制限され、他のアプリケーションは従来の速度と損失の優先レベルで送信されます。
構成
手順
この例を迅速に設定するには、以下のコマンドをコピーして、テキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致する必要がある詳細情報を変更してから、 [edit] 階層レベルでコマンドを CLI にコピー アンド ペーストします。
set class-of-service forwarding-classes queue 4 my-app-fc set class-of-service application-traffic-control rate-limiters test-rl bandwidth-limit 100 set class-of-service application-traffic-control rate-limiters test-rl burst-size-limit 13000 set class-of-service application-traffic-control rate-limiters test-r2 bandwidth-limit 200 set class-of-service application-traffic-control rate-limiters test-r2 burst-size-limit 26000 set class-of-service application-traffic-control rule-sets app-test1 rule 0 match application junos:FTP set class-of-service application-traffic-control rule-sets app-test1 rule 0 match application junos:HTTP set class-of-service application-traffic-control rule-sets app-test1 rule 0 then forwarding-class my-app-fc set class-of-service application-traffic-control rule-sets app-test1 rule 0 then dscp-code-point af22 set class-of-service application-traffic-control rule-sets app-test1 rule 0 then loss-priority low set class-of-service application-traffic-control rule-sets app-test1 rule 0 then rate-limit client-to-server test-r2 set class-of-service application-traffic-control rule-sets app-test1 rule 0 then rate-limit server-to-client test-r2 set class-of-service application-traffic-control rule-sets app-test1 rule 0 then log set class-of-service application-traffic-control rule-sets app-test1 rule 1 match application-any set class-of-service application-traffic-control rule-sets app-test1 rule 1 then rate-limit client-to-server test-r2 set class-of-service application-traffic-control rule-sets app-test1 rule 1 then rate-limit server-to-client test-r2 set class-of-service application-traffic-control rule-sets app-test1 rule 1 then log set security policies from-zone trust to-zone untrust policy p1 match source-address any set security policies from-zone trust to-zone untrust policy p1 match destination-address any set security policies from-zone trust to-zone untrust policy p1 match application any set security policies from-zone trust to-zone untrust policy p1 then permit application-services application-traffic-control rule-set ftp-test1
手順
セキュリティ デバイスで AppQoS を設定するには、次の手順に示します。
-
AppQoS マーキング専用の 1 つ以上の転送クラスを定義します。この例では、単一の転送クラス my-app-fc が定義され、キューに割り当てられます 4。
[edit] user@host# set class-of-service forwarding-classes queue 4 my-app-fc
デバイスSRX5400、SRX5600、SRX5800、 コマンドを使用
set class-of-service forwarding-classes class my-app-fc queue 4
します。ジュニパーネットワークスデバイスは、8つのキュー(0~7)をサポートしています。デフォルトのキュー0~3は、デフォルトの転送クラスに割り当てられます。キュー 4~7 は、FCS へのデフォルトの割り当てではなく、マッピングされません。4~7 のキューを使用するには、カスタム プロファイル名FCしてキューにマップする必要があります。詳細については、「 転送クラスの 概要 」 を参照してください。
レート制限を定義します。この例では、2 つのレート制限を定義しています。
[edit] user@host# set class-of-service application-traffic-control rate-limiters test-rl bandwidth-limit 100 user@host# set class-of-service application-traffic-control rate-limiters test-rl burst-size-limit 13000 user@host# set class-of-service application-traffic-control rate-limiters test-r2 bandwidth-limit 200 user@host# set class-of-service application-traffic-control rate-limiters test-r2 burst-size-limit 26000
SRX5400、SRX5600、SRX5800の各デバイスでは、デバイスに最大1,000のレート制限を定義できますが、16のプロファイルのみ(固有の帯域幅制限とバーストサイズ制限の組み合わせ)を定義できます。
-
AppQos ルールとアプリケーションの一致条件を定義します。
[edit] user@host# set class-of-service application-traffic-control rule-sets app-test1 rule 0 match application junos:FTP user@host# set class-of-service application-traffic-control rule-sets app-test1 rule 0 match application junos:HTTP user@host# set class-of-service application-traffic-control rule-sets app-test1 rule 0 then forwarding-class my-app-fc user@host# set class-of-service application-traffic-control rule-sets app-test1 rule 0 then dscp-code-point af22 user@host# set class-of-service application-traffic-control rule-sets app-test1 rule 0 then loss-priority low user@host# set class-of-service application-traffic-control rule-sets app-test1 rule 0 then rate-limit client-to-server test-r1 user@host# set class-of-service application-traffic-control rule-sets app-test1 rule 0 then rate-limit server-to-client test-r1 user@host# set class-of-service application-traffic-control rule-sets app-test1 rule 0 then log
この例で一致が行われると、パケットは転送クラス my-app-fc、af22 の DSCP 値、損失の優先度が低いとしてマークされます。両方の方向に同じレート制限を割り当てしました。
単一のルール内の 1 つのトラフィック方向または両方のトラフィック方向にレート制限を割り当てできます。ルール セット内の他のルールに同じレート制限を割り当てすることもできます。ただし、異なるルール セットに同じレート制限を割り当てすることはできません。
-
前のルールと一致しないアプリケーション パケットを処理する別のルールを定義します。この例では、2 つ目のルールと最後のルールが、残っているすべてのアプリケーションに適用されます。
[edit] user@host# set class-of-service application-traffic-control rule-sets app-test1 rule 1 match application-any user@host# set class-of-service application-traffic-control rule-sets app-test1 rule 1 then rate-limit client-to-server test-r2 user@host# set class-of-service application-traffic-control rule-sets app-test1 rule 1 then rate-limit server-to-client test-r2 user@host# set class-of-service application-traffic-control rule-sets app-test1 rule 1 then log
-
AppQoS 設定をセキュリティ ポリシーに追加します。
[edit] user@host# set security policies from-zone trust to-zone untrust policy p1 match source-address any user@host# set security policies from-zone trust to-zone untrust policy p1 match destination-address any user@host# set security policies from-zone trust to-zone untrust policy p1 match application any user@host# set security policies from-zone trust to-zone untrust policy p1 then permit application-services application-traffic-control rule-set app-test1
結果
設定モードから、 および コマンドを入力してポリシー設定 show security policies
を確認 show class-of-service
します。出力結果に意図した設定結果が表示されない場合は、この例の手順を繰り返して設定を修正します。
簡単に言えば、この show
コマンド出力には、この例に関連する設定のみ含まれています。システム上のその他の構成は、入れ替え(... )
... policy p1 { match { source-address any; destination-address any; application any; } then { permit { application-services { application-traffic-control { rule-set app-test1 } } } } } ...
user@host# show class-of-service forwarding-classes { queue 4 my-app-fc; } application-traffic-control { rate-limiters test-rl { bandwidth-limit 100; burst-size-limit 13000; } rate-limiters test-r2 { bandwidth-limit 200; burst-size-limit 26000; } rule-sets app-test1 { rule 0 { match { application [junos:FTP junos:HTTP]; } then { forwarding-class my-app-fc; dscp-code-point af22; loss-priority low; rate-limit { client-to-server test-r2; server-to-client test-r2; } log; } } rule 1 { match { application-any; } then { rate-limit { client-to-server test-r2; server-to-client test-r2; } log; } } } }
デバイスの設定が完了したら、設定モード commit
から を入力します。
検証
設定が正常に機能されていることを確認します。
フロー セッション設定の検証
目的
AppQoS が有効になっているか検証します。
アクション
動作モードから コマンドを入力 show security flow session application-traffic-control extensive
します。
user@host> show security flow session application-traffic-control extensive Session ID: 3729, Status: Normal, State: Active Flag: 0x40 Policy name: p1 Source NAT pool: Null Dynamic application: junos:FTP Application traffic control rule-set: app-test1, Rule: rule0 Maximum timeout: 300, Current timeout: 276 Session State: Valid Start time: 18292, Duration: 603536 In: 192.0.2.1/1 --> 203.0.113.0/1;pim, Interface: reth1.0, Session token: 0x1c0, Flag: 0x0x21 Route: 0x0, Gateway: 192.0.2.4, Tunnel: 0 Port sequence: 0, FIN sequence: 0, FIN state: 0, Pkts: 21043, Bytes: 1136322 Out: 203.0.113.0/1 --> 192.0.2.0/1;pim, Interface: .local..0, Session token: 0x80, Flag: 0x0x30 Route: 0xfffd0000, Gateway: 192.0.2.0, Tunnel: 0 Port sequence: 0, FIN sequence: 0, FIN state: 0, Pkts: 0, Bytes: 0
意味
アプリケーション トラフィック制御のエントリーは、現在のセッションのルール セットとルールを識別します。
セッション統計の検証
目的
AppQoS セッション統計情報が各エグレス ノードで蓄積されているのを検証します。
アクション
動作モードから コマンドを入力 show class-of-service application-traffic-control counter
します。
user@host> show class-of-service application-traffic-control counter pic: 2/1 Counter type Value Sessions processed 300 Sessions marked 200 Sessions honored 0 Sessions rate limited 100 Client-to-server flows rate limited 100 Server-to-client flows rate limited 100 pic: 2/0 Counter type Value Sessions processed 400 Sessions marked 300 Sessions honored 0 Sessions rate limited 200 Client-to-server flows rate limited 200 Server-to-client flows rate limited 200
意味
AppQoS の統計は、アプリケーション トラフィック制御サービスが有効になっている場合にのみ維持されます。処理、マーク、および表彰されたセッション数は、設定済みの AppQoS 機能に基づいてセッションが指示されていることを示しています。レート制限統計情報では、レートが制限されている指向性セッション フローの数をカウントします。
レート制限統計情報の検証
目的
FTP アプリケーションが検出された場合、予想通り帯域幅が制限されているのを検証します。
アクション
動作モードから コマンドを入力 show class-of-service application-traffic-control statistics rate-limiter
します。
user@host> show class-of-service application-traffic-control statistics rate-limiter pic: 2/1 Ruleset Application Client-to-server Rate(kbps) Server-to-client Rate(kbps) app-test1 HTTP test-r2 200 test-r2 200 app-test1 HTTP test-r2 200 test-r2 200 appp–test1 FTP test-r1 100 test-r1 100
意味
各PICのリアルタイムアプリケーション帯域幅制限情報がルールセット別に表示されます。このコマンドは、レート制限されているアプリケーションと適用されているプロファイルを示します。
ルール統計情報の検証
目的
ルールがルールの統計と一致検証します。
アクション
動作モードから コマンドを入力 show class-of-service application-traffic-control statistics rule
します。
user@host>show class-of-service application-traffic-control statistics rule pic: 2/1 Ruleset Rule Hits app-test1 0 100 app-test1 1 200 ... pic: 2/0 Ruleset Rule Hits app-test1 0 100 app-test1 1 200
意味
このコマンドは、各ルール セットのルールに対する(セッション)ヒット数に関する情報を提供します。
統合ポリシーに対応したアプリケーションサービス品質のサポート
Junos OS リリース 18.2R1 から、SRX シリーズ デバイスと vSRX インスタンスは統一されたポリシーをサポートし、従来のセキュリティ ポリシー内で動的なレイヤー 7 アプリケーションをきめ細かく制御し、適用できます。
統合ポリシーは、動的アプリケーションを既存の 5 要素または 6 要素(ユーザー ファイアウォールを使用して 5 要素)の一致条件の一部として使用し、時間のとともにアプリケーションの変更を検出できるセキュリティ ポリシーです。
アプリケーション サービス品質 ポリシー(AppQoS)は、セキュリティ デバイスが統一ポリシーで設定されている場合にサポートされます。複数のセキュリティ ポリシーがトラフィックと一致する場合に、統合ポリシーの競合を管理するために、デフォルトの AppQoS ルール セットを設定できます。
AppQoS ルール セットは、統合ポリシーに含まれており、アプリケーション認識型のサービス品質制御を実装します。オプションの下でルールセットを設定し、AppQoSルールセットをアプリケーションサービスとして統合セキュリティポリシー application-traffic-control
に追加できます。トラフィックが指定された動的アプリケーションと一致し、ポリシー アクションが許可されている場合は、アプリケーション認識型インターフェイスサービス品質されます。
統一されたポリシーで、以下の AppQoS 機能に注意してください。
従来のセキュリティ ポリシーから統合ポリシーへのアップグレード — 統合ポリシーでオプションをとして設定すると、セキュリティ ポリシーと一致する AppQoS ルール セットが適用され
dynamic-application
、AppQoS は識別されたトラフィックに対応するルールを検索します。none
これは、リリース リリース以前のリリースの appQoS 機能Junos OSと同じ動作18.2R1。統合ポリシーを使用する AppQoS ルール — アプリケーション トラフィック制御の設定では、AppQoS ルール セットは、統一ポリシーと同じ一致条件で設定され、特定の動的アプリケーションが一致条件として使用され、AppQoS 機能は統合ポリシー内のルールに従って機能します。
application-any
- 統合ポリシーに対するデフォルトのアプリケーションサービス品質ルール セットについて
- さまざまなシナリオで設定されたデフォルトのアプリケーションサービス品質ルール
- 統合ポリシーによる AppQoS の制限
統合ポリシーに対するデフォルトのアプリケーションサービス品質ルール セットについて
AppQoS のデフォルト ルール セットを設定して、セキュリティ ポリシーの競合を管理できます。
最初のポリシー ルックアップ フェーズは、動的アプリケーションを識別する前に実行されます。潜在的なポリシー リストに異なる AppQoS ルール セットが含まれている複数のポリシーが存在する場合、セキュリティ デバイスは、より明示的な一致が発生するまで、デフォルトの AppQoS ルール セットを適用します。
AppQoS は、階層レベルでデフォルトの AppQoS ルール セットとして edit security ngfw
設定できます。デフォルトの AppQoS ルール セットは、階層レベルで設定されている既存の AppQoS ルール セットの 1 つから [edit class-of-service application-traffic-control]
利用されます。
表 2 は 、統合ポリシーでさまざまなシナリオで設定されたデフォルトの AppQoS ルールの使用状況をまとめた形式です。
アプリケーション識別ステータス |
AppQoS ルール セットの使用状況 |
アクション |
---|---|---|
セキュリティ ポリシーの競合はありません。 |
トラフィックがセキュリティ ポリシーと一致すると、 [ ] 階層の下の AppQoS ルール |
AppQoS は、AppQoS ルール セットとして適用されます。 |
セキュリティ ポリシーの競合と競合するポリシーには、AppQoS ルール セットが 1 つ異なります。 |
デフォルトの AppQoS ルール セットは設定されていません。または見つかりません。 |
デフォルトの AppQoS プロファイルが設定されていないため、セッションは無視されます。 その結果、ポリシー競合シナリオで最後に一致したポリシーに AppQoS ルール セットが設定されている場合でも、このルール セットは適用されません。デフォルトの AppQoS ルール セットを設定して、セキュリティ ポリシーの競合を管理することをお勧めします。 |
デフォルトの AppQoS ルール セットが設定されています。 |
AppQoS は、デフォルトの AppQoS ルール セットとして適用されます。 |
|
最終アプリケーションの特定 |
一致するセキュリティ ポリシーには、AppQoS ルール セットが設定されています。これは、デフォルトの AppQoS ルール セットと同じです。 |
AppQoS は、デフォルトの AppQoS ルール セットとして適用されます。 |
一致するセキュリティ ポリシーには、AppQoS ルールが設定されていない。 |
デフォルトの AppQoS ルール セットは適用されません。また、セッションには AppQoS は適用されません。 |
|
一致するセキュリティ ポリシーには、すでに適用されているデフォルトの AppQoS ルール セットとは異なる AppQoS ルール セットが設定されています。 |
AppQoS ルール セットはデフォルトの AppQoS ルール セットとして残ります。 |
トラフィックにデフォルトの AppQoS ルール セットが適用され、最終的なセキュリティ ポリシーに異なる AppQoS ルール セットが適用されている場合は、デフォルトの AppQoS ルール セットから最終的なセキュリティ ポリシーに設定された AppQoS ルールへの切り替えはサポートされていません。
さまざまなシナリオで設定されたデフォルトのアプリケーションサービス品質ルール
次のリンクは、さまざまなシナリオでデフォルトの AppQoS ルール セットを説明する例です。
表 3 は、動的アプリケーションを一致条件として使用する統合ポリシー用に設定されたさまざまな AppQoS ルール セットを示しています。
セキュリティ ポリシー |
ソース ゾーン |
送信元 IP アドレス |
宛先ゾーン |
宛先 IP アドレス |
ポート番号 |
プロトコル |
動的なアプリケーション |
サービス |
AppQoS ルール セット |
---|---|---|---|---|---|---|---|---|---|
Policy-P1 |
S1 |
50.1.1.1 |
D1 |
任意 |
任意 |
任意 |
AppQoS |
AppQoS-1 |
|
Policy-P2 |
S1 |
50.1.1.1 |
D1 |
任意 |
任意 |
任意 |
AppQoS |
AppQoS-2 |
|
Policy-P3 |
S1 |
50.1.1.1 |
D1 |
任意 |
任意 |
任意 |
Youtube |
AppQoS |
AppQoS-3 |
この例では、AppQoS ルール セット(AppQoS-1、AppQoS-2、AppQoS-3)を、階層レベルの下でデフォルトの AppQoS ルール セットとして設定 [security ngfw]
できます。デフォルト ルールセットがセキュリティ ポリシー設定の一部である必要はありません。階層レベルの下で設定された AppQoS ルールは、デフォルトの [edit class-of-service application-traffic-control]
AppQoS ルール セットとして割り当てることができます。
- ポリシーの競合なし — すべてのポリシーに同じ AppQoS ルール セットが適用される
- ポリシーの競合なし — すべてのポリシーに同じ AppQoS ルール セットが設定され、最終的なポリシーに AppQoS ルール セットはありません。
- ポリシーの競合 - 最終的なポリシーに対して AppQoS ルール セットが設定されていない
- ポリシーの競合 — 最終的なポリシーに対するデフォルトの AppQoS ルール セットとさまざまな AppQoS ルール セット
ポリシーの競合なし — すべてのポリシーに同じ AppQoS ルール セットが適用される
すべての一致するポリシーには、表 4 に示すのと同じ AppQoS ルール が設定されています。
セキュリティ ポリシー |
ソース ゾーン |
送信元 IP アドレス |
宛先ゾーン |
宛先 IP アドレス |
ポート番号 |
プロトコル |
動的アプリケーション |
サービス |
AppQoS ルール セット |
---|---|---|---|---|---|---|---|---|---|
Policy-P1 |
S1 |
任意 |
D1 |
任意 |
任意 |
任意 |
AppQoS |
AppQoS-1 |
|
Policy-P2 |
S1 |
任意 |
D1 |
任意 |
任意 |
任意 |
AppQoS |
AppQoS-1 |
このシナリオでは、ポリシー Policy-P1 と Policy-P2 には同じ AppQoS ルール セットがあります。AppQoS-1ですルール セット AppQoS-1 が適用されます。このシナリオでは、Policy-P3 は設定されていません。
デフォルトのルール セットとして AppQoS-2 を設定した場合、そのルールは適用されません。これは、競合するポリシー(Policy-P1 および Policy-P2)内の AppQoS ルール セットに競合はないためです。
ポリシーの競合なし — すべてのポリシーに同じ AppQoS ルール セットが設定され、最終的なポリシーに AppQoS ルール セットはありません。
すべての一致するポリシーには、表 5 に示すのと同じ AppQoS ルールが設定されています。最後のポリシーには AppQoS ルールが設定されません。
セキュリティ ポリシー |
ソース ゾーン |
送信元 IP アドレス |
宛先ゾーン |
宛先 IP アドレス |
ポート番号 |
プロトコル |
動的アプリケーション |
サービス |
AppQoS ルール セット |
---|---|---|---|---|---|---|---|---|---|
Policy-P1 |
S1 |
任意 |
D1 |
任意 |
任意 |
任意 |
AppQoS |
AppQoS-1 |
|
Policy-P2 |
S1 |
任意 |
D1 |
任意 |
任意 |
任意 |
AppQoS |
AppQoS-1 |
|
Policy-P3 |
S1 |
50.1.1.1 |
D1 |
任意 |
任意 |
任意 |
Youtube |
他 |
なし |
このシナリオでは、Policy-P1 と Policy-P2 の両方で、AppQoS ルール セット(AppQoS-1)が同じになります。この場合、ルール セット AppQoS-1 が適用されます。
最終的なポリシー Policy-P3 が一致すると、AppQoS ルール セットが Policy-P3 に対して設定されていないため、AppQoS はセッションを無視します。
最終的なセキュリティ ポリシーに AppQoS ルールが設定されていない場合、AppQoS はトラフィックに適用されません。前パッチ ステージに適用された AppQoS 設定はすべて、元の値に戻ります。
ポリシーの競合 - 最終的なポリシーに対して AppQoS ルール セットが設定されていない
表 6 に示すように、デフォルトの AppQoS ルール セット(このシナリオでは AppQoS-1)が、潜在的なポリシーの一致時に 適用されます。最後のポリシー Policy-P3 には、AppQoS ルールセットはありません。
セキュリティ ポリシー |
ソース ゾーン |
送信元 IP アドレス |
宛先ゾーン |
宛先 IP アドレス |
ポート番号 |
プロトコル |
動的アプリケーション |
サービス |
AppQoS ルール セット |
---|---|---|---|---|---|---|---|---|---|
Policy-P1 |
S1 |
50.1.1.1 |
D1 |
任意 |
任意 |
任意 |
AppQoS |
AppQoS-1 |
|
Policy-P2 |
S1 |
50.1.1.1 |
D1 |
任意 |
任意 |
任意 |
AppQoS |
AppQoS-2 |
|
Policy-P3 |
S1 |
50.1.1.1 |
D1 |
任意 |
任意 |
任意 |
Youtube |
他 |
NA |
最終的に一致するポリシー Policy-P3 が適用された場合、AppQoS はセッションを無視します。
最終的なセキュリティ ポリシーに AppQoS ルールが設定されていない場合、AppQoS はトラフィックに適用されません。この場合、前パッチ ステージに適用された AppQoS 設定はすべて元の値に戻ります。
ポリシーの競合 — 最終的なポリシーに対するデフォルトの AppQoS ルール セットと別の AppQoS ルール セット
ルール セット AppQoS-1 はデフォルトのルール セットとして設定され、最終アプリケーションがまだ識別されていない場合に適用されます。最後のポリシー Policy-P3 では、表 7 に示すように、AppQoS ルール セット(AppQoS-3)が 異なります。
セキュリティ ポリシー |
ソース ゾーン |
送信元 IP アドレス |
宛先ゾーン |
宛先 IP アドレス |
ポート番号 |
プロトコル |
動的なアプリケーション |
サービス |
AppQoS ルール セット |
---|---|---|---|---|---|---|---|---|---|
Policy-P1 |
S1 |
50.1.1.1 |
D1 |
任意 |
任意 |
任意 |
AppQoS |
AppQoS-1 |
|
Policy-P2 |
S1 |
50.1.1.1 |
D1 |
任意 |
任意 |
任意 |
AppQoS |
AppQoS-2 |
|
Policy-P3 |
S1 |
50.1.1.1 |
D1 |
任意 |
任意 |
任意 |
Youtube |
AppQoS |
AppQoS-3 |
最後のアプリケーションが識別されると、ポリシー Policy-P3 が一致して適用されます。この場合、ルール セット AppQoS-3 は適用されません。代わりにルール セットの AppQoS-1 がデフォルトのルール セットとして適用され、デフォルトのルール セットとして残ります。
統合ポリシーによる AppQoS の制限
セキュリティー ポリシーが一致するトラフィックに適用されると、AppQoS ルール セットが許可されたトラフィックに適用されます。セキュリティ ポリシーと適用された AppQoS ルール セットに異なる動的アプリケーションがある場合は、次の例に示すように競合が発生する可能性があります。
user@host#
set class-of-service application-traffic-control rule-sets AQ2 rule 1 match application junos:GOOGLEuser@host#
set class-of-service application-traffic-control rule-sets AQ2 rule 1 then forwarding-class network-controluser@host#
set class-of-service application-traffic-control rule-sets AQ2 rule 1 then dscp-code-point 110001user@host#
set class-of-service application-traffic-control rule-sets AQ2 rule 1 then loss-priority high
user@host#
set security policies from-zone trust to-zone untrust policy 1 match source-address anyuser@host#
set security policies from-zone trust to-zone untrust policy 1 match destination-address anyuser@host#
set security policies from-zone trust to-zone untrust policy 1 match application anyuser@host#
set security policies from-zone trust to-zone untrust policy 1 match dynamic-application junos:FTPuser@host#
set security policies from-zone trust to-zone untrust policy 1 then permit application-services application-traffic-control rule-set AQ2
この例では、アプリケーション トラフィック制御ルールが junos:GOOGLE に設定され、動的アプリケーションのセキュリティ ポリシーの一致条件は junos: FTP です。このような場合は、最終的なポリシーを適用するときに競合が発生する可能性があります。
詳細については、
例: 統合ポリシーを使用したアプリケーション サービス品質の設定
この例では、統合ポリシー内でアプリケーション サービス品質(AppQoS)を有効にし、トラフィックに対する prioritizationとレート制限を提供する方法を示しています。
要件
この例では、次のハードウェアとソフトウェアのコンポーネントを使用しています。
SRX シリーズを実行しているJunos OSのデバイス18.2R1を変更できます。この設定例は、リリースリリースで使用Junos OSテスト18.2R1。
この機能を設定する前に、デバイス初期化以外の特別な設定を行う必要はありません。
概要
この例では、AppQoSルールセットを設定し、FacebookアプリケーションのセキュリティポリシーでアプリケーションサービスとしてAppQoSを呼び出します。
[ ] 階層レベルの下でデフォルトの AppQoS ルール セットを定義し、セキュリティー ポリシーの競合(もし問題がある場合) edit security ngfw
を管理します。
構成
手順
手順
統合ポリシーを使用して AppQoS を設定するには、以下の手順に示します。
AppQoS ルール セットを定義します。
[edit] user@host# set class-of-service application-traffic-control rule-sets RS1 rule 1 match application junos:FACEBOOK-APP user@host# set class-of-service application-traffic-control rule-sets RS1 rule 1 then forwarding-class fc-appqos loss-priority medium-low dscp-code-point 101110 log user@host# set class-of-service application-traffic-control rule-sets RS1 rule 1 then rate-limit client-to-server Ratelimit1 user@host# set class-of-service application-traffic-control rate-limiters Ratelimit1 bandwidth-limit 1000
デフォルトの AppQoS ルール セットを設定します。アプリケーション トラフィック制御の
RS1
下にデフォルトの AppQoS ルール セットとして作成されるルール セットを選択します。[edit] user@host# set security ngfw default-profile application-traffic-control rule-set RS1
サービス クラス ルール セットを統合ポリシーに関連付ける。
[edit] user@host# set security policies from-zone untrust to-zone trust policy from_internet match source-address any user@host# set security policies from-zone untrust to-zone trust policy from_internet match destination-address any user@host# set security policies from-zone untrust to-zone trust policy from_internet match application any user@host# set security policies from-zone untrust to-zone trust policy from_internet match dynamic-application junos:FACEBOOK-APP user@host# set security policies from-zone untrust to-zone trust policy from_internet then permit application-services application-traffic-control rule-set RS1
結果
設定モードから、 コマンドを入力してポリシー設定を確認 show security policies
します。出力結果に意図した設定結果が表示されない場合は、この例の手順を繰り返して設定を修正します。
簡単に言えば、この show
コマンド出力には、この例に関連する設定のみ含まれています。システム上のその他の構成は、入れ替え(... )
... policies { from-zone trust to-zone untrust { policy permit-all { match { source-address any; destination-address any; application any; dynamic-application junos:FACEBOOK-APP; } then { permit { application-services { application-traffic-control { rule-set RS1; } } } } } } } ...
ngfw { default-profile { application-traffic-control { rule-set RS1; } } }
デバイスの設定が完了したら、設定モード commit
から を入力します。
検証
設定が正常に機能されていることを確認します。
フロー セッション設定の検証
目的
AppQoSセッション統計情報を表示します。
アクション
動作モードから コマンドを入力 show class-of-service application-traffic-control counter
します。
出力例
command-name
pic: 0/0 Counter type Value Sessions processed 2 Sessions marked 1 Sessions honored 1 Sessions rate limited 1 Client-to-server flows rate limited 0 Server-to-client flows rate limited 1 Session default ruleset hit 1 Session ignored no default ruleset 1
意味
出力には、処理、マーク、および表彰されたセッション数が表示されます。レート制限統計情報では、レートが制限されている指向性セッション フローの数をカウントします。
ルール統計情報の検証
目的
AppQoSルールの統計情報を表示します。
アクション
動作モードから コマンドを入力 show class-of-service application-traffic-control statistics rule
します。
user@host>
show class-of-service application-traffic-control statistics rule
pic: 0/0
Ruleset Rule Hits
RS1 1 1
意味
出力には、各 AppQoS ルール セットの下でルールと一致するセッション数に関する情報が提供されます。