Catalyst 6500 シリーズ スイッチ/Cisco 7600 シ リーズ ルータ Firewall Services Module コンフィ ギュレーション ガイド(CLI を使用)
セキュリティ コンテキストの設定
セキュリティ コンテキストの設定
発行日;2012/02/03 | 英語版ドキュメント(2011/12/15 版) | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 13MB) | フィードバック

目次

セキュリティ コンテキストの設定

セキュリティ コンテキストの概要

セキュリティ コンテキストの一般的な使用方法

サポートされていない機能

コンテキスト コンフィギュレーション ファイル

コンテキスト コンフィギュレーション

システム コンフィギュレーション

管理コンテキスト コンフィギュレーション

によるパケットの分類方法

有効な分類機能基準

無効な分類機能基準

分類の例

コンテキスト間でのインターフェイスの共有

NAT とトラフィックの発信元

外部インターフェイスの共有

内部インターフェイスの共有

セキュリティ コンテキストへの管理アクセス

システム管理者としてのアクセス

コンテキスト管理者としてのアクセス

マルチコンテキスト モードのイネーブル化またはディセーブル化

シングルモード コンフィギュレーションのバックアップ

マルチコンテキスト モードのイネーブル化

シングルコンテキスト モードの復元

ルール用のメモリの管理

メモリ パーティションの概要

デフォルトのルール割り当て

メモリ パーティションの数の設定

メモリ パーティション サイズの変更

特定のメモリ パーティションに対する機能間でのルールの再割り当て

リソース管理の設定

クラスおよびクラス メンバーの概要

リソース限度

デフォルト クラス

クラス メンバー

クラスの設定

セキュリティ コンテキストの設定

コンテキストとシステム実行スペース間の切り替え

セキュリティ コンテキストの管理

セキュリティ コンテキストの削除

管理コンテキストの変更

セキュリティ コンテキストの URL の変更

セキュリティ コンテキストのリロード

設定の消去によるリロード

コンテキストの削除および再追加によるリロード

セキュリティ コンテキストのモニタリング

コンテキスト情報の表示

リソース割り当ての表示

リソース使用状況の表示

コンテキストでの SYN 攻撃のモニタリング

セキュリティ コンテキストの概要

1 つの FWSM をセキュリティ コンテキストと呼ばれる複数の仮想デバイスに分割できます。各コンテキストには独自のセキュリティ ポリシー、インターフェイス、および管理者が与えられます。マルチコンテキストは、スタンドアロンのデバイスを複数使用することと同様です。マルチコンテキスト モードでは、ルーティング テーブル、ファイアウォール機能、管理など数多くの機能がサポートされています。ほとんどのダイナミック ルーティング プロトコルなど一部の機能はサポートされていません。

ここでは、セキュリティ コンテキストの概要について説明します。内容は次のとおりです。

「セキュリティ コンテキストの一般的な使用方法」

「サポートされていない機能」

「コンテキスト コンフィギュレーション ファイル」

「FWSM によるパケットの分類方法」

「コンテキスト間でのインターフェイスの共有」

「セキュリティ コンテキストへの管理アクセス」

セキュリティ コンテキストの一般的な使用方法

マルチセキュリティ コンテキストを使用する状況として考えられるものは、次のとおりです。

サービス プロバイダーが多数のカスタマーにセキュリティ サービスを販売する場合。FWSM 上でマルチセキュリティ コンテキストを使用できるようにすると、すべてのカスタマー トラフィックが切り離され、セキュアで設定の容易な、コスト効率が高く、しかも場所を取らないソリューションを実現できます。

大企業または大学構内で、各部門を完全に切り離しておく必要がある場合。

企業で、部門ごとにセキュリティ ポリシーを区別して提供する場合。

複数のファイアウォールが必要なネットワークを使用する場合。

サポートされていない機能

マルチコンテキスト モードでは、次の機能はサポートしません。

ほとんどのダイナミック ルーティング プロトコル。BGP スタブ モードはサポートされています。

セキュリティ コンテキストがサポートするのは、スタティック ルートまたは BGP スタブ モードだけです。マルチコンテキスト モードで OSPF または Routing Information Protocol(RIP)をイネーブルにすることはできません。ただし、Route Health Injection を設定して、スタティック アドレス、接続されたアドレス、および NAT アドレスを MSFC ルーティング テーブルに注入することはできます。「Route Health Injection の設定」を参照してください。

マルチキャスト ルーティング。マルチキャスト ブリッジングはサポートされています。

コンテキスト コンフィギュレーション ファイル

ここでは、FWSM でマルチコンテキスト モードのコンフィギュレーションがどのように実装されるかについて説明します。内容は次のとおりです。

「コンテキスト コンフィギュレーション」

「システム コンフィギュレーション」

「管理コンテキスト コンフィギュレーション」

コンテキスト コンフィギュレーション

FWSM にはコンテキストごとに、セキュリティ ポリシー、インターフェイス、およびスタンドアロン デバイスで設定できるほぼすべてのオプションのコンフィギュレーションが含まれます。コンテキスト コンフィギュレーションは内部フラッシュ メモリまたは外部フラッシュ メモリ カードに保存できます。または、TFTP、FTP、HTTP(S) サーバからダウンロードできます。

システム コンフィギュレーション

システム管理者は、システム コンフィギュレーション(シングルモード コンフィギュレーション同様、スタートアップ コンフィギュレーションに相当します)で各コンテキスト コンフィギュレーションの場所、割り当てられたインターフェイス、および他のコンテキスト動作パラメータを設定することによって、コンテキストを追加および管理します。システム コンフィギュレーションには FWSM の基本設定が含まれます。システム コンフィギュレーションには、システムそのもののネットワーク インターフェイスまたはネットワーク設定値は含みません。システムがネットワーク リソースにアクセスする必要がある場合に(サーバからコンテキストをダウンロードする場合など)、 管理(admin)コンテキスト として指定されたコンテキストの 1 つを使用します。システム コンフィギュレーションには、フェールオーバー トラフィック専用の特殊なフェールオーバー インターフェイスは含みません。

管理コンテキスト コンフィギュレーション

管理コンテキストは、ユーザが管理コンテキストにログインすると、システム管理者の権限でシステムとその他のすべてのコンテキストにアクセスできるという点を除き、他のコンテキストとまったく同じです。管理コンテキストは決して制限されず、標準コンテキストとして使用できます。ただし、管理コンテキストにログインすると、すべてのコンテキストに対する管理者権限が付与されるため、管理コンテキストへのアクセスを適切なユーザに制限する必要がある場合があります。管理コンテキストは、リモートではなく、フラッシュ メモリに存在する必要があります。

システムがすでにマルチコンテキスト モードになっている場合、またはシングルモードから切り替える場合、内部フラッシュ メモリ上に、admin.cfg というファイルとして管理コンテキストが自動的に作成されます。このコンテキストの名前は「admin」です。admin.cfg を管理コンテキストとして使用しない場合は、管理コンテキストを変更できます。

FWSM によるパケットの分類方法

FWSM がパケットの送信先コンテキストを判別できるように、FWSM に入ってくるパケットごとに分類が必要です。FWSM では、すべてのインターフェイスで 1 つのグローバル MAC アドレスだけが使用されます。通常、マルチコンテキストでインターフェイスを共有していないかぎり、1 つの MAC アドレスでも問題になることはありません。すべての IP アドレスが同じ MAC アドレスに解決される場合、ルータでは同じネットワーク上の IP アドレスにパケットを転送できません。さらに、MAC アドレスは別個のインターフェイス間で移動するため、スイッチのブリッジング テーブルが常に変化します。セキュリティ コンテキストの分類機能は、このような状況を解決することを目的としています。

ここでは、次の内容について説明します。

「有効な分類機能基準」

「無効な分類機能基準」

「分類の例」

有効な分類機能基準

入力側インターフェイスに対応付けられるコンテキストが 1 つだけの場合、FWSM はパケットをそのコンテキストに分類します。トランスペアレント ファイアウォール モードではコンテキスト固有のインターフェイスが必要であるため、常にこの方法でパケットを分類します。

マルチコンテキストでインターフェイスが共有される場合、分類機能ではパケットを代行受信し、宛先 IP アドレス検索を実行します。他のフィールドはすべて無視されます。宛先 IP アドレスだけが使用されます。分類に宛先アドレスを使用するには、各セキュリティ コンテキストの後ろにあるサブネットに関する情報が分類機能で認識されている必要があります。分類機能では、アクティブな NAT セッションに基づいて各コンテキスト内のサブネットを判別します。アクティブな NAT セッションは、 static コマンド(永久的なセッションが作成される)またはアクティブなダイナミック NAT セッションを使用して作成されます。

たとえば、コンテキスト管理者が次の各コンテキストで static コマンドを設定すると、分類機能でサブネット 10.10.10.0、10.20.10.0、および 10.30.10.0 に関する情報が認識されます。

コンテキスト A:

static (inside,shared) 10.10.10.0 10.10.10.0 netmask 255.255.255.0
 

コンテキスト B:

static (inside,shared) 10.20.10.0 10.20.10.0 netmask 255.255.255.0
 

コンテキスト C:

static (inside,shared) 10.30.10.0 10.30.10.0 netmask 255.255.255.0
 

ダイナミック NAT を使用する場合は、実ホストで共有インターフェイスを介して接続が作成されたときにアクティブな NAT セッションが作成されます。ホストに戻るトラフィックについては、アクティブな NAT セッションを使用してパケットが分類されます。

異なるコンテキスト間のオーバーラップの可能性、つまり接続の問題につながるような状況をすばやく特定するには、システム実行スペースで show np 3 static コマンドを入力します。


) インターフェイス宛ての管理トラフィックについては、インターフェイスの IP アドレスが分類に使用されます。


無効な分類機能基準

パケットの分類には次のコンフィギュレーションは使用されません。

NAT 除外:NAT 除外ではマップ(共有)インターフェイスは識別されないため、分類機能では分類目的で NAT 除外コンフィギュレーションは使用されません。

ルーティング テーブル:分類機能では、分類にルーティング テーブルは使用されません。たとえば、コンテキストにサブネットへのネクストホップとして外部ルータをポイントするスタティック ルートが含まれる場合、および異なるコンテキストに同一サブネットの static コマンドが含まれる場合、分類機能では static コマンドを使用してそのサブネット宛てのパケットを分類し、スタティック ルートは無視します。

分類の例

図 4-1 に、内部インターフェイスが固有であるのに対し、外部インターフェイスをマルチコンテキストで共有し、IP アドレスのオーバーラップを認めている状態を示します。コンテキスト B には宛先アドレスと一致するアドレス変換が含まれるため、分類機能はパケットをコンテキスト B に割り当てています。

図 4-1 共有インターフェイスを使用したパケット分類

 

新規の着信トラフィックは、内部ネットワークからのトラフィックであってもすべて分類する必要があります。図 4-2 に、インターネットにアクセスするネットワーク内のコンテキスト B のホストを示します。入力側インターフェイス VLAN 300 がコンテキスト B に割り当てられているため、分類機能はパケットをコンテキスト B に割り当てています。

図 4-2 内部ネットワークからの着信トラフィック

 

