リソース管理の設定
デフォルトでは、コンテキストごとの最大限度が設定されている場合を除いて、すべてのセキュリティ コンテキストはセキュリティ アプライアンスのリソースに無制限にアクセスできます。ただし、1 つまたは複数のコンテキストがリソースを使用し過ぎて、他のコンテキストが接続できなくなる場合には、リソース管理の設定を行い、コンテキストごとのリソースの使用を制限することができます。
ここでは、次の項目について説明します。
•
「クラスおよびクラス メンバーの概要」
•
「クラスの設定」
クラスおよびクラス メンバーの概要
セキュリティ アプライアンスでは、コンテキストをリソース クラスに割り当てることによりリソースを管理します。各コンテキストは、クラスが設定するリソース制限を使用します。ここでは、次の項目について説明します。
•
「リソース制限」
•
「デフォルト クラス」
•
「クラス メンバー」
リソース制限
クラスを作成すると、セキュリティ アプライアンスでは、そのクラスに割り当てられたコンテキストごとにリソースの一部を除外するのではなく、コンテキストの最大限度を設定します。リソースをオーバーサブスクライブしたり、特定のリソースを無制限にしたりすると、いくつかのコンテキストがリソースを使い果たして、他のコンテキストに対するサービスに影響が出ることがあります。
個々のリソースに、制限をパーセント(ハードウェアのシステム制限がある場合)または絶対値で設定できます。
すべてのテキストに渡って100%以上割り当てることにより、セキュリティ アプライアンスをオーバーサブスクライブすることができます。たとえば、Bronze クラスにはコンテキストごとに 20% の接続制限を設定してから、そのクラスに 10 のコンテキストを割り当てると、合計は 200% になります。いくつかのコンテキストがシステムの制限を超えて同時に使用すれば、各コンテキストは、当初想定した 20% に満たなくなります(図6-1 を参照)。
図6-1 リソースのオーバーサブスクライブ
すべてのコンテキストのリソースに、セキュリティ アプライアンスの実際の制限を超えた絶対値を割り当てると、セキュリティ アプライアンスのパフォーマンスが低下することがあります。
セキュリティ アプライアンスでは、あるクラスの 1 つまたは複数のリソースに、パーセントや絶対値ではなく、無制限アクセスを割り当てることができます。あるリソースが無制限の場合、コンテキストは、システムで利用できるリソース(実際に使用できるリソース)をすべて使用できます。たとえば、Silver クラスの中にコンテキスト A、B、C があり、各クラス メンバーに 1% の接続制限を課しているため、合計が 3% になります。しかし、3 つのコンテキストは、現在合計 2% しか使用していません。Gold クラスは無制限に接続できます。Gold クラスのコンテキストは、「未割り当て」接続の 97% 以上を使用できます。また、コンテキスト A、B、C が現在使用していない 1% の接続も(コンテキスト A、B、C の制限が合計 3% に到達できない場合でも)使用できます。(図6-2 を参照)。無制限アクセスの設定は、セキュリティ アプライアンスのオーバーサブスクライブに似ています。相違点は、システムのオーバーサブスクライブ量について管理が劣る点です。
図6-2 無制限リソース
デフォルト クラス
すべてのコンテキストは、別のクラスに割り当てられていなければ、デフォルト クラスに属します。したがって、コンテキストをデフォルト クラスに特に割り当てる必要はありません。
コンテキストがデフォルト クラス以外のクラスに属している場合、クラス設定は、常にデフォルト クラス設定を上書きします。ただし、他のクラス設定が定義されていない場合、メンバー コンテキストはデフォルト クラスを制限用に使用します。たとえば、同時接続に 2% を設定されたクラスを作成し、その他の制限がない場合、その他すべての制限はデフォルト クラスから継承されます。反対に、すべてのリソースに制限のあるクラスを作成すれば、そのクラスはデフォルト クラス設定を使用しません。
デフォルトでは、デフォルト クラスは、すべてのコンテキストに無制限アクセスを与えますが、例外は次の制限で、これらは、デフォルトでコンテキストごとの最大値に設定されます。
•
Telnet セッション:5 セッション
•
SSH セッション:5 セッション
•
IPSec セッション:5 セッション
•
MAC アドレス:65,535 エントリ
図6-3 に、デフォルト クラスと他のクラスとの関係を示します。コンテキスト A と C は、いくつか制限のあるクラスに属しています。他の制限は、デフォルト クラスから継承されます。コンテキスト B は、すべての制限がそのクラス(Gold クラス)に設定されているので、デフォルト クラスから制限を継承することはありません。コンテキスト D はクラスに割り当てられていないため、デフォルトでデフォルト クラスのメンバーになります。
図6-3 リソース クラス
クラス メンバー
クラスの設定を使用するには、コンテキストの定義時に、コンテキストをそのクラスに割り当てます。すべてのコンテキストは、別のクラスに割り当てられていなければ、デフォルト クラスに属します。したがって、コンテキストをデフォルト クラスに特に割り当てる必要はありません。コンテキストは 1 つのリソース クラスにだけ割り当てることができます。この規則の例外は、メンバー クラスで未定義の制限がデフォルト クラスから継承される点です。したがって、実際には、コンテキストはデフォルト クラスと別のクラスのメンバーということになります。
クラスの設定
システム コンフィギュレーションにクラスを設定する場合、次の手順を実行します。新しい値を指定してこのコマンドを再入力すると、特定のリソース制限の値を変更することができます。
ステップ 1
クラス名を指定し、クラス コンフィギュレーション モードに入るには、システム実行スペースで次のコマンドを入力します。
hostname(config)# class name
name
は、最大 20 文字の文字列です。デフォルト クラスに制限を設定するには、その名前に
default
を入力します。
ステップ 2
リソース制限を設定するには、次のオプションを参照してください。
•
すべてのリソース制限(
表6-1
を参照)を無制限に設定するには、次のコマンドを入力します。
hostname(config-resmgmt)# limit-resource all 0
たとえば、無制限の管理者コンテキストを含めたクラスを作成することができます。デフォルト クラスでは、デフォルトですべてのリソースが無制限に設定されます。
•
特定のリソース制限を設定するには、次のコマンドを入力します。
hostname(config-resmgmt)# limit-resource [rate] resource_name number[%]
この特定のリソースについては、この制限が
all
に設定されている制限を上書きします。特定のリソースの毎秒のレートを設定するには、
rate
引数を入力します。システム制限のないリソースについては、1 ~ 100 のパーセント(%)を設定できません。設定できるのは絶対値だけです。システム制限がなく、毎秒のレートを設定できるリソースについては、
表6-1
を参照してください。
表6-1
にリソースの種類と制限を示します。また、
show resource types
コマンドも参照してください。
表6-1 リソース名と制限
|
|
|
|
|
|
mac-addresses
|
同時
|
該当なし
|
65,535
|
透過ファイアウォール モードにおいて、MAC アドレス テーブルで許可される MAC アドレス数
|
conns
|
同時またはレート
|
該当なし
|
同時接続:プラットフォームの接続制限については、「サポートされているプラットフォームと機能」を参照してください。
レート:該当なし
|
任意の 2 つのホスト間の TCP 接続または UDP 接続。これには、1 台のホストと他の複数台のホストとの接続も含まれます。
|
inspects
|
レート
|
該当なし
|
該当なし
|
アプリケーション検査
|
hosts
|
同時
|
該当なし
|
該当なし
|
セキュリティ アプライアンスを通して接続可能なホスト
|
asdm
|
同時
|
1 minimum
5 maximum
|
32
|
ASDM 管理セッション
(注) ASDM セッションは、2 つの HTTPS 接続を使用します。1 つは常駐の監視用、もう 1 つは変更時にのみ存在するコンフィギュレーション変更用です。たとえば、32 の ASDM セッションのシステム制限は、64 の HTTPS セッションの制限という意味です。
|
ssh
|
同時
|
1 minimum
5 maximum
|
100
|
SSH セッション
|
syslogs
|
レート
|
該当なし
|
該当なし
|
システム ログ メッセージ
|
telnet
|
同時
|
1 minimum
5 maximum
|
100
|
Telnet セッション
|
xlates
|
同時
|
該当なし
|
該当なし
|
アドレス変換
|
たとえば、conns のデフォルト クラス制限を無制限ではなく 10% に設定するには、次のコマンドを入力します。
hostname(config)# class default hostname(config-class)# limit-resource conns 10%
その他のリソースはすべて無制限のままです。
gold と呼ばれるクラスを追加するには、次のコマンドを入力します。
hostname(config)# class gold hostname(config-class)# limit-resource mac-addresses 10000 hostname(config-class)# limit-resource conns 15% hostname(config-class)# limit-resource rate conns 1000 hostname(config-class)# limit-resource rate inspects 500 hostname(config-class)# limit-resource hosts 9000 hostname(config-class)# limit-resource asdm 5 hostname(config-class)# limit-resource ssh 5 hostname(config-class)# limit-resource rate syslogs 5000 hostname(config-class)# limit-resource telnet 5 hostname(config-class)# limit-resource xlates 36000
セキュリティ コンテキストの設定
システム コンフィギュレーション内のセキュリティ コンテキストの定義によって、コンテキストの名前、コンフィギュレーション ファイルの URL、コンテキストが使用できるインターフェイスが識別されます。
(注) 管理コンテキストがない場合(コンフィギュレーションをクリアした場合など)は、最初に次のコマンドを入力して管理コンテキスト名を指定する必要があります。
hostname(config)# admin-context name
このコンテキスト名はコンフィギュレーションにまだ存在しませんが、この後に context name コマンドを入力すると、指定した名前との照合が行われて、管理コンテキスト コンフィギュレーションを続行できます。
システム コンフィギュレーションにコンテキストを追加する場合、または既存のコンテキストを変更する場合は、次の手順を実行します。
ステップ 1
コンテキストを追加または修正するには、システム実行スペースで次のコマンドを入力します。
hostname(config)# context name
name
は最大 32 文字の文字列です。この名前では、大文字と小文字が区別されるため、たとえば、「customerA」と「CustomerA」の 2 種類のコンテキストが使用できます。英字、数字、またはハイフンを使用できますが、名前の先頭または末尾にハイフンを使用することはできません。
「System」および「Null」(大文字および小文字)は予約されている名前であるため、使用できません。
ステップ 2
(オプション)このコンテキストに説明を追加するには、次のコマンドを使用します。
hostname(config-ctx)# description text
ステップ 3
コンテキストで使用するインターフェイスを指定するには、1 つの物理インターフェイス、あるいは 1 つまたは複数のサブインターフェイスに該当するコマンドを入力します。
•
物理インターフェイスを割り当てるには、次のコマンドを入力します。
hostname(config-ctx)# allocate-interface physical_interface [map_name] [visible | invisible]
•
1 つまたは複数のサブインターフェイスを割り当てるには、次のコマンドを入力します。
hostname(config-ctx)# allocate-interface physical_interface.subinterface[-physical_interface.subinterface] [map_name[-map_name]] [visible | invisible]
これらのコマンドを複数回入力して複数の範囲を指定できます。このコマンドの
no
形式で割り当てを削除すると、このインターフェイスが含まれているコンテキスト コマンドは、すべて実行コンフィギュレーションから削除されます。
透過ファイアウォール モードでは、2 つのインターフェイスのみがトラフィックを通過できます。ただし、ASA 適応型セキュリティ アプライアンスでは、専用の管理インターフェイス Management 0/0(物理インターフェイスまたはサブインターフェイス)を管理トラフィック用の第 3 のインターフェイスとして使用できます。
(注) 透過モードの管理インターフェイスによって、MAC アドレス テーブルにないパケットがインターフェイスからフラッドされることはありません。
必要に応じて、同じインターフェイスをルーテッド モードの複数のコンテキストに割り当てることができます。透過モードでは、インターフェイスの共有は許されません。
map_name
は、インターフェイスの英数字のエイリアスで、インターフェイス ID の代わりにコンテキスト内で使用できます。マッピング名を指定しない場合は、コンテキスト内でインターフェイス ID が使用されます。セキュリティ保護上の目的から、コンテキストでどのインターフェイスが使用されているかをコンテキスト管理者に知られないようにすることができます。
マッピング名は英字で始まり英字または数字で終わる必要があります。中の文字として使用できるのは、英字、数字、下線だけです。たとえば、次のような名前が使用できます。
サブインターフェイスでは、マッピング名の範囲が指定できます。
サブインターフェイスの範囲を指定すると、マッピング名を照合する範囲が指定できます。範囲指定については次のガイドラインに従ってください。
•
マッピング名は、英字の部分とそれに続く数字の部分で構成する必要があります。マッピング名の英字部分は、範囲の両端で一致していなければなりません。たとえば、次の範囲を入力します。
たとえば、
gigabitethernet0/1.1-gigabitethernet0/1.5 happy1-sad5
と入力すると、コマンドは失敗します。
•
マッピング名の数字の部分には、サブインターフェイスの範囲と同じ数字が含まれていなければなりません。たとえば、次の両方の範囲には、100 のインターフェイスが含まれています。
gigabitethernet0/0.100-gigabitethernet0/0.199 int1-int100
たとえば、
gigabitethernet0/0.100-gigabitethernet0/0.199 int1-int15
と入力すると、コマンドは失敗します。
visible
を設定して、マッピング名を設定した場合でも、
show interface
コマンドによって、物理インターフェイスのプロパティが表示されるようにします。デフォルトの
invisible
は、マッピング名だけが表示されるように指定するキーワードです。
次の例は、コンテキストに割り当てられた gigabitethernet0/1.100、gigabitethernet0/1.200、およびgigabitethernet0/2.300 ~ gigabitethernet0/1.305 を示しています。int1 ~ int8 がマッピング名です。
hostname(config-ctx)# allocate-interface gigabitethernet0/1.100 int1 hostname(config-ctx)# allocate-interface gigabitethernet0/1.200 int2 hostname(config-ctx)# allocate-interface gigabitethernet0/2.300-gigabitethernet0/2.305 int3-int8
ステップ 4
システムがコンテキスト コンフィギュレーションをダウンロードする URL を識別するには、次のコマンドを入力します。
hostname(config-ctx)# config-url url
コンテキストの URL を追加すると、システムは、動作中になるように、ただちにそのコンテキストをロードします(そのコンフィギュレーションが使用可能である場合)。
(注) allocate-interface コマンドは、config-url コマンドを入力する前に入力してください。セキュリティ アプライアンスは、コンテキスト コンフィギュレーションをロードする前にインターフェイスをコンテキストに割り当てる必要があります。これは、コンテキスト コンフィギュレーションに、インターフェイス(interface、nat、global...)を参照するコマンドが含まれている場合があるためです。config-url コマンドを先に入力すると、セキュリティ アプライアンスは、コンテキスト コンフィギュレーションをただちにロードします。この場合、コンテキストにインターフェイスを参照するコマンドが含まれていると、そのコマンドは失敗します。
次の 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
コンテキスト情報の表示については、『
Cisco Security Appliance Command Reference
』の
show context
コマンドの説明を参照してください。
次の例では、管理コンテキストを「administrator」と設定し、内部フラッシュ メモリに「administrator」という名前のコンテキストを作成してから、FTP サーバから 2 つのコンテキストを追加しています。
hostname(config)# admin-context administrator hostname(config)# context administrator hostname(config-ctx)# allocate-interface gigabitethernet0/0.1 hostname(config-ctx)# allocate-interface gigabitethernet0/1.1 hostname(config-ctx)# config-url flash:/admin.cfg hostname(config-ctx)# context test hostname(config-ctx)# allocate-interface gigabitethernet0/0.100 int1 hostname(config-ctx)# allocate-interface gigabitethernet0/0.102 int2 hostname(config-ctx)# allocate-interface gigabitethernet0/0.110-gigabitethernet0/0.115 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)# context sample hostname(config-ctx)# allocate-interface gigabitethernet0/1.200 int1 hostname(config-ctx)# allocate-interface gigabitethernet0/1.212 int2 hostname(config-ctx)# allocate-interface gigabitethernet0/1.230-gigabitethernet0/1.235 int3-int8 hostname(config-ctx)# config-url ftp://user1:passw0rd@10.1.1.1/configlets/sample.cfg hostname(config-ctx)# member silver
MAC アドレスのコンテキスト インターフェイスへの自動割り当て
コンテキストがインターフェイスを共有できるようにするには、それぞれのコンテキスト インターフェイスに固有の MAC アドレスを割り当てることを推奨します。MAC アドレスは、コンテキスト内のパケットを分類するために使用します。インターフェイスを共有化していても、各コンテキストのインターフェイスに固有の MAC アドレスがない場合、宛先 IP アドレスを使用してパケットを分類します。宛先アドレスと NAT コンフィギュレーションとの照合が行われますが、この方式には、MAC アドレス方式に比べると、いくつか制限があります。パケットの分類については、「セキュリティ アプライアンスによるパケットの分類方法」を参照してください。
デフォルトでは、物理インターフェイスは焼き付け済み MAC アドレスを使用し、物理インターフェイスのすべてのサブインターフェイスは同じ焼き付け済み MAC アドレスを使用します。
次のコマンドをシステム コンフィギュレーションに入力することにより、MAC アドレスを各共有コンテキスト インターフェイスに自動的に割り当てることができます。
hostname(config)# mac-address auto
フェールオーバーで使用する場合、セキュリティ アプライアンスでは、各インターフェイスにアクティブとスタンバイの両方の MAC アドレスが生成されます。アクティブ装置がフェールオーバーし、スタンバイ装置がアクティブになると、新たなアクティブ装置はアクティブ MAC アドレスを使用して、ネットワークの中断を最小限に抑えます。
インターフェイスをコンテキストに割り当てると、ただちに新しい MAC アドレスが生成されます。コンテキスト インターフェイスの作成後にこのコマンドをイネーブルにすると、コマンドの入力直後に、MAC アドレスがすべてのインターフェイス用に生成されます。
no mac-address auto
コマンドを使用すると、各インターフェイスの MAC アドレスはデフォルトの MAC アドレスに戻ります。たとえば、GigabitEthernet 0/1 のサブインターフェイスは、再度 GigabitEthernet 0/1 の MAC アドレスを使用するようになります。
MAC アドレスは、次の形式を使用して生成されます。
•
アクティブ装置の MAC アドレス:12_
slot
.
port
_
subid
.
contextid
.
•
スタンバイ装置の MAC アドレス:02_
slot
.
port
_
subid
.
contextid
インターフェイス スロットのないプラットフォームでは、スロットは常に 0 です。
port
はインターフェイス ポートです。
subid
はサブインターフェイスの内部 ID ですが、表示できません。
contextid
はコンテキストの内部 ID で、
show context detail
コマンドで表示できます。たとえば、ID 1 のコンテキストのインターフェイス GigabitEthernet 0/1.200 には、次の生成された MAC アドレスがあり、31 がサブインターフェイス 200 の内部 ID です。
•
アクティブ:1200.0131.0001
•
スタンバイ:0200.0131.0001
生成された MAC アドレスがネットワーク内のプライベート MAC アドレスと競合することがまれに生じますが、その場合、MAC アドレスをコンテキスト内のインターフェイスに手動で設定することができます。MAC アドレスの手動設定については、「インターフェイスの設定」を参照してください。
セキュリティ コンテキストの管理
この項では、セキュリティ コンテキストの管理方法について説明します。次の項目を取り上げます。
•
「セキュリティ コンテキストの削除」
•
「管理コンテキストの変更」
•
「セキュリティ コンテキスト URL の変更」
•
「セキュリティ コンテキストのリロード」
•
「セキュリティ コンテキストの監視」
セキュリティ コンテキストの削除
システム コンフィギュレーションを編集することで、削除できるのは 1 つのコンテキストだけです。現在の管理コンテキストは、
clear context
コマンドを実行してすべてのコンテキストを削除しない限り、削除できません。
(注) フェールオーバーを使用すると、アクティブ装置でコンテキストを削除した時刻と、スタンバイ装置でコンテキストが削除された時刻との間で遅延が生じます。アクティブ装置とスタンバイ装置の間でインターフェイス数が一致していないことを示すエラー メッセージが表示される場合があります。このエラーは一時的に表示されるもので、無視できます。
コンテキストの削除には、次のコマンドを使用します。
•
1 つのコンテキストを削除するには、システム実行スペースで次のコマンドを入力します。
hostname(config)# no context name
すべてのコンテキスト コマンドを削除することもできます。
•
すべてのコンテキスト(管理コンテキストを含む)を削除するには、システム実行スペースで次のコマンドを入力します。
hostname(config)# clear context
管理コンテキストの変更
システム コンフィギュレーションには、自分自身のネットワーク インターフェイスまたはネットワーク設定は含まれません。システムがネットワーク リソースにアクセスする必要が生じたとき(サーバからコンテキストをダウンロードするときなど)は、管理コンテキストとして指定されたコンテキストのいずれかを使用します。
管理コンテキストは、他のコンテキストとまったく同じです。ただ、ユーザが管理コンテキストにログインすると、システム管理者権限を持つので、システム コンテキストおよび他のすべてのコンテキストにアクセス可能になる点が異なります。管理コンテキストは制限されていないので、通常のコンテキストとして使用できます。ただし、管理コンテキストにログインするとすべてのコンテキストに管理者の特権が許可されるので、管理コンテキストへのアクセスを適切なユーザに制限しなければならないことがあります。
コンフィギュレーション ファイルが内部フラッシュ メモリに保存されている限り、任意のコンテキストを管理コンテキストに設定することができます。管理コンテキストを設定するには、システム実行スペースで次のコマンドを入力します。
hostname(config)# admin-context context_name
Telnet、SSH、HTTPS など、管理コンテキストに接続しているリモート管理セッションはすべて終了します。新しい管理コンテキストに再接続する必要があります。
(注) ntp server を含むいくつかのシステム コマンドは、管理コンテキストに所属するインターフェイス名を識別します。管理コンテキストを変更した場合に、そのインターフェイス名が新しい管理コンテキストに存在しないときは、そのインターフェイスを参照するシステム コマンドはすべて、アップデートしてください。
セキュリティ コンテキスト URL の変更
セキュリティ コンテキスト URL は、新しい URL からコンフィギュレーションをリロードしないと変更できません。
セキュリティ アプライアンスは、新しいコンフィギュレーションを現在の実行コンフィギュレーションとマージします。同じ 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
セキュリティ アプライアンスは、システム コンフィギュレーションに指定された URL からコンフィギュレーションをコピーします。コンテキスト内で URL を変更することはできません。
コンテキスト情報の表示
システム実行スペースから、名前、割り当てられているインターフェイス、コンフィギュレーション ファイル URL を含むコンテキストのリストを表示できます。
システム実行スペースから次のコマンドを入力すると、すべてのコンテキストが表示されます。
hostname# show context [name | detail| count]
detail
オプションを指定すると、追加情報が表示されます。詳細については、次の出力例を参照してください。
特定のコンテキストの情報を表示する場合は、
name
にコンテキスト名を指定します。
count
オプションを指定すると、コンテキストの合計数が表示されます。
次に、
show context
コマンドの出力例を示します。この出力例では、3 つのコンテキストが表示されています。
Context Name Interfaces URL *admin GigabitEthernet0/1.100 disk0:/admin.cfg contexta GigabitEthernet0/1.200 disk0:/contexta.cfg contextb GigabitEthernet0/1.300 disk0:/contextb.cfg Total active Security Contexts: 3
表6-2
に、各フィールドの説明を示します。
表6-2 show context のフィールド
|
|
|
Context Name
|
すべてのコンテキスト名を表示します。アスタリスク(*)が付いたコンテキスト名は管理コンテキストです。
|
Interfaces
|
コンテキストに割り当てられるインターフェイス。
|
URL
|
セキュリティ アプライアンスがコンテキスト コンフィギュレーションをロードする URL。
|
次に、
show context detail
コマンドの出力例を示します。
hostname# show context detail Context "admin", has been created, but initial ACL rules not complete Config URL: disk0:/admin.cfg Real Interfaces: Management0/0 Mapped Interfaces: Management0/0 Context "ctx", has been created, but initial ACL rules not complete Real Interfaces: GigabitEthernet0/0.10, GigabitEthernet0/1.20, Mapped Interfaces: int1, int2, int3 Context "system", is a system resource Config URL: startup-config Mapped Interfaces: Control0/0, GigabitEthernet0/0, GigabitEthernet0/0.10, GigabitEthernet0/1, GigabitEthernet0/1.10, GigabitEthernet0/1.20, GigabitEthernet0/2, GigabitEthernet0/2.30, GigabitEthernet0/3, Management0/0, Management0/0.1 Flags: 0x00000019, ID: 257 Context "null", is a system resource Flags: 0x00000009, ID: 258
detail
の出力の詳細については、『
Cisco Security Appliance Command Reference
』を参照してください。
次に、
show context count
コマンドの出力例を示します。
hostname# show context count
リソースの割り当ての表示
システム実行スペースで、すべてのクラスおよびクラス メンバーのそれぞれのリソースの割り当て状況を表示できます。
リソースの割り当てを表示するには、次のコマンドを入力します。
hostname# show resource allocation [detail]
このコマンドで、リソースの割り当てを表示することができますが、実際に使用中のリソースは表示できません。実際のリソースの使用状況の詳細については、「リソースの使用状況の表示」を参照してください。
detail
引数を指定すると、追加情報が表示されます。詳細については、次の出力例を参照してください。
次の出力例では、各リソースの合計割り当て数を、絶対値および利用可能なシステム リソースの割合で表示しています。
hostname# show resource allocation Resource Total % of Avail Inspects [rate] 35000 N/A
表6-3
に、各フィールドの説明を示します。
表6-3 リソースの割り当てに表示されるフィールド
|
|
|
Resource
|
制限できるリソースの名前。
|
Total
|
すべてのコンテキストに割り当てられているリソースの合計値。この値は同時インスタンスまたは 1 秒間のインスタンスの絶対数です。クラス定義で割合を指定した場合、セキュリティ アプライアンスは、割合を絶対数に変換して表示します。
|
% of Avail
|
リソースにハードウェアのシステム制限がある場合、すべてのコンテキストに割り当てられている合計のシステム リソースの割合。リソースにシステム制限がなければ、このカラムは、N/A と表示されます。
|
次に、
show context allocation 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 silver 1 CA 17000 17000 N/A All Contexts: 3 51000 N/A Inspects [rate] default all CA unlimited silver 1 CA 10000 10000 N/A All Contexts: 3 10000 N/A Syslogs [rate] default all CA unlimited silver 1 CA 3000 3000 N/A 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 N/A All Contexts: 3 26214 N/A All Contexts: 3 20 20.00% All Contexts: 3 20 20.00% Xlates default all CA unlimited silver 1 CA 23040 23040 N/A All Contexts: 3 23040 N/A 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%
表6-4
に、各フィールドの説明を示します。
表6-4 リソースの割り当てに表示される詳細フィールド
|
|
|
Resource
|
制限できるリソースの名前。
|
Class
|
各クラスの名前。デフォルト クラスを含みます。
All contexts フィールドには、すべてのクラスの合計値が表示されます。
|
Mmbrs
|
各クラスに割り当てられたコンテキスト数
|
Origin
|
リソース制限の取得元は、次のとおりです。
• A:個々のリソースとしてではなく、
all
オプションを指定してこの制限を設定しました。
• C:この制限はメンバー クラスから取得されています。
• D:この制限はメンバー クラスに定義されていませんが、デフォルト クラスから取得されています。デフォルト クラスに割り当てられたコンテキストの場合、値は「D」ではなく「C」となります。
セキュリティ アプライアンスでは、「A」と「C」または「D」を組み合せることができます。
|
Limit
|
コンテキストごとのリソース制限(絶対数)。クラス定義で割合を指定した場合、セキュリティ アプライアンスは、割合を絶対数に変換して表示します。
|
Total
|
クラス内のすべてのコンテキストに割り当てられているリソースの合計値。この値は同時インスタンスまたは 1 秒間のインスタンスの絶対数です。リソースが無制限の場合、この表示は空白です。
|
% of Avail
|
クラス内のすべてのコンテキストに割り当てられている合計システム リソースの割合。リソースが無制限の場合、この表示は空白です。リソースにシステム制限がなければ、このカラムは、N/A と表示されます。
|
リソースの使用状況の表示
システム実行スペースで、コンテキストごとのリソースの使用状況やシステム リソースの使用状況を表示できます。
システム実行スペースでコンテキストごとのリソースの使用状況を表示するには、次のコマンドを入力します。
hostname# show resource usage [context context_name | top n | all | summary | system] [resource {resource_name | all} | detail] [counter counter_name [count_threshold]]
デフォルトでは、
all
(すべての)コンテキストの使用状況が表示されます。各コンテキストは個別にリスト表示されます。
指定したリソースの上位
n
人のユーザとなっているコンテキストを表示するには、
top
n
キーワードを入力します。このオプションには、リソース タイプを 1 つ指定する必要がありますが、
resource
all
は指定しないでください。
summary
オプションでは、すべてのコンテキストの使用状況を組み合せて表示されます。
system
オプションでは、すべてのコンテキストの使用状況を組み合せて表示されますが、組み合せたコンテキストの制限ではなく、リソースに対するシステムの制限が表示されます。
resource
resource_name
については、
表6-1
で使用可能なリソース名を参照してください。また、
show resource type
コマンドも参照してください。すべてのタイプを表示するには
all
(デフォルト)を指定します。
detail
オプションを指定すると、管理できないものも含めて、すべてのリソースの使用状況が表示されます。たとえば、 TCP 代行受信数を表示できます。
counter
counter_name
には、次のいずれかのキーワードを指定します。
•
current
:アクティブな同時インスタンスまたはリソースの現在のレートを示します。
•
denied
:Limit カラムに表示されるリソース制限を超えたために拒否されたインスタンスの数を示します。
•
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 N/A 0 Summary Conns 584 763 280000(S) 0 Summary Xlates 8526 8966 N/A 0 Summary Hosts 254 254 N/A 0 Summary Conns [rate] 270 535 N/A 1704 Summary Inspects [rate] 270 535 N/A 0 Summary S = System: Combined context limits exceed the system limit; the system limit is shown.
次に、
show resource usage summary
コマンドの出力例を示します。この出力例では、25 コンテキストという限界を示しています。Telnet 接続および SSH 接続のコンテキストの限界がコンテキストごとに 5 であるため、合計の限界は 125 です。システムの限界が単に 100 であるため、システムの限界が表示されています。
hostname# show resource usage summary Resource Current Peak Limit Denied Context Telnet 1 1 100[S] 0 Summary Conns 56 90 N/A 0 Summary Hosts 89 102 N/A 0 Summary S = System: Combined context limits exceed the system limit; the system limit is shown.
次に、
show resource usage system
コマンドの出力例を示します。このコマンドは、すべてのコンテキストのリソースの使用状況を表示しますが、ここでは、組み合せたコンテキストの限界ではなく、システムの限界を表示しています。
counter all 0
オプションを使用して、現在使用されていないリソースを表示します。Denied 統計情報は、利用できる場合に、そのリソースがシステム制限により何度拒否されているかを示します。
hostname# show resource usage system counter all 0 Resource Current Peak Limit Denied Context Syslogs [rate] 1 18 N/A 0 System Conns 0 1 280000 0 System Conns [rate] 1 1 N/A 0 System Inspects [rate] 0 0 N/A 0 System
コンテキストの SYN 攻撃の監視
セキュリティ アプライアンスは、TCP 代行受信を使用して SYN 攻撃を防止します。TCP 代行受信は、SYN クッキー アルゴリズムを使用して、TCP SYN フラッディング攻撃を防止します。SYN フラッディング攻撃は、通常スプーフィングされた IP アドレスから発信される一連の SYN パケットで構成されています。SYN パケットによる絶え間ないフラッディングがサーバの SYN キューをいっぱいにし、接続要求に応答できないようにします。接続の初期接続制限しきい値を超えると、セキュリティ アプライアンスがサーバのプロキシの役割を果たし、クライアントの SYN 要求に対して SYN-ACK 応答を生成します。セキュリティ アプライアンスがクライアントから返された ACK を受け取ると、クライアントの認証を行い、サーバへの接続を許可します。
show perfmon コマンドを使用すると、個々のコンテキストの攻撃レートを監視できます。show resource usage detail コマンドを使用すると、個々のコンテキストについて、TCP 代行受信が使用中のリソース量を監視できます。show resource usage summary detail コマンドを使用すると、システム全体について、TCP 代行受信が使用中のリソースを監視できます。
次の
show perfmon
コマンドの出力例は、admin と呼ばれるコンテキストの TCP 代行受信のレートを示します。
hostname/admin# show perfmon PERFMON STATS: Current Average TCP Intercept 322779/s 322779/s
次の
show resource usage detail
コマンドの出力例は、個々のコンテキストについて、TCP 代行受信が使用中のリソース量を示します(例の中のイタリック体のテキストは 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-intercepts 328787 803610 unlimited 0 admin np-statics 3 3 unlimited 0 admin statics 1 1 unlimited 0 admin ace-rules 1 1 unlimited 0 admin console-access-rul 2 2 unlimited 0 admin fixup-rules 14 15 unlimited 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 ace-rules 2 2 unlimited 0 c1 console-access-rul 2 2 unlimited 0 c1 fixup-rules 14 15 unlimited 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 unlimited 0 Summary block:2048 32 35 unlimited 0 Summary tcp-intercept-rate 341306 811579 unlimited 0 Summary globals 1 1 unlimited 0 Summary np-statics 6 6 unlimited 0 Summary statics 2 2 N/A 0 Summary ace-rules 3 3 N/A 0 Summary console-access-rul 4 4 N/A 0 Summary fixup-rules 43 44 N/A 0 Summary