この章では、Catalyst 3750スイッチでスイッチベースの認証を設定する方法について説明しています。特に明記しないかぎり、 スイッチ という用語はスタンドアロン スイッチおよびスイッチ スタックを意味します。
- スイッチへの不正アクセスの防止
- イネーブルEXECコマンドへのアクセスの保護
- TACACS+によるスイッチ アクセスの制御
- RADIUSによるスイッチ アクセスの制御
- Kerberosによるスイッチ アクセスの制御
- スイッチのローカル認証および許可の設定
- Secure Shellのためのスイッチの設定
スイッチへの不正アクセスの防止
不正ユーザによる、スイッチの再設定や設定情報の閲覧を防止できます。一般的には、ネットワーク管理者からスイッチへのアクセスを許可する一方、非同期ポートを用いてネットワーク外からダイヤルアップ接続するユーザや、シリアル ポートを通じてネットワーク外から接続するユーザ、またはローカル ネットワーク内の端末またはワークステーションから接続するユーザからのアクセスを制限します。
スイッチへの不正アクセスを防止するには、次のセキュリティ機能を1つまたは複数設定します。
- 最低限のセキュリティとして、各スイッチ ポートでパスワードおよび権限を設定します。このパスワードは、スイッチでローカルに保存されます。ユーザがポートまたは回線を通じてスイッチにアクセスしようとするとき、ポートまたは回線に指定されたパスワードを入力してからでなければ、スイッチにアクセスできません。詳細については、 イネーブルEXECコマンドへのアクセスの保護 を参照してください。
- 追加のセキュリティ レイヤとして、ユーザ名とパスワードをペアで設定できます。このペアはスイッチでローカルに保存されます。このペアは回線またはポートに割り当てられ、各ユーザを認証します。ユーザは認証後、スイッチにアクセスすることができます。権限レベルを定義している場合は、ユーザ名とパスワードの各ペアに特定の権限レベル(対応する権利および権限付き)を割り当てることもできます。詳細については、 ユーザ名とパスワードのペアの設定 を参照してください。
- ユーザ名とパスワードのペアを使用したいが、そのペアをローカルではなく中央のサーバに保存したい場合は、セキュリティ サーバ上のデータベースに保存できます。これにより、複数のネットワーク デバイスが同じデータベースを使用してユーザ認証情報を(必要に応じて許可情報も)得ることができます。詳細については、 TACACS+によるスイッチ アクセスの制御 を参照してください。
イネーブルEXECコマンドへのアクセスの保護
ネットワークで端末のアクセス制御を行う簡単な方法は、パスワードを使用して権限レベルを割り当てることです。パスワード保護によって、ネットワークまたはネットワーク デバイスへのアクセスが制限されます。権限レベルによって、ネットワーク デバイスにログオン後、ユーザがどのようなコマンドを入力できるかが定義されます。
ここでは、コンフィギュレーション ファイルおよびイネーブルEXECコマンドへのアクセスを制御する方法について説明します。具体的な設定情報は次のとおりです。
- デフォルトのパスワードおよび権限レベル設定
- スタティック イネーブル パスワードの設定または変更
- 暗号化によるイネーブルおよびイネーブル シークレット パスワードの保護
- パスワード回復のディセーブル化
- 端末回線に対するTelnetパスワードの設定
- ユーザ名とパスワードのペアの設定
- 複数の権限レベルの設定
デフォルトのパスワードおよび権限レベル設定
デフォルトのパスワードおよび権限レベル に、デフォルトのパスワードおよび権限レベル設定を示します。
|
パスワードは定義されていません。デフォルトはレベル15です(イネーブルEXECレベル)。パスワードは、コンフィギュレーション ファイル内では暗号化されていない状態です。 |
|
|
パスワードは定義されていません。デフォルトはレベル15です(イネーブルEXECレベル)。パスワードは、暗号化されてからコンフィギュレーション ファイルに書き込まれます。 |
|
スタティック イネーブル パスワードの設定または変更
イネーブル パスワードは、イネーブルEXECモードへのアクセスを制御します。スタティック イネーブル パスワードを設定または変更するには、イネーブルEXECモードで次の手順を実行します。
パスワードを削除するには、 no enable password グローバル コンフィギュレーション コマンドを使用します。
次に、イネーブル パスワードを l1u2c3k4y5 に変更する例を示します。パスワードは暗号化されておらず、レベル15のアクセスが与えられます(従来のイネーブルEXECモード アクセス)。
Switch(config)# enable password l1u2c3k4y5
暗号化によるイネーブルおよびイネーブル シークレット パスワードの保護
追加のセキュリティ レイヤを、特にネットワークを越えるパスワードやTrivial File Transfer Protocol(TFTP;簡易ファイル転送プロトコル)サーバに保存されているパスワードに対して設定する場合には、 enable password または enable secret グローバル コンフィギュレーション コマンドを使用できます。両コマンドはともに同じ働きをします。このコマンドにより、暗号化されたパスワードを設定できます。イネーブルEXECモード(デフォルト設定)または特定の権限レベルにアクセスするには、このパスワードを入力する必要があります。
より高度な暗号化アルゴリズムを使用しているので、 enable secret コマンドを使用することを推奨します。
enable secret コマンドは enable password コマンドに優先します。2つのコマンドが同時に有効になることはありません。
イネーブルおよびイネーブル シークレット パスワードに暗号化を設定するには、イネーブルEXECモードで次の手順を実行します。
イネーブル パスワードおよびイネーブル シークレット パスワードの両方が定義されている場合、ユーザはイネーブル シークレット パスワードを入力する必要があります。
特定の権限レベルのパスワードを定義するには、 level キーワードを使用します。レベルを指定してパスワードを設定したら、そのレベルでアクセスする必要のあるユーザだけにそのパスワードを渡してください。さまざまなレベルでアクセス可能なコマンドを指定する場合は、 privilege level グローバル コンフィギュレーション コマンドを使用します。詳細については、 複数の権限レベルの設定 を参照してください。
パスワードの暗号化をイネーブルにすると、ユーザ名パスワード、認証鍵パスワード、イネーブル コマンド パスワード、コンソールおよび仮想端末回線パスワードなど、すべてのパスワードに適用されます。
パスワードとレベルを削除するには、 no enable password [ level level ] または no enable secret [ level level ]グローバル コンフィギュレーション コマンドを使用します。パスワードの暗号化をディセーブルにするには、 no service password-encryption グローバル コンフィギュレーション コマンドを使用します。
権限レベル2に対して暗号化パスワード $1$FaD0$Xyti5Rkls3LoyxzS8 を設定する例を示します。
Switch(config)# enable secret level 2 5 $1$FaD0$Xyti5Rkls3LoyxzS8
パスワード回復のディセーブル化
デフォルトでは、スイッチに物理アクセスするすべてのエンド ユーザは、スイッチの電源投入時にブート プロセスを中断して新しいパスワードを入力することで、失われたパスワードを回復できます。
パスワード回復ディセーブル機能では、この機能の一部をディセーブルにすることにより、スイッチ パスワードへのアクセスを防止します。この機能がイネーブルな場合、エンド ユーザはシステムをデフォルト設定に戻すことに同意するだけで、ブート プロセスを中断することができます。パスワード回復をディセーブル化しても、ブート プロセスを中断してパスワードを変更することができますが、コンフィギュレーション ファイル(config.txt)およびVLANデータベース ファイル(vlan.dat)は削除されます。
|
この設定は、フラッシュ メモリのブート ローダがアクセスできる領域およびCisco IOSイメージに保存されます。ただし、ファイル システムの領域ではないのでユーザはアクセスできません。 |
||
パスワード回復を再びイネーブルにするには、 service password-recovery グローバル コンフィギュレーション コマンドを使用します。
端末回線に対するTelnetパスワードの設定
初めてスイッチに電源を投入すると、自動セットアップ プログラムが起動してIP情報を割り当て、引き続き使用するためのデフォルト設定を作成します。セットアップ プログラムは、パスワードによるTelnetアクセス用にスイッチを設定するよう求めてきます。このとき、セットアップ プログラムを使用してパスワードを設定しなかった場合は、CLI(コマンドライン インターフェイス)を使用して設定できます。
パスワードを削除するには、 no password グローバル コンフィギュレーション コマンドを使用します。
Telnetパスワードを let45me67in89 に設定する例を示します。
Switch(config-line)# password let45me67in89
ユーザ名とパスワードのペアの設定
ユーザ名とパスワードのペアを設定でき、スイッチ上でローカルに保存します。このペアは回線またはポートに割り当てられ、各ユーザを認証します。ユーザは認証後、スイッチにアクセスすることができます。権限レベルを定義している場合は、ユーザ名とパスワードの各ペアに特定の権限レベル(対応する権利および権限付き)を割り当てることもできます。
ユーザ名ベースの認証システムを設定するには、イネーブルEXECモードで次の手順を実行します。この認証システムは、ログイン ユーザ名とパスワードを要求します。
特定ユーザのユーザ名認証をディセーブルにするには、 no username name グローバル コンフィギュレーション コマンドを使用します。パスワード チェックをディセーブルにし、パスワードなしでの接続を可能にするには、 no login ライン コンフィギュレーション コマンドを使用します。
複数の権限レベルの設定
Cisco IOSソフトウェアは、デフォルトで、ユーザEXECとイネーブルEXECという2種類のパスワード セキュリティ モードを備えています。各モードについて、コマンドの階層レベルを最大16まで設定できます。複数のパスワードを設定することにより、さまざまなユーザ グループに対して特定のコマンドへのアクセスを許可することができます。
たとえば、多くのユーザに clear line コマンドへのアクセスを許可する場合、レベル2のセキュリティを割り当て、レベル2のパスワードを広範囲のユーザに配布することができます。また、 configure コマンドへのアクセスをより制限されたものにしたい場合は、レベル3のセキュリティを割り当て、そのパスワードを限られたユーザ グループに配布することもできます。
コマンドの権限レベルの設定
|
show running-configコマンドはパスワードとアクセス レベルの設定を表示します。show previlegeコマンドは、権限レベルの設定を表示します。 |
||
コマンドをある権限レベルに設定すると、構文がそのコマンドのサブセットであるコマンドはすべて、そのレベルに設定されます。たとえば、 show ip traffic コマンドをレベル15に設定すると、 show コマンドおよび show ip コマンドは、個々に別のレベルに設定しないかぎり、自動的にレベル15に設定されます。
特定のコマンドについて、デフォルトの権限に戻すには、 no privilege mode level level command グローバル コンフィギュレーション コマンドを使用します。
configure コマンドを権限レベル14に設定し、レベル14コマンドを使用する場合にユーザが入力するパスワードとして SecretPswd14 を定義する例を示します。
Switch(config)# privilege exec level 14 configure
Switch(config)# enable password level 14 SecretPswd14
回線に対するデフォルトの権限レベルの変更
|
level に指定できる範囲は0〜15です。レベル1が通常のユーザEXECモード権限です。レベル15は、 enable パスワードによって許可されるアクセス レベルです。 |
||
|
show running-configコマンドはパスワードとアクセス レベルの設定を表示します。show previlegeコマンドは、権限レベルの設定を表示します。 |
||
ユーザは、回線にログインし、別の権限レベルをイネーブルに設定することにより、 privilege level ライン コンフィギュレーション コマンドを使用して設定された権限レベルを上書きできます。また、 disable コマンドを使用すれば、権限レベルを低く設定することができます。上位の権限レベルのパスワードがわかっていれば、ユーザはそのパスワードを使用して上位の権限レベルをイネーブルにできます。回線の使用を制限するには、コンソール回線に高いレベルまたは権限レベルを指定してください。
回線の権限レベルをデフォルトに戻すには、 no privilege level ライン コンフィギュレーション コマンドを使用します。
権限レベルへのログインおよび終了
TACACS+によるスイッチ アクセスの制御
ここでは、Terminal Access Controller Access Control System Plus(TACACS+)をイネーブルにして設定する方法について説明します。TACACS+は、詳細なアカウンティング情報を収集し、認証および許可プロセスに対して柔軟な管理を行います。TACACS+は、Authentication, Authorization, Accounting(AAA;認証、許可、アカウンティング)機能が拡張されており、TACACS+をイネーブルにするにはAAAコマンドを使用しなければなりません。
TACACS+の概要
TACACS+は、スイッチにアクセスしようとするユーザの検証を集中的に行うセキュリティ アプリケーションです。TACACS+サービスは、通常UNIXまたはWindows NTワークステーション上で稼働するTACACS+デーモンのデータベースで管理されます。スイッチにTACACS+機能を設定するには、TACACS+サーバにアクセスして設定する必要があります。
TACACS+は、個別のモジュール型認証、許可、およびアカウンティング機能を備えています。TACACS+では、単一のアクセス制御サーバ(TACACS+デーモン)が各サービス(認証、許可、およびアカウンティング)を別個に提供します。各サービスを固有のデータベースに結合し、デーモンの機能に応じてそのサーバまたはネットワークで利用できる他のサービスを利用することができます。
TACACS+の目的は、1つの管理サービスから複数のネットワーク アクセス ポイントを管理する方式を提供することです。スイッチは、他のシスコ製ルータやアクセス サーバとともにネットワーク アクセス サーバにすることができます。ネットワーク アクセス サーバは、単一のユーザ、ネットワークまたはサブネットワーク、および相互接続されたネットワークとの接続を実現します( 一般的なTACACS+ネットワーク構成 を参照)。
TACACS+は、AAAセキュリティ サービスによって管理され、次のようなサービスを提供します。
認証機能は、ユーザとの対話を実行できます(たとえば、ユーザ名とパスワードが入力されたあと、自宅の住所、母親の旧姓、サービス タイプ、社会保険番号などのいくつかの質問をすることによりユーザを試す)。TACACS+認証サービスは、ユーザ画面にメッセージを送信することもできます。たとえば、会社のパスワード有効期間ポリシーに従い、パスワードの変更の必要があることをユーザに通知することもできます。
- 許可 ― オートコマンド、アクセス制御、セッション期間、プロトコル サポートの設定といった、ユーザ セッション内でのユーザ機能についてきめ細かい制御を行います。また、TACACS+許可機能によって、ユーザが実行できるコマンドを制限することもできます。
- アカウンティング ― 課金、監査、レポートに使用する情報を収集してTACACS+デーモンに送信します。ネットワークの管理者は、アカウンティング機能を使用して、セキュリティ監査のためにユーザの活動状況を追跡したり、ユーザ課金用の情報を提供したりすることができます。アカウンティング レコードには、ユーザID、開始時刻および終了時刻、実行されたコマンド(PPPなど)、パケット数、およびバイト数が含まれます。
TACACS+プロトコルは、スイッチとTACACS+デーモンとの間の認証を行い、スイッチとTACACS+デーモンとの間のプロトコル交換をすべて暗号化することにより機密保持を実現します。
スイッチでTACACS+を使用するには、TACACS+デーモン ソフトウェアが稼働するシステムが必要です。
TACACS+の動作
ユーザが、TACACS+を使用しているスイッチに対して簡易ASCIIログインを試行し、認証が必要になると、次のプロセスが発生します。
- 接続が確立すると、スイッチはTACACS+デーモンに接続してユーザ名プロンプトを取得し、これがユーザに表示されます。ユーザがユーザ名を入力すると、スイッチはTACACS+デーモンに接続してパスワード プロンプトを取得します。スイッチがパスワード プロンプトを表示し、ユーザがパスワードを入力すると、そのパスワードがTACACS+デーモンに送信されます。
TACACS+によって、デーモンとユーザとの間の会話が可能になり、デーモンはユーザを認証できるだけの情報を取得できるようになります。デーモンは、ユーザ名とパスワードの組み合わせを入力するよう指示しますが、ユーザの母親の旧姓など、その他の項目を含めることもできます。
- スイッチは、最終的にTACACS+デーモンから次のいずれかの応答を受信します。
- ACCEPT ― ユーザが認証され、サービスを開始できます。許可を必要とするようにスイッチが設定されている場合は、この時点で許可処理が開始されます。
- REJECT ― ユーザは認証されません。TACACS+デーモンに応じて、ユーザはアクセスを拒否されるか、ログイン シーケンスを再試行するよう求められます。
- ERROR ― デーモンによる認証サービスのある時点で、またはデーモンとスイッチの間のネットワーク接続においてエラーが発生しました。ERROR応答が表示された場合は、スイッチは、通常別の方法でユーザを認証しようとします。
- CONTINUE ― ユーザは、さらに認証情報の入力を求められます。
認証後、スイッチで許可がイネーブルになっている場合、ユーザは追加の許可フェーズに入ります。ユーザはまず、TACACS+認証を正常に終了しなければTACACS+許可に進めません。
- TACACS+許可が必要な場合は、再度TACACS+デーモンに接続し、デーモンがACCEPTまたはREJECTの許可応答を返します。ACCEPT応答が返された場合は、その応答には、そのユーザのEXECまたはNETWORKセッション宛ての属性の形式でデータ、およびユーザがアクセスできるサービスが含まれます。
- Telnet、Secure Shell(SSH)、rlogin、またはイネーブルEXECサービス
- 接続パラメータ(ホストまたはクライアントのIPアドレス、アクセス リスト、ユーザ タイムアウトなど)
TACACS+の設定
ここでは、TACACS+をサポートするようにスイッチを設定する方法について説明します。少なくとも、TACACS+デーモンを保持するホスト(複数可)を特定し、TACACS+認証の方式リストを定義する必要があります。任意でTACACS+許可およびアカウンティングの方式リストを定義することもできます。方式リストは、ユーザの認証、許可、およびアカウントを維持するための順序と方式を定義します。方式リストを使用すると、使用するセキュリティ プロトコルを1つまたは複数指定できるので、最初の方式が失敗した場合のバックアップ システムが確保されます。ソフトウェアは、リスト内の最初の方式を使用してユーザの認証、許可、アカウントの維持を行います。その方式で応答が得られなかった場合、ソフトウェアはそのリストから次の方式を選択します。このプロセスは、リスト内の方式による通信が成功するか、方式リストを使い果たすまで続きます。
- TACACS+のデフォルト設定
- TACACS+サーバ ホストの特定と認証鍵の設定
- TACACS+ログイン認証の設定
- イネーブルEXECアクセスおよびネットワーク サービス用のTACACS+許可の設定
- TACACS+アカウンティングの開始
TACACS+のデフォルト設定
TACACS+とAAAは、デフォルトでディセーブルに設定されています。
セキュリティの失効を防止するため、ネットワーク管理アプリケーションを使用してTACACS+を設定することはできません。TACACS+をイネーブルに設定すると、CLIを使用してスイッチにアクセスするユーザを認証します。
TACACS+サーバ ホストの特定と認証鍵の設定
認証用に1つのサーバを使用することも、また、既存のサーバ ホストをグループ化するためにAAAサーバ グループを使用するよう設定することもできます。設定済みサーバ ホストのサブセットを選択してサーバをグループ化し、特定のサービスに使用することができます。サーバ グループは、グローバル サーバホスト リストとともに使用され、選択されたサーバ ホストのIPアドレスのリストを含んでいます。
IPホストまたはTACACS+サーバを保持するホストを特定し、任意で暗号鍵を設定するには、イネーブルEXECモードで次の手順を実行します。
指定されたTACACS+サーバ名またはアドレスを削除するには、 no tacacs-server host hostname グローバル コンフィギュレーション コマンドを使用します。設定リストからサーバ グループを削除するには、 no aaa group server tacacs+ group-name グローバル コンフィギュレーション コマンドを使用します。TACACS+サーバのIPアドレスを削除するには、 no server ip-address サーバ グループ サブコンフィギュレーション コマンドを使用します。
TACACS+ログイン認証の設定
AAA認証を設定するには、認証方式の名前付きリストを作成してから、さまざまなポートにそのリストを適用します。方式リストは実行される認証のタイプと実行順序を定義します。このリストを特定のポートに適用してから、定義済み認証方式を実行する必要があります。唯一の例外はデフォルトの方式リスト(偶然に default と名前が付けられている)です。デフォルトの方式リストは、名前付き方式リストが明示的に定義されたポートを除いて、自動的にすべてのポートに適用されます。定義済みの方式リストは、デフォルトの方式リストに優先します。
方式リストは、ユーザ認証のためクエリ送信を行う手順と認証方式を記述したものです。認証に使用する1つまたは複数のセキュリティ プロトコルを指定できるので、最初の方式が失敗した場合のバックアップ システムが確保されます。ソフトウェアは、リスト内の最初の方式を使用してユーザを認証します。その方式で応答が得られなかった場合、ソフトウェアはそのリストから次の方式を選択します。このプロセスは、リスト内の認証方式による通信が成功するか、定義された方式をすべて試すまで続きます。この処理のある時点で認証が失敗した場合(つまり、セキュリティ サーバまたはローカルのユーザ名データベースがユーザ アクセスを拒否すると応答した場合)、認証プロセスは停止し、それ以上認証方式が試行されることはありません。
|
aaa authentication login { default | list-name } method1 [ method2... ] |
||
|
||
|
line [ console | tty | vty ] line-number [ ending-line-number ] |
||
AAAをディセーブルにするには、 no aaa new-model グローバル コンフィギュレーション コマンドを使用します。AAA認証をディセーブルにするには、 no aaa authentication login {default | list-name } method1 [ method2... ]グローバル コンフィギュレーション コマンドを使用します。ログインのTACACS+認証をディセーブルにするかデフォルト値に戻す場合は、 no login authentication { default | list-name }ライン コンフィギュレーション コマンドを使用します。
イネーブルEXECアクセスおよびネットワーク サービス用のTACACS+許可の設定
AAA許可は、ユーザが利用できるサービスを制限します。AAA許可がイネーブルに設定されていると、スイッチはユーザのプロファイルから取得した情報を使用します。このプロファイルは、ローカルのユーザ データベースまたはセキュリティ サーバ上にあり、ユーザのセッションを設定します。ユーザは、ユーザ プロファイル内の情報で認められている場合に限り、要求したサービスのアクセスが認可されます。
aaa authorization グローバル コンフィギュレーション コマンドに tacacs+ キーワードを付けて使用すると、イネーブルEXECモードへのユーザのネットワーク アクセスを制限するパラメータを設定できます。
aaa authorization exec tacacs+ localコマンドは、次の許可パラメータを設定します。
- TACACS+を使用して認証を行った場合は、イネーブルEXECアクセス許可にTACACS+を使用します。
- 認証にTACACS+を使用しなかった場合は、ローカル データベースを使用します。
イネーブルEXECアクセスおよびネットワーク サービスに関するTACACS+許可を指定するには、イネーブルEXECモードで次の手順を実行します。
|
イネーブルEXECアクセスの有無を、ユーザTACACS+許可によって判別するようにスイッチを設定します。 exec キーワードを指定すると、ユーザ プロファイル情報( autocommand 情報など)が返されることがあります。 |
||
許可をディセーブルにするには、 no aaa authorization { network | exec } method1 グローバル コンフィギュレーション コマンドを使用します。
TACACS+アカウンティングの開始
AAAアカウンティング機能は、ユーザがアクセスするサービスと、ユーザが消費するネットワーク リソースを追跡します。AAAアカウンティングがイネーブルに設定されていると、スイッチは、アカウンティング レコードの形式でユーザの活動状況をTACACS+セキュリティ サーバに報告します。各アカウンティング レコードには、アカウンティングの属性/値(AV)のペアが含まれ、セキュリティ サーバ上に保存されます。このデータを分析し、ネットワーク管理、クライアントへの課金、または監査に利用できます。
各Cisco IOS権限レベルおよびネットワーク サービスに関するTACACS+アカウンティングをイネーブルにするには、イネーブルEXECモードで次の手順を実行します。
|
TACACS+アカウンティングにより、イネーブルEXECプロセスの開始時に記録開始アカウンティング通知、終了時に記録停止通知を送信するように設定します。 |
||
アカウンティングをディセーブルにするには、 no aaa accounting { network | exec } { start-stop } method1... グローバル コンフィギュレーション コマンドを使用します。
TACACS+設定の表示
TACACS+サーバ統計情報を表示するには、 show tacacs イネーブルEXECコマンドを使用します。
RADIUSによるスイッチ アクセスの制御
ここでは、Remote Authentication Dial-In User Service(RADIUS)をイネーブルにして設定する方法について説明します。RADIUSは、詳細なアカウンティング情報を収集し、認証および許可プロセスに対して柔軟な管理を行います。RADIUSはAAAを介して機能します。RADIUSをイネーブルにするにはAAAコマンドを使用しなければなりません。
RADIUSの概要
RADIUSは分散型クライアント/サーバ システムで、不正なアクセスからネットワークを保護します。RADIUSクライアントは、サポートされているシスコ製ルータおよびスイッチ上で稼働し、中央RADUISサーバに認証要求を送信します。中央RADUISサーバには、すべてのユーザの認証およびネットワーク サービス アクセス情報が格納されています。RADUISホストは、通常、シスコ(Cisco Secure Access Control Serverバージョン3.0)、Livingston、Merit、Microsoftなどのソフトウェア製造元のRADIUSサーバ ソフトウェアが稼働するマルチユーザ システムです。詳細については、RADIUSサーバのマニュアルを参照してください。
RADIUSは、アクセスのセキュリティが必要な、次のネットワーク環境で使用します。
- それぞれがRADIUSをサポートする、マルチベンダー アクセス サーバによるネットワーク。たとえば、複数のベンダーのアクセス サーバが、1つのRADIUSサーバベース セキュリティ データベースを使用します。複数のベンダーのアクセス サーバからなるIPベースのネットワークでは、ダイヤルイン ユーザはRADUISサーバを通じて認証されます。RADUISサーバは、Kerberosセキュリティ システムで動作するようにカスタマイズされています。
- アプリケーションがRADIUSプロトコルをサポートするターンキー ネットワーク セキュリティ環境。たとえば、 スマート カード アクセス制御システムを使用するアクセス環境。あるケースでは、RADIUSをEnigmaのセキュリティ カードと併用してユーザを確認し、ネットワーク リソースのアクセスを許可します。
- すでにRADIUSを使用中のネットワーク。RADIUSクライアントを含むシスコ スイッチをネットワークに追加できます。これがTACACS+サーバへの移行の最初のステップとなることもあります( RADIUSからTACACS+サービスへの移行 を参照)。
- ユーザが1つのサービスにしかアクセスできないネットワーク。RADIUSを使用すると、ユーザのアクセスを1つのホスト、Telnetなどの1つのユーティリティ、またはIEEE 802.1xなどのプロトコルを使用するネットワークに制御できます。このプロトコルの詳細については、 802.1xポートベースの認証の設定 を参照してください。
- リソース アカウンティングが必要なネットワーク。RADUIS認証または許可とは別にRADIUSアカウンティングを使用できます。RADIUSアカウンティング機能によって、サービスの開始および終了時点でデータを送信し、このセッション中に使用されるリソース(時間、パケット、バイトなど)の量を表示できます。インターネット サービス プロバイダーは、RADIUSアクセス制御およびアカウンティング ソフトウェアのフリーウェア バージョンを使用して、特殊なセキュリティおよび請求のニーズを満たすこともできます。
RADIUSは、ネットワーク セキュリティが次のような状況には適していません。
- マルチプロトコル アクセス環境。RADIUSは、AppleTalk Remote Access(ARA)、NetBIOS Frame Control Protocol(NBFCP; NetBIOS フレーム制御プロトコル)、NetWare Asynchronous Services Interface(NASI;NetWare非同期サポート インターフェイス)、またはX.25 PAD接続をサポートしません。
- スイッチ間またはルータ間。RADIUSは、双方向認証を行いません。RADIUSは、他社製のデバイスが認証を必要とする場合に、あるデバイスから他社製デバイスへの認証には使用できます。
- 各種のサービスを使用するネットワーク。RADIUSは、一般に1人のユーザを1つのサービス モデルにバインドします。
RADIUSの動作
RADIUSサーバによってアクセス制御されているスイッチに、ユーザがログインして認証を試みると、次のイベントが発生します。
- ユーザ名とパスワードの入力を求めるプロンプトが表示されます。
- ユーザ名と暗号化されたパスワードが、ネットワークを介してRADIUSサーバに送信されます。
- ユーザは、RADIUSサーバから次のいずれかの応答を受信します。
- ACCEPT ― ユーザは認証されます。
- REJECT ― ユーザは認証されず、ユーザ名とパスワードの再入力を求めるプロンプトが表示されるか、アクセスが拒否されます。
- CHALLENGE ― ユーザからの追加データが要求されます。
- CHALLENGE PASSWORD ― ユーザは新しいパスワードを選択するよう要求されます。
ACCEPTまたはREJECT応答には、イネーブルEXECまたはネットワーク許可に使用される追加データがバンドルされています。RADIUS許可がイネーブルになっている場合、ユーザはまず、RADIUS認証に成功しなければRADIUS許可に進めません。ACCEPTまたはREJECTパケットの追加データには、次の項目が含まれています。
RADIUSの設定
ここでは、RADIUSをサポートするようにスイッチを設定する方法について説明します。少なくとも、RADIUSサーバ ソフトウェアが稼働するホスト(複数可)を特定し、RADIUS認証の方式リストを定義する必要があります。任意でRADIUS許可およびアカウンティングの方式リストを定義することもできます。
方式リストは、ユーザの認証、許可、およびアカウントを維持するための順序と方式を定義します。方式リストを使用すると、使用するセキュリティ プロトコル(TACACS+やローカル ユーザ名検索など)を1つまたは複数指定できるので、最初の方式が失敗した場合のバックアップ システムが確保されます。ソフトウェアは、リスト内の最初の方式を使用してユーザの認証、許可、アカウントの維持を行います。その方式で応答が得られなかった場合、ソフトウェアはそのリストから次の方式を選択します。このプロセスは、リスト内の方式による通信が成功するか、方式リストを使い果たすまで続きます。
スイッチにRADIUS機能を設定するには、RADIUSサーバにアクセスして設定する必要があります。
- RADIUSのデフォルト設定
- RADIUSサーバ ホストの特定 (必須)
- RADIUSログイン認証の設定 (必須)
- AAAサーバ グループの定義 (任意)
- ユーザ イネーブル アクセスおよびネットワーク サービス用のRADIUS許可の設定 (任意)
- RADIUSアカウンティングの開始 (任意)
- すべてのRADIUSサーバに対する設定 (任意)
- ベンダー固有のRADIUSアトリビュート用にスイッチを設定する方法 (任意)
- ベンダー固有のRADIUSサーバ通信用にスイッチを設定する方法 (任意)
RADIUSのデフォルト設定
RADIUSとAAAは、デフォルトでディセーブルに設定されています。
セキュリティの失効を防止するため、ネットワーク管理アプリケーション使用してRADIUSを設定することはできません。RADIUSをイネーブルに設定すると、CLIを使用して、スイッチにアクセスするユーザを認証します。
RADIUSサーバ ホストの特定
スイッチとRADIUSサーバ間の通信には、次の要素が関係します。
RADIUSセキュリティ サーバは、ホスト名またはIPアドレス、ホスト名と各UDPポート番号、あるいはIPアドレスと各UDPポート番号で識別されます。IPアドレスとUDPポート番号の組み合わせによって一意の識別子が作成され、特定のAAAサービスを提供するRADIUSホストとしてさまざまなポートを個別に定義できます。この一意の識別子によって、サーバ上の複数のUDPポートに同じIPアドレスでRADIUS要求を送信できるようになります。
同一のRADIUSサーバ上の2つの異なるホスト エントリが同じサービス(たとえば、アカウンティング)を設定している場合、設定された2番めのホスト エントリは、最初のエントリの代替バックアップとして機能します。この例では、最初のホスト エントリがアカウンティング サービスを提供できない場合は、スイッチは、同じデバイス上に設定された2番めのホスト エントリでアカウンティング サービスを試行します(RADIUSのホスト エントリは、設定された順序で試行されます)。
RADIUSサーバおよびスイッチは、共有シークレット テキスト ストリングを使用してパスワードを暗号化し、応答を交換します。AAAセキュリティ コマンドを使用するようにRADIUSを設定するには、RADIUSサーバ デーモンが稼働するホストと、そのスイッチを共用するシークレット テキスト(キー)ストリングを指定する必要があります。
タイムアウト、再送信回数、および暗号化鍵の値は、すべてのRADIUSサーバに対してグローバルにサーバ単位で設定することも、グローバルな設定とサーバ単位の設定を組み合わせることもできます。この設定を、スイッチと通信するすべてのRADIUSサーバに対してグローバルに適用するには、3つの特別なグローバル コンフィギュレーション コマンド、 radius-server timeout 、 radius-server retransmit 、および radius-server key を使用します。特定のRADIUSサーバにこれらの値を適用するには、 radius-server host グローバル コンフィギュレーション コマンドを使用します。
認証用に既存のサーバ ホストをグループ化するために、AAAサーバ グループを使用するようスイッチを設定できます。詳細については、 AAAサーバ グループの定義 を参照してください。
サーバ単位でのRADIUSサーバ通信を設定するには、イネーブルEXECモードで次の手順を実行します。この手順は必須です。
特定のRADIUSサーバを削除するには、 no radius-server host hostname | ip-address グローバル コンフィギュレーション コマンドを使用します。
次に、あるRADIUSサーバを認証用に、別のRADIUSサーバをアカウンティング用に設定する例を示します。
Switch(config)# radius-server host 172.29.36.49 auth-port 1612 key rad1
Switch(config)# radius-server host 172.20.36.50 acct-port 1618 key rad2
次の例は、RADIUSサーバとして host1 を設定し、認証およびアカウンティングの両方にデフォルト ポートを使用する方法を示します。
Switch(config)# radius-server host host1
RADIUSログイン認証の設定
AAA認証を設定するには、認証方式の名前付きリストを作成してから、さまざまなポートにそのリストを適用します。方式リストは実行される認証のタイプと実行順序を定義します。このリストを特定のポートに適用してから、定義済み認証方式を実行する必要があります。唯一の例外はデフォルトの方式リスト(偶然に default と名前が付けられている)です。デフォルトの方式リストは、名前付き方式リストが明示的に定義されたポートを除いて、自動的にすべてのポートに適用されます。
方式リストは、ユーザ認証のためクエリ送信を行う手順と認証方式を記述したものです。認証に使用する1つまたは複数のセキュリティ プロトコルを指定できるので、最初の方式が失敗した場合のバックアップ システムが確保されます。ソフトウェアは、リスト内の最初の方式を使用してユーザを認証します。その方式で応答が得られなかった場合、ソフトウェアはそのリストから次の方式を選択します。このプロセスは、リスト内の認証方式による通信が成功するか、定義された方式をすべて試すまで続きます。この処理のある時点で認証が失敗した場合(つまり、セキュリティ サーバまたはローカルのユーザ名データベースがユーザ アクセスを拒否すると応答した場合)、認証プロセスは停止し、それ以上認証方式が試行されることはありません。
|
aaa authentication login { default | list-name } method1 [ method2... ] |
||
|
||
|
line [ console | tty | vty ] line-number [ ending-line-number ] |
||
AAAをディセーブルにするには、 no aaa new-model グローバル コンフィギュレーション コマンドを使用します。AAA認証をディセーブルにするには、 no aaa authentication login {default | list-name } method1 [ method2... ]グローバル コンフィギュレーション コマンドを使用します。ログインのRADIUS認証をディセーブルにするかデフォルト値に戻す場合は、 no login authentication { default | list-name } ライン コンフィギュレーション コマンドを使用します。
AAAサーバ グループの定義
認証用に既存のサーバ ホストをグループ化するために、AAAサーバ グループを使用するようスイッチを設定できます。設定済みサーバ ホストのサブセットを選択し、特定のサービスに使用できます。サーバ グループには、グローバル サーバホスト リストを使用します。このリストは、選択したサーバ ホストのIPアドレスのリストです。
サーバ グループには、各エントリが一意の識別子(IPアドレスとUDPポート番号の組み合わせ)を持っていれば、同じサーバに対して複数のホスト エントリを組み込むことができます。また、特定のAAAサービスを提供するRADIUSホストとして、さまざまなポートを個別に定義できます。同一のRADIUSサーバ上の2つの異なるホスト エントリを同じサービス(たとえば、アカウンティング)を設定すると、設定された2番めのホスト エントリは、最初のエントリの代替バックアップとして機能します。
定義済みのグループ サーバに特定のサーバを対応付けるには、 server グループ サーバ コンフィギュレーション コマンドを使用します。IPアドレスでサーバを特定したり、任意の auth-port および acct-port キーワードを使用して複数のホスト インスタンスまたはエントリを識別することもできます。
AAAサーバ グループを定義して特定のRADIUSサーバに対応付けるには、イネーブルEXECモードで次の手順を実行します。
|
radius-server host { hostname | ip-address } [ auth-port port-number ] [ acct-port port-number ] [ timeout seconds ] [ retransmit retries ] [ key string ] |
リモートRADIUSサーバ ホストのIPアドレスまたはホスト名を指定します。
radius-server host コマンドの最後の項目として設定します。先行スペースは無視されますが、鍵の途中および末尾のスペースは使用されます。鍵にスペースを使用する場合は、鍵の一部として引用符を使用する場合を除いて、鍵を引用符で囲まないでください。
1つのIPアドレスに対応する複数のホスト エントリをスイッチが認識するように設定するには、必要な回数だけこのコマンドを入力し、それぞれのUDPポート番号が必ず異なるようにしてください。スイッチ ソフトウェアは、指定された順序でホストを検索します。特定のRADIUSホストで使用するタイムアウト、再送信回数、および暗号化鍵の値を設定します。 |
|
|
特定のRADIUSサーバを定義済みサーバ グループに対応付けます。AAAサーバ グループのRADIUSサーバごとに、このステップを繰り返します。 |
||
|
RADIUSログイン認証をイネーブルにします。 RADIUSログイン認証の設定 を参照してください。 |
特定のRADIUSサーバを削除するには、 no radius-server host hostname | ip-address グローバル コンフィギュレーション コマンドを使用します。コンフィギュレーション リストからサーバ グループを削除するには、 no aaa group server radius group-name グローバル コンフィギュレーション コマンドを使用します。RADIUSサーバのIPアドレスを削除するには、 no server ip-address サーバ グループコンフィギュレーション コマンドを使用します。
次の例では、2つの異なるRADIUSグループ サーバ( group1 と group2 )を認識するようにスイッチを設定しています。group1では、同一のRADIUSサーバ上の2つの異なるホスト エントリに同じサービスを設定しています。2番めのホスト エントリは、最初のエントリの代替バックアップとして機能します。
Switch(config)# radius-server host 172.20.0.1 auth-port 1000 acct-port 1001
Switch(config)# radius-server host 172.10.0.1 auth-port 1645 acct-port 1646
Switch(config)# aaa group server radius group1
Switch(config-sg-radius)# server 172.20.0.1 auth-port 1000 acct-port 1001
Switch(config-sg-radius)# exit
Switch(config)# aaa group server radius group2
Switch(config-sg-radius)# server 172.20.0.1 auth-port 2000 acct-port 2001
Switch(config-sg-radius)# exit
ユーザ イネーブル アクセスおよびネットワーク サービス用のRADIUS許可の設定
AAA許可は、ユーザが利用できるサービスを制限します。AAA許可がイネーブルに設定されていると、スイッチはユーザのプロファイルから取得した情報を使用します。このプロファイルは、ローカルのユーザ データベースまたはセキュリティ サーバ上にあり、ユーザのセッションを設定します。ユーザは、ユーザ プロファイル内の情報で認められている場合に限り、要求したサービスのアクセスが認可されます。
aaa authorization グローバル コンフィギュレーション コマンドに radius キーワードを付けて使用すると、イネーブルEXECモードへのユーザのネットワーク アクセスを制限するパラメータを設定できます。
aaa authorization exec radius localコマンドは、次の許可パラメータを設定します。
- RADIUSを使用して認証を行った場合は、イネーブルEXECアクセス許可にRADIUSを使用します。
- 認証にRADIUSを使用しなかった場合は、ローカル データベースを使用します。
イネーブルEXECアクセスおよびネットワーク サービスに関するRADIUS許可を指定するには、イネーブルEXECモードで次の手順を実行します。
|
イネーブルEXECアクセスの有無を、ユーザRADIUS許可によって判別するようにスイッチを設定します。 exec キーワードを指定すると、ユーザ プロファイル情報( autocommand 情報など)が返されることがあります。 |
||
許可をディセーブルにするには、 no aaa authorization { network | exec } method1 グローバル コンフィギュレーション コマンドを使用します。
RADIUSアカウンティングの開始
AAAアカウンティング機能は、ユーザがアクセスするサービスと、ユーザが消費するネットワーク リソースを追跡します。AAAアカウンティングがイネーブルに設定されていると、スイッチは、アカウンティング レコードの形式でユーザの活動状況をRADIUSセキュリティ サーバに報告します。各アカウンティング レコードには、アカウンティングの属性/値(AV)のペアが含まれ、セキュリティ サーバ上に保存されます。このデータを分析し、ネットワーク管理、クライアントへの課金、または監査に利用できます。
各Cisco IOS権限レベルおよびネットワーク サービスに関するRADIUSアカウンティングをイネーブルにするには、イネーブルEXECモードで次の手順を実行します。
|
RADIUSアカウンティングにより、イネーブルEXECプロセスの開始時に記録開始アカウンティング通知、イネーブルEXECプロセスの終了時に記録停止通知を送信するように設定します。 |
||
アカウンティングをディセーブルにするには、 no aaa accounting { network | exec } { start-stop } method1... グローバル コンフィギュレーション コマンドを使用します。
すべてのRADIUSサーバに対する設定
スイッチとすべてのRADIUSサーバ間のグローバル通信コンフィギュレーションを設定するには、イネーブルEXECモードで次の手順を実行します。
|
スイッチが、RADIUS要求に対する応答を待って要求を再送信するまでの秒数を指定します。デフォルトは5秒で、指定できる範囲は1〜1000です。 |
||
|
認証要求に応答しないRADIUSサーバをスキップする時間を指定します。これにより、要求がタイムアウトするまで待たずに、次の設定サーバを試行することができます。デフォルトは0で、指定できる範囲は1〜1440分です。 |
||
再送信、タイムアウト、デッドタイムの設定をデフォルトに戻すには、これらのコマンドの no 形式を使用します。
ベンダー固有のRADIUSアトリビュート用にスイッチを設定する方法
Internet Engineering Task Force(IETF)ドラフト規格では、ベンダー固有のアトリビュート(アトリビュート26)を使用して、スイッチとRADIUSサーバとの間のベンダー固有情報の通信方式を定めています。Vendor-Specific Attribute(VSA)を使用すると、ベンダーは、汎用に適さない独自の拡張アトリビュートをサポートできます。シスコの実装RADIUSでは、仕様で推奨されたフォーマットを使用して1つのベンダー固有オプションをサポートします。シスコのベンダーIDは9で、サポート対照のオプションにはベンダータイプ1が設定されており、 cisco-avpair と名前が付けられています。この値は次のフォーマットのストリングです。
protocol : attribute sep value *
protocol は、特定のタイプの許可に対応するシスコ プロトコル アトリビュートの値です。 attribute と value は、シスコTACACS+仕様で定義されている適正な属性/値(AV)のペアです。 sep は、必須アトリビュートの場合は「 = 」、オプションのアトリビュートの場合は「 * 」です。TACACS+許可で利用できるすべての機能は、RADIUSにも使用できます。
たとえば、次のAVペアは、IP許可時(PPPのIPCPアドレス割り当て時)に、シスコの 複数の名前付きIPアドレスプール 機能をアクティブにします。
cisco-avpair= "ip:addr-pool=first"
次の例は、スイッチからログインしているユーザに、イネーブルEXECコマンドへの直接アクセスを可能にする方法を示します。
cisco-avpair= "shell:priv-lvl=15"
次の例は、RADIUSサーバ データベース内の許可VLANを指定する方法を示しています。
cisco-avpair= "tunnel-type(#64)=VLAN(13)"
cisco-avpair= "tunnel-medium-type(#65)=802 media(6)"
cisco-avpair= "tunnel-private-group-ID(#81)=vlanid"
次の例は、この接続中にASCII形式の入力ACLをインターフェイスに適用する方法を示しています。
cisco-avpair= "ip:inacl#1=deny ip 10.10.10.10 0.0.255.255 20.20.20.20 255.255.0.0"
cisco-avpair= "ip:inacl#2=deny ip 10.10.10.10 0.0.255.255 any"
cisco-avpair= "mac:inacl#3=deny any any decnet-iv"
次の例は、この接続中にASCII形式の出力ACLをインターフェイスに適用する方法を示しています。
cisco-avpair= "ip:outacl#2=deny ip 10.10.10.10 0.0.255.255 any"
その他のベンダーにも、独自に一意のベンダーID、オプション、および対応するVSAが割り当てられます。ベンダーIDとVSAの詳細については、RFC 2138『Remote Authentication Dial-In User Service (RADIUS)』を参照してください。
RADIUSアトリビュートの完全リスト、またはベンダー固有のアトリビュート26の詳細については、『 Cisco IOS Security Configuration Guide 』Release 12.1の付録「RADIUS Attributes」を参照してください。
ベンダー固有のRADIUSサーバ通信用にスイッチを設定する方法
RADIUSに関するIETFドラフト規格では、スイッチとRADIUSサーバとの間のベンダー固有情報の通信方式を規定していますが、一部のベンダーは、固有の方法でRADIUSアトリビュートを機能拡張しています。Cisco IOSソフトウェアは、ベンダー固有仕様のRADIUSアトリビュートのサブセットをサポートします。
前述したように、RADIUS(ベンダー固有またはIETFのドラフト準拠)を設定するには、RADIUSサーバ デーモンが稼働しているホスト、およびスイッチと共有するシークレット テキスト ストリングを指定する必要があります。RADIUSホストおよびシークレット テキスト ストリングを指定するには、 radius-server グローバル コンフィギュレーション コマンドを使用します。
ベンダー固有のRADIUSサーバ ホスト、および共有シークレット テキスト ストリングを指定するには、イネーブルEXECモードで次の手順を実行します。
|
リモートRADIUSサーバ ホストのIPアドレスまたはホスト名を指定し、ベンダー固有の実装RADIUSを使用していることを明確にします。 |
||
|
スイッチとベンダー固有のRADIUSサーバとの間で使用する、共有シークレット テキスト ストリングを指定します。スイッチおよびRADIUSサーバは、このテキスト ストリングを使用してパスワードを暗号化し、応答を交換します。 |
||
ベンダー固有のRADIUSホストを削除するには、 no radius-server host {hostname | ip-address} non-standard グローバル コンフィギュレーション コマンドを使用します。 鍵を削除するには、 no radius-server key グローバル コンフィギュレーション コマンドを使用します。
次に、ベンダー固有のRADIUSホストを指定して、スイッチとサーバの間で rad124 という秘密鍵を使用する例を示します。
Switch(config)# radius-server host 172.20.30.15 nonstandard
Switch(config)# radius-server key rad124
RADIUS設定の表示
RADIUS設定情報を表示するには、 show running-config イネーブルEXECコマンドを使用します。
Kerberosによるスイッチ アクセスの制御
ここでは、Kerberosセキュリティ システムをイネーブルにして設定する方法について説明します。Kerberosセキュリティ システムは、信頼できるサードパーティを使用してネットワーク リソースに対する要求を認証します。この機能を使用するには、スイッチ ソフトウェアの暗号化(暗号化をサポートする)バージョンをスイッチにインストールしている必要があります。この機能を使用し、Cisco.comから暗号化ソフトウェア ファイルをダウンロードするための許可を取得する必要があります。詳細については、現リリースのリリースノートを参照してください。
Kerberosの設定例については、『 Cisco IOS Security Configuration Guide 』Release 12.1の「Security Server Protocols」の章にある「Kerberos Configuration Examples」を参照してください。URLは次のとおりです。
http://www.cisco.com/univercd/cc/td/doc/product/software/ios121/121cgcr/secur_c/scprt2/
http://www.cisco.com/univercd/cc/td/doc/product/software/ios121/121cgcr/secur_r/srprt2/srdkerb.htm
Kerberosの概要
Kerberosはマサチューセッツ工科大学(MIT)が開発した秘密鍵によるネットワーク認証プロトコルです。Data Encryption Standard(DES;データ暗号化規格)という暗号化アルゴリズムを暗号化と認証に使用し、ネットワーク リソースに対する要求を認証します。Kerberosは、信頼できるサードパーティという概念を使ってユーザとサービスに対してセキュリティの検証を実行します。この信頼できるサードパーティを Key Distribution Center (KDC;鍵発行局)と呼びます。
Kerberosは、ユーザが誰であるか、そのユーザが使用しているネットワーク サービスは何であるかを検証します。これを実行するために、KDC(つまり信頼できるKerberosサーバ)がユーザにチケットを発行します。これらのチケットには有効期限があり、ユーザ証明書のキャッシュに保存されます。Kerberosサーバは、ユーザ名やパスワードの代わりにチケットを使ってユーザとネットワーク サービスを認証します。
Kerberosの証明書発行スキームでは、 single logon という手順を使用します。この手順では、ユーザを1回認証すると、ユーザ証明書が有効な間は(他のパスワードの暗号化を行わずに)セキュア認証が可能になります。
このソフトウェア リリースはKerberos 5に対応しています。Kerberos 5では、すでにKerberos 5を使用している組織が、(UNIXサーバやPCなどの)他のネットワーク ホストが使用しているKDC上のKerberos認証データベースを使用できます。
このソフトウェア リリースでは、Kerberosは次のネットワーク サービスをサポートしています。
Kerberosの用語 に、一般的なKerberos関連用語とその定義を示します。
|
ユーザやサービスが他のサービスに対して自分自身の身元を証明する手順。たとえば、クライアントはスイッチに対して認証を得て、スイッチは他のスイッチに対して認証を得ます。 |
|
|
ネットワークやスイッチにおいてユーザがどのような権限を有していて、またどのような動作を実行できるかを、スイッチが識別する手段。 |
|
|
認証チケット(TGT 1 やサービス証明書など)を表す総称。Kerberos証明書で、ユーザまたはサービスのIDを検証します。ネットワーク サービスがチケットを発行したKerberosサーバを信頼することにした場合、ユーザ名やパスワードを再入力する代わりにこれを使用できます。証明書の有効期限は、8時間がデフォルトの設定です。 |
|
|
Kerberosプリンシパルの認証レベル ラベル。ほとんどのKerberosプリンシパルは、「 user@REALM 」という形式です(たとえば、smith@EXAMPLE.COM)。KerberosインスタンスのあるKerberosプリンシパルは、「 user/instance@REALM 」という形式です(たとえば、smith/admin@EXAMPLE.COM)。Kerberosインスタンスは、認証が成功した場合のユーザの許可レベルを指定するのに使用できます。各ネットワーク サービスのサーバは、Kerberosインスタンスの許可マッピングを適用し実行できますが、必須ではありません。 |
|
|
KDC 2 KDC |
|
|
Kerberosサーバに登録されたユーザ、ホスト、およびネットワーク サービスで構成されるドメイン。Kerberosサーバを信頼して、ユーザまたはネットワークサービスに対する別のユーザまたはネットワーク サービスのIDを検証します。 |
|
|
ネットワーク ホストで稼働しているデーモン。ユーザおよびネットワーク サービスはそれぞれKerberosサーバにIDを登録します。ネットワーク サービスはKerberosサーバにクリエを送信して、他のネットワーク サービスの認証を得ます。 |
|
|
KEYTAB 3 |
ネットワーク サービスがKDCと共有するパスワード。Kerberos 5以降のバージョンでは、ネットワーク サービスはKEYTABを使って暗号化されたサービス証明書を暗号解除して認証します。Kerberos 5以前のバージョンでは、KEYTABはSRVTAB 4 と呼びます。 |
|
ネットワーク サービスの証明書。KDCから証明書が発行されると、ネットワーク サービスとKDCが共有するパスワードで暗号化されます。ユーザTGTともパスワードを共有します。 |
|
|
ネットワーク サービスがKDCと共有するパスワード。Kerberos 5以降のバージョンでは、SRVTABはKEYTABと呼びます。 |
|
|
身分証明書のことで、KDCが認証済みユーザに発行する証明書。TGTを受け取ったユーザは、KDCが表したKerberosレルム内のネットワーク サービスに対して認証を得ることができます。 |
Kerberosの動作
Kerberosサーバには、ネットワーク セキュリティ サーバとして設定可能で、Kerberosプロトコルを用いてリモート ユーザを認証できるCatalyst 3750スイッチを使用できます。Kerberosをカスタマイズする方法はいくつかありますが、ネットワーク サービスにアクセスしようとするリモート ユーザは、3つのセキュリティ レイヤを通過しないとネットワーク サービスにアクセスできません。
KerberosサーバとしてのCatalyst 3750スイッチを使用してネットワーク サービスに対して認証を得る手順は、次のとおりです。
境界スイッチに対する認証の取得
ここでは、リモート ユーザが通過しなければならない最初のセキュリティ レイヤについて説明します。ユーザは、まず境界スイッチに対して認証を得なければなりません。その後、このプロセスは次のように進みます。
- ユーザが、境界ルータへのKerberos非対応Telnet接続を確立します。
- ユーザ名とパスワードの入力を求めるプロンプトをスイッチが表示します。
- スイッチが、このユーザのTGTをKDCに要求します。
- KDCがユーザIDを含む暗号化されたTGTをスイッチに送信します。
- スイッチは、ユーザが入力したパスワードを使ってTGTの暗号解除を試行します。
- 暗号解除に成功したら、ユーザはスイッチに対して認証を得ます。
- 暗号解除に成功しなかった場合、ユーザは、ユーザ名とパスワードを再入力するか(Caps LockまたはNum Lockのオン/オフに注意)、別のユーザ名とパスワードを入力してステップ2をやり直します。
境界スイッチに対してKerberos非対応Telnetセッションを確立し認証を得たリモート ユーザは、ファイアウォールの内側にいますが、ネットワーク サービスへのアクセス権を取得するために、さらにKDCに対して直接認証を得る必要があります。ユーザがKDCから認証を得なければならないのは、KDCが発行するTGTはスイッチに保存されていて、ユーザがスイッチにログオンしないと追加の認証に使えないからです。
KDCからのTGTの取得
ここでは、リモート ユーザが通過しなければならない2番めのセキュリティ レイヤについて説明します。ユーザは、ネットワークにアクセスするために、ここでKDCの認証を得てKDCからTGTを取得しなければなりません。
KDCに対して認証を得る方法については、『 Cisco IOS Security Configuration Guide 』Release 12.1の「Security Server Protocols」の章にある「Obtaining a TGT from a KDC」を参照してください。URLは次のとおりです。
http://www.cisco.com/univercd/cc/td/doc/product/software/ios121/121cgcr/secur_c/scprt2/ scdkerb.htm#xtocid154005
ネットワークに対する認証の取得
ここでは、リモート ユーザが通過しなければならない3番めのセキュリティ レイヤについて説明します。TGTを持つユーザは、ここでKerberosレルム内のネットワーク サービスに対して認証を得なければなりません。
ネットワーク サービスに対して認証を得る方法については、『 Cisco IOS Security Configuration Guide 』Release 12.1の「Security Server Protocols」の章にある「Authenticating to Network Services」を参照してください。URLは次のとおりです。
http://www.cisco.com/univercd/cc/td/doc/product/software/ios121/121cgcr/secur_c/scprt2/ scdkerb.htm#xtocid154006
Kerberosの設定
リモート ユーザがネットワーク サービスに対して認証を得られるように、Kerberosレルム内のホストとKDCを設定して、ユーザおよびネットワーク サービスと通信を行って互いに認証するようにしなければなりません。これを実行するために、互いを識別しなければなりません。KDC上のKerberosデータベースにホストのエントリを追加し、Kerberosレルム内のすべてのホストにKDCが生成したKEYTABファイルを追加します。また、KDCデータベースにユーザ用のエントリも作成します。
ホストおよびユーザのエントリを追加または作成する場合は、次のガイドラインに従ってください。
- Kerberosプリンシパル名はすべて小文字で なければなりません 。
- Kerberosインスタンス名はすべて小文字で なければなりません 。
- Kerberosレルム名はすべて大文字で なければなりません 。
Kerberos認証済みサーバ クライアント システムを設定する手順は、次のとおりです。
設定については、『 Cisco IOS Security Configuration Guide 』Release 12.1の「Security Server Protocols」の章にある「Kerberos Configuration Task List」を参照してください。URLは次のとおりです。
http://www.cisco.com/univercd/cc/td/doc/product/software/ios121/121cgcr/secur_c/scprt2/ scdkerb.htm#xtocid154007
スイッチのローカル認証および許可の設定
ローカル モードでAAAを実装するようにスイッチを設定すると、サーバがなくてもAAAが動作するように設定できます。この場合、スイッチが認証および許可の処理を行います。この設定ではアカウンティング機能は利用できません。
AAAをディセーブルにするには、 no aaa new-model グローバル コンフィギュレーション コマンドを使用します。許可をディセーブルにするには、 no aaa authorization { network | exec } method1 グローバル コンフィギュレーション コマンドを使用します。
Secure Shellのためのスイッチの設定
ここでは、SSH機能を設定する方法について説明します。この機能を使用するには、スイッチに暗号化ソフトウェア イメージをインストールする必要があります。この機能を使用し、Cisco.comから暗号化ソフトウェア ファイルをダウンロードするための許可を取得する必要があります。詳細については、現リリースのリリースノートを参照してください。
SSHの設定例については、『 Cisco IOS Security Configuration Guide 』Release 12.2の「Configuring Secure Shell」の章にある「SSH Configuration Examples」を参照してください。URLは次のとおりです。
http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/fsecur_c/fothersf/scfssh.htm
http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/index.htm
SSHの概要
SSHは、デバイスへの安全なリモート接続を提供するプロトコルです。SSHは、デバイスの認証時に強力な暗号化を行うことで、リモート接続についてTelnet以上のセキュリティを実現します。このソフトウェア リリースは、SSHバージョン1(SSHv1)およびSSHバージョン2(SSHv2)をサポートします。
- SSHサーバ、統合クライアント、およびサポート対象バージョン
- 制限事項
SSHサーバ、統合クライアント、およびサポート対象バージョン
SSH機能には、スイッチで稼働するアプリケーションである、SSHサーバおよびSSH統合クライアントがあります。SSHサーバが稼働するスイッチとの接続には、SSHクライアントを使用できます。SSHサーバは、このリリースでサポートされるSSHクライアントおよび他社製のSSHクライアントと連動します。またSSHクライアントも、このリリースでサポートされるSSHサーバおよび他社製のSSHサーバと連動します。
スイッチは、SSHv1サーバまたはSSHv2サーバをサポートします。
SSHは、Data Encryption Standard(DES;データ暗号化規格)暗号化アルゴリズム、トリプルDES(3DES)暗号化アルゴリズム、およびパスワードベースのユーザ認証をサポートします。
- TACACS+(詳細については、 TACACS+によるスイッチ アクセスの制御 を参照)
- RADIUS(詳細については、 RADIUSによるスイッチ アクセスの制御 を参照)
- ローカル認証および許可(詳細については、 スイッチのローカル認証および許可の設定 を参照)
制限事項
- スイッチは、Rivest, Shamir, and Adelman(RSA)認証をサポートします。
- SSHは、シェル実行アプリケーションだけをサポートします。
- SSHサーバおよびSSHクライアントは、DES(56ビット)および3DES(168ビット)のデータ暗号化ソフトウェアでのみサポートされます。
- スイッチは、Advanced Encryption Standard(AES)対称暗号化アルゴリズムをサポートしません。
SSHの設定
- 設定時の注意事項
- スイッチでのSSH実行の設定 (必須)
- SSHサーバの設定 (スイッチをSSHサーバとして設定している場合にのみ必要)
設定時の注意事項
スイッチをSSHサーバまたはSSHクライアントとして設定するときは、次の注意事項に従ってください。
- SSHv1サーバにより生成されたRSA鍵ペアは、SSHv2サーバで使用できます。また、その逆も可能です。
- SSHサーバがスタック マスター上で稼働中に、スタック マスターに障害が生じた場合、新しいスタック マスターは以前のスタック マスターによって生成されたRSA鍵を使用します。
- crypto key generate rsa グローバル コンフィギュレーション コマンドを入力した後、CLIエラー メッセージが表示される場合、RSA鍵ペアは生成されていません。ホスト名およびドメインを再設定してから、 crypto key generate rsa コマンドを入力してください。詳細については、 スイッチでのSSH実行の設定 を参照してください。
- RSA鍵ペアを生成するときに、 「ホスト名が特定されていません」 というメッセージが表示される場合があります。表示される場合は、 hostname グローバル コンフィギュレーション コマンドを使用して、ホスト名を設定する必要があります。
- RSA鍵ペアを生成するときに、 「ホスト名が特定されていません」 というメッセージが表示される場合があります。表示される場合は、 ip domain-name グローバル コンフィギュレーション コマンドを使用して、IPドメイン名を設定する必要があります。
- ローカルのAAA方式を設定する場合は、コンソール上でAAAがディセーブルであることを確認してください。
スイッチでのSSH実行の設定
スイッチにSSHの実行を設定するには、次の手順を実行します。
- Cisco.comから暗号化ソフトウェア イメージをダウンロードします。この手順は必須です。詳細については、このリリースのリリース ノートを参照してください。
- スイッチに、ホスト名およびIPドメイン名を設定します。この手順は、スイッチをSSHサーバとして設定している場合にのみ実行します。
- スイッチにRSA鍵ペアを生成します。これにより自動的にSSHがイネーブルになります。この手順は、スイッチをSSHサーバとして設定している場合にのみ実行します。
- ローカルまたはリモート アクセスにユーザ認証を設定します。この手順は必須です。詳細については、 スイッチのローカル認証および許可の設定 を参照してください。
ホスト名およびIPドメイン名を設定して、RSA鍵ペアを生成するには、イネーブルEXECモードで次の手順を実行します。この手順は、スイッチをSSHサーバとして設定している場合に必要です。
|
スイッチのローカルおよびリモート認証に関して、SSHサーバをイネーブルにして、RSA鍵ペアを生成します。 モジュール サイズを1024ビット以上にすることを推奨します。 RSA鍵ペアを生成すると、モジュールの長さを入力するよう求められます。モジュールの長さが長い方がセキュリティは高くなりますが、生成および使用に時間がかかります。 |
||
RSA鍵ペアを削除するには、 crypto key zeroize rsa グローバル コンフィギュレーション コマンドを使用します。RSA鍵ペアを削除すると、SSHサーバは自動的にディセーブルになります。
SSHサーバの設定
デフォルトのSSH制御パラメータに戻るには、 no ip ssh { timeout | authentication-retries }グローバル コンフィギュレーション コマンドを使用します。
SSHの設定およびステータスの表示
SSHサーバの設定およびステータスを表示するには、 SSHサーバの設定およびステータスを表示するコマンド に示されるイネーブルEXECコマンドの1つまたは複数を使用します。
これらのコマンドの詳細については、『 Cisco IOS Security Command Reference 』Cisco IOS Release 12.2の「Other Security Features」の章で、「Secure Shell Commands」を参照してください。URLは次のとおりです。
http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/fsecur_r/fothercr/srfssh.htm
