Cisco ASA 5500 シリーズ コンフィギュレーション ガイド(CLI を使用)
モジュラ ポリシー フレームワークを使用した サービス ポリシーの設定
モジュラ ポリシー フレームワークを使用したサービス ポリシーの設定
発行日;2012/02/01 | 英語版ドキュメント(2012/01/17 版) | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 15MB) | フィードバック

目次

モジュラ ポリシー フレームワークを使用したサービス ポリシーの設定

サービス ポリシーに関する情報

通過トラフィックでサポートされる機能

管理トラフィックでサポートされる機能

機能の方向

サービス ポリシー内の機能照合

複数の機能アクションが適用される順序

特定の機能アクションの非互換性

複数のサービス ポリシーの場合の機能照合

サービス ポリシーのライセンス要件

ガイドラインと制限事項

デフォルト設定

デフォルト コンフィギュレーション

デフォルトのクラスマップ

サービス ポリシーを設定するためのタスク フロー

モジュラ ポリシー フレームワークを使用するためのタスク フロー

QoS トラフィック シェーピング用の階層型ポリシーマップを設定するためのタスクフロー

トラフィックの特定(レイヤ 3/4 クラスマップ)

通過トラフィック用のレイヤ 3/4 クラスマップの作成

管理トラフィック用のレイヤ 3/4 クラスマップの作成

アクションの定義(レイヤ 3/4 ポリシーマップ)

インターフェイスへのアクションの適用(サービス ポリシー)

モジュラ ポリシー フレームワークのモニタリング

モジュラ ポリシー フレームワークの設定例

HTTP トラフィックへの検査と QoS ポリシングの適用

HTTP トラフィックへの検査のグローバルな適用

特定のサーバへの HTTP トラフィックに対する検査と接続制限値の適用

NAT による HTTP トラフィックへの検査の適用

サービス ポリシーの機能履歴

モジュラ ポリシー フレームワークを使用したサービス ポリシーの設定

モジュラ ポリシー フレームワークを使用したサービス ポリシーにより、一貫性のある柔軟な方法で適応型セキュリティ アプライアンスの機能を設定できます。たとえば、サービス ポリシーを使用すると、すべての TCP アプリケーションに適用されるタイムアウト コンフィギュレーションではなく、特定の TCP アプリケーションに固有のタイムアウト コンフィギュレーションを作成できます。サービス プロファイルは、インターフェイス に適用されるか、またはグローバルに適用される複数のアクションで構成されます。

この章には、次の項があります。

「サービス ポリシーに関する情報」

「サービス ポリシーのライセンス要件」

「ガイドラインと制限事項」

「デフォルト設定」

「サービス ポリシーを設定するためのタスク フロー」

「トラフィックの特定(レイヤ 3/4 クラスマップ)」

「アクションの定義(レイヤ 3/4 ポリシーマップ)」

「インターフェイスへのアクションの適用(サービス ポリシー)」

「モジュラ ポリシー フレームワークのモニタリング」

「モジュラ ポリシー フレームワークの設定例」

「サービス ポリシーの機能履歴」

サービス ポリシーに関する情報

この項では、サービス ポリシーの機能について説明します。説明する項目は次のとおりです。

「通過トラフィックでサポートされる機能」

「管理トラフィックでサポートされる機能」

「機能の方向」

「サービス ポリシー内の機能照合」

「複数の機能アクションが適用される順序」

「特定の機能アクションの非互換性」

「複数のサービス ポリシーの場合の機能照合」

通過トラフィックでサポートされる機能

表 29-1 に、モジュラ ポリシー フレームワークでサポートされる機能を示します

 

表 29-1 モジュラ ポリシー フレームワーク

機能
参照先

アプリケーション検査(複数タイプ)

「アプリケーション レイヤ プロトコル検査の準備」

「基本インターネット プロトコルの検査の設定」

「データベースとディレクトリのプロトコルの検査の設定」

「管理アプリケーション プロトコルの検査の設定」

「音声とビデオのプロトコルの検査の設定」

CSC

「CSC SSM での Content Security and Control アプリケーションの設定」

IPS

「AIP SSM と SSCでの IPS アプリケーションの設定」

NetFlow セキュア イベント ロギングのフィルタリング

「NetFlow セキュア イベント ロギング(NSEL)の設定」

QoS 入出力ポリシング

「QoS の設定」

QoS 標準プライオリティキュー

「QoS の設定」

QoS トラフィック シェーピング、階層型プライオリティキュー

「QoS の設定」

TCP と UDP の接続制限値とタイムアウト、および TCP シーケンス番号のランダム化

「接続の設定」

TCP 正規化

「接続の設定」

TCP ステート バイパス

「接続の設定」

管理トラフィックでサポートされる機能

モジュラ ポリシー フレームワークでは、管理トラフィック用に次の機能をサポートします。

RADIUS アカウンティング トラフィックのアプリケーション検査(「管理アプリケーション プロトコルの検査の設定」を参照)

接続の制限値(「接続の設定」を参照)

機能の方向

アクションは、機能に応じて双方向または単方向にトラフィックに適用されます。双方向に適用される機能の場合、トラフィックが両方向のクラスマップと一致した場合に、ポリシーマップを適用するインターフェイスを出入りするすべてのトラフィックが影響を受けます。


) グローバル ポリシーを使用する場合は、すべての機能が単方向です。単一インターフェイスに適用する場合に通常双方向の機能は、グローバルに適用される場合、各インターフェイスの入力にのみ適用されます。ポリシーはすべてのインターフェイスに適用されるため、ポリシーは両方向に適用され、この場合の双方向は冗長になります。


QoS プライオリティキューなど単方向に適用される機能の場合は、ポリシーマップを適用するインターフェイスに出入りする(機能によって異なります)トラフィックだけが影響を受けます。各機能の方向については、 表 29-2 を参照してください。

 

表 29-2 機能の方向

機能
単一インターフェイスでの方向
グローバルでの方向

