セキュリティ コンテキストの概要
1 つの FWSM をセキュリティ コンテキストと呼ばれる複数の仮想デバイスに分割できます。各コンテキストには独自のセキュリティ ポリシー、インターフェイス、および管理者が与えられます。マルチコンテキストは、スタンドアロンのデバイスを複数使用することと同様です。ルーティング テーブル、ファイアウォール機能、管理などマルチコンテキスト モードでサポートされている機能は数多くあります。ダイナミック ルーティング プロトコルなど一部の機能はサポートされていません。
マルチコンテキスト モードの場合、FWSM にはコンテキストごとに、セキュリティ ポリシー、インターフェイス、およびスタンドアロン デバイスで設定できるほぼすべてのオプションのコンフィギュレーションが含まれます。システム管理者は、システム コンフィギュレーション(シングルモード コンフィギュレーション同様、スタートアップ コンフィギュレーションに相当します)でコンテキストを設定することによって、コンテキストを追加および管理します。システム コンフィギュレーションには FWSM の基本設定が含まれます。システム コンフィギュレーションには、システムそのもののネットワーク インターフェイスまたはネットワーク設定値は含みません。システムがネットワーク リソースにアクセスする必要がある場合に(サーバからコンテキストをダウンロードする場合など)、管理(admin)コンテキストとして指定されたコンテキストの 1 つを使用します。
管理コンテキストは、ユーザが管理コンテキストにログインすると、システム管理者の権限でシステムとその他のすべてのコンテキストにアクセスできるという点を除き、他のコンテキストとまったく同じです。
ここでは、セキュリティ コンテキストの概要について説明します。内容は次のとおりです。
• 「セキュリティ コンテキストの一般的な使用方法」
• 「サポートされていない機能」
• 「コンテキスト コンフィギュレーション ファイル」
• 「FWSM によるパケットの分類方法」
• 「コンテキスト間でのインターフェイスの共有」
• 「マルチコンテキスト モードの FWSM へのログイン」
セキュリティ コンテキストの一般的な使用方法
複数のセキュリティ コンテキストを使用する状況として考えられるものは、次のとおりです。
• サービス プロバイダーが多数のカスタマーにセキュリティ サービスを販売する場合。FWSM 上でマルチセキュリティ コンテキストを使用できるようにすると、すべてのカスタマー トラフィックが切り離され、セキュアで設定の容易な、コスト効率が高く、しかも場所を取らないソリューションを実現できます。
• 大企業または大学構内で、各部門を完全に切り離しておく必要がある場合
• 企業で、部門ごとにセキュリティ ポリシーを区別して提供する場合
• 複数のファイアウォールが必要なネットワークを使用する場合
サポートされていない機能
マルチコンテキスト モードでは、次の機能はサポートしません。
• ダイナミック ルーティング プロトコル
セキュリティ コンテキストがサポートするのは、スタティック ルートだけです。マルチコンテキスト モードで OSPF または Routing Information Protocol(RIP)をイネーブルにすることはできません。
• マルチキャスト
コンテキスト コンフィギュレーション ファイル
コンテキストごとに、セキュリティ ポリシー、インターフェイス、およびサポートされている機能についてスタンドアロン デバイスで設定できるすべてのオプションを指定した、専用のコンフィギュレーション ファイルを使用します。コンテキスト コンフィギュレーションは内部フラッシュ メモリに保存できます。またはTFTP、FTP、HTTP(S)サーバからダウンロードできます。
個々のセキュリティ コンテキストのほかに、FWSM にはコンテキストのリストを含め、FWSM の基本設定を指定したシステム コンフィギュレーションも組み込まれます。シングルモード コンフィギュレーションと同様、このコンフィギュレーションはスタートアップ コンフィギュレーションとして常時設定されます。
システム コンフィギュレーションには、システムそのもののネットワーク インターフェイスまたはネットワーク設定値は含みません。システムがネットワーク リソースにアクセスする必要がある場合に(サーバからコンテキストをダウンロードする場合など)、管理(admin)コンテキストとして指定されたコンテキストの 1 つを使用します。システム コンフィギュレーションには、フェールオーバー トラフィック専用の特殊なフェールオーバー インターフェイスは含みません。システムがすでにマルチコンテキスト モードになっている場合、またはシングルモードから切り替える場合、内部フラッシュ メモリ上に、admin.cfg というファイルとして管理コンテキストが自動的に作成されます。このコンテキストの名前は「admin」です。admin.cfg を管理コンテキストとして使用しない場合は、管理コンテキストを変更できます。
FWSM によるパケットの分類方法
FWSM がパケットの送信先コンテキストを判別できるように、FWSM に入ってくるパケットごとに分類が必要です。分類機能では次のルールを使用して、パケットをコンテキストに割り当てます。
1. 入力側インターフェイスに対応付けられるコンテキストが 1 つのみの場合、FWSM はパケットをそのコンテキストに分類します。
透過ファイアウォール モードではコンテキスト固有のインターフェイスが必要であるため、常にこの方法でパケットを分類します。
2. 入力側インターフェイスに対応付けられるコンテキストが複数ある場合、FWSM は宛先アドレスを次のいずれかのコンテキスト コンフィギュレーションと照合することによって、パケットをコンテキストに分類します。
a. インターフェイス IP アドレス( ip address コマンド)
分類機能は、管理トラフィックなどインターフェイス宛てのトラフィックのインターフェイス IP アドレスを調べます。
b. スタティック Network Address Translation(NAT; ネットワーク アドレス変換)ステートメントのマップ アドレス( static コマンド)
分類機能は、マップ インターフェイスがパケットの入力側インターフェイスと一致する static コマンドのみを調べます。
c. アクティブなダイナミック アドレス変換のマップ アドレス( global コマンドによって設定)
分類機能は、入力側インターフェイスの変換テーブルのマップ IP アドレスを調べます。
(注) 分類機能は、分類目的では NAT 除外コンフィギュレーションを使用しません。NAT 除外はマップ インターフェイスを識別しないためです。
パケットは、上述のいずれかの方法に基づいてコンテキストに分類する必要があります。たとえば、コンテキストにサブネットへのネクストホップとして外部ルータをポイントするスタティック ルートが含まれる場合、および異なるコンテキストに同一サブネットの static コマンドが含まれる場合、分類機能では static コマンドを使用してそのサブネット宛てのパケットを分類し、スタティック ルートは無視します。
たとえば、各コンテキストが固有のインターフェイスを持つ場合、分類機能では入力側インターフェイスに基づいてパケットをコンテキストに対応付けます。ただし、コンテキスト間でインターフェイスを共有する場合、分類機能は宛先アドレスを使用します。
宛先アドレスの分類には NAT が必要であるため(転送トラフィックのために)、NAT を使用しない場合は、各コンテキストに固有のインターフェイスを使用してください。
図4-1 は、内部インターフェイスが固有であるのに対し、外部インターフェイスを複数のコンテキストで共有し、IP アドレスのオーバーラップを認めている状態を示しています。コンテキスト B には宛先アドレスと一致するアドレス変換が含まれるため、分類機能はパケットをコンテキスト B に割り当てています。
図4-1 共有インターフェイスを使用したパケット分類
新規の着信トラフィックは、内部ネットワークからのトラフィックであってもすべて分類する必要があります。図4-2 は、インターネットにアクセスするネットワーク内のコンテキスト B のホストを示しています。入力側インターフェイス VLAN 300 がコンテキスト B に割り当てられているため、分類機能はパケットをコンテキスト B に割り当てています。
図4-2 内部ネットワークからの着信トラフィック
透過ファイアウォールの場合、固有のインターフェイスを使用する必要があります。分類機能では透過モードでの NAT をサポートしていないため、分類を行うには固有のインターフェイスを使用するしか方法がありません。図4-3 は、インターネットにアクセスするネットワーク内のコンテキスト B のホストを示しています。入力側インターフェイス VLAN 300 がコンテキスト B に割り当てられているため、分類機能はパケットをコンテキスト B に割り当てています。
図4-3 透過ファイアウォールのコンテキスト
コンテキスト間でのインターフェイスの共有
ルーテッド モードのみ
FWSM では、コンテキスト間でインターフェイスを共有できます。たとえば、インターフェイスを保全するために外部インターフェイスを共有できます。内部インターフェイスを共有して、コンテキスト間でリソースを共有することもできます。ただし、パケット分類要件により、共有インターフェイスを実行できないことがあります。
ここでは、次の内容について説明します。
• 「共有インターフェイスの注意事項」
• 「セキュリティ コンテキストのカスケード」
共有インターフェイスの注意事項
共有インターフェイスからのトラフィックが FWSM を通過できるようにするには、トラフィックの 宛先 アドレスを変換する必要があります。分類機能は、アドレス変換コンフィギュレーションを使用してコンテキスト内のパケットを分類します。NAT を実行しない場合は、固有のインターフェイスを使用する必要があります。(インターフェイスを共有し、インターフェイスとやり取りする管理トラフィックのみを許可する場合、分類機能はインターフェイス IP アドレス コンフィギュレーションを使用してパケットを分類します。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 共有インターフェイス上を発信元とするトラフィック
セキュリティ コンテキストのカスケード
共有インターフェイス上を発信元とするトラフィックには制約があるので、あるコンテキストを別のコンテキストの後ろに配置する場合、最後尾のコンテキストに接続されたユーザがアクセスする外部アドレスごとに、先頭のコンテキストでスタティック ステートメントを設定することが必要です。
図4-5 は、最後尾のコンテキスト(コンテキスト A)のユーザが www.example.com にアクセスする場合を示しています。ゲートウェイ コンテキストでは www.example.com に対するスタティック変換が行われないため、ユーザは Web サーバにアクセスできず、分類機能は共有インターフェイス上のどのコンテキストにパケットを割り当てればよいのか判断できません。
図4-5 コンテキストのカスケード
マルチコンテキスト モードの FWSM へのログイン
スイッチから FWSM へのセッションを確立するときには、システム実行スペースにアクセスします。あとで Telnet または Secure Shell(SSH; セキュア シェル)によるコンテキスト アクセスを設定する場合は、特定のコンテキストにログインできます。特定のコンテキストにログインした場合、アクセスできるのはそのコンテキストのコンフィギュレーションだけです。ただし、管理コンテキストまたはシステム実行スペースにログインした場合は、あらゆるコンテキストにアクセスできます。
コンテキストを管理またはシステムから変更する場合は、ユーザ名をデフォルトの「enable_15」ユーザ名に変更します。そのコンテキストでコマンド許可を設定した場合は、「enable_15」ユーザのための許可権限を設定する必要があります。そのコンテキストのコマンド許可コンフィギュレーションで必要な権限を付与した、別の名前でログインすることもできます。ユーザ名でログインするには、 login コマンドを入力します。たとえば、管理コンテキストにはユーザ名「admin」でログインします。管理コンテキストにはコマンド許可コンフィギュレーションは含まれませんが、他のすべてのコンテキストにはコマンド許可が含まれます。便宜上、各コンテキスト コンフィギュレーションには最大限の権限が付与されたユーザ「admin」が含まれています。管理コンテキストからコンテキスト A に変更すると、ユーザ名が変更されるため、 login コマンドを入力して「admin」として再度ログインする必要があります。コンテキスト B に変更する場合は、再度 login コマンドを入力して「admin」としてログインする必要があります。
システム実行スペースは AAA コマンドを受け付けませんが、セッション確立の際はローカル データベースで専用のログイン パスワード、イネーブル パスワードとともにユーザ名を設定することによって、個別のログインが可能になります。
マルチコンテキスト モードのイネーブル化またはディセーブル化
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 のリソースに無制限にアクセスできます。ただし、1 つまたは複数のコンテキストがあまり多くのリソースを使用してしまうと、他のコンテキストの接続が拒否されることがあるので、コンテキストあたりのリソース利用が制限されるように、リソース管理を設定できます。
(注) FWSM はコンテキストあたりの帯域幅を制限しませんが、FWSM が搭載されているスイッチで VLAN あたりの帯域幅を制限できます。詳細については、スイッチのマニュアルを参照してください。
ここでは、次の内容について説明します。
• 「クラスおよびクラス メンバーの概要」
• 「クラスの設定」
クラスおよびクラス メンバーの概要
FWSM は、リソース クラスにコンテキストを割り当てることによってリソースを管理します。各コンテキストは、クラスによって設定されたリソース限度を使用します。ここでは、次の内容について説明します。
• 「リソース限度」
• 「デフォルト クラス」
• 「クラス メンバー」
リソース限度
クラスを作成した場合、FWSM はクラスに割り当てられた各コンテキスト用に一定のリソースを確保するのではありません。FWSM はコンテキストに最大限度を設定します。リソースがオーバーサブスクライブされた場合、または一部のリソースが無制限に利用された場合、少数のコンテキストがこれらのリソースを使い果たしてしまい、他のコンテキストに対するサービスが影響を受ける可能性があります。
デバイスで利用できる全体に対する割合として、すべてのリソースにまとめて限度を設定できます。または、個々のリソースに割合または絶対値として限度を設定することもできます。
全コンテキストに 100% を超えるリソースを割り当てると、FWSM のオーバーサブスクライブが可能です。たとえば、コンテキストあたりの接続数を 20% に制限するようにブロンズ クラスを設定し、そのクラスに 10 のコンテキストを割り当てた場合、合計で 200% になります。同時にコンテキストの利用がシステム限度を超えると、各コンテキストに与えられるのは、予定の 20% より少なくなります(図4-6を参照)。
図4-6 リソースのオーバーサブスクライブ
FWSM では、割合または絶対値ではなく、クラスで 1 つまたは複数のリソースに無制限アクセスを割り当てることもできます。リソースを無制限にすると、コンテキストはシステムが提供できるだけのリソースを使用できます。たとえば、コンテキスト A、B、および C をシルバー クラスに割り当て、各クラス メンバーをシステムインスペクション回数/秒の 1% に制限すると、合計で 3% になりますが、現在、3 つのコンテキストで合計 2% しか使用していないとします。ゴールド クラスは無制限にインスペクションを利用できます。この場合、ゴールド クラスのコンテキストは、「未割り当て」インスペクションの 97% より多くを使用できます。コンテキスト A、B、および C が合計限度である 3% に到達しなくても、コンテキスト A、B、および C が現在使用していない 1% を合わせて使用できるからです(図4-7を参照)。無制限アクセスを設定するということは、システムのオーバーサブスクライブの程度をあまり制御できないという点を除き、FWSM をオーバーサブスクライブにするのと同様です。
図4-7 無制限のリソース
デフォルト クラス
別のクラスに割り当てないかぎり、すべてのコンテキストはデフォルト クラスに属します。デフォルト クラスにコンテキストを割り当てる必要はありません。
コンテキストがデフォルト クラス以外のクラスに属している場合は必ず、これらのクラスの設定値によってデフォルト クラスの設定値が上書きされます。ただし、他のクラスに未定義の設定値がある場合、そのクラス メンバーであるコンテキストはデフォルト クラスの限度を使用します。たとえば、すべての同時接続に対して 2% の限度を設定してクラスを作成し、その他の限度については設定しなかった場合、他のすべての限度はデフォルト クラスの値を引き継ぎます。逆に、 すべて のリソースに 2% の限度を設定してクラスを作成した場合、そのクラスではデフォルト クラスの設定値は使用されません。
デフォルトでは、デフォルト クラスはすべてのコンテキストに対して、リソースの無制限アクセスを認めます。ただし、次の限度については、デフォルトでコンテキストあたりの許容最大値に設定されます。
• Telnet セッション ― 5 セッション
• SSH セッション ― 5 セッション
• IPSec セッション ― 5 セッション
• MAC アドレス ― 65,535 エントリ
図4-8 に、デフォルト クラスとその他のクラスの関係を示します。コンテキスト A および C はいくつか限度が設定されたクラスに属しています。その他の限度は、デフォルト クラスから引き継ぎます。コンテキスト B は、割り当てられたクラスであるゴールド クラスですべての限度が設定されているので、デフォルトの限度は引き継ぎません。コンテキスト D はクラスに割り当てられていないので、デフォルトでデフォルト クラスのメンバーです。
図4-8 リソース クラス
クラス メンバー
クラスの設定値を使用するには、コンテキストの定義時に、クラスにコンテキストを割り当てます。別のクラスに割り当てないかぎり、すべてのコンテキストはデフォルト クラスに属します。デフォルトにコンテキストを割り当てる必要はありません。コンテキストを割り当てることのできるリソース クラスは 1 つだけです。このルールの例外は、メンバー クラスで未定義の限度はデフォルト クラスから継承されるということです。したがって、コンテキストは事実上、デフォルトおよび別のクラスのメンバーにできます。
クラスの設定
システム コンフィギュレーションでクラスを設定するための手順は、次のとおりです。特定のリソース限度の値を変更する場合は、新しい値を使用してコマンドを再入力します。
ステップ 1 システム実行スペースに次のコマンドを入力して、クラス名を指定してクラス コンフィギュレーション モードを開始します。
hostname(config)# class name
name は最大 20 文字の文字列です。デフォルト クラスの限度を設定する場合は、名前として default を入力します。
ステップ 2 次のオプションを参照して、リソース限度を設定します。
• すべてのリソース限度( 表4-1 を参照)を設定する場合は、次のコマンドを入力します。
hostname(config-resmgmt)# limit-resource all {number% | 0}
number は 1 以上の整数です。(パーセント記号 [%] を付けずに) 0 を指定すると、リソースがシステム限度に設定されます。デバイスをオーバーサブスクライブにする場合は、100% を超えて割り当てることができます。
• 特定のリソース限度を設定する場合は、次のコマンドを入力します。
hostname(config-resmgmt)# limit-resource [rate] resource_name number[%]
この特定のリソースについては、 all で設定された限度が上書きされます。 rate 引数を入力して、特定のリソースにレート/秒を設定します。レート/秒を設定できるリソースについては、 表4-1 を参照してください。
表4-1 に、リソース タイプおよび限度を示します。 show resource types コマンドも参照してください。
表4-1 リソース名および限度
|
|
|
|
mac-addresses |
適用外 |
同時に 65,535 |
透過ファイアウォール モードの場合、MAC アドレス テーブルで使用できる MAC アドレス数 |
conns |
適用外 |
同時に 999,900 102,400/秒(レート) |
2 つのホスト間の TCP または UDP 接続数(あるホストと他の複数のホスト間を含む)
(注) 同時接続に関して、FWSM は接続を受け付ける 2 つのネットワーク プロセッサに、限度の半分ずつを割り当てます。通常、接続数は NP 間で均等に分けられます。ただし、状況によっては、接続数が均等に分配されず、一方の NP で最大接続限度に達する前に、他方で限度に達してしまうことがあります。この場合、使用できる最大接続数は、設定した限度未満になります。NP への分配は、アルゴリズムに基づいてスイッチが制御します。このアルゴリズムは、スイッチ上で調整することも、不均衡の原因となった接続限度を引き上げて調整することもできます。
|
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
メモリ パーティションの設定
マルチコンテキスト モードでは、FWSM はルール コンフィギュレーションに割り当てられたメモリをパーティションに分割し、各コンテキストをパーティションに割り当てます。デフォルトでは、コンテキストは、ACE、AAA ルールなど最大 12,130 のルールを提供する 12 のパーティションのうちの 1 つに属します。FWSM は各コンテキストを、スタートアップ時にロードされる順序でパーティションに割り当てます。たとえば、12 のコンテキストを設定した場合、各コンテキストはそれぞれ個別のパーティションに割り当てられ、12,130 のルールを使用できます。さらに 1 つのコンテキストを追加すると、コンテキスト番号 1 および新しいコンテキスト番号 13 の両方がパーティション 1 に割り当てられるので、2 つのコンテキストが 12,130 のルールを共有します。他の 11 のコンテキストは単独で 12,130 のルールを使用できます。コンテキストを削除してもパーティションのメンバーシップには影響しません。したがって、再起動してコンテキストを均等に割り当てるまでは、コンテキストの割り当てが不均一になります。
(注) ルールは、先着順で使用されるので、コンテキストによっては使用するルールが他のコンテキストよりも多くなることがあります。
ルールの制限の詳細については、「ルールの制限」を参照してください。
コンテキストをパーティションに手動で割り当てることもできます。コンテキストをパーティションに割り当てる場合は、「セキュリティ コンテキストの設定」を参照してください。コンテキストの数と一致するように、パーティションの数を減らすこともできます。
(注) パーティションの数を変更した場合、FWSM をリロードする必要があります。
メモリ パーティションの数を変更する手順は、次のとおりです。
ステップ 1 システム実行スペースで次のコマンドを入力して、パーティションの数を設定します。
hostname(config)# resource acl-partition number_of_partitions
number_of_partitions は 1 ~ 12 です。
(注) コンテキストをパーティションに割り当てる場合、パーティション番号は 0 から始まります。したがって、パーティションが 12 個ある場合は、パーティション番号は 0 ~ 11 になります。コンテキストをパーティションに割り当てる方法については「セキュリティ コンテキストの設定」を参照してください。
次のプロンプトが表示されます。
This configuration command leads to repartitioning of ACL memory. It will not take effect unless you save the configuration to startup configuration and reboot. Would you like to save the configuration and reboot now? [n]
ステップ 2 Y を入力して FWSM をリロードします。
今すぐに FWSM をリロードしない場合は、設定を保存してあとでリロードします。
フェールオーバーを使用している場合、メモリ パーティションは両方の装置で一致しなければならないため、他のフェールオーバー装置もリロードする必要があります。両方の装置が同時にダウンするため、トラフィック ロスが生じる可能性があります。
ステップ 3 フェールオーバーを使用している場合は、次のコマンドを入力して他の装置をリロードします。
次の例は、コンテキストからメモリ パーティションへの現在のマッピングを確認する方法を示しています。
hostname(config)# show resource acl-partition
Total number of configured partitions = 2
List of Contexts :bandn, borders
Number of contexts :2(RefCount:2)
Number of rules :0(Max:53087)
List of Contexts :admin, momandpopA, momandpopB, momandpopC
Number of contexts :5(RefCount:5)
Number of rules :6(Max:53087)
排他的パーティションおよび包括的パーティションの詳細については、「セキュリティ コンテキストの設定」を参照してください。
セキュリティ コンテキストの設定
システム コンフィギュレーションのセキュリティ コンテキストの定義では、コンテキスト名、コンフィギュレーション ファイルの 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 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 インターフェイスを割り当てる必要があります。コンテキスト コンフィギュレーションにインターフェイスを参照するコマンド(interface、nat、global など)が含まれていることがあるからです。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://joe:passw0rd1@10.1.1.1/configlets/test.cfg
ステップ 5 (任意)次のコマンドを入力して、リソース クラスにコンテキストを割り当てます。
hostname(config-ctx)# member class_name
クラスを指定しなかった場合、コンテキストはデフォルト クラスに属します。コンテキストを割り当てることのできるリソース クラスは 1 つだけです。
次のコマンドを入力して、gold クラスにコンテキストを割り当てます。
hostname(config-ctx)# member gold
ステップ 6 (任意)次のコマンドを入力して、コンテキストを特定のメモリ パーティションにマップします。
hostname(config-ctx)# allocate-acl-partition partition_number
partition_number は「0」から「パーティション数 - 1」の整数です。デフォルトは 12 パーティションであるため、範囲は 0 ~ 11 になります。メモリ パーティションの数の設定については「メモリ パーティションの設定」を参照してください。
コンテキストをパーティションに割り当てると、そのパーティションは 排他的 になります。排他的なパーティションには、明確に割り当てられたコンテキストのみが含まれます。コンテキストを明確に割り当てられていないパーティションは包括的であり、コンテキストがラウンドロビン形式で割り当てられます。
(注) コンテキストをすべてのパーティションに割り当てた場合、すべてのパーティションが排他的になります。その後、パーティションに割り当てられていないコンテキストを追加した場合、そのコンテキストはデフォルトでパーティション 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 コマンドを使用すると、システム実行スペースからすべてのコンテキスト実行コンフィギュレーションを保存できます。
コンテキスト間での切り替え時のコマンド許可の詳細については、「マルチコンテキスト モードの FWSM へのログイン」を参照してください。
システム実行スペースとコンテキスト間で切り替えるか、またはコンテキスト間で切り替える場合は、次のコマンドを参照してください。
• コンテキストに切り替える場合は、次のコマンドを入力します。
hostname# changeto context name
プロンプトが次のように変わります。
• システム実行スペースに切り替える場合は、次のコマンドを入力します。
hostname/admin# changeto system
プロンプトが次のように変わります。
セキュリティ コンテキストの管理
ここでは、セキュリティ コンテキストの管理方法について説明します。内容は次のとおりです。
• 「セキュリティ コンテキストの削除」
• 「管理コンテキストの変更」
• 「セキュリティ コンテキストの URL の変更」
• 「セキュリティ コンテキストのリロード」
• 「セキュリティ コンテキストのモニタリング」
セキュリティ コンテキストの削除
コンテキストを削除する唯一の方法は、システム コンフィギュレーションを編集することです。 clear context コマンドを使用してすべてのコンテキストを削除しないかぎり、現在の管理コンテキストを削除することはできません。
(注) フェールオーバーを使用する場合、アクティブ ユニットまたはグループ上でコンテキストを削除してから、スタンバイ ユニットまたはグループ上でコンテキストが削除されるまでに遅延が生じます。アクティブ ユニットとスタンバイ ユニット間でインターフェイス数が一致していないことを伝えるエラー メッセージが表示される場合がありますが、このエラーは一時的なものなので、無視してかまいません。
コンテキストを削除するには、次のコマンドを使用します。
• 個々のコンテキストを削除する場合は、システム実行スペースで次のコマンドを入力します。
hostname(config)# no context name
• (管理コンテキストを含めて)すべてのコンテキストを削除する場合は、システム実行スペースで次のコマンドを入力します。
hostname(config)# clear context
管理コンテキストの変更
コンフィギュレーション ファイルが内部フラッシュ メモリに保存されているかぎり、すべてのコンテキストを管理コンテキストに設定できます。システム実行スペースで次のコマンドを入力して、管理コンテキストを設定します。
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 を変更することはできません。
コンテキスト情報の表示
システム実行スペースから、名前、割り当てられたインターフェイス、およびコンフィギュレーション ファイルの 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-2 で、各フィールドについて説明します。
表4-2 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
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
Mapped Interfaces: Vlan100,10,20,30
Class: default, Flags: 0x00000019, ID: 257
Context "null", is a system resource
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
リソース割り当ての表示
システム実行スペースから、すべてのクラスおよびすべてのクラス メンバーについて、各リソースの割り当てを表示できます。
リソース割り当てを表示するには、次のコマンドを入力します。
hostname# show resource allocation [detail]
このコマンドで表示されるのは、リソース割り当てであり、実際に使用されているリソースではありません。実際のリソース使用状況の詳細については、「リソース使用状況の表示」を参照してください。
detail 引数を指定すると、詳細情報が表示されます。次の出力例を参照してください。
次に、各リソースの総割り当てを絶対値および使用可能なシステム リソースの割合で表した出力例を示します。
hostname# show resource allocation
Resource Total % of Avail
Conns [rate] 35000 35.00%
Fixups [rate] 35000 35.00%
Syslogs [rate] 10500 35.00%
表4-3 で、各フィールドについて説明します。
表4-3 show resource allocation のフィールド
|
|
Resource |
制限できるリソースの名前 |
Total |
すべてのコンテキスト間で割り当てられているリソースの総量。量とは、同時インスタンスの絶対数またはインスタンス数/秒です。クラス定義で割合を指定した場合、FWSM がこの出力のために割合を絶対数に変換します。 |
% of Avail |
総システム リソースのうち、すべてのコンテキスト間で割り当てられている割合。 |
次に、 detail オプションを指定した場合の出力例を示します。
hostname# show resource allocation detail
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%
All Contexts: 3 51000 30.00%
Fixups [rate] default all CA unlimited
silver 1 CA 10000 10000 10.00%
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%
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%
All Contexts: 3 300000 30.00%
Hosts default all CA unlimited
silver 1 CA 26214 26214 9.99%
All Contexts: 3 26214 9.99%
All Contexts: 3 11 110.00%
All Contexts: 3 20 20.00%
All Contexts: 3 20 20.00%
Xlates default all CA unlimited
silver 1 CA 23040 23040 10.00%
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%
All Contexts: 3 137623 209.99%
表4-4 で、各フィールドについて説明します。
表4-4 show resource allocation detail のフィールド
|
|
Resource |
制限できるリソースの名前 |
Class |
デフォルト クラスを含めた各クラスの名前 All Contexts フィールドに、全クラスでの合計値が示されます。 |
Mmbrs |
各クラスに割り当てられたコンテキスト数 |
Origin |
次に示す、リソース限度の設定元 • A ― 個々のリソースではなく、 all オプションで設定された限度 • C ― メンバー クラスから導出された限度 • D ― メンバー クラスでは定義されていない、デフォルト クラスから導出された限度。デフォルト クラスに割り当てられたコンテキストの場合、この値は「D」ではなく「C」になります。 FWSM は、「A」と、「C」または「D」を結合できます。 |
Limit |
絶対値で表したコンテキストあたりのリソース限度。クラス定義で割合を指定した場合、FWSM がこの出力のために割合を絶対数に変換します。 |
Total |
クラス内のすべてのコンテキスト間で割り当てられているリソースの総量。量とは、同時インスタンスの絶対数またはインスタンス数/秒です。リソースが無制限の場合、この表示はブランクになります。 |
Total % |
総システム リソースのうち、クラス内のすべてのコンテキスト間で割り当てられている割合。リソースが無制限の場合、この表示はブランクになります。 |
リソース使用状況の表示
システム実行スペースから、各コンテキストのリソース使用状況およびシステムのリソース使用状況を表示できます。
システム実行スペースから次のコマンドを入力して、各コンテキストのリソース使用状況を表示します。
hostname# show resource usage [context context_name | top n | all | summary | system]
[resource {resource_name | all}] [counter counter_name [count_threshold]]
デフォルトでは、 all のコンテキストのリソース使用状況が表示されます(各コンテキストは別個に表示されます)。
top n キーワードを入力すると、指定したリソースの利用上位 n 番までのユーザのコンテキストが表示されます。このオプションでは、 resource all ではなく、特定のリソース タイプを指定する必要があります。
summary オプションを指定すると、すべてのコンテキストの使用状況が集計されて表示されます。
system オプションではすべてのコンテキストの使用状況が集計されて表示されますが、限度は集計されたコンテキスト限度ではなくリソースのシステム限度が表示されます。
resource resource_name については、 表4-1 で使用可能なリソース名を参照してください。 show resource type コマンドも参照してください。すべてのタイプに対して、 all (デフォルト)を指定します。
counter counter_name は、次のキーワードの 1 つです。
• current ― アクティブな同時インスタンスの数または現在のリソース レートが表示されます。
• denied ― リソース割り当てを超えたために拒否されたインスタンスの数が表示されます。
• peak ― clear resource usage コマンドによって、またはデバイスの再起動によって、統計情報が前回消去されて以後、最大の同時インスタンス数または最大リソース レートが表示されます。
• all ― (デフォルト)すべての統計情報が表示されます。
count_threshold で設定した値を上回ると、リソースが表示されます。デフォルトは 1 です。リソースの使用状況が設定した値を下回っている場合、そのリソースは表示されません。カウンタ名に all を指定すると、現在の使用数に count_threshold が適用されます。
(注) すべてのリソースを表示する場合は、count_threshold を 0 に設定します。
次に、管理コンテキストのリソース使用状況を表す show resource usage context コマンドの出力例を示します。
hostname# show resource usage context admin
Resource Current Peak Limit Denied Context
次に、すべてのコンテキストおよびすべてのリソースのリソース使用状況を表す 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 = All contexts are unlimited; system limit is shown.
次に、 show resource usage system コマンドの出力例を示します。すべてのコンテキストのリソース使用状況が表示されますが、限度は集計されたコンテキスト限度ではなくシステム限度が表示されます。
hostname# show resource usage system
Resource Current Peak Limit Denied Context
コンテキストでの 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
PERFMON STATS: Current Average
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
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 代行受信が使用したリソースを表示する例を示します(イタリック体の表示が 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