図 4-3 に、トランスペアレント ファイアウォールを使用する場合にインターネットにアクセスするネットワーク内のコンテキスト B のホストを示します。入力側インターフェイス VLAN 300 がコンテキスト B に割り当てられているため、分類機能はパケットをコンテキスト B に割り当てています。

図 4-3 トランスペアレント ファイアウォールのコンテキスト

 

コンテキスト間でのインターフェイスの共有

ルーテッド モードだけ

FWSM では、コンテキスト間でインターフェイスを共有できます。ただし、パケット分類要件により、共有インターフェイスを実行できないことがあります。分類機能ではアクティブな NAT セッションに基づいてコンテキストへの宛先アドレスが分類されるため、この機能は NAT の設定方法によって制限されます。NAT を実行しない場合は、固有のインターフェイスを使用する必要があります。


) FWSM では、あるコンテキストの外部インターフェイスを別のコンテキストの内部インターフェイスと共有することはできません(カスケード コンテキストと呼ばれます)。あるコンテキストで(高セキュリティ インターフェイスから低セキュリティ インターフェイスへ)発信されたトラフィックは、(低セキュリティから高セキュリティへの)着信トラフィックとしてだけ別のコンテキストに入ることができます。両方のコンテキストで発信となったり、両方のコンテキストで着信となったりすることはありません。


ここでは、次の内容について説明します。

「NAT とトラフィックの発信元」

「外部インターフェイスの共有」

「内部インターフェイスの共有」

NAT とトラフィックの発信元

設定する NAT のタイプによって、共有インターフェイスでトラフィックを発信できるかどうか、または既存の接続への応答だけが可能かどうかが決まります。ダイナミック NAT を使用する場合、実アドレスへの接続を開始することはできません。このため、共有インターフェイスからのトラフィックは、既存の接続への応答でなければなりません。ただし、スタティック NAT では接続を開始できるため、共有インターフェイス上で接続を開始できます。

外部インターフェイスの共有

外部共有インターフェイス(インターネットへの接続など)を使用している場合、内部の宛先アドレスは制限され、システム管理者に通知されます。このため、スタティック NAT であっても、これらのアドレスに対しては容易に NAT を設定できます。

内部インターフェイスの共有

ただし、宛先アドレスに制限のない環境で共有インターフェイスとインターネット間の通信を許可する場合、内部共有インターフェイスの設定によって問題が生じます。たとえば、共有インターフェイス上の内部ホストからインターネットへのトラフィックの開始を許可する場合、各インターネット アドレスに対してスタティック NAT を設定する必要があります。この要件により、必然的に内部共有インターフェイス上のユーザに提供できるインターネット アクセスの種類が制限されます (インターネット サーバのアドレスをスタティックに変換する場合は、DNS エントリのアドレスと NAT によってそれがどのような影響を受けるかということも考慮する必要があります。たとえば、サーバが www.example.com にパケットを送信した場合、DNS サーバは変換されるアドレスを戻す必要があります。NAT コンフィギュレーションによって DNS エントリの管理が決定されます)。

図 4-4 に、内部共有インターフェイス上の 2 つのサーバを示します。一方のサーバは Web サーバの変換対象アドレスにパケットを送信し、FWSM がパケットを分類してコンテキスト C に流します。コンテキスト C でそのアドレスがスタティック変換されるためです。他方のサーバは変換されない実アドレスにパケットを送信しますが、FWSM がパケットを分類できないので、そのパケットは廃棄されます。

図 4-4 共有インターフェイス上を発信元とするトラフィック

 

セキュリティ コンテキストへの管理アクセス

FWSM では、システム管理者用のアクセスおよび個々のコンテキスト管理者用のアクセスを提供します。ここでは、システム管理者またはコンテキスト管理者としてのログインについて説明します。内容は次のとおりです。

「システム管理者としてのアクセス」

「コンテキスト管理者としてのアクセス」

システム管理者としてのアクセス

FWSM にシステム管理者としてアクセスする場合、次の 2 通りの方法を使用できます。

スイッチから FWSM へのセッションを開始します。

スイッチからシステム実行スペースにアクセスします。

Telnet、SSH、または ASDM を使用して管理コンテキストにアクセスします。管理コンテキストでは、最大 15 個の SSH または Telnet セッションを使用できます。

Telnet、SSH、および ASDM アクセスをイネーブルにする方法については、「管理アクセスの設定」を参照してください。

システム管理者としてアクセスする場合、すべてのコンテキストにアクセスできます。

コンテキストを管理またはシステムから変更する場合は、ユーザ名をデフォルトの「enable_15」に変更します。そのコンテキストでコマンド許可を設定した場合は、「enable_15」ユーザのための許可権限を設定する必要があります。そのコンテキストのコマンド許可コンフィギュレーションで必要な権限を付与した別の名前でログインすることもできます。ユーザ名でログインするには、 login コマンドを入力します。

たとえば、管理コンテキストにはユーザ名「admin」でログインします。管理コンテキストにはコマンド許可コンフィギュレーションは含まれませんが、他のすべてのコンテキストにはコマンド許可が含まれます。便宜上、各コンテキスト コンフィギュレーションには最大限の権限が付与されたユーザ「admin」が含まれています。管理コンテキストからコンテキスト A に変更すると、ユーザ名が変更されるため、 login コマンドを入力して「admin」として再度ログインする必要があります。コンテキスト B に変更する場合は、再度 login コマンドを入力して「admin」としてログインする必要があります。

コンテキスト管理者としてのアクセス

Telnet、SSH、または ASDM を使用してコンテキストにアクセスできます。管理コンテキスト以外にログインした場合、アクセスできるのはそのコンテキストのコンフィギュレーションだけです。コンテキストに対して個別のログインが可能です。Telnet、SSH、および ASDM アクセスをイネーブルにする方法、また管理認証を設定する方法については、「管理アクセスの設定」を参照してください。

マルチコンテキスト モードのイネーブル化またはディセーブル化

FWSM は発注に基づいて、出荷段階でマルチセキュリティ コンテキスト対応としてすでに設定されていることがあります。ただし、アップグレードする場合は、この項の手順に従ってシングルモードからマルチモードに変更する必要があります。ASDM ではモードの変更はサポートされていないため、CLI を使用してモードを変更する必要があります。

ここでは、次の内容について説明します。

「シングルモード コンフィギュレーションのバックアップ」

「マルチコンテキスト モードのイネーブル化」

「シングルコンテキスト モードの復元」

シングルモード コンフィギュレーションのバックアップ

シングルモードからマルチモードに変更すると、FWSM が実行ファイルを 2 つのファイルに変換します。元のスタートアップ コンフィギュレーションは保存されないので、実行コンフィギュレーションと異なる場合は、先にバックアップを作成する必要があります。

マルチコンテキスト モードのイネーブル化

コンテキスト モード(シングルまたはマルチ)は、再起動後まで維持される場合であっても、コンフィギュレーション ファイルには保存されません。設定を別のデバイスにコピーする場合は、 mode コマンドを使用して一致するように新規デバイスのモードを設定します。

シングルモードからマルチモードに変更すると、FWSM は実行コンフィギュレーションをシステム コンフィギュレーションで構成される新規のスタートアップ コンフィギュレーション ファイルと管理コンテキストで構成される admin.cfg ファイル(内部フラッシュ メモリのルート ディレクトリ)の 2 つのファイルに変換します。元の実行コンフィギュレーションは old_running.cfg として(内部フラッシュ メモリのルート ディレクトリで)保存されます。元のスタートアップ コンフィギュレーションは保存されません。FWSM はシステム コンフィギュレーションに、「admin」の名前で管理コンテキストのエントリを自動的に追加します。

次のコマンドを入力して、マルチモードをイネーブルにします。

hostname(config)# mode multiple
 

FWSM を再起動するように求められます。

シングルコンテキスト モードの復元

マルチモードからシングルモードに変更する場合、(可能な場合)最初にスタートアップ コンフィギュレーションをすべて FWSM にコピーします。マルチモードから継承されたシステム コンフィギュレーションは、シングルモード デバイスにおいて完全に機能するコンフィギュレーションではありません。たとえば、可能な場合はシングルモードの旧実行コンフィギュレーションを、スタートアップ コンフィギュレーションとして復元できます。システム コンフィギュレーションには、コンフィギュレーションの一部としてネットワーク インターフェイスが含まれていないので、スイッチ セッションから FWSM にアクセスし、コピーを実行する必要があります。

旧実行コンフィギュレーションをスタートアップ コンフィギュレーションにコピーし、モードをシングルモードに変更するには、システム実行スペースで次の手順を実行します。


ステップ 1 システム実行スペースで次のコマンドを入力して、元の実行コンフィギュレーションのバックアップ バージョンを現在のスタートアップ コンフィギュレーションにコピーします。

hostname(config)# copy old_running.cfg startup-config
 

ステップ 2 システム実行スペースで次のコマンドを入力して、モードをシングルモードに設定します。

hostname(config)# mode single
 

FWSM が再起動します。


 

ルール用のメモリの管理

FWSM は、システム全体で固定数のルールをサポートしています。マルチコンテキスト モードでは、FWSM はルール コンフィギュレーションに割り当てられたメモリをパーティションに分割し、各コンテキストをパーティションに割り当てます。ここでは、ルールの割り当ての仕組みとメモリ パーティションの管理方法について説明します。内容は次のとおりです。

「メモリ パーティションの概要」

「デフォルトのルール割り当て」

「メモリ パーティションの数の設定」

「メモリ パーティション サイズの変更」

「特定のメモリ パーティションに対する機能間でのルールの再割り当て」

メモリ パーティションの概要

マルチコンテキスト モードでは、FWSM はルール コンフィギュレーションに割り当てられたメモリをパーティションに分割し、各コンテキストをパーティションに割り当てます。デフォルトでは、コンテキストは、ACE、AAA ルールなど最大数のルールを提供する 12 のパーティションのうちの 1 つに属します。ルールの限度のリストについては、「デフォルトのルール割り当て」を参照してください。

FWSM は各コンテキストを、スタートアップ時にロードされる順序でパーティションに割り当てます。たとえば、12 のコンテキストを使用しており、ルールの最大数が 14,103 の場合、各コンテキストは独自のパーティションに割り当てられ、14,103 のルールを使用できます。さらに 1 つのコンテキストを追加すると、コンテキスト番号 1 および新しいコンテキスト番号 13 の両方がパーティション 1 に割り当てられるので、2 つのコンテキストが 14,103 のルールを共有します。他の 11 のコンテキストは単独で 14,103 のルールを使用できます。コンテキストを削除してもパーティションのメンバーシップには影響しません。したがって、再起動してコンテキストを均等に割り当てるまでは、コンテキストの割り当てが不均一になります。


) ルールは、先着順で使用されるので、コンテキストによっては使用するルールが他のコンテキストよりも多くなることがあります。


メモリ パーティションを管理するには、コンテキストをパーティションに手動で割り当て(「セキュリティ コンテキストの設定」を参照)、使用しているコンテキスト数と一致するようにパーティション数を減らし(「メモリ パーティションの数の設定」を参照)、パーティションのサイズを変更し(「メモリ パーティション サイズの変更」を参照)、機能間でルールを再割り当てします(「特定のメモリ パーティションに対する機能間でのルールの再割り当て」を参照)。