アプリケーション検査(複数タイプ)

双方向

入力

CSC

双方向

入力

IPS

双方向

入力

NetFlow セキュア イベント ロギングのフィルタリング

該当なし

入力

QoS 入力ポリシング

入力

入力

QoS 出力ポリシング

出力

出力

QoS 標準プライオリティキュー

出力

出力

QoS トラフィック シェーピング、階層型プライオリティキュー

出力

出力

TCP と UDP の接続制限値とタイムアウト、および TCP シーケンス番号のランダム化

双方向

入力

TCP 正規化

双方向

入力

TCP ステート バイパス

双方向

入力

サービス ポリシー内の機能照合

パケットが所定のインターフェイスのポリシーマップ内のクラスマップと照合される方法については、次の情報を参照してください。

1. パケットは、各機能タイプのポリシーマップで、1 つのクラスマップにだけ一致します。

2. パケットが機能タイプのクラスマップに一致した場合、適応型セキュリティ アプライアンスは、その機能タイプの後続のクラスマップとは照合しません。

3. ただし、パケットが別の機能タイプの後続のクラスマップと一致した場合、適応型セキュリティ アプライアンスは、後続のクラスマップのアクションも適用します(サポートされている場合)。サポートされていない組み合せの詳細については、「特定の機能アクションの非互換性」を参照してください。

たとえば、パケットが接続制限値のクラスマップと一致し、アプリケーション検査のクラスマップとも一致した場合、両方のクラスマップ アクションが適用されます。

パケットが HTTP 検査で 1 つのクラスマップと一致し、HTTP 検査を含む別のクラスマップとも一致した場合、2 番目のクラスマップのアクションは適用されません。


) アプリケーション検査には複数の検査タイプが含まれ、上記の照合ガイドラインの観点では、各検査タイプはそれぞれ独立した機能となります。


複数の機能アクションが適用される順序

ポリシーマップの各種のアクションが実行される順序は、ポリシーマップ中に出現する順序とは無関係です。


) NetFlow セキュア イベント ロギングのフィルタリングは、順序に関係なく実行されます。


アクションは次の順序で実行されます。

1. QoS 入力ポリシング

2. TCP の正規化、TCP と UDP の接続制限値とタイムアウト、TCP シーケンス番号のランダム化、および TCP ステート バイパス


) 適応型セキュリティ アプライアンスがプロキシ サービス AAA や CSC など)を実行する場合、または TCP ペイロード(FTP 検査など)を変更する場合、TCP ノーマライザはデュアル モードで動作します。このモードでは、プロキシまたはペイロード変更サービスの前後にアクションが適用されます。


3. CSC

4. アプリケーション検査(複数タイプ)

トラフィック クラスが複数検査の対象として分類されるときに適用されるアプリケーション検査の順序を次に示します。同じトラフィックに適用できる検査タイプは 1 つだけです。WAAS 検査は他の検査とともに同じトラフィックに適用できるため、例外となります。詳細については、「特定の機能アクションの非互換性」を参照してください。

a. CTIQBE

b. DNS

c. FTP

d. GTP

e. H323

f. HTTP

g. ICMP

h. ICMP エラー

i. ILS

j. MGCP

k. NetBIOS

l. PPTP

m. Sun RPC

n. RSH

o. RTSP

p. SIP

q. Skinny

r. SMTP

s. SNMP

t. SQL*Net

u. TFTP

v. XDMCP

w. DCERPC

x. インスタント メッセージ


) RADIUS アカウンティングは管理トラフィックでだけ許可されているため、上記一覧には含まれていません。WAAS 検査は他の検査とともに設定して同じトラフィックに適用できるため、上記一覧には含まれていません。


5. IPS

6. QoS 出力ポリシング

7. QoS 標準プライオリティキュー

8. QoS トラフィック シェーピング、階層型プライオリティキュー

特定の機能アクションの非互換性

一部の機能は同じトラフィックに対して相互に互換性がありません。たとえば、QoS プライオリティ キューイングと QoS ポリシングは同じトラフィックの集合に対して設定できません。また、ほとんどの検査は別の検査と組み合せられないため、同じトラフィックに複数の検査を設定しても、適応型セキュリティ アプライアンスは 1 つの検査だけを適用します。この場合、適用される機能は、「複数の機能アクションが適用される順序」で示されているリストの中の高プライオリティ機能となります。

各機能の互換性については、その機能を扱っている章または項を参照してください。


) デフォルト グローバル ポリシーで使用される match default-inspection-traffic コマンドは、デフォルト ポートをすべての検査と照合する特別な CLI ショートカットです。ポリシーマップで使用すると、このクラスマップでは、トラフィックの宛先ポートに基づいて、各パケットに正しい検査が適用されます。たとえば、宛先がポート 69 の UDP トラフィックが適応型セキュリティ アプライアンスに到達すると、適応型セキュリティ アプライアンスは TFTP 検査を適用し、宛先がポート 21 の TCP トラフィックが到着すると、適応型セキュリティ アプライアンスは FTP 検査を適用します。そのため、この場合に限って同じクラスマップに複数の検査を設定できます。通常、適応型セキュリティ アプライアンスは、ポート番号を使用して適用する検査を決定しないため、標準以外のポートなどにも柔軟に検査を適用できます。


誤った設定例は、同じポリシーマップに複数の検査を設定しても、default-inspection-traffic ショートカットを使用しないことです。例 29-1 では、ポート 21 宛てのトラフィックが、FTP 検査と HTTP 検査の両方に誤って設定されています。例 29-2 では、ポート 80 宛てのトラフィックが、FTP 検査と HTTP 検査の両方に誤って設定されています。どちらの誤った設定例の場合も、FTP 検査だけが適用されています。これは、適用された検査の順序では、FTP が HTTP よりも先になるためです。

例 29-1 FTP パケットの誤設定(HTTP 検査も設定されている)

