この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
この章では、Cisco Anomaly Guard Module(Guard モジュール)のサービスの設定方法について説明します。
• アクセス コントロールの設定:認証、認可、アカウンティングの使用
• Cisco Traffic Anomaly Detector Module との通信のイネーブル化
• 日付と時刻の設定
• SSH 鍵の管理
• ホスト名の変更
Guard モジュールでアクティブにするサービスを定義することができます。正しい機能をイネーブルにするためには、サービスをイネーブルにして、そのサービスへのアクセスを許可する必要があります。Guard モジュールのサービスのアクティベーションを制御し、特定の IP アドレスに対してアクセス権を付与または拒否することにより、Guard モジュールにアクセスし、制御する IP アドレスを制限することができます。
表 4-1 で、Guard モジュールのサービスについて説明します。
|
|
---|---|
|
ノード間通信サービス。Guard モジュールは、Cisco Traffic Anomaly Detector Module と通信チャネルを確立するときにこのサービスを使用します。 |
|
Simple Network Management Protocol(SNMP; 簡易ネットワーク管理プロトコル)サーバ サービス。SNMP を使用して Guard モジュールにアクセスすることにより、Riverhead 管理情報ベース(Riverhead の専用 MIB、MIB2、および UCDavis の MIB)で定義された情報を取得することができます。 MIB 定義の詳細については、このバージョンに付属の MIB ファイルを参照してください。 (注) Riverhead MIB には、64 ビットのカウンタが含まれています。MIB を読み取るには、SNMP バージョン 2 をサポートするブラウザを使用する必要があります。 |
|
SNMP トラップ サービス。snmp-trap サービスをアクティブにすると、Guard モジュールは SNMP トラップを生成します。詳細については、「SNMP トラップのイネーブル化」を参照してください。 |
|
Secured Shell サービス(詳細については、「SSH 鍵の管理」を参照)。 |
|
Web-Based Management(WBM)サービス。Web ブラウザを使用して、Web 経由で Guard モジュールを制御できます。 |
Guard モジュールのサービスをアクティブにするには、次の手順を実行します。
ステップ 1 Guard モジュールのサービスをイネーブルにします。次のコマンドを入力します。
Guard モジュールのサービスの説明については、 表 4-1 を参照してください。デフォルトでは、SSH 以外、Guard モジュールのすべてのサービスはディセーブルになっています。
ステップ 2 Guard モジュールのサービスに対するアクセス権を付与し、接続を可能にします。次のコマンドを入力します。
表 4-2 に、 permit コマンドの引数を示します。
|
|
---|---|
アクセスと操作の対象となるサービス。Guard モジュールのサービスの説明については、 表 4-1 を参照してください。 |
|
アクセスを許可する IP アドレス。IP アドレスをドット区切り 10 進表記で入力します(たとえば 192.168.10.2)。すべての IP アドレスからのアクセスを許可するには、アスタリスク(*)を使用します。 |
|
(オプション)IP サブネット マスク。サブネット マスクをドット区切り 10 進表記で入力します(たとえば 255.255.255.0)。デフォルトのサブネット マスクは、255.255.255.255 です。 |
アクセス コントロールとは、Guard モジュールにアクセスできるユーザ、およびアクセス権を持ったユーザが使用できるサービスを制御することです。認証、認可、アカウンティング(AAA)のセキュリティ サービスは、アクセスを設定するための基本的なフレームワークとなります。
• 認証:ユーザにシステムおよびシステム サービスへのアクセスを許可する前に、そのユーザを識別する方法。
• 認可:システムへのアクセスを取得した後で、ユーザが実行することのできる内容を決定するプロセス。通常、このプロセスは、ユーザが認証され、システムの操作を開始した後で実行されます。
• アカウンティング:ユーザが実行中または実行済みの内容を記録する処理。アカウンティングにより、ユーザがアクセスしているサービスを追跡することができます。
Guard モジュールには、次のシステム ユーザ アカウントが事前設定されています。
• admin:admin ユーザ アカウントには、管理者アクセス権が設定されています。そのため、Guard モジュールの CLI とその機能にアクセスできます。Guard モジュールの CLI に初めて接続するときは、このアカウントのパスワードを設定する必要があります。新しいユーザ アカウントを設定するには admin ユーザ アカウントを使用します。
• riverhead:riverhead ユーザ アカウントには、ダイナミック(dynamic)のアクセス権が設定されています。Guard モジュールでは、このユーザ アカウントを使用して、Cisco Traffic Anomaly Detector Module と通信します。Guard モジュールの CLI に初めて接続するときは、このアカウントのパスワードを設定する必要があります。
Cisco Traffic Anomaly Detector Module は、riverhead ユーザ名を使用して Guard をリモートでアクティブにできます。
ユーザ定義を使用すると、Guard モジュールのユーザ コミュニティをドメインに分割し、安全な管理アクセスのために必要に応じてパスワードを割り当てることができます。初期設定が完了した後は、ユーザのアクションを監視できるように新しいアカウントを作成し、システム ユーザ アカウントは使用しないことをお勧めします。
次の各項では、アクセス コントロールの設定方法について説明します。
• 認証の設定
• 認可の設定
ユーザが Guard モジュールにログインしようとするとき、または( enable コマンドを使用して)上位の特権レベルを要求するときに、Guard モジュールで使用する認証方式を設定することができます。Guard モジュールは、次の認証オプションを提供します。
• ローカル認証:ローカル認証では、ローカルに設定されたログイン名およびイネーブル パスワードが認証に使用されます。これはデフォルトの認証方式です。詳細については、「ローカル認証の設定」を参照してください。
• TACACS+ 認証:TACACS+ 認証では、1 つの TACACS+ サーバまたは複数の TACACS+ サーバのリストを使用してユーザが認証されます。
ユーザを 1 つの TACACS+ サーバにしか設定しない場合、その TACACS+ サーバで当該ユーザに対して認可も設定する必要があります。設定しないと、そのユーザは show コマンドにしかアクセスできません。
シーケンシャルな認証リストを設定することができます。認証リストでは、ユーザの認証に使用する認証方式を定義します。この定義により、認証に使用する 1 つ以上の方式を指定することができます。したがって、最初の方式が失敗した場合は、認証のバックアップ システムが提供されます。
Guard モジュールは、最初にリストされた方式を使用してユーザを認証します。その方式が応答しない場合、Guard モジュールは 2 番目の認証方式を選択します。両方の認証方式を試してもうまくいかない場合、認証は失敗します。
分散認証方式を設定することもできます。Guard モジュールは、最初の TACACS+ サーバを使用してユーザを認証します。認証で拒否が返された場合、Guard モジュールは TACACS+ サーバ リスト、および、存在する場合は代替の認証方式(ローカル)をスキャンします。リストをすべて試してもうまくいかない場合、認証は失敗します。このオプションは、first-hit オプションを設定していない場合にのみ有効です。
(注) ユーザ データベースが、複数の TACACS+ サーバに分散している、または 1 つの TACACS+ サーバとローカル ユーザ データベースに分散している場合は、
no tacacs-server first-hit コマンドを使用してください。
Guard モジュールで使用する認証方式を設定するには、次の手順を実行します。
ステップ 1 TACACS+ 認証が必要な場合は、TACACS+ サーバ接続を設定します。詳細については、「TACACS+ サーバのアトリビュートの設定」を参照してください。
ステップ 2 認証方式を定義します。次のコマンドを入力します。
表 4-3 に、 aaa authentication コマンドの引数を示します。
|
|
---|---|
コンソール セッションから Guard モジュールにアクセスした場合、Guard モジュールは、定義済みの認証方式に関係なく、ローカル ユーザ データベースを使用して認証します。
次の例は、上位の特権レベルに入る際に認証を行うように設定する方法を示しています。最初の認証方式は TACACS+ に設定され、2 番目の認証方式はローカル ユーザ データベースに設定されています。
Guard モジュールには、管理者特権を持つユーザ名があらかじめ設定されています。このユーザ名を使用して新しいユーザを作成できます。ユーザ定義を使用すると、Guard モジュールのユーザ コミュニティをドメインに分割し、安全な管理アクセスのために必要に応じてパスワードを割り当てることができます。
1 つの TACACS+ サーバを使用した CLI ユーザの認証をイネーブルにするには、「認証の設定」を参照してください。
Guard モジュールのローカル データベースにユーザを追加するには、次のコマンドを入力します。
username username {admin | config | dynamic | show} [ password ]
表 4-4 に、 username コマンドの引数とキーワードを示します。
|
|
---|---|
ユーザ名。1 ~ 63 文字の英数字の文字列です。大文字と小文字が区別され、先頭は英字である必要があります。この文字列にはスペースを含めることはできませんが、アンダースコアを含めることはできます。 |
|
ユーザの特権レベル。詳細については、 表 3-1 を参照してください。 |
|
(オプション)パスワード。6 ~ 24 文字の文字列を入力します。スペースは使用できず、大文字と小文字が区別されます。パスワードを入力しない場合、入力するよう要求されます。 |
ユーザはパスワードをクリア テキストで入力しますが、Guard モジュールの設定ファイルでは、パスワードは暗号化されて表示されます。次に、Guard モジュールの設定ファイル(running-config)の表示例を示します。
上の例の encrypted オプションは、パスワードが暗号化されていることを示しています。
Guard モジュールに設定されたユーザのリストを表示するには、
show running-config コマンドまたは show guard コマンドを使用します。現在 CLI にログインしているユーザのリストを表示するには、 show users コマンドを使用します。
Guard モジュールのユーザ リストからユーザを削除するには、no username username コマンドを使用します。
ユーザは、自分自身のパスワードを変更することができます。管理者は、自分自身のパスワードと、他のすべてのユーザのパスワードを変更できます。
ステップ 2 現在のパスワードを入力します。新しいパスワードの入力を求めるプロンプトが表示されます。
ステップ 3 新しいパスワードを入力します。パスワードは、スペースを含まない、6 ~ 24 文字の英数字の文字列である必要があります。パスワードでは大文字と小文字が区別されます。新しいパスワードをもう一度入力し、確認するように求めるプロンプトが表示されます。
特定のユーザのパスワードを変更するには、次の手順を実行します。
ステップ 1 グローバル モードで次のコマンドを入力します。
username-password 引数は、変更対象のパスワードを持つユーザです。
ステップ 2 新しいパスワードを入力します。パスワードは、スペースを含まない、6 ~ 24 文字の英数字の文字列である必要があります。パスワードでは大文字と小文字が区別されます。新しいパスワードをもう一度入力し、確認するように求めるプロンプトが表示されます。
次の例では、管理者はユーザ John のパスワードを変更しています。
ユーザが使用できるサービスを制限することができます。認可がイネーブルの場合、Guard モジュールはユーザのプロファイルでそのユーザのアクセス権を確認します。プロファイルは、ローカル ユーザ データベースまたは TACACS+ セキュリティ サーバにあります。ユーザは、そのユーザのプロファイル内の情報で許可されている場合にのみ、要求したサービスへのアクセス権を付与されます。
ユーザがコマンドを実行しようとするときに Guard モジュールで使用する認可方式を設定することができます。Guard モジュールでは、次の認可オプションが提供されています。
• TACACS+ 認可:TACACS+ 認可では、TACACS+ サーバを使用してユーザが認可されます。後続のサーバが定義されている場合は、1 つのサーバとの通信が失敗した場合にのみ、そのサーバへのアクセスが開始されます。
TACACS+ 認可では、2 種類がサポートされています。実行認可では、ユーザが Guard モジュールへのログイン時に認証されるときに、一度ユーザの特権レベルが決定されます。コマンド認可では、ユーザがコマンドを入力すると、各コマンドの認可を取得するために TACACS+ サーバに対して確認が行われます。
TACACS+ 認可では、コマンドごとにアクセス権を指定することができます。
• ローカル認可:ローカル認可では、コマンド グループのアクセス コントロールにローカルで設定されたユーザ プロファイルが使用されます。許可は、指定された特権レベルのすべてのコマンドに対して定義されます。これはデフォルトの認可方式です。
シーケンシャルな認可リストを設定することができます。認可リストでは、ユーザの認可に使用する認可方式を定義します。この定義により、認可に使用する 1 つ以上の方式を指定することができます。したがって、最初の方式に対する通信が失敗した場合は、認可のバックアップ システムが提供されます。
Guard モジュールは、最初にリストされた方式を使用してユーザを認可します。その方式が応答しない場合、Guard モジュールは 2 番目の認可方式を選択します。両方の認可方式が成功しなかった場合、認可は失敗します。
Guard のサービスにアクセスできるかどうかは、ユーザの特権レベルによって決まります。システム管理者は、ユーザが使用できるサービスを制限することができます。Guard モジュールは、ユーザのプロファイルをチェックして、ユーザのアクセス権を確認します。認可されると、ユーザは、そのユーザのプロファイル内の情報で許可されている場合にのみ、要求したサービスへのアクセス権を付与されます。ユーザの特権レベルについては、 表 3-1 を参照してください。
管理者は、ユーザの特権レベルへのアクセスを制限するパスワードを設定できます。
ローカル パスワードを設定して特権レベルへのアクセスを制御するには、次のコマンドを入力します。
enable password [ level level] [password]
表 4-5 で、 enable password コマンドの引数について説明します。
|
|
---|---|
|
(オプション)目的の特権レベル。このレベルには、admin、config、dynamic、show のいずれかを指定できます。詳細については、 表 3-1 を参照してください。デフォルトのレベルは admin です。 |
|
(オプション)特権レベルのパスワード。パスワードは、スペースを含まない、6 ~ 24 文字の英数字の文字列である必要があります。パスワードでは大文字と小文字が区別されます。パスワードを入力しない場合、入力するよう要求されます。 |
認可されたユーザは、ユーザ特権レベル間を移動することができます。
level 引数には、目的の特権レベルを指定します。このレベルには、admin、config、dynamic のいずれかを指定できます。デフォルトのレベルは admin です。詳細については、 表 3-1 を参照してください。
ステップ 1 TACACS+ 認可が必要な場合は、TACACS+ サーバ接続を設定します。詳細については、「TACACS+ サーバのアトリビュートの設定」を参照してください。
ステップ 2 認可方式を定義します。次のいずれかのコマンドを入力します。
• aaa authorization exec tacacs+
• aaa authorization commands level { local | tacacs+ } [ local ]
認可方式のシーケンシャルなリストを設定できます。各方式について、 aaa authorization コマンドを入力します。 認証方式を削除するには、このコマンドの no 形を使用します。
表 4-6 に、 aaa authorization コマンドの引数とキーワードを示します。
|
|
---|---|
ユーザが EXEC シェルの実行を許可されているかどうかを判別するために認可が実行されます。Guard モジュールは、TACACS+ サーバに確認して、認証されたユーザの特権レベルを判別します。 |
|
指定された特権レベルのすべてのコマンドに対して認可が実行されます。複数の特権レベルの認可を設定するには、認可が必要な特権レベルごとにこのコマンドを発行します。 |
|
指定された特権レベルの認可を定義します。有効なエントリは、show、dynamic、config、および admin です。ユーザの特権レベルについては、 表 3-1 を参照してください。 |
|
パフォーマンスへの影響を考慮し、show 特権レベルのコマンドには認可を設定しないことをお勧めします。
(注) コンソール セッションから入力されたコマンドには、TACACS+ 認可は実行されません。
次の例は、config 特権レベルを必要とするコマンドの認可を設定する方法を示しています。最初の認可方式は TACACS+ に設定され、2 番目の認可方式はローカル ユーザ データベースに設定されています。
TACACS+ サーバのデータベースで、各コマンドの認可を指定することができます。
アカウンティング管理により、ユーザがアクセスしているサービスを追跡し、TACACS+ サーバにアカウンティング情報を保存することができます。課金、レポート、またはセキュリティの目的のため、要求されたサービスのアカウンティングをイネーブルにします。デフォルトでは、Guard モジュールのアカウンティング管理はディセーブルに設定されています。
ステップ 1 TACACS+ サーバ接続を設定します。詳細については、「TACACS+ サーバのアトリビュートの設定」を参照してください。
ステップ 2 複数の特権レベルのアカウンティングを設定するには、アカウンティングが必要な特権レベルごとにこのコマンドを発行します。次のコマンドを入力します。
表 4-7 に aaa accounting コマンドのキーワードを示します。
|
|
---|---|
指定された特権レベルのアカウンティングを定義します(ユーザの特権レベルの詳細については、 表 3-1 を参照してください)。 |
|
パフォーマンスへの影響を考慮し、アカウンティング管理は config ユーザ特権レベルに対してのみイネーブルにすることをお勧めします。
アカウンティング管理を削除するには、このコマンドの no 形を使用します。
次の例は、TACACS+ サーバ上で config 特権レベルを必要とするコマンドのアカウンティングを設定する方法を示しています。
TACACS+ サーバのアトリビュートを設定するには、次の手順を実行します。
ステップ 1 TACACS+ サーバの IP アドレスを設定します。詳細については、「TACACS+ サーバの IP アドレスの設定」を参照してください。
ステップ 2 Guard モジュールが TACACS+ サーバへのアクセスに使用する暗号鍵を設定します。詳細については、「TACACS+ サーバの暗号鍵の設定」を参照してください。
ステップ 3 (オプション)Guard モジュールが認証に使用する検索方式を設定します。詳細については、「TACACS+ の検索の設定」を参照してください。
ステップ 4 (オプション)TACACS+ サーバの接続タイムアウトを設定します。詳細については、「TACACS+ サーバの接続タイムアウトの設定」を参照してください。
ステップ 5 TACACS+ サーバ接続の統計情報を表示します。詳細については、「TACACS+ サーバの統計情報の表示」を参照してください。
Guard モジュールが認証、認可、アカウンティングに TACACS+ サーバのシーケンシャルなリストを使用するように設定できます。Guard モジュールは、リストされた TACACS+ サーバを使用して、ユーザを認証または認可したり、アカウンティング イベントを送信したりします。そのサーバが応答しない場合、Guard モジュールは 2 番目のサーバを選択します。リストされたすべてのサーバを試してもうまくいかない場合、認証または認可は失敗します。
または、Guard モジュールがリストの最初の TACACS+ サーバだけを使用してユーザを認証するように設定することもできます(詳細については、「TACACS+ の検索の設定」を参照)。
リストには、各 TACACS+ サーバの IP アドレスを定義する必要があります。最大 9 つの TACACS+ サーバを定義できます。
リストに TACACS+ サーバを追加し、IP アドレスを割り当てるには、設定モードで次のコマンドを入力します。
ip-address 引数には、TACACS+ サーバの IP アドレスを指定します。
TACACS+ サーバは、入力した順序でリストに追加されます。リストには、最大 9 つのサーバを追加できます。
-conf#
tacacs-server host 192.168.33.45
TACACS+ サーバにアクセスするには、暗号鍵を設定する必要があります。コマンドの一部として入力される鍵は、TACACS+ サーバ上の鍵と一致している必要があります。鍵にスペースを含めることはできません。
サーバの暗号アクセス鍵を設定するには、設定モードで次のコマンドを入力します。
(注) 定義できる暗号鍵は 1 つだけです。複数の TACACS+ サーバを使用する場合、Guard モジュールは同じ鍵を使用して、すべての TACACS+ サーバとの通信を暗号化します。
次の例は、TACACS+ サーバの暗号鍵を TacacsKey に設定する方法を示しています。
Guard モジュールが、1 つの認証拒否を最終的なものと見なし、他の TACACS+ サーバやローカル認証方式を使用したそれ以上の検索を中止するように設定することができます。この場合、 tacacs-server first-hit コマンドを使用します。Guard モジュールは、サーバ リストの最初の TACACS+ サーバだけを使用してユーザ認証を実行し、応答します。最初の TACACS+ サーバが応答しない場合、Guard はリストにある次のサーバを選択します。Guard は、ユーザ認証に対して最初に受け取る承認または拒否を最終的なものと見なし、他の TACACS+ サーバまたはローカル ユーザ データベースを使用したそのユーザ認証の試行を停止します。
TACACS+ の検索方式を first-hit に設定しない場合、Guard モジュールはデフォルトでリスト内のすべての TACACS+ サーバでユーザを認証しようとします。ユーザ認証として first-hit 検索方式をイネーブルにする( no tacacs-server first-hit コマンドを使用する)場合、Guard は、リストの最初にある TACACS+ サーバを使用してユーザを認証します。最初のサーバが応答しなかった、またはユーザの認証に失敗した場合は、Guard はリストにある次のサーバを選択します。リストにあるすべての TACACS+ サーバが応答しなかった、またはユーザ認証に失敗した場合、ローカルの認証方式が設定されていないと、そのユーザ認証は失敗します。
(注) TACACS+ の検索方式は、認証にのみ適用されます。
Guard モジュールがリストの最初の TACACS+ サーバだけを使用してユーザを認証するように設定するには、設定モードで次のコマンドを入力します。
Guard モジュールが TACACS+ サーバの応答を待つ時間を設定できます。タイムアウトが終了すると、Guard モジュールは次の TACACS+ サーバ(そのようなサーバが設定されている場合)との接続を確立しようとするか、ローカルの AAA にフォールバックします(そのようなフォールバックが設定されている場合)。フォールバックの方式が設定されていない場合、認証と認可は失敗します。
(注) すべての TACACS+ サーバとの通信に同じサーバ タイムアウトが使用されます。
TACACS+ サーバの接続タイムアウトを設定するには、設定モードで次のコマンドを入力します。
timeout 引数には、Guard モジュールが TACACS+ サーバの応答を待つ時間(秒)を指定します。デフォルトのタイムアウトは 0 です。
ヒント ネットワークに問題がある場合や、小さいタイムアウト値を使用していて、TACACS+ サーバの応答が遅いためにタイムアウトが継続的に発生する場合には、タイムアウトの値を大きくすることができます。
TACACS+ サーバに関連する統計情報を表示することができます。統計データは、各サーバに対して提供されます。
TACACS+ 関連の統計情報を表示するには、 show tacacs statistics コマンドを使用します。
TACACS+ の統計情報をクリアするには、 clear tacacs statistics コマンドを使用します。
表 4-8 に、 show tacacs statistics コマンド出力のフィールドを示します。
|
|
---|---|
次のタスクをイネーブルにする場合は、Guard モジュールと Cisco Traffic Anomaly Detector Module(Detector モジュール)の間に安全な通信チャネルを確立できます。
• Remote activation of zone protection:Detector モジュールは、ゾーン トラフィックの異常を検出すると、通信チャネルを使用して Guard モジュールをアクティブにし、ゾーンを保護します。
• Synchronization of zone configuration information:Detector モジュールと Guard モジュールは、通信チャネルを介してゾーンの設定情報を交換します。
Guard モジュールは、次に示す 2 つのタイプの通信チャネルをサポートします。
• Secure Sockets Layer(SSL):Remote activation of zone protection および Synchronization of zone configuration information をイネーブルにします。
• セキュア シェル 2(SSH2):Remote activation of zone protection のみをイネーブルにします。
Detector モジュールは、ゾーンを保護し、ゾーンの情報を同期させるためにアクティブにする Guard モジュールのリストを保持しています。このリストは、リモート Guard リストと呼ばれます。Detector モジュールは、リモート Guard リストに設定されている各 Guard モジュールと通信チャネルを確立します。
Detector モジュールは、SSL 通信チャネルを確立する前に、各 Guard モジュールと SSH 通信チャネルを確立します。したがって、両方のタイプのリストを設定済みである場合、SSH 通信チャネルの設定を行う必要はありません。SSH 通信チャネルは SSL 通信チャネルによって設定されるためです。
Guard モジュールと Detector モジュールは、通信チャネルに SSL 接続を使用します。SSL は、プライバシー、認証、およびデータ整合性を組み合せることにより、接続のセキュリティを確保します。SSL の高度なセキュリティは、デジタル証明書、秘密と公開の鍵交換ペア、および Diffie-Hellman 鍵合意パラメータによって実現されます。
SSL では、デバイス認証とデータ暗号化により、安全なネットワーク通信チャネルが提供されます。それぞれの Guard モジュールと Detector モジュールは、その通信チャネルを介してデバイスと通信を試みることで、デバイスを認証します。デバイス認証は、デジタル証明書とデバイス固有の情報(IP アドレスなど)を使用して実行されます。SSL は、Guard モジュールと Detector モジュールが交換するデータを暗号化します。データを解読できるのは、指定された受信者だけです。
安全な接続を確保するために、Detector モジュールは秘密鍵と公開鍵のペアを生成し、公開鍵をリモート Guard リスト内の Guard モジュールに配布します。
Guard モジュールで通信チャネル サービスをイネーブルにした後で、Detector モジュールから通信チャネルを確立します。Detector モジュールは最初に、ユーザ riverhead を使用して Guard モジュールに SSH2 通信を確立します。次に Detector モジュールは、安全な SSH2 接続を使用して、SSL 接続鍵を交換します。
Guard モジュールと Detector モジュールとの間に SSL 通信チャネルを確立するには、次のタスクを実行する必要があります。
1. Guard モジュールと Detector モジュールの両方で、通信チャネル サービスをイネーブルにします。
2. Guard モジュールと Detector モジュールの両方で、その通信チャネル サービスへのアクセスを許可します。
3. Detector モジュールから通信チャネルを確立します。
Detector モジュールは最初に、ユーザ riverhead を使用して Guard モジュールに SSH2 通信を確立します。次に Detector モジュールは、安全な SSH2 接続を使用して、SSL 接続鍵を交換します。
Guard モジュールの通信チャネルをイネーブルにするには、Guard モジュール上で次の手順を実行します。
(注) Detector モジュールの通信チャネルをイネーブルにする場合は、Detector モジュール上で同じコマンドを使用してください。
ステップ 1 Detector モジュールの IP アドレスから Guard モジュール上の SSH サービスへのアクセスを許可するため、設定モードで permit ssh ip-address-general [ ip-mask ] コマンドを入力します。
引数 ip-address-general および ip-mask を使用すると、Guard モジュールへのアクセス権を付与する対象の Detector モジュールの IP アドレスを定義できます。
(注) SSH サービスはすでにイネーブルになっているので、ここでイネーブルにする必要はありません。
ステップ 2 通信チャネル サービスをイネーブルにするため、設定モードで service internode-comm コマンドを入力します。
ステップ 3 Detector モジュールの IP アドレスから通信チャネル サービスへのアクセスを許可するため、設定モードで permit internode-comm ip-address-general [ ip-mask ] コマンドを入力します。
引数 ip-address-general および ip-mask を使用すると、Guard モジュールへのアクセス権を付与する対象の Detector モジュールの IP アドレスを定義できます。
(注) SSL 証明書内の Guard モジュールと Detector モジュールの ID は、IP アドレスに関連付けられています。通信チャネルのそれぞれの端にある Guard モジュールまたは Detector モジュールのいずれかの IP アドレスを変更する場合、SSL 証明書を再生成する必要があります。「SSL 証明書の再生成」を参照してください。
SSL 証明書内の Guard モジュールと Detector モジュールを識別する鍵は、IP アドレスに関連付けられています。
次のいずれかの変更を行う場合、通信チャネルの両端にある Guard モジュールと Detector モジュール用に新しい SSL 証明書を生成する必要があります。
新しい SSL 証明書を生成するには、まず、現在使用している証明書を両方のデバイスで削除する必要があります。
現在使用している SSL 証明書を消去するには、次の手順を実行します。
ステップ 1 Guard モジュールの SSL 証明書を Detector モジュールから削除します。
ステップ 2 Detector モジュールの SSL 証明書を Guard モジュールから削除します。
cert-host-ip 引数には、Detector モジュールの IP アドレスを指定します。Guard モジュールと通信チャネルを確立したすべての Detector モジュールの SSL 証明書を削除する場合は、アスタリスク(*)を入力します。
ステップ 3 Guard モジュールのデバイスを物理的に交換した場合は、Guard モジュールの SSH ホスト鍵を Detector モジュールから削除する必要があります。
ステップ 4 Guard モジュールと Detector モジュールの間に新しい SSL 通信チャネルを確立します。詳細については、「SSL 通信チャネルの確立」を参照してください。
トラフィックの異常を検出すると、Detector モジュールはそのイベントをログに記録するか、SSH 接続を使用して Guard モジュールをアクティブにしてゾーンを保護します。SSH 通信チャネルを使用している場合、Detector モジュールは次のタスクを実行できません。
• Guard モジュールを監視して、ゾーンへの攻撃が終了したことを確認する。したがって、Detector モジュールを検出およびラーニングの動作状態でアクティブにしても、Detector モジュールはゾーンへの攻撃が終了したことを確認できないため、リモート Guard をアクティブにした後でゾーン トラフィックのラーニングを続行しません。
安全な SSH2 接続を確保するために、Detector モジュールは秘密 SSH 鍵と公開 SSH 鍵のペアを生成し、公開 SSH 鍵を Detector モジュールのリモート Guard リスト内の Guard モジュールに配布します。
Guard モジュールと Detector モジュールとの間に通信チャネルを確立するには、次のタスクを実行する必要があります。
1. Detector モジュールの IP アドレスから Guard モジュール上の SSH サービスへのアクセスを許可するため、 permit ssh コマンドを入力します。
2. Detector モジュールから SSH 通信チャネルを確立します。
Guard モジュールのデバイスを交換(スワップアウト)した場合は、SSH 通信チャネルを再生成する必要があります。「SSH 通信チャネル鍵の再生成」を参照してください。
Guard モジュールのデバイスを物理的に交換する場合、次の手順を実行して新しい SSH 通信チャネルを確立します。
ステップ 1 SSH2 ホスト鍵を Detector モジュールから削除します。設定モードにおいて、Detector モジュール上で no host-keys ip-address-general コマンドを入力します。
ip-address 引数には、リモート デバイスの IP アドレスを指定します。
Guard モジュールにリストされているホスト鍵を表示するには、 show host-keys コマンドを使用します。
• Detector モジュールから新しい SSH 通信チャネルを確立する(「SSH 通信チャネルの確立」を参照)。
• Detector モジュールの公開鍵をリモート Guard に手動で追加する。
Detector モジュールの公開 SSH 鍵を表示するには、Detector モジュール上で show public-key コマンドを使用します。
Detector モジュールの公開 SSH 鍵を設定するには、Guard モジュール上で key add コマンドを使用します。
時刻と日付を設定するには、設定モードで次のコマンドを入力します。
表 4-9 に、 date コマンドの引数とキーワードを示します。
|
|
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
次の例は、日付を 2003 年 10 月 8 日に設定し、時刻を午後 5 時 10 分(17 時 10 分)17 秒に設定する方法を示しています。
Guard モジュールは、安全なリモート ログインのために SSH をサポートします。SSH 鍵のリストを追加すると、ログイン名とパスワードを入力せずに、リモート デバイスから Guard モジュールへの安全な通信をイネーブルにできます。
次の各項では、Guard モジュールの SSH 鍵リストの操作方法について説明します。
• SSH 鍵の追加
• SSH 鍵の削除
ログイン名とパスワードを入力せずに SSH 接続をイネーブルにするには、Guard モジュールの SSH 鍵リストにリモート接続の SSH 公開鍵を追加します。
key add [user-name] {ssh-dsa | ssh-rsa} key-string comment
表 4-10 に、 key add コマンドの引数とキーワードを示します。
|
|
---|---|
Detector またはリモート端末で作成された公開 SSH 鍵。鍵ストリングは、8,192 ビットまでに制限されています。 |
|
デバイスの説明。コメントの形式は、通常、鍵の生成に使用されるユーザとマシンを表す user@hostname になります。たとえば、Detector で生成される SSH 公開鍵に使用されるデフォルトのコメントは、 root@DETECTOR です。 |
リストから SSH 鍵を削除できます。SSH 鍵を削除すると、次に Guard モジュールと SSH セッションを確立するときには認証を受ける必要があります。
Guard モジュールから SSH 鍵を削除するには、設定モードで次のコマンドを入力します。
key remove [user-name] key-string
表 4-11 で、 key remove コマンドの引数について説明します。
|
|
---|---|
プロンプトに SSH 公開鍵をペーストします。識別フィールド(ssh-rsa または ssh-dsa)は除き、鍵だけをペーストしてください。 |
次の例は、key remove コマンド用にカット アンド ペーストを行えるように、ユーザ鍵を表示する方法を示しています。
Guard モジュールは、SSH2 の上層に位置するセキュア FTP(SFTP)をサポートします。SFTP では、公開鍵による認証と強力なデータ暗号化を使用しています。これにより、ログイン、データ、およびセッションの情報が送信中に傍受されたり変更されたりすることを防止できます。
SFTP サーバに公開鍵を設定するには、Guard モジュール上で次のアクションを実行します。
ステップ 1 Guard モジュールの公開鍵を表示します。設定モードで show public-key コマンドを使用します。
鍵が存在する場合は、ステップ 2 を省略し、ステップ 3 に進みます。
鍵が存在しない場合は、ステップ 2 に進みます。
ステップ 2 秘密および公開鍵ペアを生成します。設定モードで次のコマンドを入力します。
SSH の鍵ペアがすでに存在している場合は、次のメッセージが表示されます。
Guard モジュールが、公開および秘密鍵ペアを作成します。Guard モジュールの公開鍵を表示するには、設定モードで show public-key コマンドを使用します。
ステップ 3 公開鍵をコピーし、SFTP サーバにある鍵のファイルにペーストします。
たとえば、Linux オペレーティング システムに設置された SFTP サーバに root ユーザで接続する場合は、Guard モジュールの公開鍵を /root/.ssh/authorized_keys2 ファイルに追加します。
鍵は 1 行に収まるようにコピーしてください。鍵が 2 行としてコピーされた場合は、1 行目の末尾にある改行文字を削除します。
Guard モジュールのホスト名を変更できます。この変更はすぐに反映され、新しいホスト名は自動的に CLI プロンプト ストリングに組み込まれます。
Guard モジュールのホスト名を変更するには、設定モードで次のコマンドを入力します。
Guard モジュールが SNMP トラップを送信し、Guard モジュールで発生する重大なイベントを管理者に通知するように設定できます。Guard モジュールの SNMP トラップ ジェネレータを設定して、トラップ情報のスコープを定義することができます。
トラップのログは、Guard モジュールのイベント ログに記録され、トラップ条件が発生すると、SNMP エージェントがトラップを送信するかどうかに関係なく、イベント モニタに表示されます。
Guard モジュールが SNMP トラップを送信するように設定するには、次の手順を実行します。
ステップ 1 SNMP トラップ ジェネレータ サービスをイネーブルにします。設定モードで次のコマンドを入力します。
ステップ 2 SNMP トラップ ジェネレータ パラメータ(トラップの宛先 IP アドレスとトラップ情報のスコープ)を設定します。次のコマンドを入力します。
表 4-12 に、 snmp trap-dest コマンドの引数を示します。
SNMP トラップ ジェネレータ パラメータを削除するには、 no snmp trap-dest コマンドを使用します。すべての SNMP トラップ宛先パラメータを削除するには * を使用します。
次に、 errors 以上の重大度レベルのトラップが、SNMP コミュニティ ストリング tempo とともに宛先 IP アドレス 192.168.100.52 に送信される例を示します。
Guard モジュールの SNMP サーバにアクセスし、管理情報ベース 2(MIB2)および Riverhead の専用 MIB で定義された情報を取得することができます。コミュニティ ストリングはパスワードのように機能し、Guard モジュールの SNMP エージェントからの読み取りアクセスを許可します。Guard モジュールの SNMP コミュニティ ストリングを設定して、異なる組織のクライアントが異なるコミュニティ ストリングを使用して SNMP エージェントにアクセスできるようにすることができます。
SNMP コミュニティ ストリングを追加するには、設定モードで次のコマンドを入力します。
snmp community community-string
community-string 引数には、目的の Guard モジュールのコミュニティ ストリングを指定します。1 ~ 15 文字の英数字の文字列を入力します。この文字列にスペースを含めることはできません。Guard モジュールのデフォルトのコミュニティ ストリングは riverhead です。コミュニティ名はいくつでも指定できます。コミュニティ ストリングを削除するには、 no community string コマンドを使用します。すべての SNMP コミュニティ ストリングを削除するには * を使用します。