
|
|
不正ユーザによる、スイッチの再設定や設定情報の閲覧を防止できます。一般的には、ネットワーク管理者からスイッチへのアクセスを許可する一方、非同期ポートを用いてネットワーク外からダイヤルアップ接続するユーザや、シリアル ポートを通じてネットワーク外から接続するユーザ、またはローカル ネットワーク内の端末またはワークステーションから接続するユーザからのアクセスを制限します。
スイッチへの不正アクセスを防止するには、次のセキュリティ機能を1つまたは複数設定します。
ネットワークで端末のアクセス制御を行う簡単な方法は、パスワードを使用してイネーブル レベルを割り当てることです。パスワード保護によって、ネットワークまたはネットワーク デバイスへのアクセスが制限されます。イネーブル レベルによって、ネットワーク デバイスにログオン後、ユーザがどのようなコマンドを入力できるかが定義されます。
ここでは、コンフィギュレーション ファイルおよびイネーブルEXECコマンドへのアクセスを制御する方法について説明します。具体的な設定情報は次のとおりです。
デフォルトのパスワードおよびイネーブル レベル に、デフォルトのパスワードおよびイネーブル レベル設定を示します。
イネーブル パスワードは、イネーブルEXECモードへのアクセスを制御します。スタティック イネーブル パスワードを設定または変更するには、イネーブルEXECモードで次の手順を実行します。
パスワードを削除するには、 no enable password グローバル コンフィギュレーション コマンドを使用します。
次に、イネーブル パスワードを l1u2c3k4y5 に変更する例を示します。パスワードは暗号化されておらず、レベル15のアクセスが与えられます(従来のイネーブルEXECモード アクセス)。
追加のセキュリティ レイヤを、特にネットワークを越えるパスワードや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
Catalyst 3550スイッチのデフォルト設定では、スイッチに物理アクセスするエンド ユーザは、スイッチの電源投入時にブート プロセスを中断して新しいパスワードを入力することで、失われたパスワードを回復できます。Catalyst 3550ファスト イーサネット スイッチのパスワード回復ディセーブル機能では、システム管理者は、この機能の一部をディセーブルにして、スイッチのパスワードへのアクセスを防止できます。また、システムをデフォルト設定に戻すことに同意するだけで、ユーザはブート プロセスを中断できるようになります。パスワード回復をディセーブル化しても、ブート プロセスを中断してパスワードを変更することができますが、コンフィギュレーション ファイル(config.txt)およびVLANデータベース ファイル(vlan.dat)は削除されます。
初めてスイッチに電源を投入すると、自動セットアップ プログラムが起動してIP情報を割り当て、引き続き使用するためのデフォルト設定を作成します。セットアップ プログラムは、パスワードによるTelnetアクセス用にスイッチを設定するよう求めてきます。このとき、セットアップ プログラムを使用してパスワードを設定しなかった場合は、CLI(コマンドライン インターフェイス)を使用して設定できます。
スイッチをTelnetアクセス用に設定するには、イネーブルEXECモードで次の手順を実行します。
パスワードを削除するには、 no password グローバル コンフィギュレーション コマンドを使用します。
ユーザ名とパスワードのペアを設定でき、スイッチ上でローカルに保存します。このペアは回線またはインターフェイスに割り当てられ、各ユーザを認証します。ユーザは認証後、スイッチにアクセスすることができます。イネーブル レベルを定義している場合は、ユーザ名とパスワードの各ペアに特定のイネーブル レベル(対応する権利および権限付き)を割り当てることもできます。
ユーザ名ベースの認証システムを設定するには、イネーブルEXECモードで次の手順を実行します。この認証システムは、ログイン ユーザ名とパスワードを要求します。
特定ユーザのユーザ名認証をディセーブルにするには、 no username name グローバル コンフィギュレーション コマンドを使用します。パスワード チェックをディセーブルにし、パスワードなしでの接続を可能にするには、 no login ライン コンフィギュレーション コマンドを使用します。
IOSソフトウェアは、デフォルトで、ユーザEXECとイネーブルEXECという2種類のパスワード セキュリティ モードを備えています。各モードについて、コマンドの階層レベルを最大16まで設定できます。複数のパスワードを設定することにより、さまざまなユーザ グループに対して特定のコマンドへのアクセスを許可することができます。
たとえば、多くのユーザに clear line コマンドへのアクセスを許可する場合、レベル2のセキュリティを割り当て、レベル2のパスワードを広範囲のユーザに配布することができます。また、 configure コマンドへのアクセスをより制限されたものにしたい場合は、レベル3のセキュリティを割り当て、そのパスワードを限られたユーザ グループに配布することもできます。
コマンド モードのイネーブル レベルを設定するには、イネーブルEXECモードで次の手順を実行します。
|
|
||
|
|
||
|
|
||
|
|
||
|
|
show running-configコマンドはパスワードとアクセス レベルの設定を表示します。show previlegeコマンドは、イネーブル レベルの設定を表示します。 |
|
|
|
コマンドをあるイネーブル レベルに設定すると、構文がそのコマンドのサブセットであるコマンドはすべて、そのレベルに設定されます。たとえば、 show ip traffic コマンドをレベル15に設定すると、 show コマンドおよび show ip コマンドは、個々に別のレベルに設定しないかぎり、自動的にレベル15に設定されます。
特定のコマンドについて、デフォルトの権限に戻すには、 no privilege mode level level command グローバル コンフィギュレーション コマンドを使用します。
configure コマンドをイネーブル レベル14に設定し、レベル14コマンドを使用する際にユーザが入力するパスワードとして SecretPswd14 を定義する例を示します。
回線に対するデフォルトのイネーブル レベルを変更するには、イネーブルEXECモードで次の手順を実行します。
|
|
||
|
|
||
|
|
level に指定できる範囲は0〜15です。レベル1が通常のユーザEXECモード権限です。レベル15は、 enable パスワードによって許可されるアクセス レベルです。 |
|
|
|
||
|
|
show running-configコマンドはパスワードとアクセス レベルの設定を表示します。show previlegeコマンドは、イネーブル レベルの設定を表示します。 |
|
|
|
ユーザは、回線にログインし、別のイネーブル レベルをイネーブルに設定することにより、 privilege level ライン コンフィギュレーション コマンドを使用して設定されたイネーブル レベルを上書きできます。また、 disable コマンドを使用すれば、イネーブル レベルを低く設定することができます。上位のイネーブル レベルのパスワードがわかっていれば、ユーザはそのパスワードを使用して上位のイネーブル レベルをイネーブルにできます。回線の使用を制限するには、コンソール回線に高いレベルまたはイネーブル レベルを指定してください。
回線のイネーブル レベルをデフォルトに戻すには、 no privilege level ライン コンフィギュレーション コマンドを使用します。
ここでは、Terminal Access Controller Access Control System Plus(TACACS+)をイネーブルにして設定する方法について説明します。TACACS+は、詳細なアカウンティング情報を収集し、認証および許可プロセスに対して柔軟な管理を行います。TACACS+は、Authentication, Authorization, Accounting(AAA;認証、許可、アカウンティング)機能が拡張されており、TACACS+をイネーブルにするにはAAAコマンドを使用しなければなりません。
TACACS+は、スイッチにアクセスしようとするユーザの検証を集中的に行うセキュリティ アプリケーションです。TACACS+サービスは、通常UNIXまたはWindows NTワークステーション上で稼働するTACACS+デーモンのデータベースで管理されます。スイッチにTACACS+機能を設定するには、TACACS+サーバにアクセスして設定する必要があります。
TACACS+は、個別のモジュール型認証、許可、およびアカウンティング機能を備えています。TACACS+では、単一のアクセス制御サーバ(TACACS+デーモン)が各サービス(認証、許可、およびアカウンティング)を別個に提供します。各サービスを固有のデータベースに結合し、デーモンの機能に応じてそのサーバまたはネットワークで利用できる他のサービスを利用することができます。
TACACS+の目的は、1つの管理サービスから複数のネットワーク アクセス ポイントを管理する方式を提供することです。スイッチは、他のシスコ製ルータやアクセス サーバと共にネットワーク アクセス サーバにすることができます。ネットワーク アクセス サーバは、単一のユーザ、ネットワークまたはサブネットワーク、および相互接続されたネットワークとの接続を実現します( 一般的なTACACS+ネットワーク構成 を参照)。
TACACS+は、AAAセキュリティ サービスによって管理され、次のようなサービスを提供します。
認証機能は、ユーザとの対話を実行できます(たとえば、ユーザ名とパスワードが入力されたあと、自宅の住所、母親の旧姓、サービス タイプ、社会保険番号などのいくつかの質問をすることによりユーザを試す)。TACACS+認証サービスは、ユーザ画面にメッセージを送信することもできます。たとえば、会社のパスワード有効期間ポリシーに従い、パスワードの変更の必要があることをユーザに通知することもできます。
TACACS+プロトコルは、スイッチとTACACS+デーモンとの間の認証を行い、スイッチとTACACS+デーモンとの間のプロトコル交換をすべて暗号化することにより機密保持を実現します。
ユーザが、TACACS+を使用しているスイッチに対して簡易ASCIIログインを試行し、認証が必要になると、次のプロセスが発生します。
TACACS+によって、デーモンとユーザとの間の会話が可能になり、デーモンはユーザを認証できるだけの情報を取得できるようになります。デーモンは、ユーザ名とパスワードの組み合わせを入力するよう指示しますが、ユーザの母親の旧姓など、その他の項目を含めることもできます。
認証後、スイッチで許可がイネーブルになっている場合、ユーザは追加の許可フェーズに入ります。ユーザはまず、TACACS+認証を正常に終了しなければTACACS+許可に進めません。
ここでは、TACACS+をサポートするようにスイッチを設定する方法について説明します。少なくとも、TACACS+デーモンを保持するホスト(複数可)を特定し、TACACS+認証の方式リストを定義する必要があります。任意でTACACS+許可およびアカウンティングの方式リストを定義することもできます。方式リストは、ユーザの認証、許可、およびアカウントを維持するための順序と方式を定義します。方式リストを使用すると、使用するセキュリティ プロトコルを1つまたは複数指定できるので、最初の方式が失敗した場合のバックアップ システムが確保されます。ソフトウェアは、リスト内の最初の方式を使用してユーザの認証、許可、アカウントの維持を行います。その方式で応答が得られなかった場合、ソフトウェアはそのリストから次の方式を選択します。このプロセスは、リスト内の方式による通信が成功するか、方式リストを使い果たすまで続きます。
TACACS+とAAAは、デフォルトでディセーブルに設定されています。
セキュリティの失効を防止するため、ネットワーク管理アプリケーションによりTACACS+を設定することはできません。イネーブルに設定されている場合、TACACS+はCLIを使用してスイッチにアクセスするユーザを認証できます。
認証用に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 サーバ グループ サブコンフィギュレーション コマンドを使用します。
AAA認証を設定するには、認証方式の名前付きリストを作成してから、さまざまなインターフェイスにそのリストを適用します。方式リストは実行される認証のタイプと実行順序を定義します。このリストを特定のインターフェイスに適用してから、定義済み認証方式を実行する必要があります。唯一の例外はデフォルトの方式リスト(偶然に default と名前が付けられている)です。デフォルトの方式リストは、名前付き方式リストが明示的に定義されたインターフェイスを除いて、自動的にすべてのインターフェイスに適用されます。定義済みの方式リストは、デフォルトの方式リストに優先します。
方式リストは、ユーザ認証のためクエリ送信を行う手順と認証方式を記述したものです。認証に使用する1つまたは複数のセキュリティ プロトコルを指定できるので、最初の方式が失敗した場合のバックアップ システムが確保されます。ソフトウェアは、リスト内の最初の方式を使用してユーザを認証します。その方式で応答が得られなかった場合、ソフトウェアはそのリストから次の方式を選択します。このプロセスは、リスト内の認証方式による通信が成功するか、定義された方式をすべて試すまで続きます。この処理のある時点で認証が失敗した場合(つまり、セキュリティ サーバまたはローカルのユーザ名データベースがユーザ アクセスを拒否すると応答した場合)、認証プロセスは停止し、それ以上認証方式が試行されることはありません。
ログイン認証を設定するには、イネーブルEXECモードで次の手順を実行します。
|
|
||
|
|
||
|
|
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 }ライン コンフィギュレーション コマンドを使用します。
AAA許可は、ユーザが利用できるサービスを制限します。AAA許可がイネーブルに設定されていると、スイッチはユーザのプロファイルから取得した情報を使用します。このプロファイルは、ローカルのユーザ データベースまたはセキュリティ サーバ上にあり、ユーザのセッションを設定します。ユーザは、ユーザ プロファイル内の情報で認められている場合に限り、要求したサービスのアクセスが認可されます。
aaa authorization グローバル コンフィギュレーション コマンドに tacacs+ キーワードを付けて使用すると、イネーブルEXECモードへのユーザのネットワーク アクセスを制限するパラメータを設定できます。
aaa authorization exec tacacs+ localコマンドは、次の許可パラメータを設定します。
イネーブルEXECアクセスおよびネットワーク サービスに関するTACACS+許可を指定するには、イネーブルEXECモードで次の手順を実行します。
AAAアカウンティング機能は、ユーザがアクセスするサービスと、ユーザが消費するネットワーク リソースを追跡します。AAAアカウンティングがイネーブルに設定されていると、スイッチは、アカウンティング レコードの形式でユーザの活動状況をTACACS+セキュリティ サーバに報告します。各アカウンティング レコードには、アカウンティングの属性/値(AV)のペアが含まれ、セキュリティ サーバ上に保存されます。このデータを分析し、ネットワーク管理、クライアントへの課金、または監査に利用できます。
各Cisco IOSイネーブル レベルおよびネットワーク サービスに関するTACACS+アカウンティングをイネーブルにするには、イネーブルEXECモードで次の手順を実行します。
ここでは、Remote Authentication Dial-In User Service(RADIUS)をイネーブルにして設定する方法について説明します。RADIUSは、詳細なアカウンティング情報を収集し、認証および許可プロセスに対して柔軟な管理を行います。RADIUSはAAAを介して機能します。RADIUSをイネーブルにするにはAAAコマンドを使用しなければなりません。
RADIUSは分散型クライアント/サーバ システムで、不正なアクセスからネットワークを保護します。RADIUSクライアントはシスコのサポート対象ルータおよびスイッチ(Catalyst 3550マルチレイヤ スイッチ、Catalyst 2955スイッチ、およびCatalyst 2950スイッチなど)上で稼働し、中央RADUISサーバに認証要求を送信します。中央RADUISサーバには、すべてのユーザの認証およびネットワーク サービス アクセス情報が格納されています。RADUISホストは、通常、シスコ(Cisco Secure Access Control Serverバージョン3.0)、Livingston、Merit、Microsoftなどのソフトウェア製造元のRADIUSサーバ ソフトウェアが稼働するマルチユーザ システムです。詳細については、RADIUSサーバのマニュアルを参照してください。
RADIUSは、アクセスのセキュリティが必要な、次のネットワーク環境で使用します。
RADIUSは、ネットワーク セキュリティが次のような状況には適していません。
RADIUSサーバによってアクセス制御されているスイッチに、ユーザがログインして認証を試みると、次のイベントが発生します。
ACCEPTまたはREJECT応答には、イネーブルEXECまたはネットワーク許可に使用される追加データがバンドルされています。RADIUS許可がイネーブルになっている場合、ユーザはまず、RADIUS認証に成功しなければRADIUS許可に進めません。ACCEPTまたはREJECTパケットの追加データには、次の項目が含まれています。
ここでは、RADIUSをサポートするようにスイッチを設定する方法について説明します。少なくとも、RADIUSサーバ ソフトウェアが稼働するホスト(複数可)を特定し、RADIUS認証の方式リストを定義する必要があります。任意でRADIUS許可およびアカウンティングの方式リストを定義することもできます。
方式リストは、ユーザの認証、許可、およびアカウントを維持するための順序と方式を定義します。方式リストを使用すると、使用するセキュリティ プロトコル(TACACS+やローカル ユーザ名検索など)を1つまたは複数指定できるので、最初の方式が失敗した場合のバックアップ システムが確保されます。ソフトウェアは、リスト内の最初の方式を使用してユーザの認証、許可、アカウントの維持を行います。その方式で応答が得られなかった場合、ソフトウェアはそのリストから次の方式を選択します。このプロセスは、リスト内の方式による通信が成功するか、方式リストを使い果たすまで続きます。
スイッチにRADIUS機能を設定するには、RADIUSサーバにアクセスして設定する必要があります。
RADIUSとAAAは、デフォルトでディセーブルに設定されています。
セキュリティの失効を防止するため、ネットワーク管理アプリケーション使用してRADIUSを設定することはできません。RADIUSをイネーブルに設定すると、CLIを使用して、スイッチにアクセスするユーザを認証します。
スイッチと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 を設定し、認証およびアカウンティングの両方にデフォルト ポートを使用する方法を示します。
AAA認証を設定するには、認証方式の名前付きリストを作成してから、さまざまなインターフェイスにそのリストを適用します。方式リストは実行される認証のタイプと実行順序を定義します。このリストを特定のインターフェイスに適用してから、定義済み認証方式を実行する必要があります。唯一の例外はデフォルトの方式リスト(偶然に default と名前が付けられている)です。デフォルトの方式リストは、名前付き方式リストが明示的に定義されたインターフェイスを除いて、自動的にすべてのインターフェイスに適用されます。
方式リストは、ユーザ認証のためクエリ送信を行う手順と認証方式を記述したものです。認証に使用する1つまたは複数のセキュリティ プロトコルを指定できるので、最初の方式が失敗した場合のバックアップ システムが確保されます。ソフトウェアは、リスト内の最初の方式を使用してユーザを認証します。その方式で応答が得られなかった場合、ソフトウェアはそのリストから次の方式を選択します。このプロセスは、リスト内の認証方式による通信が成功するか、定義された方式をすべて試すまで続きます。この処理のある時点で認証が失敗した場合(つまり、セキュリティ サーバまたはローカルのユーザ名データベースがユーザ アクセスを拒否すると応答した場合)、認証プロセスは停止し、それ以上認証方式が試行されることはありません。
ログイン認証を設定するには、イネーブルEXECモードで次の手順を実行します。この手順は必須です。
|
|
||
|
|
||
|
|
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サーバ グループを使用するようスイッチを設定できます。設定済みサーバ ホストのサブセットを選択し、特定のサービスに使用できます。サーバ グループには、グローバル サーバホスト リストを使用します。このリストは、選択したサーバ ホストの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
AAA許可は、ユーザが利用できるサービスを制限します。AAA許可がイネーブルに設定されていると、スイッチはユーザのプロファイルから取得した情報を使用します。このプロファイルは、ローカルのユーザ データベースまたはセキュリティ サーバ上にあり、ユーザのセッションを設定します。ユーザは、ユーザ プロファイル内の情報で認められている場合に限り、要求したサービスのアクセスが認可されます。
aaa authorization グローバル コンフィギュレーション コマンドに radius キーワードを付けて使用すると、イネーブルEXECモードへのユーザのネットワーク アクセスを制限するパラメータを設定できます。
aaa authorization exec radius localコマンドは、次の許可パラメータを設定します。
イネーブルEXECアクセスおよびネットワーク サービスに関するRADIUS許可を指定するには、イネーブルEXECモードで次の手順を実行します。
AAAアカウンティング機能は、ユーザがアクセスするサービスと、ユーザが消費するネットワーク リソースを追跡します。AAAアカウンティングがイネーブルに設定されていると、スイッチは、アカウンティング レコードの形式でユーザの活動状況をRADIUSセキュリティ サーバに報告します。各アカウンティング レコードには、アカウンティングの属性/値(AV)のペアが含まれ、セキュリティ サーバ上に保存されます。このデータを分析し、ネットワーク管理、クライアントへの課金、または監査に利用できます。
各Cisco IOSイネーブル レベルおよびネットワーク サービスに関するRADIUSアカウンティングをイネーブルにするには、イネーブルEXECモードで次の手順を実行します。
スイッチとすべてのRADIUSサーバ間のグローバル通信コンフィギュレーションを設定するには、イネーブルEXECモードで次の手順を実行します。
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)」を参照してください。
VSAを認識して使用するようにスイッチを設定するには、イネーブルEXECモードで次の手順を実行します。
|
|
||
|
|
||
|
|
||
|
|
||
|
|
RADIUSアトリビュートの完全リスト、またはベンダー固有のアトリビュート26の詳細については、『 Cisco IOS Security Configuration Guide 』Release 12.1の付録「RADIUS Attributes」を参照してください。
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
ここでは、Kerberosセキュリティ システムをイネーブルにして設定する方法について説明します。Kerberosセキュリティ システムは、信頼できるサードパーティを使用してネットワーク リソースに対する要求を認証します。
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/
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
」という形式です(たとえば、 |
|
|
KDC 2 |
|
|
Kerberosサーバに登録されたユーザ、ホスト、およびネットワーク サービスで構成されるドメイン。Kerberosサーバを信頼して、ユーザまたはネットワークサービスに対する別のユーザまたはネットワーク サービスのIDを検証します。 |
|
|
ネットワーク ホストで稼働しているデーモン。ユーザおよびネットワーク サービスはそれぞれKerberosサーバにIDを登録します。ネットワーク サービスはKerberosサーバにクリエを送信して、他のネットワーク サービスの認証を得ます。 |
|
|
KEYTAB 3 |
ネットワーク サービスがKDCと共有するパスワード。Kerberos 5以降のバージョンでは、ネットワーク サービスはKEYTABを使って暗号化されたサービス証明書を暗号解除して認証します。Kerberos5以前のバージョンでは、KEYTABはSRVTAB 4 と呼びます。 |
|
ネットワーク サービスの証明書。KDCから証明書が発行されると、ネットワーク サービスとKDCが共有するパスワードで暗号化されます。ユーザTGTともパスワードを共有します。 |
|
|
ネットワーク サービスがKDCと共有するパスワード。Kerberos 5以降のバージョンでは、SRVTABはKEYTABと呼びます。 |
|
|
身分証明書のことで、KDCが認証済みユーザに発行する証明書。TGTを受け取ったユーザは、KDCが表したKerberosレルム内のネットワーク サービスに対して認証を得ることができます。 |
ここでは、ネットワーク セキュリティ サーバとして設定されたCatalyst 3350スイッチでのKerberosの動作方法について説明します。Kerberosをカスタマイズする方法はいくつかありますが、ネットワーク サービスにアクセスしようとするリモート ユーザは、3つのセキュリティ レイヤを通過しないとネットワーク サービスにアクセスできません。
KerberosサーバとしてのCatalyst 3550スイッチを使用してネットワーク サービスに対して認証を得る手順は、次のとおりです。
ここでは、リモート ユーザが通過しなければならない最初のセキュリティ レイヤについて説明します。ユーザは、まず境界スイッチに対して認証を得なければなりません。リモート ユーザが境界スイッチに対して認証を得る際、次のプロセスが発生します。
Kerberos未対応のTelnetセッションを開始し、境界スイッチの認証を得ているリモート ユーザはファイアウォールの内側にいますが、ネットワーク サービスにアクセスする前にKDCから直接認証を得る必要があります。ユーザがKDCから認証を得なければならないのは、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レルム内のホストとKDCを設定して、ユーザおよびネットワーク サービスと通信を行って手動で認証するようにしなければなりません。これを実行するために、互いを識別しなければなりません。KDC上のKerberosデータベースにホストのエントリを追加し、Kerberosレルム内のすべてのホストにKDCが生成したKEYTABファイルを追加します。また、KDCデータベースにユーザ用のエントリも作成します。
ホストおよびユーザのエントリを追加または作成する際の注意事項は次のとおりです。
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用に設定するには、イネーブルEXECモードで次の手順を実行します。
AAAをディセーブルにするには、 no aaa new-model グローバル コンフィギュレーション コマンドを使用します。許可をディセーブルにするには、 no aaa authorization { network | exec } method1 グローバル コンフィギュレーション コマンドを使用します。
ここでは、SSH機能を設定する方法について説明します。この機能を使用するには、スイッチに暗号化マルチレイヤ ソフトウェア イメージをインストールする必要があります。この機能を使用し、Cisco.comからこの暗号化ソフトウェア ファイルをダウンロードするには許可を得る必要があります。詳細については、このリリースのリリース ノートを参照してください。
SSHはデバイスに対する安全なリモート接続を可能にするプロトコルです。SSHには、SSHバージョン1とSSHバージョン2の2つのバージョンがあります。このソフトウェア リリースがサポートするのはバージョン1のみです。
SSHは、デバイスの認証時に強力な暗号化を行うことで、リモート接続についてTelnet以上のセキュリティを実現します。SSH機能にはSSHサーバとSSH統合クライアントがあります。SSHは次のユーザ認証方式をサポートします。
SSHの詳細については、『 Cisco IOS Security Configuration Guide 』Release 12.2の「 Configuring Secure Shell 」を参照してください。
All contents copyright (C) 1992--2003 Cisco Systems K.K.