class-map ftp
match port tcp eq 21
class-map http
match port tcp eq 21 [80 の誤り]
policy-map test
class ftp
inspect ftp
class http
inspect http

例 29-2 HTTP パケットの誤設定(FTP 検査も設定されている)

class-map ftp
match port tcp eq 80 [21 の誤り]
class-map http
match port tcp eq 80
policy-map test
class http
inspect http
class ftp
inspect ftp

複数のサービス ポリシーの場合の機能照合

TCP および UDP トラフィック(およびステートフル ICMP 検査がイネーブルの場合は ICMP)の場合、サービス ポリシーはトラフィック フローに対して作用し、個々のパケットに限定されません。トラフィックが、1 つのインターフェイスのポリシーで定義されている機能に一致する既存の接続の一部である場合、そのトラフィック フローを別のインターフェイスのポリシーにある同じ機能と照合することはできません。最初のポリシーのみが使用されます。

たとえば、HTTP トラフィックが、HTTP トラフィックを検査する内部インターフェイスのポリシーと一致するときに、HTTP 検査用の外部インターフェイスに別のポリシーがある場合、そのトラフィックが外部インターフェイスの出力側でも検査されることはありません。同様に、その接続のリターン トラフィックが外部インターフェイスの入力ポリシーによって検査されたり、内部インターフェイスの出力ポリシーによって検査されたりすることもありません。

ステートフル ICMP 検査をイネーブルにしない場合の ICMP のように、フローとして扱われないトラフィックの場合は、リターン トラフィックを戻り側のインターフェイスの別のポリシーマップと照合できます。たとえば、内部および外部のインターフェイスで IPS を設定するとき、内部ポリシーでは仮想センサー 1 を使用するのに対して、外部ポリシーでは仮想センサー 2 を使用する場合、非ステートフル ping は仮想センサー 1 の発信側を照合するだけでなく、仮想センサー 2 の着信側も照合します。

サービス ポリシーのライセンス要件

 

モデル
ライセンス要件

すべてのモデル

基本ライセンス

ガイドラインと制限事項

この項では、この機能のガイドラインと制限事項について説明します。

コンテキスト モードのガイドライン

シングルコンテキスト モードとマルチコンテキスト モードでサポートされています。

ファイアウォール モードのガイドライン

ルーテッド ファイアウォール モードと透過ファイアウォール モードでサポートされています。

IPv6 のガイドライン

IPv6 は次の機能でサポートされています。

FTP、HTTP、ICMP、SIP、SMTP および IPSec-pass-thru のアプリケーション検査

IPS

NetFlow セキュア イベント ロギングのフィルタリング

TCP と UDP の接続制限値とタイムアウト、および TCP シーケンス番号のランダム化

TCP 正規化

TCP ステート バイパス

クラスマップのガイドライン

すべてのタイプのクラスマップの最大数は、シングルモードで 255、またはマルチモードのコンテキストごとに 255 です。クラスマップには、次のタイプがあります。

レイヤ 3/4 クラスマップ(通過トラフィックと管理トラフィック向け)

検査クラスマップ

正規表現クラスマップ

検査ポリシーマップ下で直接使用される match コマンド

また、この制限には、すべてのタイプのデフォルトのクラスマップが含まれています。「デフォルトのクラスマップ」を参照してください。

ポリシーマップのガイドライン

ポリシーマップを使用する場合は、次のガイドラインを参考にしてください。

各インターフェイスには、ポリシーマップを 1 つだけ割り当てることができます(ただし、設定では最大 64 のポリシーマップを作成できます)。

同一のポリシーマップを複数のインターフェイスに適用できます。

1 つのレイヤ 3/4 ポリシーマップで複数のレイヤ 3/4 クラスマップを指定できます。

クラスマップごとに、1 つ以上の機能タイプから複数のアクションを割り当てることができます(サポートされている場合)。「特定の機能アクションの非互換性」を参照してください。

サービス ポリシーのガイドライン

インターフェイス サービス ポリシーは、特定の機能に対するグローバル サービス ポリシーより優先されます。たとえば、FTP 検査のグローバル ポリシーと、TCP 正規化のインターフェイス ポリシーがある場合、FTP 検査と TCP 正規化の両方がインターフェイスに適用されます。これに対し、FTP 検査のグローバル ポリシーと、FTP 検査のインターフェイス ポリシーがある場合は、インターフェイス ポリシーの FTP 検査だけがインターフェイスに適用されます。

適用できるグローバル ポリシーは 1 つだけです。たとえば、機能セット 1 が含まれたグローバル ポリシーと、機能セット 2 が含まれた別のグローバル ポリシーを作成できません。すべての機能は 1 つのポリシーに含める必要があります。

デフォルト設定

モジュラ ポリシー フレームワークのデフォルト設定については、次の項目で説明します。

「デフォルト コンフィギュレーション」

「デフォルトのクラスマップ」

デフォルト コンフィギュレーション

デフォルトでは、すべてのデフォルト アプリケーション検査トラフィックに一致するポリシーがコンフィギュレーションに含まれ、特定の検査がすべてのインターフェイスのトラフィックに適用されます(グローバル ポリシー)。すべての検査がデフォルトでイネーブルになっているわけではありません。適用できるグローバル ポリシーは 1 つだけなので、グローバル ポリシーを変更する場合は、デフォルトのポリシーを編集するか、デフォルトのポリシーをディセーブルにして新しいポリシーを適用します。(特定の機能では、グローバル ポリシーはインターフェイス ポリシーより優先されます)。

デフォルト ポリシーには、次のアプリケーション検査が含まれます。

メッセージの最大長 512 バイトに対する DNS 検査

FTP

H323(H225)

H323(RAS)

RSH

RTSP

ESMTP

SQLnet

Skinny(SCCP)

SunRPC

XDMCP

SIP

NetBios

TFTP

デフォルト ポリシー コンフィギュレーションには、次のコマンドが含まれます。