デフォルトのルール割り当て

表 4-1 に、デフォルトの 12 のメモリ パーティションに対してマルチコンテキスト モードで使用できる機能タイプ別のデフォルト数のルールを示します。


) アクセス リストの中には、他のアクセス リストよりも多量のメモリを消費するものもあります。また、アクセス リストのタイプによっては、システムでサポートできる実際の制限値が最大値よりも小さくなります。ACE とメモリ使用率の詳細については、「ACE の最大数」を参照してください。


 

表 4-1 デフォルトのルール割り当て

仕様
パーティションあたりの最大
(121 のパーティションの場合)

AAA ルール

1345

ACE

14,801

established コマンド2

96

フィルタ ルール

576

ICMP、Telnet、SSH、および HTTP ルール

384

ポリシー NAT ACE3

384

検査ルール

1537

合計ルール

19,219

1.12 以外のパーティションのデフォルト値を表示するには、show resource rule コマンドを使用します。

2.それぞれの established コマンドで制御ルールとデータ ルールが作成されるため、この値は「合計ルール」値で 2 倍になります。

3.この制限値はリリース 2.3 の値を下回っています。

メモリ パーティションの数の設定

パーティションの数を変更した場合、FWSM をリロードする必要があります。

パーティションの数を増やすと、各パーティションのデフォルト サイズが小さくなります。パーティション サイズを手動で設定した場合(「メモリ パーティション サイズの変更」を参照)、設定済みのサイズが新しいパーティション サイズ(小さくなったもの)と矛盾する可能性があります。設定済みの現在のサイズが新しいパーティションに適合しない場合、FWSM では新しいメモリ パーティション コンフィギュレーションを拒否します。また、FWSM ではルールの割り当ても確認します(「特定のメモリ パーティションに対する機能間でのルールの再割り当て」を参照)。機能間でルールを手動で割り当てており、割り当て済みのルールの合計数が使用可能なルール数を超えた場合、FWSM では新しいメモリ パーティション コンフィギュレーションを拒否します。同様に、機能ごとのルールの絶対最大数を超えた場合も、FWSM では新しいメモリ パーティション コンフィギュレーションを拒否します。

メモリ パーティションの数を変更する手順は、次のとおりです。


ステップ 1 コンテキストとメモリ パーティションの現在のマッピングを表示するには、次のコマンドを入力します。

hostname(config)# show resource acl-partition
 

次に、2 つのメモリ パーティションが設定されている場合の出力例を示します。

hostname(config)# show resource acl-partition
Total number of configured partitions = 2
Partition #0
Mode :exclusive
List of Contexts :bandn, borders
Number of contexts :2(RefCount:2)
Number of rules :0(Max:53087)
Partition #1
Mode :non-exclusive
List of Contexts :admin, momandpopA, momandpopB, momandpopC
momandpopD
Number of contexts :5(RefCount:5)
Number of rules :6(Max:53087)
 

排他的パーティションおよび包括的パーティションの詳細については、「セキュリティ コンテキストの設定」を参照してください。

ステップ 2 システム実行スペースで次のコマンドを入力して、パーティションの数を設定します。

hostname(config)# resource acl-partition number_of_partitions
 

number_of_partitions は 1 ~ 12 です。


) パーティション番号は 0 から始まります。したがって、パーティションが 12 個ある場合、パーティション番号は 0 ~ 11 になります。パーティション番号は、メモリ パーティションをカスタマイズしたり、コンテキストをパーティションに割り当てたりする際に使用されます。

あとで clear configure all を入力してデフォルトのコンフィギュレーションに戻すと、resource acl-partition コマンドはデフォルトには戻りません。このコマンドをデフォルトに戻すには、no resource acl-partition コマンドを入力する必要があります。


次のメッセージが表示されます。

WARNING: This command leads to re-partitioning of ACL Memory.
It will not take affect until you save the configuration and reboot.
 

ステップ 3 FWSM をリロードして変更を適用するには、次のコマンドを入力します。

hostname(config)# reload
 

フェールオーバーを使用している場合は、数秒間待ってからスタンバイ ユニットもリロードしてください。スタンバイ ユニットは自動的にはリロードされません。また、メモリ パーティションは両方の装置で一致している必要があります。両方の装置が同時にダウンするため、トラフィック ロスが生じる可能性があります。


) あとでセカンダリ ユニットを追加し、新しいセカンダリ ユニットで設定が同期されたら、即座にセカンダリ ユニットをリロードしてメモリ パーティションが同じになるようにしてください。初回同期時には、設定はセカンダリ ユニットのメモリ パーティションに正しく適合しない場合があります。ただし、リロードして設定をもう一度同期すると、セカンダリ ユニットは正常な状態になります。



 

メモリ パーティション サイズの変更

FWSM では、各パーティションのメモリ サイズを設定できます。パーティション サイズを変更する前に次のガイドラインを参照してください。

パーティション サイズを変更した場合、FWSM をリロードする必要があります。

パーティション サイズを設定する前にパーティション数を変更してください。パーティション数を変更すると、パーティションあたりのルールの合計数に影響します。たとえば、パーティション数を増やすと、各パーティションで使用可能なルール数が少なくなります。そのため、パーティション サイズのコンフィギュレーションが無効になり、すべてのパーティション サイズの再設定が必要になる場合があります。パーティション数を変更した場合、パーティション サイズを変更する前に FWSM をリロードする必要があります。つまり、パーティション サイズの変更時に 2 回めのリロードが必要になります。

パーティション サイズを設定する前に特定のパーティションにコンテキストを割り当ててください(「セキュリティ コンテキストの設定」を参照)。パーティションに現在割り当てられているコンテキストに基づいてすべてのパーティション サイズを計画する場合、コンテキストを明確に割り当てていないと、コンテキストの割り当てがリロード後に変更される危険があります(コンテキストを追加または削除した場合など)。

パーティションのサイズを小さくする場合は、事前に他のパーティションのサイズを大きくしてください。使用可能な空き領域がない場合、FWSM でサイズを大きくすることはできません。

既存の ACE の数が新しいパーティション サイズに適合しない場合、サイズ変更は拒否されます。

FWSM では、コンテキストを割り当てるためのメモリ パーティションのほか、ルールの変更を処理するためのバックアップ ツリー パーティションが使用されます。そのため、トラフィックでは、新しいコンフィギュレーションが準備できるまで、古いコンフィギュレーションを引き続き使用できます。バックアップ ツリーは、最大パーティションと同じ大きさにする必要があります。したがって、一部のメモリは最大パーティションに合わせてバックアップ ツリーに自動的に割り当てられます。そのため、計算時にはバックアップ ツリーを必ず考慮してください。

パーティションのサイズを小さくした場合、FWSM ではルールの割り当てを確認します(「特定のメモリ パーティションに対する機能間でのルールの再割り当て」を参照)。機能間でルールを手動で割り当てており、割り当て済みのルールの合計数が使用可能なルール数を超えた場合、FWSM ではパーティションのサイズ変更を拒否します。同様に、機能ごとのルールの絶対最大数を超えた場合も、FWSM ではパーティションのサイズ変更を拒否します。

メモリ パーティションのサイズを設定する手順は、次のとおりです。


ステップ 1 現在のパーティション サイズを表示するには、次のコマンドを入力します。

hostname(config)# show resource partition
 

次に、12 の各パーティションでデフォルトの 19,219 のルールが使用されている場合の出力例を示します(これは単なる例であり、実際のシステムで使用されているルールの数と異なる場合があります)。バックアップ ツリーは常に最大パーティション サイズと一致します。そのため、バックアップ ツリーでも 19,219 のルール(合計で 249,847 のルール)が使用されます。

hostname(config)# show resource partition
 
Bootup Current
Partition Default Partition Configured
Number Size Size Size
-----------+---------+----------+-----------
0 19219 19219 19219
1 19219 19219 19219
2 19219 19219 19219
3 19219 19219 19219
4 19219 19219 19219
5 19219 19219 19219
6 19219 19219 19219
7 19219 19219 19219
8 19219 19219 19219
9 19219 19219 19219
10 19219 19219 19219
11 19219 19219 19219
backup tree 19219 19219 19219
-----------+---------+----------+-----------
Total 249847 249847 249847
 
Total Partition size - Configured size = Available to allocate
249847 - 249847 = 0
 

また、 show resource acl-partition コマンドを使用して、コンテキストとパーティションの現在のマッピングを表示できます。

ステップ 2 サイズを小さくするパーティションを識別するには、システム実行スペースで次のコマンドを入力します。

hostname(config)# resource partition number
 

number は、デフォルトでは 0 ~ 11 です。パーティション数を変更した場合、パーティション番号は 0 から始まります。したがって、パーティションが 10 個ある場合、パーティション番号は 0 ~ 9 になります。

ステップ 3 パーティション サイズを小さくするには、次のコマンドを入力します。

hostname(config-partition)# size number_of_rules
 

number は、パーティションに割り当てるルールの数です。この場合、 show resource partition コマンドで示されたものより小さい数値を使用します。デフォルトに戻すには、このコマンドの no 形式を使用します。

ステップ 4 他のパーティションのサイズを小さくするには、ステップ 2 および 3 を繰り返します。

ステップ 5 パーティション サイズを大きくするために現在使用可能なルールを表示するには、 show resource partition コマンドを入力します。

次に、パーティション 0 ~ 5 のサイズを 15,000 まで小さくした場合の出力例を示します。この出力例は、25,314 のルールを他のパーティションに再割り当てできることを示しています。

hostname(config)# show resource partition
 
Bootup Current
Partition Default Partition Configured
Number Size Size Size
-----------+---------+----------+-----------
0 19219 19219 15000
1 19219 19219 15000
2 19219 19219 15000
3 19219 19219 15000
4 19219 19219 15000
5 19219 19219 15000
6 19219 19219 19219
7 19219 19219 19219
8 19219 19219 19219
9 19219 19219 19219
10 19219 19219 19219
11 19219 19219 19219
backup tree 19219 19219 19219
-----------+---------+----------+-----------
Total 249847 249847 224533
 
Total Partition size - Configured size = Available to allocate
249847 - 224533 = 25314
 

他の 6 個のパーティションとバックアップ ツリーに均等にルールを分配する場合、それぞれに 3,616 のルールを追加できます(2 つ残ります)。バックアップ ツリーは最大パーティションと同じ大きさにする必要があるため、計算時には必ずバックアップ ツリーを考慮してください。たとえば、パーティション 6 で 24,001 のルールを使用する場合、次のようにルールを割り当てることができます。

 

パーティション
ブート パーティション サイズ
設定済みのサイズ
差異

6

19219

24001

4782

バックアップ
ツリー

19219

24001

4782

7

19219

22369

3150

8

19219

22369

3150

9

19219

22369

3150

10

19219

22369

3150

11

19219

22369

3150

合計:25,314

ステップ 6 サイズを大きくするパーティションを識別するには、システム実行スペースで次のコマンドを入力します。

hostname(config)# resource partition number
 

number は、デフォルトでは 0 ~ 11 です。パーティション数を変更した場合、パーティション番号は 0 から始まります。したがって、パーティションが 10 個ある場合、パーティション番号は 0 ~ 9 になります。

