GTPv1 メッセージ フィルターの概要
message-length フィルターや message-type フィルターなどの GTPv1 メッセージ フィルターについて説明します。このトピックでは、デバイスがどのように GTP パケットを処理し、インスペクション ポリシーを適用し、セキュリティ ルールを適用するかについて説明します。
GTP パケットには、メッセージ本文と GTP、UDP、および IP ヘッダーが含まれています。GTP パケットは、GTP メッセージ フィルターに基づいて通過または破棄されます。GTP メッセージは、message-length と message-type に基づいてフィルタリングされます。
GTPメッセージフィルタリングについて
デバイスが GPRS トンネリング プロトコル(GTP)パケットを受信すると、デバイスに設定されたポリシーと照らし合わせてパケットをチェックします。パケットがポリシーに一致する場合、デバイスはポリシーに適用されている GTP 設定に従ってパケットを検査します。パケットが GTP 設定パラメータのいずれかを満たさない場合、デバイスは GTP インスペクション オブジェクトの設定に基づいてパケットを通過またはドロップします。
GTP パケットは、メッセージ本文と 3 つのヘッダー(GTP、UDP、IP)で構成されています。結果として得られる IP パケットが転送リンクの最大送信単位(MTU)よりも大きい場合、送信側サービング GPRS サポート ノード(SGSN)またはゲートウェイ GPRS サポート ノード(GGSN)は IP フラグメンテーションを実行します。
デフォルトでは、デバイスは完全な GTP メッセージを受信するまで IP フラグメントをバッファリングし、その後 GTP メッセージを検査します。
GTP メッセージ長フィルター
デバイスは、許容される最小または最大メッセージ長の範囲外でパケットをドロップするように設定できます。GTPヘッダーのメッセージ長フィールドは、GTP、UDP、およびIPヘッダーを除くGTPペイロードのサイズ(オクテット単位)を示します。
-
デフォルトの最小長: 0 バイト
-
既定の最大長: 65,535 バイト
GTPメッセージタイプフィルター
デバイスは、メッセージタイプに基づいてGTPパケットを許可または拒否できます。デフォルトでは、すべての GTP メッセージ タイプが許可されます。-
フィルター処理は、メッセージの種類レベルで適用されます。1 つのメッセージタイプ (例:
sgsn-context) を拒否すると、関連するすべてのメッセージ (request, response, acknowledge) が拒否されます。 -
メッセージタイプのフィルタリングは、GTPのバージョンによって異なる場合があります。たとえば、あるバージョンでは拒否されても、別のバージョンでは許可される型があります。
例:GTP メッセージ長フィルタリングの設定
この例では、GTP メッセージ長の設定方法を示しています。
必要条件
この機能を設定する前に、デバイス初期化以外の特別な設定を行う必要はありません。
概要
この例では、GTP インスペクション オブジェクトに対して、GTP メッセージの最小長を 8 オクテットに、GTP メッセージの最大長を 1200 オクテットに設定します。
構成
プロシージャ
手順
GTP メッセージの長さを設定するには:
GTP プロファイルを指定します。
[edit] user@host# set security gprs gtp profile gtp1
最小メッセージ長を指定します。
[edit] user@host# set security gprs gtp profile gtp1 min-message-length 8
メッセージの最大長を指定します。
[edit] user@host# set security gprs gtp profile gtp1 max-message-length 1200
デバイスの設定が完了したら、設定をコミットします。
[edit] user@host# commit
検証
設定が正常に機能していることを確認するには、 show security gprs コマンドを入力します。
サポートされる GTP メッセージ タイプ
表 1 は、GTP リリース 1997 および 1999 でサポートされる GTP メッセージ(GTP の課金メッセージを含む)と、GTP メッセージ タイプ フィルタリングの設定に使用できるメッセージ タイプを示しています。
メッセージ |
メッセージの種類 |
バージョン 0 |
バージョン1 |
|---|---|---|---|
AA PDP コンテキスト要求の作成 |
create-aa-pdp |
b |
|
AA PDP コンテキスト応答の作成 |
create-aa-pdp |
b |
|
PDPコンテキスト要求の作成 |
作成-pdp |
b |
b |
PDPコンテキストレスポンスの作成 |
作成-pdp |
b |
b |
データ・レコード要求 |
データレコード |
b |
b |
データ・レコード応答 |
データレコード |
b |
b |
AA PDP コンテキスト要求の削除 |
削除-aa-pdp |
b |
|
AA PDP コンテキスト応答の削除 |
削除-aa-pdp |
b |
|
PDPコンテキスト削除要求 |
削除-pdp |
b |
b |
PDPコンテキストレスポンスの削除 |
削除-pdp |
b |
b |
エコー要求 |
エコー |
b |
b |
エコー応答 |
エコー |
b |
b |
エラー表示 |
エラー表示 |
b |
b |
失敗レポート要求 |
障害報告 |
b |
b |
失敗レポートの応答 |
障害報告 |
b |
b |
転送移動要求 |
FWD移転 |
b |
b |
前方再配置の対応 |
FWD移転 |
b |
b |
転送再配置が完了しました |
FWD移転 |
b |
b |
転送再配置完了確認 |
FWD移転 |
b |
b |
転送SRNSコンテキスト |
fwd-srns-コンテキスト |
b |
b |
転送SRNSコンテキスト確認 |
fwd-srns-コンテキスト |
b |
b |
識別要求 |
識別 |
b |
b |
識別応答 |
識別 |
b |
b |
ノードアライブリクエスト |
ノードアライブ |
b |
b |
ノードアライブ応答 |
ノードアライブ |
b |
b |
注:MS GPRS提示要求 |
メモ-ms-present |
b |
b |
注:MS GPRSは応答を提示します |
メモ-ms-present |
b |
b |
PDU 通知要求 |
PDU通知 |
b |
b |
PDU 通知の応答 |
PDU通知 |
b |
b |
PDU 通知拒否要求 |
PDU通知 |
b |
b |
PDU 通知拒否応答 |
PDU通知 |
b |
b |
RANインフォリレー |
蘭情報 |
b |
b |
リダイレクト要求 |
リダイレクト |
b |
b |
リダイレクト応答 |
リダイレクト |
b |
b |
移転取消依頼 |
再配置-キャンセル |
b |
b |
移転取消対応 |
再配置-キャンセル |
b |
b |
ルート情報リクエストを送信 |
送信ルート |
b |
b |
ルート情報の送信レスポンス |
送信ルート |
b |
b |
SGSN コンテキスト要求 |
sgsn コンテキスト |
b |
b |
SGSN コンテキスト応答 |
sgsn コンテキスト |
b |
b |
SGSN コンテキスト確認応答 |
sgsn コンテキスト |
b |
b |
サポートされている拡張ヘッダーの通知 |
サポートされている拡張 |
b |
b |
G-PDU |
GTP-PDU |
b |
b |
PDPコンテキスト要求の更新 |
アップデート-pdp |
b |
b |
更新された PDP コンテキスト応答 |
アップデート-pdp |
b |
b |
バージョンはサポートされていません |
バージョンサポートされていません |
b |
b |
例:GTP メッセージ タイプのフィルタリング
この例では、GTP メッセージ タイプを許可および拒否する方法を示しています。
必要条件
この機能を設定する前に、デバイス初期化以外の特別な設定を行う必要はありません。
概要
この例では、gtp1プロファイルに対して、バージョン1のerror-indicationおよびfailure-reportメッセージタイプをドロップするようにデバイスを設定します。
構成
プロシージャ
手順
GTPメッセージタイプを許可および拒否するには:
デバイスを設定します。
[edit] user@host# set security gprs gtp profile gtp1
エラー表示をドロップします。
[edit] user@host# set security gprs gtp profile gtp1 drop error-indication 1
障害報告メッセージをドロップします。
[edit] user@host# set security gprs gtp profile gtp1 drop failure-report 1
デバイスの設定が完了したら、設定をコミットします。
[edit] user@host# commit
検証
設定が正常に機能していることを確認するには、 show security gprs コマンドを入力します。
GTP 制御メッセージのレート制限について
デバイスを設定して、GPRS サポート ノード(GSN)に向かうネットワーク トラフィックのレートを制限できます。GGSN トンネリング プロトコル、制御(GTP-C)メッセージに対して、パケット数/秒で個別のしきい値を設定できます。GTP-C メッセージは処理と応答を必要とするため、GSN を圧倒する可能性があります。GTP-C メッセージにレート制限を設定することで、次のようなサービス拒否 (DoS) 攻撃の可能性から GSN を保護できます。
境界ゲートウェイの帯域幅飽和 - 公共の陸上モバイル ネットワーク(PLMN)と同じ GPRS ローミング エクスチェンジ (GRX) に接続している悪意のあるオペレーターは、境界ゲートウェイに大量のネットワーク トラフィックを転送し、正当なトラフィックが PLMN 内外の帯域幅に飢えているため、ネットワークとの間のローミング アクセスが拒否される可能性があります。
GTPフラッド:GPRSトンネリングプロトコル(GTP)トラフィックがGSNをフラッディングし、不正なデータの処理にCPUサイクルを費やすことを余儀なくされる可能性があります。これにより、加入者がローミングして外部ネットワークにデータを転送したり、General Packet Radio Service (GPRS) がネットワークに接続されたりするのを防ぐことができます。
この機能は、ジュニパーネットワークスデバイスから各GSNに送信されるトラフィックのレートを制限します。デフォルトのレートは無制限です。
GTP 制御メッセージのパス レート制限について
path-rate-limit 機能は、順方向と逆方向の両方で特定の GTP メッセージを制御します。ドロップ閾値とアラーム閾値は、1つのパスの順方向と逆方向の各制御メッセージに対して設定できます。1 つのパス上の制御メッセージがアラームしきい値に達すると、アラーム ログが生成されます。受信した制御メッセージの数がドロップしきい値に達すると、パケット ドロップ ログが生成され、後で受信したこのタイプの他のすべての制御メッセージがドロップされます。
メッセージトラフィックを順方向および逆方向に制御するには、設定されたポリシーと一致する方向を順方向として定義し、反対方向を逆方向として定義するように、デバイスにポリシーを設定します。 set security gprs gtp profile <profile-name> path-rate-limit ステートメントを使用して、パス上の特定の制御メッセージの 1 秒あたりの最大パケット数を制限します。
rate-limitオプションとpath-rate-limitオプションの両方を同時に設定できます。
Feature Explorerを使用して、特定の機能に対するプラットフォームとリリースのサポートを確認します。
プラットフォームに関連する注意事項については、「 プラットフォーム固有の GTP メッセージ レート制限動作」 セクションを参照してください。
例:GTP 制御メッセージのメッセージ レートとパス レートの制限
この例では、GTP 制御メッセージのメッセージ レートとパス レートを制限する方法を示します。 rate-limit オプションは 1 秒あたりの GTP メッセージを制限し、 path-rate-limit オプションは特定の GTP メッセージを順方向と逆方向の両方で制御します。
必要条件
この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。
Junos OS リリース 12.1X45-D10
この機能を設定する前に、デバイス初期化以外の特別な設定を行う必要はありません。
概要
この例では、受信 GTP メッセージのレートを 300 パケット/秒に制限し、GTP 制御メッセージのパス レートを順方向と逆方向の両方で制限しています。デバイスを設定して GPRS サポート ノード(GSN)に向かうネットワーク トラフィックのレートを制限し、パス上の特定の制御メッセージの 1 秒あたりまたは毎分あたりの最大パケット数を制限します。 create-req、 delete-req、および other GTPメッセージの場合、1秒あたりの最大パケット数を制限します。ただし、 echo-req GTP メッセージの場合は、1 分あたりの最大パケット数を制限します。
path-rate-limit 機能は、順方向と逆方向の両方で特定の GTP メッセージを制御します。alarm-threshold パラメーターを設定して、パス上の GTP 制御メッセージが設定された制限に達したときにアラームを発生させるようデバイスを設定します。1秒あたりまたは1分あたりのパケット数が設定された制限を超えた場合にトラフィックをドロップするようにdrop-thresholdを設定します。
構成
CLIクイック構成
この例のセクションを迅速に設定するには、以下のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit] 階層レベルで CLI にコピー アンド ペーストして、設定モードから commit を入力します。
set security gprs gtp profile gtp1 rate-limit 300 set security gprs gtp profile gtp1 path-rate-limit message-type create-req alarm-threshold forward 50 reverse 50 set security gprs gtp profile gtp1 path-rate-limit message-type delete-req alarm-threshold forward 50 reverse 50 set security gprs gtp profile gtp1 path-rate-limit message-type echo-req alarm-threshold forward 50 reverse 50 set security gprs gtp profile gtp1 path-rate-limit message-type other alarm-threshold forward 50 reverse 50 set security gprs gtp profile gtp1 path-rate-limit message-type create-req drop-threshold forward 80 reverse 80 set security gprs gtp profile gtp1 path-rate-limit message-type delete-req drop-threshold forward 80 reverse 80 set security gprs gtp profile gtp1 path-rate-limit message-type echo-req drop-threshold forward 80 reverse 80 set security gprs gtp profile gtp1 path-rate-limit message-type other drop-threshold forward 80 reverse 80
プロシージャ
手順
GTPメッセージレートとパスレート制限を設定するには:
GTP プロファイルを指定します。
[edit] user@host# set security gprs gtp profile gtp1
GTPメッセージのレート制限を設定します。
[edit security gprs gtp profile gtp1] user@host# set rate-limit 300
メッセージ タイプを指定して、GTP 制御メッセージのパス レート制限を設定します。
[edit security gprs gtp profile gtp1] user@host# set path-rate-limit message-type
GTP 制御メッセージ タイプを選択します。
[edit security gprs gtp profile gtp1] user@host# set path-rate-limit message-type create-req user@host# set path-rate-limit message-type delete-req user@host# set path-rate-limit message-type echo-req user@host# set path-rate-limit message-type other
GTP 制御メッセージ タイプのアラームしきい値を設定します。
[edit security gprs gtp profile gtp1 path-rate-limit] user@host# set message-type create-req alarm threshold user@host# set message-type delete-req alarm threshold user@host# set message-type echo-req alarm threshold user@host# set message-type other alarm threshold
順方向の制御メッセージを制限します。
[edit security gprs gtp profile gtp1 path-rate-limit message-type] user@host# set create-req alarm threshold forward 50 user@host# set delete-req alarm threshold forward 50 user@host# set echo-req alarm threshold forward 50 user@host# set other alarm threshold forward 50
逆方向の制御メッセージを制限します。
[edit security gprs gtp profile gtp1 path-rate-limit message-type] user@host# set create-req alarm threshold reverse 50 user@host# set delete-req alarm threshold reverse 50 user@host# set echo-req alarm threshold reverse 50 user@host# set other alarm threshold reverse 50
GTP 制御メッセージ タイプのドロップしきい値を設定します。
[edit security gprs gtp profile gtp1 path-rate-limit] user@host# set message-type create-req drop threshold user@host# set message-type delete-req drop threshold user@host# set message-type echo-req drop threshold user@host# set message-type other drop threshold
順方向の制御メッセージを制限します。
[edit security gprs gtp profile gtp1 path-rate-limit message-type] user@host# set create-req drop threshold forward 80 user@host# set delete-req drop threshold forward 80 user@host# set echo-req drop threshold forward 80 user@host# set other drop threshold forward 80
逆方向の制御メッセージを制限します。
[edit security gprs gtp profile gtp1 path-rate-limit message-type] user@host# set create-req drop threshold reverse 80 user@host# set delete-req drop threshold reverse 80 user@host# set echo-req drop threshold reverse 80 user@host# set other drop threshold reverse 80
業績
設定モードから、 show security gprs gtp profile profile-name コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。
[edit]
user@host# show security gprs gtp profile p1
rate-limit 300;
path-rate-limit {
message-type create-req {
drop-threshold {
forward 80;
reverse 80;
}
alarm-threshold {
forward 50;
reverse 50;
}
}
message-type delete-req {
drop-threshold {
forward 80;
reverse 80;
}
alarm-threshold {
forward 50;
reverse 50;
}
}
message-type echo-req {
drop-threshold {
forward 80;
reverse 80;
}
alarm-threshold {
forward 50;
reverse 50;
}
}
message-type other {
drop-threshold {
forward 80;
reverse 80;
}
alarm-threshold {
forward 50;
reverse 50;
}
}
}
デバイスの設定が完了したら、設定モードから commit を入力します。
検証
設定が正常に機能していることを確認します。
設定の確認
目的
GTPメッセージレートとパスレート制限の設定が正しいことを確認します。
アクション
動作モードから、 show security gprs gtp counters path-rate-limit コマンドを入力します。
Path-rate-limit counters:
Drop Alarm
Create Request 20 50
Delete Request 20 50
Echo Request 20 50
Others 20 50
意味
show security gprs gtp counters path-rate-limit コマンドは、アラームしきい値またはドロップしきい値に達してから受信したパケット数を表示します。Create Requestメッセージのalarm-threshold値を50、drop-threshold値を80に設定し、デバイスが1秒または1分で100パケットを受信した場合、ドロップ数は20になり、アラーム番号は50になります。
例:GTP シーケンス番号検証の有効化
この例では、GTP シーケンス番号検証機能を有効にする方法を示しています。
必要条件
この機能を設定する前に、デバイス初期化以外の特別な設定を行う必要はありません。
概要
この例では、gtp プロファイルを gtp1 として設定し、シーケンス番号検証機能も有効にします。
構成
プロシージャ
手順
GTP シーケンス番号検証機能を有効にするには:
GTP プロファイルを設定します。
[edit] user@host# set security gprs gtp profile gtp1
シーケンス番号の検証を有効にします。
[edit] user@host# set security gprs gtp profile gtp1 seq-number-validated
デバイスの設定が完了したら、設定をコミットします。
[edit] user@host# commit
検証
設定が正常に機能していることを確認するには、 show security gprs コマンドを入力します。
プラットフォーム固有の GTP メッセージ レート制限動作
Feature Explorerを使用して、特定の機能に対するプラットフォームとリリースのサポートを確認します。
次の表を使用して、プラットフォーム固有のストレージメディアの動作を確認します。
| プラットホーム |
差 |
|---|---|
| SRX シリーズ |
|