class-map inspection_default
match default-inspection-traffic
policy-map type inspect dns preset_dns_map
parameters
message-length maximum 512
policy-map global_policy
class inspection_default
inspect dns preset_dns_map
inspect ftp
inspect h323 h225
inspect h323 ras
inspect rsh
inspect rtsp
inspect esmtp
inspect sqlnet
inspect skinny
inspect sunrpc
inspect xdmcp
inspect sip
inspect netbios
inspect tftp
service-policy global_policy global

) デフォルトのクラスマップで使用される特別な match default-inspection-traffic コマンドの詳細については、「特定の機能アクションの非互換性」を参照してください。


デフォルトのクラスマップ

コンフィギュレーションには、デフォルト グローバル ポリシーで適応型セキュリティ アプライアンスが使用するデフォルトのレイヤ 3/4 クラスマップが含まれます。これは default-inspection-traffic と呼ばれ、デフォルト検査トラフィックと一致します。デフォルト グローバル ポリシーで使用されるこのクラスは、デフォルト ポートをすべての検査と照合する特別なショートカットです。ポリシーで使用すると、このクラスでは、トラフィックの宛先ポートに基づいて、各パケットに正しい検査が適用されます。たとえば、宛先がポート 69 の UDP トラフィックが適応型セキュリティ アプライアンスに到達すると、適応型セキュリティ アプライアンスは TFTP 検査を適用し、宛先がポート 21 の TCP トラフィックが到着すると、適応型セキュリティ アプライアンスは FTP 検査を適用します。そのため、この場合に限って同じクラスマップに複数の検査を設定できます。通常、適応型セキュリティ アプライアンスは、ポート番号を使用して適用する検査を決定しないため、標準以外のポートなどにも柔軟に検査を適用できます。

class-map inspection_default
match default-inspection-traffic
 

デフォルト コンフィギュレーションにある別のクラスマップは、class-default と呼ばれ、すべてのトラフィックと一致します。このクラスマップは、すべてのレイヤ 3/4 ポリシーマップの最後に表示され、原則的に、他のすべてのトラフィックでどんなアクションも実行しないように適応型セキュリティ アプライアンスに通知します。必要であれば、独自の match any クラスマップを作成せずに、class-default クラスを使用できます。実際のところ、class-default で使用可能な機能は、QoS トラフィック シェーピングなどの一部の機能だけです。

class-map class-default
match any
 

サービス ポリシーを設定するためのタスク フロー

この項は、次の内容で構成されています。

「モジュラ ポリシー フレームワークを使用するためのタスク フロー」

「QoS トラフィック シェーピング用の階層型ポリシーマップを設定するためのタスクフロー」

モジュラ ポリシー フレームワークを使用するためのタスク フロー

モジュラ ポリシー フレームワークの設定は、次のタスクで構成されています。


ステップ 1 レイヤ 3/4 クラスマップを作成して、モジュラ ポリシー フレームワークのアクションを実行する トラフィックを指定します

たとえば、適応型セキュリティ アプライアンスを通過するすべてのトラフィックでアクションを実行したり、10.1.1.0/24 から任意の宛先アドレスまでのトラフィックで特定のアクションだけを実行したりできます。

 

「トラフィックの特定(レイヤ 3/4 クラスマップ)」を参照してください。

ステップ 2 実行するアクションの 1 つがアプリケーション検査であり、 ある検査トラフィックで追加のアクションを実行する場合は、 検査ポリシーマップを作成します。検査ポリシーマップはトラフィックを特定し、そのトラフィックで何をするかを指定します。

たとえば、本文の長さが 1000 バイトを上回るすべての HTTP 要求をドロップできます。

 

match コマンドでトラフィックを直接特定する独立した検査ポリシーマップを作成したり、再利用のために、またはより複雑な照合のために検査クラスマップを作成したりできます。「検査ポリシーマップのアクションの定義」および「検査クラスマップ内のトラフィックの特定」を参照してください。

ステップ 3 検査されたパケット内の正規表現とテキストを照合する場合、 正規表現 または正規表現のグループ(正規表現クラスマップ)を作成できます。そして、トラフィックが検査ポリシーマップと一致するように定義するときに、既存の正規表現を呼び出すことができます。

たとえば、「example.com」というテキストが含まれた URL を持つすべての HTTP 要求をドロップできます。

 

「正規表現の作成」および「正規表現クラスマップの作成」を参照してください。

ステップ 4 レイヤ 3/4 ポリシーマップを作成し、各レイヤ 3/4 クラスマップで 実行するアクションを定義します 。次に、サービス ポリシーを使用して、 どのインターフェイスでポリシーマップを適用するかを決定します

 

「アクションの定義(レイヤ 3/4 ポリシーマップ)」および「インターフェイスへのアクションの適用(サービス ポリシー)」を参照してください。


 

QoS トラフィック シェーピング用の階層型ポリシーマップを設定するためのタスクフロー

クラスマップで QoS トラフィック シェーピングをイネーブルにすると、オプションでシェーピングされるトラフィックのサブセットに対するプライオリティ キューイングをイネーブルにできます。これを行うには、プライオリティ キューイングのポリシーマップを作成する必要があります。そうすると、トラフィック シェーピングのポリシーマップ内で、プライオリティ クラスマップを呼び出すことができます。インターフェイスに適用できるのは、トラフィック シェーピングのクラスマップだけです。

この機能の詳細については、「QoS に関する情報」を参照してください。

階層型ポリシーマップは、トラフィック シェーピングとプライオリティ キューイングだけでサポートされます。

階層型ポリシーマップを実装するには、次の手順を実行します。


ステップ 1 「トラフィックの特定(レイヤ 3/4 クラスマップ)」の説明に従って、優先トラフィックを特定します。

階層型ポリシーマップで使用される複数のクラスマップを作成できます。

ステップ 2 「アクションの定義(レイヤ 3/4 ポリシーマップ)」の説明に従って、ポリシーマップを作成し、各クラスマップに対する単独のアクションを priority として指定します。