ステップ 7 パーティション サイズを大きくするには、次のコマンドを入力します。

hostname(config-partition)# size number_of_rules
 

number は、パーティションに割り当てるルールの数です。この場合、 show resource partition コマンドで示されたものより大きい数値を使用します。デフォルトに戻すには、このコマンドの no 形式を使用します。

ステップ 8 他のパーティションのサイズを大きくするには、ステップ 6 および 7 を繰り返します。

ステップ 9 FWSM をリロードして変更を適用するには、次のコマンドを入力します。

hostname(config)# reload
 

フェールオーバーを使用している場合は、数秒間待ってからスタンバイ ユニットもリロードしてください。スタンバイ ユニットは自動的にはリロードされません。また、メモリ パーティション サイズは両方の装置で一致している必要があります。両方の装置が同時にダウンするため、トラフィック ロスが生じる可能性があります。


) あとでセカンダリ ユニットを追加し、新しいセカンダリ ユニットで設定が同期されたら、即座にセカンダリ ユニットをリロードしてメモリ パーティションが同じになるようにしてください。初回同期時には、設定はセカンダリ ユニットのメモリ パーティションに正しく適合しない場合があります。ただし、リロードして設定をもう一度同期すると、セカンダリ ユニットは正常な状態になります。



 

たとえば、4 個のパーティションが存在し、パーティション 0 と 1 を 40,000 まで小さくし、パーティション 2 と 3 をそれぞれ 56,616 と 56,615 まで大きくする場合、次のコマンドを入力します。

hostname(config)# show resource partition
 
Bootup Current
Partition Default Partition Configured
Number Size Size Size
-----------+---------+----------+-----------
0 49970 49970 49970
1 49969 49969 49969
2 49969 49969 49969
3 49969 49969 49969
backup tree 49970 49970 49970
-----------+---------+----------+-----------
Total 249847 249847 249847
 
Total Partition size - Configured size = Available to allocate
249847 - 249847 = 0
 
hostname(config)# resource partition 0
hostname(config-partition)# size 40000
hostname(config-partition)# resource partition 1
hostname(config-partition)# size 40000
 
hostname(config-partition)# show resource partition
 
Bootup Current
Partition Default Partition Configured
Number Size Size Size
-----------+---------+----------+-----------
0 49970 49970 40000
1 49969 49969 40000
2 49969 49969 49969
3 49969 49969 49969
backup tree 49970 49970 49969
-----------+---------+----------+-----------
Total 249847 249847 249847
 
Total Partition size - Configured size = Available to allocate
249847 - 229907 = 19940
 
hostname(config-partition)# resource partition 2
hostname(config-partition)# size 56616
hostname(config-partition)# resource partition 3
hostname(config-partition)# size 56615
 
hostname(config-partition)# show resource partition
 
Bootup Current
Partition Default Partition Configured
Number Size Size Size
-----------+---------+----------+-----------
0 49970 49970 40000
1 49969 49969 40000
2 49969 49969 56616
3 49969 49969 56615
backup tree 49970 49970 56616
-----------+---------+----------+-----------
Total 249847 249847 249847
 
Total Partition size - Configured size = Available to allocate
249847 - 249847 = 0
 
hostname(config-partition)# reload
 

特定のメモリ パーティションに対する機能間でのルールの再割り当て

すべてのパーティションに対してグローバルにルールの割り当てを設定する方法については、「機能間のルールの再割り当て」を参照してください。特定のパーティションに対してルールの割り当てを設定すると、グローバル設定が上書きされます。特定のパーティションに対してルールを再割り当てする手順は、次のとおりです。


ステップ 1 各パーティションで使用可能なルールの合計数、デフォルト値、現在のルール割り当て、および機能ごとに割り当てることができるルールの絶対最大数を表示するには、次のコマンドを入力します。

hostname(config)# show resource rule partition [number]
 

次に、パーティション 0 のルールの最大数が 19,219 の場合の出力例を示します(これは単なる例であり、実際のシステムで使用されているルールの数と異なる場合があります)。

hostname(config)# show resource rule partition 0
 
Default Configured Absolute
CLS Rule Limit Limit Max
-----------+---------+----------+---------
Policy NAT 384 384 833
ACL 14801 14801 14801
Filter 576 576 1152
Fixup 1537 1537 3074
Est Ctl 96 96 96
Est Data 96 96 96
AAA 1345 1345 2690
Console 384 384 768
-----------+---------+----------+---------
Total 19219 19219
 
Partition Limit - Configured Limit = Available to allocate
19219 - 19219 = 0
 

) パーティションのサイズを大きくしても、まだリロードしていなければ、以前のサイズ(小さいもの)におけるルールの最大数が引き続き表示されます。拡張後の限度値を表示するには、リロードする必要があります。パーティションのサイズを小さくした場合は、まだリロードしていなくても、縮小後の新しいルール数が即座に反映されます。


ステップ 2 現在使用されているルールの数を表示して、再割り当てを計画できるようにするには、次のコマンドを入力します。

hostname(config)# show np 3 acl count partition_number
 

partition_number は、デフォルトでは 0 ~ 11 です。パーティション数を変更した場合、パーティション番号は 0 から始まります。したがって、パーティションが 10 個ある場合、パーティション番号は 0 ~ 9 になります。

次に、 show np 3 acl count コマンドの出力例を示します。この例では、最大値 9216 に近い検査数(フィックスアップ ルール)が示されています。検査にいくつかのアクセス リスト ルール(ACL ルール)を割り当て直すことができます。

hostname(config)# show np 3 acl count 0
 
-------------- CLS Rule Current Counts --------------
CLS Filter Rule Count : 0
CLS Fixup Rule Count : 9001
CLS Est Ctl Rule Count : 4
CLS AAA Rule Count : 15
CLS Est Data Rule Count : 4
CLS Console Rule Count : 16
CLS Policy NAT Rule Count : 0
CLS ACL Rule Count : 30500
CLS ACL Uncommitted Add : 0
CLS ACL Uncommitted Del : 0
...
 

established コマンドでは、コントロールとデータという 2 つのタイプのルールが作成されます。これらのタイプは両方とも表示されますが、両方のルールを割り当てるには、established コマンドの数を設定します。これらのルールを別々に設定しないでください。


ステップ 3 カスタマイズするパーティションを識別するには、システム実行スペースで次のコマンドを入力します。

hostname(config)# resource partition number
 

number は、デフォルトでは 0 ~ 11 です。パーティション数を変更した場合、パーティション番号は 0 から始まります。したがって、パーティションが 10 個ある場合、パーティション番号は 0 ~ 9 になります。

ステップ 4 機能間でルールを再割り当てするには、次のコマンドを入力します。1 つの機能の値を大きくした場合は、その分だけ 1 つまたは複数の機能の値を小さくする必要があります。これにより、合計ルール数がシステム制限を超えなくなります。ステップ 1 を参照し、 show resource rule コマンドを使用して許可された合計ルール数を確認してください。

hostname(config-partition)# rule nat {max_policy_nat_rules | current | default | max}
acl {max_ace_rules | current | default | max}
filter {max_filter_rules | current | default | max}
fixup {max_inspect_rules | current | default | max}
est {max_established_rules | current | default | max}
aaa {max_aaa_rules | current | default | max}
console {max_console_rules | current | default | max}
 

このコマンドですべての引数を入力する必要があります。このコマンドの内容は即時反映されます。

nat max_nat_rules 引数には、ポリシー NAT ACE の最大数を 0 ~ 10000 の範囲内で設定します。

acl max_nat_rules 引数には、ACE の最大数を 0 ~ システム制限の範囲内で設定します。システム限度は、設定したメモリ パーティションの数によって異なります。 show resource rule コマンドの使用方法については、ステップ 1 を参照してください。

filter max_nat_rules 引数には、フィルタ ルールの最大数を 0 ~ 6000 の範囲内で設定します。

fixup max_nat_rules 引数には、検査ルールの最大数を 0 ~ 10000 の範囲内で設定します。

est max_nat_rules 引数には、 established コマンドの最大数を 0 ~ 716 の範囲内で設定します。established コマンドでは、2 つのタイプのルール(コントロール ルールとデータ ルール)を作成します。これらのタイプは両方とも show np 3 acl count show resource rules で表示されますが、 established コマンドの数と相互に関連している est キーワードを使用して両方のルールを設定します。設定済みのルールの合計数と show コマンドで示されたルールの合計数を比較する際には、ここで入力する値を必ず 2 倍にしてください。

aaa max_nat_rules 引数には、AAA ルールの最大数を 0 ~ 10000 の範囲内で設定します。

console max_nat_rules 引数には、ICMP、Telnet、SSH、および HTTP ルールの最大数を 0 ~ 4000 の範囲内で設定します。

current キーワードでは、現在設定されている値が保持されます。

default キーワードでは、ルールの最大数をデフォルトに設定します。

max キーワードでは、ルールを機能で許可されている最大数に設定します。他の機能はこの値に合わせて低く設定してください。


 

たとえば、パーティション 0 についてデフォルトの 14,801 の ACE からの 999 のルールを検査(デフォルトは 9,001)に再割り当てするには、次のコマンドを入力します。

hostname(config)# resource partition 0
hostname(config-partition)# rule nat default acl 13802 filter default fixup 10000 est default aaa default console default
 

リソース管理の設定

コンテキストあたりの最大限度を設定しないかぎり、すべてのセキュリティ コンテキストはデフォルトで FWSM のリソースに無制限にアクセスできます。ただし、1 つまたは複数のコンテキストがあまり多くのリソースを使用してしまうと、他のコンテキストの接続が拒否されることがあるので、コンテキストあたりのリソース利用が制限されるように、リソース管理を設定できます。


) FWSM はコンテキストあたりの帯域幅を制限しませんが、FWSM が搭載されているスイッチで VLAN あたりの帯域幅を制限できます。詳細については、スイッチのマニュアルを参照してください。


ここでは、次の内容について説明します。

「クラスおよびクラス メンバーの概要」

「クラスの設定」

クラスおよびクラス メンバーの概要

FWSM は、リソース クラスにコンテキストを割り当てることによってリソースを管理します。各コンテキストは、クラスによって設定されたリソース限度を使用します。ここでは、次の内容について説明します。

「リソース限度」

「デフォルト クラス」

「クラス メンバー」

リソース限度

クラスを作成した場合、FWSM はクラスに割り当てられた各コンテキスト用に一定のリソースを確保するのではありません。FWSM はコンテキストに最大限度を設定します。リソースがオーバーサブスクライブされた場合、または一部のリソースが無制限に利用された場合、少数のコンテキストがこれらのリソースを使い果たしてしまい、他のコンテキストに対するサービスが影響を受ける可能性があります。

デバイスで利用できる全体に対する割合として、すべてのリソースにまとめて限度を設定できます。または、個々のリソースに割合または絶対値として限度を設定することもできます。

全コンテキストに 100% を超えるリソースを割り当てると、FWSM のオーバーサブスクライブが可能です。たとえば、コンテキストあたりの接続数を 20% に制限するようにブロンズ クラスを設定し、そのクラスに 10 のコンテキストを割り当てた場合、合計で 200% になります。同時にコンテキストの利用がシステム限度を超えると、各コンテキストに与えられるのは、予定の 20% より少なくなります (図 4-5 を参照)。

図 4-5 リソースのオーバーサブスクライブ

 

FWSM では、割合または絶対値ではなく、クラスで 1 つまたは複数のリソースに無制限アクセスを割り当てることもできます。リソースを無制限にすると、コンテキストはシステムが提供できるだけのリソースを使用できます。たとえば、コンテキスト A、B、および C をシルバー クラスに割り当て、各クラス メンバーをシステム 検査回数/秒の 1% に制限すると、合計で 3% になりますが、現在、3 つのコンテキストで合計 2% しか使用していないとします。ゴールド クラスは無制限に検査を利用できます。この場合、ゴールド クラスのコンテキストは、「未割り当て」検査の 97% より多くを使用できます。コンテキスト A、B、および C が合計限度である 3% に到達しなくても、コンテキスト A、B、および C が現在使用していない 1% を合わせて使用できるからです (図 4-6 を参照)。無制限アクセスを設定するということは、システムのオーバーサブスクライブの程度をあまり制御できないという点を除き、FWSM をオーバーサブスクライブにするのと同様です。

図 4-6 無制限のリソース

 

デフォルト クラス

別のクラスに割り当てないかぎり、すべてのコンテキストはデフォルト クラスに属します。デフォルト クラスにコンテキストを割り当てる必要はありません。

コンテキストがデフォルト クラス以外のクラスに属している場合は必ず、これらのクラスの設定値によってデフォルト クラスの設定値が上書きされます。ただし、他のクラスに未定義の設定値がある場合、そのクラス メンバーであるコンテキストはデフォルト クラスの限度を使用します。たとえば、すべての同時接続に対して 2% の限度を設定してクラスを作成し、その他の限度については設定しなかった場合、他のすべての限度はデフォルト クラスの値を引き継ぎます。逆に、 すべて のリソースに 2% の限度を設定してクラスを作成した場合、そのクラスではデフォルト クラスの設定値は使用されません。

デフォルトでは、デフォルト クラスはすべてのコンテキストに対して、リソースの無制限アクセスを認めます。ただし、次の限度については、デフォルトでコンテキストあたりの許容最大値に設定されます。

Telnet セッション:5 セッション

SSH セッション:5 セッション

IPSec セッション:5 セッション

MAC アドレス:65,535 エントリ

図 4-7 に、デフォルト クラスとその他のクラスの関係を示します。コンテキスト A および C はいくつか限度が設定されたクラスに属しています。その他の限度は、デフォルト クラスから引き継ぎます。コンテキスト B は、割り当てられたクラスであるゴールド クラスですべての限度が設定されているので、デフォルトの限度は引き継ぎません。コンテキスト D はクラスに割り当てられていないので、デフォルトでデフォルト クラスのメンバーです。

図 4-7 リソース クラス

 

クラス メンバー

クラスの設定値を使用するには、コンテキストの定義時に、クラスにコンテキストを割り当てます。別のクラスに割り当てないかぎり、すべてのコンテキストはデフォルト クラスに属します。デフォルトにコンテキストを割り当てる必要はありません。コンテキストを割り当てることのできるリソース クラスは 1 つだけです。このルールの例外は、メンバー クラスで未定義の限度はデフォルト クラスから継承されるということです。したがって、コンテキストは事実上、デフォルトおよび別のクラスのメンバーにできます。

クラスの設定

システム コンフィギュレーションでクラスを設定するための手順は、次のとおりです。特定のリソース限度の値を変更する場合は、新しい値を使用してコマンドを再入力します。


ステップ 1 システム実行スペースに次のコマンドを入力して、クラス名を指定してクラス コンフィギュレーション モードを開始します。

hostname(config)# class name
 

name は、最大 20 文字の文字列です。デフォルト クラスに制限を設定するには、名前として default を入力します。

ステップ 2 次のオプションを参照して、リソース限度を設定します。

すべてのリソース限度( 表 4-2 を参照)を設定する場合は、次のコマンドを入力します。

hostname(config-resmgmt)# limit-resource all {number% | 0}
 

number は 1 以上の整数です。(パーセント記号(%)を付けずに) 0 を指定すると、リソースがシステム限度に設定されます。デバイスをオーバーサブスクライブにする場合は、100% を超えて割り当てることができます。

特定のリソース限度を設定する場合は、次のコマンドを入力します。

hostname(config-resmgmt)# limit-resource [rate] resource_name number[%]
 

この特定のリソースについては、 all で設定された限度が上書きされます。 rate 引数を入力して、特定のリソースにレート/秒を設定します。レート/秒を設定できるリソースについては、 表 4-2 を参照してください。

表 4-2 に、リソース タイプおよび限度を示します。 show resource types コマンドも参照してください。

 

表 4-2 リソース名および限度

リソース名
コンテキストあたりの
最小値および最大値
システム全体での総数
説明

mac-addresses

適用外

同時に 65,535

トランスペアレント ファイアウォール モードの場合、MAC アドレス テーブルで使用できる MAC アドレス数

conns

適用外

同時に 999,900

102,400/秒(レート)

2 つのホスト間の TCP または UDP 接続数
(あるホストと他の複数のホスト間を含む)

スイッチが制御します。このアルゴリズムは、スイッチ上で調整することも、不均衡の原因となった接続限度を引き上げて調整することもできます。

fixups

適用外

10,000/秒(レート)

アプリケーション検査。

hosts

適用外

同時に 262,144

FWSM を介して接続できるホスト数。

ipsec

最小 1

最大 5(同時)

同時に 10

IPSec セッション数。

asdm

最小 1

最大 5(同時)

同時に 80

ASDM 管理セッション数。

(注) ASDM セッションでは、2 つの HTTPS 接続が使用されます。1 つはモニタ用であり、常時使用されます。もう 1 つは設定変更用であり、変更時にだけ使用されます。たとえば、システム限度の ASDM セッション数が 80 の場合、HTTPS セッション数は 160 に制限されます。

ssh

最小 1

最大 5(同時)

同時に 100

SSH セッション数。

syslogs

適用外

30,000/秒(レート)

システム ログ メッセージ。

(注) FWSM は、FWSM の端末またはバッファへのメッセージ送信に関して、30,000 メッセージ/秒をサポートできます。Syslog サーバにメッセージを送信する場合、FWSM は 25,000/秒をサポートします。

telnet

最小 1

最大 5(同時)

同時に 100

Telnet セッション。

xlates

適用外

同時に 266,144

アドレス変換。


 

たとえば、conns のデフォルト クラス限度を無制限ではなく 10% に設定する場合は、次のコマンドを入力します。

hostname(config)# class default
hostname(config-class)# limit-resource conns 10%
 

その他のリソースはすべて無制限のままです。

fixups を 10% に設定する以外、すべてのリソースを 5% に設定して、gold というクラスを追加する場合は、次のコマンドを入力します。

hostname(config)# class gold
hostname(config-class)# limit-resource all 5%
hostname(config-class)# limit-resource fixups 10%
 

syslogs を 500/秒に設定する以外、すべてのリソースを 3% に設定して、silver というクラスを追加する場合は、次のコマンドを入力します。

hostname(config)# class silver
hostname(config-class)# limit-resource all 3%
hostname(config-class)# limit-resource rate syslogs 500
 

セキュリティ コンテキストの設定

システム コンフィギュレーションのセキュリティ コンテキスト定義では、コンテキスト名、コンフィギュレーション ファイルの URL、コンテキストが使用できるインターフェイス、および他のコンテキスト パラメータを指定します。


) コンテキストをアクティブ/アクティブ フェールオーバーのフェールオーバー グループに割り当てるには、「アクティブ/アクティブ フェールオーバーの使用」を参照してください。

管理コンテキストがない場合(設定を消去した場合など)は、まず次のコマンドを入力して管理コンテキスト名を指定する必要があります。

hostname(config)# admin-context name

このコンテキスト名はまだ設定には存在しませんが、その後 context name コマンドを入力して指定した名前を照合し、管理コンテキストの設定を続行することができます。


システム コンフィギュレーションでコンテキストを設定するための手順は、次のとおりです。


ステップ 1 コンテキストを設定するには、システム実行スペースで次のコマンドを入力します。

hostname(config)# context name
 

name は、最大 32 文字の文字列です。この名前は大文字と小文字が区別されるので、たとえば「customerA」と「CutomerA」という名前でコンテキストを 2 つ設定できます。文字、数字、ハイフンを使用できますが、名前の始めと終わりにハイフンを使用することはできません。

「System」または「Null」(大文字または小文字)は予約名であるため、使用できません。

ステップ 2 (任意)次のコマンドを入力して、このコンテキストの説明を追加します。

hostname(config-ctx)# description text
 

ステップ 3 次のコマンドを入力して、コンテキストで使用できるインターフェイスを指定します。

hostname(config-ctx)# allocate-interface vlannumber[-vlannumber] [map_name[-map_name] [invisible | visible]]
 

このコマンドを繰り返し入力すると、さまざまな範囲を指定できます。このコマンドの no 形式で割り当てを削除すると、このインターフェイスを含むすべてのコンテキスト コマンドが実行コンフィギュレーションから削除されます。

通常は 2 ~ 1000 および 1025 ~ 4094 の VLAN 番号または VLAN 範囲を入力します(サポートされる VLAN については、スイッチのマニュアルを参照してください)。 show vlan コマンドを使用して、FWSM に割り当てられた VLAN のリストを表示します。FWSM にまだ割り当てられていない VLAN を割り当てることはできますが、トラフィックを渡す場合は、スイッチから割り当てを行う必要があります。インターフェイスを割り当てると、FWSM はシステム コンフィギュレーションで各 VLAN に自動的に interface コマンドを追加します。

必要であれば、ルーテッド モードでマルチコンテキストに同じ VLAN を割り当ててもかまいません。共有 VLAN の制限事項の詳細については、「コンテキスト間でのインターフェイスの共有」を参照してください。

map_name はインターフェイスの英数字のエイリアスで、コンテキスト内で VLAN ID の代わりに使用できます。マップ名を指定しない場合、コンテキスト内で VLAN ID が使用されます。セキュリティ上の理由から、コンテキストの管理者にコンテキストが使用しているインターフェイスを知らせないでおいた方がよい場合があります。マルチコンテキストで同じ名前を使用できます。マルチコンテキストの VLAN ID は、指定した名前に対して同じものを使用しても別のものを使用してもかまいません。同じコンテキスト内で別個の VLAN ID に対して同じ名前を使用することはできません。

マップ名は英字から始め、英字または数字で終わらなければなりません。中間の文字として使用できるのは英字、数字、または下線だけです。使用できる名前の例を示します。

int0
 
inta
 
int_0
 

VLAN ID 範囲を指定する場合は、対応するマップ名の範囲を指定できます。範囲に関する注意事項は、次のとおりです。

マップ名は英字部分とその後ろの数字部分で構成しなければなりません。マップ名の英字部分は、範囲の先頭と末尾で一致していなければなりません。範囲の入力例を示します。

int0-int10
 