ステップ 3 「アクションの定義(レイヤ 3/4 ポリシーマップ)」の説明に従って、別のポリシーマップを作成し、 class-default クラスマップに shape アクションを指定します。

トラフィック シェーピングは class-default クラスマップだけに適用できます。

ステップ 4 同じクラスマップでは、ステップ 2 で作成したプライオリティ ポリシーマップを service-policy priority_policy_map コマンドを使用して特定します。

ステップ 5 「インターフェイスへのアクションの適用(サービス ポリシー)」の説明に従って、シェーピングのポリシーマップをインターフェイスに適用します。


 

トラフィックの特定(レイヤ 3/4 クラスマップ)

レイヤ 3/4 クラスマップにより、アクションを適用するレイヤ 3 および 4 のトラフィックを特定します。1 つのレイヤ 3/4 ポリシーマップに複数のレイヤ 3/4 クラスマップを作成できます。

この項は、次の内容で構成されています。

「通過トラフィック用のレイヤ 3/4 クラスマップの作成」

「管理トラフィック用のレイヤ 3/4 クラスマップの作成」

通過トラフィック用のレイヤ 3/4 クラスマップの作成

レイヤ 3/4 クラスマップでは、プロトコル、ポート、IP アドレス、およびレイヤ 3 またはレイヤ 4 の他のアトリビュートに基づいてトラフィックを照合します。

手順の詳細


ステップ 1 次のコマンドを入力して、レイヤ 3/4 クラスマップを作成します。

hostname(config)# class-map class_map_name
hostname(config-cmap)#
 

class_map_name は、最大 40 文字の文字列です。「class-default」という名前は予約されています。すべてのタイプのクラスマップで同じ名前スペースが使用されるため、別のタイプのクラスマップですでに使用されている名前は再度使用できません。CLI はクラスマップ コンフィギュレーション モードに移行します。

ステップ 2 (オプション)次のコマンドを入力して、クラスマップの説明を追加します。

hostname(config-cmap)# description string
 

ステップ 3 次の特性のいずれかと照合して、クラスに含めるトラフィックを定義します。特に指定がない場合、クラスマップに含めることができる match コマンドは 1 つだけです。

任意のトラフィック:クラスマップは、すべてのトラフィックと照合されます。

hostname(config-cmap)# match any
 

) IPv6 をサポートする機能(「ガイドラインと制限事項」を参照)では、IPv6 トラフィックを照合するコマンドは、match any コマンドと match default-inspection-traffic コマンドだけです。たとえば、IPv6 アクセスリストで照合はできません。


アクセスリスト:クラスマップは、拡張アクセスリストで指定されたトラフィックと照合されます。適応型セキュリティ アプライアンスが透過ファイアウォール モードで動作している場合は、EtherType アクセスリストを使用できます。

hostname(config-cmap)# match access-list access_list_name
 

アクセスリストの作成の詳細については、「拡張アクセスリストの追加」または「EtherType アクセスリストの追加」を参照してください。

NAT を使用するアクセスリストの作成の詳細については、「NAT 使用時にアクセスリストで使用する IP アドレス」を参照してください。

TCP または UDP 宛先ポート:クラスマップは、単一ポートまたは一定範囲の連続ポートと一致します。

hostname(config-cmap)# match port {tcp | udp} {eq port_num | range port_num port_num}
 

ヒント 複数の非連続ポートを使用するアプリケーションに対しては、match access-list コマンドを使用して、各ポートと一致する ACE を定義します。


指定できるポートのリストについては、「TCP ポートと UDP ポート」を参照してください。

たとえば、ポート 80 の TCP パケット(HTTP)と一致させるには、次のコマンドを入力します。

hostname(config-cmap)# match tcp eq 80
 

検査用のデフォルト トラフィック:クラスマップは、適応型セキュリティ アプライアンスが検査できるすべてのアプリケーションで使用されるデフォルトの TCP および UDP ポートと一致します。

hostname(config-cmap)# match default-inspection-traffic
 

デフォルト グローバル ポリシーで使用されるこのコマンドは、ポリシーマップで使用されると、トラフィックの宛先ポートに基づいて各パケットに正しい検査を適用する特別な CLI ショートカットです。たとえば、宛先がポート 69 の UDP トラフィックが適応型セキュリティ アプライアンスに到達すると、適応型セキュリティ アプライアンスは TFTP 検査を適用し、宛先がポート 21 の TCP トラフィックが到着すると、適応型セキュリティ アプライアンスは FTP 検査を適用します。そのため、この場合に限って同じクラスマップに複数の検査を設定できます(他の検査とともに設定可能な WAAS 検査を除きます。アクションの組み合せの詳細については、「特定の機能アクションの非互換性」を参照してください)。通常、適応型セキュリティ アプライアンスは、ポート番号を使用して適用する検査を決定しないため、標準以外のポートなどにも柔軟に検査を適用できます。

デフォルト ポートのリストについては、「デフォルト設定」を参照してください。 match default-inspection-traffic コマンドにポートが含まれているすべてのアプリケーションが、ポリシーマップでデフォルトでイネーブルになっているわけではありません。

match access-list コマンドを match default-inspection-traffic コマンドとともに指定すると、一致するトラフィックを絞り込むことができます。 match default-inspection-traffic コマンドによって照合するポートとプロトコルが指定されるため、アクセスリストのポートとプロトコルはすべて無視されます。


ヒント トラフィック検査は、アプリケーション トラフィックが発生するポートだけで行うことをお勧めします。match any などを使用してすべてのトラフィックを検査すると、適応型セキュリティ アプライアンスのパフォーマンスに影響が出る場合があります。



) IPv6 をサポートする機能(「ガイドラインと制限事項」を参照)では、IPv6 トラフィックを照合するコマンドは、match any コマンドと match default-inspection-traffic コマンドだけです。たとえば、IPv6 アクセスリストで照合はできません。