マップ名の数字部分には、 vlan x - vlan y ステートメントと同じ数だけ含まれていなければなりません。次の例では、どちらの範囲にも 100 個のインターフェイスが含まれています。

vlan100-vlan199 int1-int100
 

たとえば、 vlan100-vlan199 int1-int15 または vlan100-vlan199 happy1-sad5 を入力した場合、コマンドは失敗します。

マップ名を設定した場合、 visible を指定して、 show interface コマンドのマップ名だけでなく VLAN ID も表示します。デフォルトの invisible キーワードでは、マップ名だけが表示されます。

VLAN 100、200、および 300 ~ 305 をコンテキストに割り当てる例を示します。マップ名は int1 ~ int8 です。

hostname(config-ctx)# allocate-interface vlan100 int1
hostname(config-ctx)# allocate-interface vlan200 int2
hostname(config-ctx)# allocate-interface vlan300-vlan305 int3-int8
 

ステップ 4 次のコマンドを入力して、システムがコンテキスト コンフィギュレーションをダウンロードする URL で指定します。

hostname(config-ctx)# config-url url
 

コンテキストの URL を追加すると、設定がある場合、システムはそのコンテキストをただちにロードして、動作するようにします。


config-url コマンドを入力する前に、allocate-interface コマンドを入力します。FWSM は、コンテキスト コンフィギュレーションをロードする前に、コンテキストに VLAN インターフェイスを割り当てる必要があります。コンテキスト コンフィギュレーションにインターフェイスを参照するコマンド(interfacenatglobal など)が含まれていることがあるからです。config-url コマンドを先に入力すると、FWSM はただちにコンテキスト コンフィギュレーションをロードします。コンテキストにインターフェイスを参照するコマンドが含まれていた場合、それらのコマンドは失敗します。


URL の構文は次のとおりです。

disk:/ [ path / ] filename

この URL は内部フラッシュ メモリを示します。ファイル名にファイル拡張子は不要ですが、「.cfg」の使用を推奨します。コンフィギュレーション ファイルがない場合は、次のメッセージが表示されます。

WARNING: Could not fetch the URL disk:/url
INFO: Creating context with default config
 

その後、コンテキストに切り替えて、CLI でコンテキストを設定し、 write memory コマンドを入力してファイルをフラッシュ メモリに書き込むことができます。


) 管理コンテキストのファイルは、内部フラッシュ メモリに保管する必要があります。


ftp:// [ user [ : password ] @ ] server [: port ] / [ path / ] filename [ ;type= xx ]

type には、次のいずれかのキーワードを指定できます。

ap :ASCII パッシブ モード

an :ASCII 標準モード

ip :(デフォルト)バイナリ パッシブ モード

in :バイナリ標準モード

サーバは管理コンテキストからアクセスできなければなりません。ファイル名にファイル拡張子は不要ですが、「.cfg」の使用を推奨します。コンフィギュレーション ファイルがない場合は、次のメッセージが表示されます。

WARNING: Could not fetch the URL ftp://url
INFO: Creating context with default config
 

その後、コンテキストに切り替えて、CLI でコンテキストを設定し、 write memory コマンドを入力してファイルを FTP サーバに書き込むことができます。

http [ s ] :// [ user [ : password ] @ ] server [: port ] / [ path / ] filename

サーバは管理コンテキストからアクセスできなければなりません。ファイル名にファイル拡張子は不要ですが、「.cfg」の使用を推奨します。コンフィギュレーション ファイルがない場合は、次のメッセージが表示されます。

WARNING: Could not fetch the URL http://url
INFO: Creating context with default config
 

コンテキストに切り替えて、CLI でコンテキストを設定する場合、 write memory コマンドを使用して変更を HTTP または HTTPS サーバに保存することはできません。ただし、 copy tftp コマンドを使用して実行コンフィギュレーションを TFTP サーバにコピーすることはできます。

tftp:// [ user [ : password ] @ ] server [: port ] / [ path / ] filename [ ;int= interface_name ]

サーバは管理コンテキストからアクセスできなければなりません。ルートをサーバ アドレスに優先する場合は、インターフェイス名を指定します。ファイル名にファイル拡張子は不要ですが、「.cfg」の使用を推奨します。コンフィギュレーション ファイルがない場合は、次のメッセージが表示されます。

WARNING: Could not fetch the URL tftp://url
INFO: Creating context with default config
 

その後、コンテキストに切り替えて、CLI でコンテキストを設定し、 write memory コマンドを入力してファイルを TFTP サーバに書き込むことができます。

URL を変更するには、新しい URL で config-url コマンドを再入力します。

URL の変更の詳細については、「セキュリティ コンテキストの URL の変更」を参照してください。

コマンドの入力例を示します。

hostname(config-ctx)# config-url ftp://user1:passw0rd1@10.1.1.1/configlets/test.cfg
 

ステップ 5 (任意)次のコマンドを入力して、リソース クラスにコンテキストを割り当てます。

hostname(config-ctx)# member class_name
 

クラスを指定しなかった場合、コンテキストはデフォルト クラスに属します。コンテキストを割り当てることのできるリソース クラスは 1 つだけです。

次のコマンドを入力して、ゴールド クラスにコンテキストを割り当てます。

hostname(config-ctx)# member gold
 

ステップ 6 (任意)次のコマンドを入力して、コンテキストを特定のメモリ パーティションにマップします。

hostname(config-ctx)# allocate-acl-partition partition_number
 

partition_number は、0 ~「パーティション数 - 1」の整数です。デフォルトは 12 パーティションであるため、範囲は 0 ~ 11 になります。メモリ パーティションの数の設定方法については、「メモリ パーティションの数の設定」を参照してください。

コンテキストをパーティションに割り当てると、そのパーティションは 排他的 になります。排他的なパーティションには、明確に割り当てられたコンテキストだけが含まれます。コンテキストを明確に割り当てられていないパーティションは包括的であり、コンテキストがラウンドロビン形式で割り当てられます。


) コンテキストをすべてのパーティションに割り当てた場合、すべてのパーティションが排他的になります。ただし、パーティションに割り当てられていないコンテキストをあとで追加した場合、そのコンテキストはラウンドロビン形式で排他的パーティションに割り当てられ、最適な最初の使用可能パーティションを使用して新しいコンテキストの割り当てが行われます。新しいコンテキストのルールに対応できる排他的パーティションが存在しない場合、そのコンテキストはデフォルトでパーティション 0 に割り当てられます(ただし、パーティション 0 もコンテキスト ルールに対応できません)。これらのコンテキスト ルールは完全にはロードされないため、コンテキストの割り当て方法を手動で調整する必要があります。


たとえば、コンテキストを最初のパーティションに割り当てるには、次のコマンドを入力します。

hostname(config-ctx)# allocate-acl-partition 0
 


 

次の例では、管理コンテキストを「administrator」に設定して、内部フラッシュ メモリに「administrator」というコンテキストを作成し、FTP サーバから 2 つのコンテキストを追加しています。

hostname(config)# admin-context administrator
hostname(config)# context administrator
hostname(config-ctx)# allocate-interface vlan10
hostname(config-ctx)# allocate-interface vlan11
hostname(config-ctx)# config-url disk:/admin.cfg
 
hostname(config-ctx)# context test
hostname(config-ctx)# allocate-interface vlan100 int1
hostname(config-ctx)# allocate-interface vlan102 int2
hostname(config-ctx)# allocate-interface vlan110-vlan115 int3-int8
hostname(config-ctx)# config-url ftp://user1:passw0rd@10.1.1.1/configlets/test.cfg
hostname(config-ctx)# member gold
hostname(config-ctx)# allocate-acl-partition 0
 
 
hostname(config-ctx)# context sample
hostname(config-ctx)# allocate-interface vlan200 int1
hostname(config-ctx)# allocate-interface vlan212 int2
hostname(config-ctx)# allocate-interface vlan230-vlan235 int3-int8
hostname(config-ctx)# config-url ftp://user1:passw0rd@10.1.1.1/configlets/sample.cfg
hostname(config-ctx)# member silver
 

コンテキストとシステム実行スペース間の切り替え

システム実行スペース(または Telnet か SSH を使用した管理コンテキスト)にログインすると、コンテキストを切り替えて、各コンテキストで設定作業やモニタ作業を実行できます。コンフィギュレーション モードで編集する、または copy コマンドや write コマンドの影響を受ける実行コンフィギュレーションは、作業する場所によって決まります。システム実行スペースで作業する場合、実行コンフィギュレーションはシステム コンフィギュレーションだけで構成されます。コンテキストで作業する場合、実行コンフィギュレーションに含まれるのは、そのコンテキスト コンフィギュレーションだけです。たとえば、 show running-config コマンドですべての実行コンフィギュレーション(システムおよび全コンテキスト)を表示することはできません。現在のコンフィギュレーションだけが表示されます。ただし、 write memory all コマンドを使用すると、システム実行スペースからすべてのコンテキスト実行コンフィギュレーションを保存できます。

コンテキスト間での切り替え時のコマンド許可の詳細については、「セキュリティ コンテキストへの管理アクセス」を参照してください。

システム実行スペースとコンテキスト間で切り替えるか、またはコンテキスト間で切り替える場合は、次のコマンドを参照してください。

コンテキストに切り替える場合は、次のコマンドを入力します。

hostname# changeto context name
 

プロンプトが次のように変わります。

hostname/name#
 

システム実行スペースに切り替える場合は、次のコマンドを入力します。

hostname/admin# changeto system
 

プロンプトが次のように変わります。

hostname#
 

セキュリティ コンテキストの管理

ここでは、セキュリティ コンテキストの管理方法について説明します。内容は次のとおりです。

「セキュリティ コンテキストの削除」

「管理コンテキストの変更」

「セキュリティ コンテキストの URL の変更」

「セキュリティ コンテキストのリロード」

「セキュリティ コンテキストのモニタリング」

セキュリティ コンテキストの削除

コンテキストを削除する唯一の方法は、システム コンフィギュレーションを編集することです。 clear context コマンドを使用してすべてのコンテキストを削除しないかぎり、現在の管理コンテキストを削除することはできません。


) フェールオーバーを使用する場合、アクティブ ユニットまたはグループ上でコンテキストを削除してから、スタンバイ ユニットまたはグループ上でコンテキストが削除されるまでに遅延が生じます。アクティブ ユニットとスタンバイ ユニット間でインターフェイス数が一致していないことを伝えるエラー メッセージが表示される場合がありますが、このエラーは一時的なものなので、無視してかまいません。


コンテキストを削除するには、次のコマンドを使用します。

個々のコンテキストを削除する場合は、システム実行スペースで次のコマンドを入力します。

hostname(config)# no context name
 

(管理コンテキストを含めて)すべてのコンテキストを削除する場合は、システム実行スペースで次のコマンドを入力します。

hostname(config)# clear context
 

管理コンテキストの変更

システム コンフィギュレーションには、システムそのもののネットワーク インターフェイスまたはネットワーク設定値は含みません。システムがネットワーク リソースにアクセスする必要がある場合に(サーバからコンテキストをダウンロードする場合など)、管理(admin)コンテキストとして指定されたコンテキストの 1 つを使用します。