IP ヘッダーの DSCP 値:クラスマップは、最大 8 個の DSCP 値と一致します。

hostname(config-cmap)# match dscp value1 [value2] [...] [value8]
 

たとえば、次のように入力します。

hostname(config-cmap)# match dscp af43 cs1 ef
 

優先:クラスマップは、最大 4 個の優先値と一致します。優先値は、IP ヘッダーの TOS バイトで表されます。

hostname(config-cmap)# match precedence value1 [value2] [value3] [value4]
 

value1 value4 は 0 ~ 7 になります。この値は該当の優先順位に対応します。

RTP トラフィック:クラスマップは RTP トラフィックと照合されます。

hostname(config-cmap)# match rtp starting_port range
 

starting_port には、2000 ~ 65534 の偶数番号の UDP 宛先ポートを指定します。 range には、 starting_port よりも上の追加 UDP ポートの数を 0 ~ 16383 で指定します。

トンネルグループ トラフィック:クラスマップは、QoS を適用するトンネルグループのトラフィックと照合されます。

hostname(config-cmap)# match tunnel-group name
 

トラフィック照合を調整するために、 match コマンドをもう 1 つ指定できます。上記のコマンドのいずれかを指定できますが、 match any match access-list 、および match default-inspection-traffic コマンドは指定できません。次のコマンドを入力して、各フローをポリシングすることもできます。

hostname(config-cmap)# match flow ip destination address
 

固有の IP 宛先アドレスに向かうトラフィックは、すべてフローと見なされます。


 

次に、 class-map コマンドの例を示します。

hostname(config)# access-list udp permit udp any any
hostname(config)# access-list tcp permit tcp any any
hostname(config)# access-list host_foo permit ip any 10.1.1.1 255.255.255.255
 
hostname(config)# class-map all_udp
hostname(config-cmap)# description "This class-map matches all UDP traffic"
hostname(config-cmap)# match access-list udp
 
hostname(config-cmap)# class-map all_tcp
hostname(config-cmap)# description "This class-map matches all TCP traffic"
hostname(config-cmap)# match access-list tcp
 
hostname(config-cmap)# class-map all_http
hostname(config-cmap)# description "This class-map matches all HTTP traffic"
hostname(config-cmap)# match port tcp eq http
 
hostname(config-cmap)# class-map to_server
hostname(config-cmap)# description "This class-map matches all traffic to server 10.1.1.1"
hostname(config-cmap)# match access-list host_foo
 

管理トラフィック用のレイヤ 3/4 クラスマップの作成

適応型セキュリティ アプライアンスへの管理トラフィックに対して、この種類のトラフィックに特有のアクションの実行が必要になる場合があります。管理クラスマップを指定して、アクセスリストまたは TCP や UDP のポートと照合できます。ポリシーマップの管理クラスマップで設定可能なアクションのタイプは、管理トラフィック専用です。「管理トラフィックでサポートされる機能」を参照してください。

手順の詳細


ステップ 1 次のコマンドを入力して、クラスマップを作成します。

hostname(config)# class-map type management class_map_name
hostname(config-cmap)#
 

class_map_name は、最大 40 文字の文字列です。「class-default」という名前は予約されています。すべてのタイプのクラスマップで同じ名前スペースが使用されるため、別のタイプのクラスマップですでに使用されている名前は再度使用できません。CLI はクラスマップ コンフィギュレーション モードに移行します。

ステップ 2 (オプション)次のコマンドを入力して、クラスマップの説明を追加します。

hostname(config-cmap)# description string
 

ステップ 3 次の特性のいずれかと照合して、クラスに含めるトラフィックを定義します。クラスマップに含めることができる match コマンドは 1 つだけです。

アクセスリスト:クラスマップは、拡張アクセスリストで指定されたトラフィックと照合されます。適応型セキュリティ アプライアンスが透過ファイアウォール モードで動作している場合は、EtherType アクセスリストを使用できます。

hostname(config-cmap)# match access-list access_list_name
 

アクセスリストの作成の詳細については、「拡張アクセスリストの追加」または「EtherType アクセスリストの追加」を参照してください。

NAT を使用するアクセスリストの作成の詳細については、「NAT 使用時にアクセスリストで使用する IP アドレス」を参照してください。

TCP または UDP 宛先ポート:クラスマップは、単一ポートまたは一定範囲の連続ポートと一致します。

hostname(config-cmap)# match port {tcp | udp} {eq port_num | range port_num port_num}
 

ヒント 複数の非連続ポートを使用するアプリケーションに対しては、match access-list コマンドを使用して、各ポートと一致する ACE を定義します。


指定できるポートのリストについては、「TCP ポートと UDP ポート」を参照してください。

たとえば、ポート 80 の TCP パケット(HTTP)と一致させるには、次のコマンドを入力します。

hostname(config-cmap)# match tcp eq 80
 


 

アクションの定義(レイヤ 3/4 ポリシーマップ)

この項では、レイヤ 3/4 ポリシーマップを作成して、アクションをレイヤ 3/4 クラスマップに関連付ける方法について説明します。

制限事項

ポリシーマップの最大数は 64 ですが、各インターフェイスには、ポリシーマップを 1 つだけ適用できます。

手順の詳細


ステップ 1 次のコマンドを入力して、ポリシーマップを追加します。

hostname(config)# policy-map policy_map_name
 

policy_map_name 引数は、最大 40 文字のポリシーマップ名です。すべてのタイプのポリシーマップで同じ名前スペースが使用されるため、別のタイプのポリシーマップですでに使用されている名前は再度使用できません。CLI はポリシーマップ コンフィギュレーション モードに入ります。

ステップ 2 (オプション)ポリシーマップの説明を指定します。

hostname(config-pmap)# description text
 

ステップ 3 次のコマンドを使用して、設定済みのレイヤ 3/4 クラスマップを指定します。

hostname(config-pmap)# class class_map_name
 