管理コンテキストは、ユーザが管理コンテキストにログインすると、システム管理者の権限でシステムとその他のすべてのコンテキストにアクセスできるという点を除き、他のコンテキストとまったく同じです。管理コンテキストは決して制限されず、標準コンテキストとして使用できます。ただし、管理コンテキストにログインすると、すべてのコンテキストに対する管理者権限が付与されるため、管理コンテキストへのアクセスを適切なユーザに制限する必要がある場合があります。

コンフィギュレーション ファイルが 内部フラッシュ メモリに保存されているかぎり、すべてのコンテキストを管理コンテキストに設定できます。システム実行スペースで次のコマンドを入力して、管理コンテキストを設定します。

hostname(config)# admin-context context_name
 

管理コンテキストに接続されている、Telnet、SSH、HTTPS などのリモート管理セッションはすべて終了します。新しい管理コンテキストに再接続する必要があります。


) 管理コンテキストに属するインターフェイス名を識別するシステム コマンドは少数です。このため、管理コンテキストを変更し、そのインターフェイス名が新しい管理コンテキストに存在しない場合、そのインターフェイスを参照するすべてのシステム コマンドを更新する必要があります。


セキュリティ コンテキストの URL の変更

新しい URL から設定をリロードしないかぎり、セキュリティ コンテキストの URL を変更することはできません。

FWSM は、新しい設定を現在の実行コンフィギュレーションと結合します。同一 URL を再入力した場合も、保存された設定と実行コンフィギュレーションが結合されます。結合によって、新しいコンフィギュレーションのコマンドが実行コンフィギュレーションに追加されます。設定が同じ場合、変更はありません。コマンドが矛盾する場合、またはコマンドがコンテキストの稼動に影響を与える場合、結合の影響はコマンドによって異なります。エラーが発生することもあれば、予想外の結果が生じることもあります。実行コンフィギュレーションがブランクの場合(サーバが利用できなかった、設定が一度もダウンロードされていないなど)、新しい設定が使用されます。設定の結合が望ましくない場合は、実行コンフィギュレーションを消去できます。この場合、コンテキストを介した通信が中断され、新しい URL から設定がリロードされます。

コンテキストの URL を変更する手順は、次のとおりです。


ステップ 1 設定を結合しない場合、次のコマンドを入力してコンテキストに切り替え、そのコンテキスト コンフィギュレーションを消去します。結合を実行する場合は、ステップ 2 に進みます。

hostname# changeto context name
hostname/name# configure terminal
hostname/name(config)# clear configure all
 

ステップ 2 必要に応じて次のコマンドを入力して、システム実行スペースに切り替えます。

hostname/name(config)# changeto system
 

ステップ 3 次のコマンドを入力して、変更するコンテキストに対応するコンテキスト コンフィギュレーション モードを開始します。

hostname(config)# context name
 

ステップ 4 次のコマンドを入力して、新しい URL を指定します。

hostname(config)# config-url new_url
 

システムがコンテキストをただちにロードして、動作するようにします。


 

セキュリティ コンテキストのリロード

コンテキストは、2 通りの方法でリロードできます。

実行コンフィギュレーションを消去し、スタートアップ コンフィギュレーションをインポートします。

この処理によって、接続、NAT テーブルなど、コンテキストに対応付けられた属性の大部分が消去されます。

システム コンフィギュレーションからコンテキストを削除します。

この処理によって、メモリ割り当てなど、その他の属性が消去されます。これはトラブルシューティングに役立つ場合があります。ただし、システムにもう一度コンテキストを追加するには、URL とインターフェイスを再指定しなければなりません。

ここでは、次の内容について説明します。

「設定の消去によるリロード」

「コンテキストの削除および再追加によるリロード」

設定の消去によるリロード

コンテキスト コンフィギュレーションを消去することによってコンテキストをリロードし、URL から設定をリロードする手順は、次のとおりです。


ステップ 1 次のコマンドを入力して、リロードするコンテキストに切り替えます。

hostname# changeto context name
 

ステップ 2 次のコマンドを入力して、コンフィギュレーション モードにアクセスします。

hostname/name# configure terminal
 

ステップ 3 次のコマンドを入力して、実行コンフィギュレーションを消去します。

hostname/name(config)# clear configure all
 

このコマンドはすべての接続をクリアします。

ステップ 4 次のコマンドを入力して、設定をリロードします。

hostname/name(config)# copy startup-config running-config
 

FWSM が、システム コンフィギュレーションで指定された URL から設定をコピーします。コンテキスト内で URL を変更することはできません。


 

コンテキストの削除および再追加によるリロード

コンテキストを削除してからもう一度追加することによって、コンテキストをリロードする場合は、次の手順を実行します。

1. 「セキュリティ コンテキストの削除」

2. 「セキュリティ コンテキストの設定」

セキュリティ コンテキストのモニタリング

ここでは、コンテキスト情報を表示してモニタする方法について説明します。内容は次のとおりです。

「コンテキスト情報の表示」

「リソース割り当ての表示」

「リソース使用状況の表示」

「コンテキストでの SYN 攻撃のモニタリング」

コンテキスト情報の表示

システム実行スペースから、名前、割り当てられたインターフェイス、およびコンフィギュレーション ファイルの URL を示したコンテキストの一覧を表示できます。

システム実行スペースから次のコマンドを入力して、すべてのコンテキストを表示します。

hostname# show context [name | detail| count]
 

detail オプションを指定すると、詳細情報が表示されます。次の出力例を参照してください。

特定のコンテキストについて情報を表示する場合は、 name を指定します。

count オプションを指定すると、コンテキストの総数が表示されます。

次に、 show context コマンドの出力例を示します。次に、3 つのコンテキストの出力例を示します。

hostname# show context
Context Name Class Interfaces Mode URL
*admin default Vlan100,101 Routed disk:/admin.cfg
contexta Gold Vlan200,201 Transparent disk:/contexta.cfg
contextb Silver Vlan300,301 Routed disk:/contextb.cfg
Total active Security Contexts: 3
 

表 4-3 で、各フィールドについて説明します。

 

表 4-3 show context のフィールド

フィールド
説明

Context Name

すべてのコンテキスト名を表示します。アスタリスク(*)の付いたコンテキスト名は、管理コンテキストです。

Class

コンテキストが属しているリソース クラス

Interfaces

コンテキストに割り当てられているインターフェイス

Mode

各コンテキストのファイアウォール モード
(ルーテッド モードまたはトランスペアレント モード)

URL

FWSM がコンテキスト コンフィギュレーションをダウンロードする URL

次に、 show context detail コマンドの出力例を示します。

hostname# show context detail
 
Context "admin", has been created, but initial ACL rules not complete
Config URL: disk:/admin.cfg
Real Interfaces: Vlan100
Mapped Interfaces: Vlan100
Class: default, Flags: 0x00000013, ID: 1
 
Context "ctx", has been created, but initial ACL rules not complete
Config URL: disk:/ctx.cfg
Real Interfaces: Vlan10,20,30
Mapped Interfaces: int1, int2, int3
Class: default, Flags: 0x00000011, ID: 2
 
Context "system", is a system resource
Config URL: startup-config
Real Interfaces:
Mapped Interfaces: Vlan100,10,20,30
Class: default, Flags: 0x00000019, ID: 257
 
Context "null", is a system resource
Config URL: ... null ...
Real Interfaces:
Mapped Interfaces:
Class: default, Flags: 0x00000009, ID: 258
 

detail の出力については、『 Catalyst 6500 Series Switch and Cisco 7600 Series Router Firewall Services Module Command Reference 』を参照してください。

次に、 show context count コマンドの出力例を示します。

hostname# show context count
Total active contexts: 2

リソース割り当ての表示

システム実行スペースから、すべてのクラスおよびすべてのクラス メンバーについて、各リソースの割り当てを表示できます。

リソース割り当てを表示するには、次のコマンドを入力します。

hostname# show resource allocation [detail]
 

このコマンドで表示されるのは、リソース割り当てであり、実際に使用されているリソースではありません。実際のリソース使用状況の詳細については、「リソース使用状況の表示」を参照してください。

detail 引数を指定すると、詳細情報が表示されます。次の出力例を参照してください。

次に、 show resource allocation コマンドの出力例を示します。この出力例では、各リソースの総割り当てを絶対値および使用可能なシステム リソースの割合で表しています。

hostname# show resource allocation
Resource Total % of Avail
Conns [rate] 35000 35.00%
Fixups [rate] 35000 35.00%
Syslogs [rate] 10500 35.00%
Conns 305000 30.50%
Hosts 78842 30.07%
IPsec 7 35.00%
SSH 35 35.00%
Telnet 35 35.00%
Xlates 91749 34.99%
All unlimited
 

表 4-4 で、各フィールドについて説明します。

 

表 4-4 show resource allocation のフィールド

フィールド
説明

Resource

制限できるリソースの名前

Total

すべてのコンテキスト間で割り当てられているリソースの総量。量とは、同時
インスタンスの絶対数またはインスタンス数/秒です。クラス定義で割合を指定
した場合、FWSM がこの出力のために割合を絶対数に変換します。

% of Avail

総システム リソースのうち、すべてのコンテキスト間で割り当てられている
割合。

次に、 show resource allocation detail コマンドの出力例を示します。

hostname# show resource allocation detail
Resource Origin:
A Value was derived from the resource 'all'
C Value set in the definition of this class
D Value set in default class
Resource Class Mmbrs Origin Limit Total Total %
Conns [rate] default all CA unlimited
gold 1 C 34000 34000 20.00%
silver 1 CA 17000 17000 10.00%
bronze 0 CA 8500
All Contexts: 3 51000 30.00%
 
Fixups [rate] default all CA unlimited
gold 1 DA unlimited
silver 1 CA 10000 10000 10.00%
bronze 0 CA 5000
All Contexts: 3 10000 10.00%
 
Syslogs [rate] default all CA unlimited
gold 1 C 6000 6000 20.00%
silver 1 CA 3000 3000 10.00%
bronze 0 CA 1500
All Contexts: 3 9000 30.00%
 
Conns default all CA unlimited
gold 1 C 200000 200000 20.00%
silver 1 CA 100000 100000 10.00%
bronze 0 CA 50000
All Contexts: 3 300000 30.00%
 
Hosts default all CA unlimited
gold 1 DA unlimited
silver 1 CA 26214 26214 9.99%
bronze 0 CA 13107
All Contexts: 3 26214 9.99%
 
IPSec default all C 5
gold 1 D 5 5 50.00%
silver 1 CA 1 1 10.00%
bronze 0 CA unlimited
All Contexts: 3 11 110.00%
 
SSH default all C 5
gold 1 D 5 5 5.00%
silver 1 CA 10 10 10.00%
bronze 0 CA 5
All Contexts: 3 20 20.00%
 
Telnet default all C 5
gold 1 D 5 5 5.00%
silver 1 CA 10 10 10.00%
bronze 0 CA 5
All Contexts: 3 20 20.00%
 
Xlates default all CA unlimited
gold 1 DA unlimited
silver 1 CA 23040 23040 10.00%
bronze 0 CA 11520
All Contexts: 3 23040 10.00%
 
mac-addresses default all C 65535
gold 1 D 65535 65535 100.00%
silver 1 CA 6553 6553 9.99%
bronze 0 CA 3276
All Contexts: 3 137623 209.99%
 

表 4-5 で、各フィールドについて説明します。

 

表 4-5 show resource allocation detail のフィールド

フィールド
説明

Resource

制限できるリソースの名前

Class

デフォルト クラスを含めた各クラスの名前

All Contexts フィールドに、全クラスでの合計値が示されます。

Mmbrs

各クラスに割り当てられたコンテキスト数

Origin

次に示す、リソース限度の設定元

A:個々のリソースではなく、 all オプションで設定された限度

C:メンバー クラスから導出された限度

D:メンバー クラスでは定義されていない、デフォルト クラスに導出された限度。デフォルト クラスに割り当てられたコンテキストの場合、この値は「D」ではなく「C」になります。

FWSM は、「A」と、「C」または「D」を結合できます。

Limit

絶対値で表したコンテキストあたりのリソース限度。クラス定義で割合を指定
した場合、FWSM がこの出力のために割合を絶対数に変換します。

Total

クラス内のすべてのコンテキスト間で割り当てられているリソースの総量。量とは、同時インスタンスの絶対数またはインスタンス数/秒です。リソースが無制限の場合、この表示はブランクになります。

% of Avail

総システム リソースのうち、クラス内のすべてのコンテキスト間で割り当てられている割合。リソースが無制限の場合、この表示はブランクになります。

リソース使用状況の表示

システム実行スペースから、各コンテキストのリソース使用状況およびシステムのリソース使用状況を表示できます。

システム実行スペースから次のコマンドを入力して、各コンテキストのリソース使用状況を表示します。

hostname# show resource usage [context context_name | top n | all | summary | system] [resource {resource_name | all} | detail] [counter counter_name [count_threshold]]
 

デフォルトでは、 all のコンテキストのリソース使用状況が表示されます(各コンテキストは別個に表示されます)。

top n キーワードを入力すると、指定したリソースの利用上位 n 番までのユーザのコンテキストが表示されます。このオプションでは、 resource all ではなく、特定のリソース タイプを指定する必要があります。

summary オプションを指定すると、すべてのコンテキストの使用状況が集計されて表示されます。

system オプションではすべてのコンテキストの使用状況が集計されて表示されますが、限度は集計されたコンテキスト限度ではなくリソースのシステム限度が表示されます。

resource resource_name については、 表 4-2 で使用可能なリソース名を参照してください。 show resource type コマンドも参照してください。すべてのタイプに対して、 all (デフォルト)を指定します。

detail オプションを使用すると、管理できないリソースを含め、すべてのリソースのリソース使用状況が表示されます。たとえば、TCP 代行受信の数を表示できます。

counter counter_name は、次のキーワードの 1 つです。

current :アクティブな同時インスタンスの数または現在のリソース レートが表示されます。

denied :リソース割り当てを超えたために拒否されたインスタンスの数が表示されます。

peak clear resource usage コマンドによって、またはデバイスの再起動によって、統計情報が前回消去されて以後、最大の同時インスタンス数または最大リソース レートが表示されます。

all :(デフォルト)すべての統計情報が表示されます。

count_threshold で設定した値を上回ると、リソースが表示されます。デフォルトは 1 です。リソースの使用状況が設定した値を下回っている場合、そのリソースは表示されません。カウンタ名に all を指定すると、現在の使用数に count_threshold が適用されます。


) すべてのリソースを表示する場合は、count_threshold0 に設定します。


次に、管理コンテキストのリソース使用状況を表す show resource usage context コマンドの出力例を示します。

hostname# show resource usage context admin
 
Resource Current Peak Limit Denied Context
Telnet 1 1 5 0 admin
Conns 44 55 N/A 0 admin
Hosts 45 56 N/A 0 admin
 

次に、すべてのコンテキストおよびすべてのリソースのリソース使用状況を表す show resource usage summary コマンドの出力例を示します。この例では、6 つのコンテキストの制限を示します。

hostname# show resource usage summary
 
Resource Current Peak Limit Denied Context
Syslogs [rate] 1743 2132 12000(U) 0 Summary
Conns 584 763 100000(S) 0 Summary
Xlates 8526 8966 93400 0 Summary
Hosts 254 254 262144 0 Summary
Conns [rate] 270 535 42200 1704 Summary
Fixups [rate] 270 535 100000(S) 0 Summary
U = Some contexts are unlimited and are not included in the total.
S = System limit: Combined context limits exceed the system limit; the system limit is shown.
 

次に、 show resource usage system counter all 0 コマンドの出力例を示します。すべてのコンテキストのリソース使用状況が表示されますが、限度は集計されたコンテキスト限度ではなくシステム限度が表示されます。

hostname# show resource usage system counter all 0
 
Resource Current Peak Limit Denied Context
Telnet 0 0 100 0 System
SSH 0 0 100 0 System
ASDM 0 0 80 0 System
IPSec 0 0 10 0 System
Syslogs [rate] 0 0 30000 0 System
Conns 0 0 1000000 0 System
Xlates 0 0 262144 0 System
Hosts 0 0 262144 0 System
Conns [rate] 0 0 170000 0 System
Fixups [rate] 0 0 100000 0 System
Mac-addresses 0 0 65535 0 System
 

コンテキストでの SYN 攻撃のモニタリング

FWSM は TCP 代行受信を使用して SYN 攻撃を阻止します。TCP 代行受信では、SYN クッキー アルゴリズムを使用して、TCP SYN フラッディング攻撃を阻止します。SYN フラッディング攻撃では通常、スプーフィングされた IP アドレスから一連の SYN パケットが送信されます。継続的に送信される SYN パケットにより、サーバの SYN キューが常に満杯状態になり、接続要求を処理できなくなります。接続が、初期接続スレッシュホールドに達すると、FWSM はサーバのプロキシとして動作し、クライアントの SYN 要求に対して SYN-ACK 応答を生成します。FWSM は、クライアントから ACK の返信を受信すると、そのクライアントを認証し、サーバへの接続を許可します。

個々のコンテキストへの攻撃率をモニタするには、show perfmon コマンドを使用します。個々のコンテキスト用に TCP 代行受信が使用したリソース量をモニタするには、show resource usage detail コマンドを使用します。TCP 代行受信がシステム全体で使用したリソース量をモニタするには、show resource usage summary detail コマンドを使用します。

次に、管理コンテキストの TCP 代行受信レートを表す show perfmon コマンドの出力例を示します。

hostname/admin# show perfmon
 
Context:admin
PERFMON STATS: Current Average
Xlates 0/s 0/s
Connections 0/s 0/s
TCP Conns 0/s 0/s
UDP Conns 0/s 0/s
URL Access 0/s 0/s
URL Server Req 0/s 0/s
WebSns Req 0/s 0/s
TCP Fixup 0/s 0/s
HTTP Fixup 0/s 0/s
FTP Fixup 0/s 0/s
AAA Authen 0/s 0/s
AAA Author 0/s 0/s
AAA Account 0/s 0/s
TCP Intercept 322779/s 322779/s
 

次に、各コンテキストの TCP 代行受信で使用されるリソース量を表す show resource usage detail コマンドの出力例を示します (イタリック体の表示が TCP 代行受信に関する情報です)。

hostname(config)# show resource usage detail
Resource Current Peak Limit Denied Context
memory 843732 847288 unlimited 0 admin
chunk:channels 14 15 unlimited 0 admin
chunk:fixup 15 15 unlimited 0 admin
chunk:hole 1 1 unlimited 0 admin
chunk:ip-users 10 10 unlimited 0 admin
chunk:list-elem 21 21 unlimited 0 admin
chunk:list-hdr 3 4 unlimited 0 admin
chunk:route 2 2 unlimited 0 admin
chunk:static 1 1 unlimited 0 admin
tcp-intercept-rate 328787 803610 unlimited 0 admin
np-statics 3 3 unlimited 0 admin
statics 1 1 unlimited 0 admin
ace-rules 1 1 N/A 0 admin
console-access-rul 2 2 N/A 0 admin
fixup-rules 14 15 N/A 0 admin
memory 959872 960000 unlimited 0 c1
chunk:channels 15 16 unlimited 0 c1
chunk:dbgtrace 1 1 unlimited 0 c1
chunk:fixup 15 15 unlimited 0 c1
chunk:global 1 1 unlimited 0 c1
chunk:hole 2 2 unlimited 0 c1
chunk:ip-users 10 10 unlimited 0 c1
chunk:udp-ctrl-blk 1 1 unlimited 0 c1
chunk:list-elem 24 24 unlimited 0 c1
chunk:list-hdr 5 6 unlimited 0 c1
chunk:nat 1 1 unlimited 0 c1
chunk:route 2 2 unlimited 0 c1
chunk:static 1 1 unlimited 0 c1
tcp-intercept-rate 16056 16254 unlimited 0 c1
globals 1 1 unlimited 0 c1
np-statics 3 3 unlimited 0 c1
statics 1 1 unlimited 0 c1
nats 1 1 unlimited 0 c1
ace-rules 2 2 N/A 0 c1
console-access-rul 2 2 N/A 0 c1
fixup-rules 14 15 N/A 0 c1
memory 232695716 232020648 unlimited 0 system
chunk:channels 17 20 unlimited 0 system
chunk:dbgtrace 3 3 unlimited 0 system
chunk:fixup 15 15 unlimited 0 system
chunk:ip-users 4 4 unlimited 0 system
chunk:list-elem 1014 1014 unlimited 0 system
chunk:list-hdr 1 1 unlimited 0 system
chunk:route 1 1 unlimited 0 system
block:16384 510 885 unlimited 0 system
block:2048 32 34 unlimited 0 system
 

次に、システム全体の TCP 代行受信で使用されるリソースを表す show resource usage summary detail コマンドの出力例を示します (イタリック体の表示が TCP 代行受信に関する情報です)。

hostname(config)# show resource usage summary detail
Resource Current Peak Limit Denied Context
memory 238421312 238434336 unlimited 0 Summary
chunk:channels 46 48 unlimited 0 Summary
chunk:dbgtrace 4 4 unlimited 0 Summary
chunk:fixup 45 45 unlimited 0 Summary
chunk:global 1 1 unlimited 0 Summary
chunk:hole 3 3 unlimited 0 Summary
chunk:ip-users 24 24 unlimited 0 Summary
chunk:udp-ctrl-blk 1 1 unlimited 0 Summary
chunk:list-elem 1059 1059 unlimited 0 Summary
chunk:list-hdr 10 11 unlimited 0 Summary
chunk:nat 1 1 unlimited 0 Summary
chunk:route 5 5 unlimited 0 Summary
chunk:static 2 2 unlimited 0 Summary
block:16384 510 885 8192(S) 0 Summary
block:2048 32 35 1000(S) 0 Summary
tcp-intercept-rate 341306 811579 unlimited 0 Summary
globals 1 1 1051(S) 0 Summary
np-statics 6 6 4096(S) 0 Summary
statics 2 2 2048(S) 0 Summary
nats 1 1 2048(S) 0 Summary
ace-rules 3 3 116448(S) 0 Summary
console-access-rul 4 4 4356(S) 0 Summary
fixup-rules 43 44 8032(S) 0 Summary
S = System: Total exceeds the system limit; the system limit is shown