class_map_name は、前に作成したクラスマップの名前です。クラスマップを追加するには、「トラフィックの特定(レイヤ 3/4 クラスマップ)」を参照してください。

ステップ 4 このクラスマップに、1 つ以上のアクションを指定します。「通過トラフィックでサポートされる機能」を参照してください。


) クラスマップに match default_inspection_traffic コマンドがない場合、そのクラスに最大 1 つの inspect コマンドを設定できます。

QoS では、トラフィック シェーピング機能とプライオリティ キュー機能に階層型ポリシーマップを設定できます。詳細については、「QoS トラフィック シェーピング用の階層型ポリシーマップを設定するためのタスクフロー」を参照してください。


ステップ 5 このポリシーマップに含めるクラスマップごとに、ステップ 3ステップ 4 を繰り返します。


 

接続ポリシーの policy-map コマンドの例を次に示します。このコマンドは、Web サーバ 10.1.1.1 への接続許可数を制限します。

hostname(config)# access-list http-server permit tcp any host 10.1.1.1
hostname(config)# class-map http-server
hostname(config-cmap)# match access-list http-server
 
hostname(config)# policy-map global-policy
hostname(config-pmap)# description This policy map defines a policy concerning connection to http server.
hostname(config-pmap)# class http-server
hostname(config-pmap-c)# set connection conn-max 256
 

次の例は、ポリシーマップでの複数の照合の動作を示しています。

hostname(config)# class-map inspection_default
hostname(config-cmap)# match default-inspection-traffic
hostname(config)# class-map http_traffic
hostname(config-cmap)# match port tcp eq 80
 
hostname(config)# policy-map outside_policy
hostname(config-pmap)# class inspection_default
hostname(config-pmap-c)# inspect http http_map
hostname(config-pmap-c)# inspect sip
hostname(config-pmap)# class http_traffic
hostname(config-pmap-c)# set connection timeout tcp 0:10:0
 

次の例は、トラフィックが最初の利用可能なクラスマップと一致した場合に、同じ機能ドメインのアクションが指定されている後続のクラスマップと照合されないことを示しています。

hostname(config)# class-map telnet_traffic
hostname(config-cmap)# match port tcp eq 23
hostname(config)# class-map ftp_traffic
hostname(config-cmap)# match port tcp eq 21
hostname(config)# class-map tcp_traffic
hostname(config-cmap)# match port tcp range 1 65535
hostname(config)# class-map udp_traffic
hostname(config-cmap)# match port udp range 0 65535
hostname(config)# policy-map global_policy
hostname(config-pmap)# class telnet_traffic
hostname(config-pmap-c)# set connection timeout tcp 0:0:0
hostname(config-pmap-c)# set connection conn-max 100
hostname(config-pmap)# class ftp_traffic
hostname(config-pmap-c)# set connection timeout tcp 0:5:0
hostname(config-pmap-c)# set connection conn-max 50
hostname(config-pmap)# class tcp_traffic
hostname(config-pmap-c)# set connection timeout tcp 2:0:0
hostname(config-pmap-c)# set connection conn-max 2000
 

Telnet 接続は、開始時に class telnet_traffic と一致します。同様に FTP 接続は、開始時に class ftp_traffic と一致します。Telnet および FTP 以外の TCP 接続の場合は、 class tcp_traffic と一致します。Telnet 接続または FTP 接続は class tcp_traffic と一致しますが、すでに他のクラスと一致しているため、適応型セキュリティ アプライアンスはこの照合を行いません。

インターフェイスへのアクションの適用(サービス ポリシー)

レイヤ 3/4 ポリシーマップをアクティブにするには、1 つ以上のインターフェイスに適用するサービス ポリシー、またはすべてのインターフェイスにグローバルに適用するサービス ポリシーを作成します。

制限事項

適用できるグローバル ポリシーは 1 つだけです。

手順の詳細

ポリシーマップとインターフェイスを関連付けてサービス ポリシーを作成するには、次のコマンドを入力します。

hostname(config)# service-policy policy_map_name interface interface_name
 

特定のポリシーを持たないすべてのインターフェイスに適用するサービス ポリシーを作成するには、次のコマンドを入力します。

hostname(config)# service-policy policy_map_name global
 

デフォルトでは、すべてのデフォルト アプリケーション検査トラフィックに一致するグローバル ポリシーがコンフィギュレーションに含まれ、すべての検査がトラフィックにグローバルに適用されます。適用できるグローバル ポリシーは 1 つだけなので、グローバル ポリシーを変更する場合は、デフォルトのポリシーを編集するか、デフォルトのポリシーをディセーブルにして新しいポリシーを適用します。

デフォルト サービス ポリシーには、次のコマンドが含まれます。

service-policy global_policy global
 

たとえば、次のコマンドは、外部インターフェイスで inbound_policy ポリシーマップをイネーブルにします。

hostname(config)# service-policy inbound_policy interface outside
 

次のコマンドは、デフォルト グローバル ポリシーをディセーブルにし、他のすべての適応型セキュリティ アプライアンス インターフェイスで新しいポリシー new_global_policy をイネーブルにします。

hostname(config)# no service-policy global_policy global
hostname(config)# service-policy new_global_policy global
 

モジュラ ポリシー フレームワークのモニタリング

モジュラ ポリシー フレームワークをモニタするには、次のコマンドを入力します。

 

コマンド
目的
show service-policy

サービス ポリシーの統計情報を表示します。

モジュラ ポリシー フレームワークの設定例

この項では、モジュラ ポリシー フレームワークの例をいくつか示します。次の項目を取り上げます。

「HTTP トラフィックへの検査と QoS ポリシングの適用」

「HTTP トラフィックへの検査のグローバルな適用」

「特定のサーバへの HTTP トラフィックに対する検査と接続制限値の適用」

「NAT による HTTP トラフィックへの検査の適用」

HTTP トラフィックへの検査と QoS ポリシングの適用

この例(図 29-1)では、外部インターフェイスを通過して適応型セキュリティ アプライアンスを出入りするすべての HTTP 接続(ポート 80 の TCP トラフィック)が HTTP 検査対象として分類されます。外部インターフェイスを出るすべての HTTP トラフィックがポリシング対象として分類されます。

図 29-1 HTTP 検査と QoS ポリシング

 

この例について、次のコマンドを参照してください。

hostname(config)# class-map http_traffic
hostname(config-cmap)# match port tcp eq 80
 
hostname(config)# policy-map http_traffic_policy
hostname(config-pmap)# class http_traffic
hostname(config-pmap-c)# inspect http
hostname(config-pmap-c)# police output 250000
hostname(config)# service-policy http_traffic_policy interface outside
 

HTTP トラフィックへの検査のグローバルな適用

この例(図 29-2)では、任意のインターフェイスを通過して適応型セキュリティ アプライアンスに入るすべての HTTP 接続(ポート 80 の TCP トラフィック)が HTTP 検査対象として分類されます。このポリシーはグローバル ポリシーなので、検査が発生するのは各インターフェイスにトラフィックが入ったときだけです。

図 29-2 グローバル HTTP 検査

 

この例について、次のコマンドを参照してください。

hostname(config)# class-map http_traffic
hostname(config-cmap)# match port tcp eq 80
 
hostname(config)# policy-map http_traffic_policy
hostname(config-pmap)# class http_traffic
hostname(config-pmap-c)# inspect http
hostname(config)# service-policy http_traffic_policy global
 

特定のサーバへの HTTP トラフィックに対する検査と接続制限値の適用

この例(図 29-3)では、外部インターフェイスを通過して適応型セキュリティ アプライアンスに入るサーバ A 宛ての HTTP 接続(ポート 80 の TCP トラフィック)が HTTP 検査および最大接続数制限値の対象として分類されます。サーバ A から発信されたホスト A への接続は、クラスマップのアクセスリストと照合しないので、影響を受けません。

内部インターフェイスを通じて適応型セキュリティ アプライアンスに入るサーバ B 宛てのすべての HTTP 接続は、HTTP 検査対象として分類されます。サーバ B から発信されたホスト B への接続は、クラスマップのアクセスリストと照合しないので、影響を受けません。

図 29-3 特定のサーバに対する HTTP 検査と接続制限値

 

この例について、次のコマンドを参照してください。

hostname(config)# static (inside,outside) 209.165.201.1 192.168.1.2
hostname(config)# nat (inside) 1 192.168.1.0 255.255.255.0
hostname(config)# global (outside) 1 209.165.201.2
hostname(config)# access-list serverA extended permit tcp any host 209.165.201.1 eq 80
hostname(config)# access-list ServerB extended permit tcp any host 209.165.200.227 eq 80
 
hostname(config)# class-map http_serverA
hostname(config-cmap)# match access-list serverA
hostname(config)# class-map http_serverB
hostname(config-cmap)# match access-list serverB
 
hostname(config)# policy-map policy_serverA
hostname(config-pmap)# class http_serverA
hostname(config-pmap-c)# inspect http
hostname(config-pmap-c)# set connection conn-max 100
hostname(config)# policy-map policy_serverB
hostname(config-pmap)# class http_serverB
hostname(config-pmap-c)# inspect http
 
hostname(config)# service-policy policy_serverB interface inside
hostname(config)# service-policy policy_serverA interface outside
 

NAT による HTTP トラフィックへの検査の適用

この例では、ネットワーク内のホストに 2 つのアドレスがあります。1 つは、実際の IP アドレスの 192.168.1.1 です。もう 1 つは、外部ネットワークで使用するマッピング IP アドレスの 209.165.200.225 です。ポリシーは、実際のアドレスを使用する内部インターフェイスに適用されるため、クラスマップのアクセスリストでは、実際の IP アドレスを使用する必要があります。外部インターフェイスに適用する場合は、マッピング アドレスを使用します。

図 29-4 NAT による HTTP 検査

 

この例について、次のコマンドを参照してください。

hostname(config)# static (inside,outside) 209.165.200.225 192.168.1.1
hostname(config)# access-list http_client extended permit tcp host 192.168.1.1 any eq 80
 
hostname(config)# class-map http_client
hostname(config-cmap)# match access-list http_client
 
hostname(config)# policy-map http_client
hostname(config-pmap)# class http_client
hostname(config-pmap-c)# inspect http
 
hostname(config)# service-policy http_client interface inside
 

サービス ポリシーの機能履歴

表 29-3 に、この機能のリリース履歴の一覧を示します。

 

表 29-3 機能 1 の機能履歴

機能名
リリース
機能情報

モジュラ ポリシー フレームワーク

7.0(1)

モジュラ ポリシー フレームワークが導入されました。

RADIUS アカウンティング トラフィックで使用する管理クラスマップ

7.2(1)

RADIUS アカウンティング トラフィックで使用する管理クラスマップが導入されました。 class-map type management コマンドおよび inspect radius-accounting コマンドが導入されました。

検査ポリシーマップ

7.2(1)

検査ポリシーマップが導入されました。 class-map type inspect コマンドが導入されました。

正規表現およびポリシーマップ

7.2(1)

検査ポリシーマップで使用される正規表現およびポリシーマップが導入されました。 class-map type regex コマンド、 regex コマンド、および match regex コマンドが導入されました。

検査ポリシーマップの match any

8.0(2)

検査ポリシーマップで使用される match any キーワードが導入されました。トラフィックを 1 つ以上の基準に照合してクラスマップに一致させることができます。以前は、 match all だけが使用可能でした。

管理トラフィックの最大接続数と初期接続数

8.0(2)

レイヤ 3/4 管理クラスマップ、to-the-security-appliance 管理トラフィックに対して set connection コマンドが使用可能になりました。 conn-max embryonic-conn-max キーワードだけが使用可能です。