Catalyst 3750 Metro スイッチ ソフトウェア コンフィギュレーション ガイド Cisco IOS Release 12.2(25)EY
スイッチベースの認証の設定
スイッチベースの認証の設定
発行日;2012/02/07 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 9MB) | フィードバック

目次

スイッチベースの認証の設定

スイッチへの不正アクセスの防止

イネーブルEXECコマンドへのアクセスの保護

デフォルトのパスワードおよび権限レベル設定

スタティック イネーブル パスワードの設定または変更

暗号化によるイネーブルおよびイネーブル シークレット パスワードの保護

パスワード回復のディセーブル化

端末回線に対するTelnetパスワードの設定

ユーザ名とパスワードのペアの設定

複数の権限レベルの設定

コマンドの権限レベルの設定

回線に対するデフォルトの権限レベルの変更

権限レベルへのログインおよび終了

TACACS+によるスイッチ アクセスの制御

TACACS+の概要

TACACS+の動作

TACACS+の設定

TACACS+のデフォルト設定

TACACS+サーバ ホストの識別と認証鍵の設定

TACACS+ログイン認証の設定

イネーブルEXECアクセスおよびネットワーク サービス用のTACACS+許可の設定

TACACS+アカウンティングの開始

TACACS+設定の表示

RADIUSによるスイッチ アクセスの制御

RADIUSの概要

RADIUSの動作

RADIUSの設定

RADIUSのデフォルト設定

RADIUSサーバ ホストの識別

RADIUSログイン認証の設定

AAAサーバ グループの定義

ユーザ イネーブル アクセスおよびネットワーク サービス用のRADIUS許可の設定

RADIUSアカウンティングの開始

すべてのRADIUSサーバに対する設定

ベンダー固有のRADIUSアトリビュート用にスイッチを設定する方法

ベンダー固有のRADIUSサーバ通信用にスイッチを設定する方法

RADIUS設定の表示

Kerberosによるスイッチ アクセスの制御

Kerberosの概要

Kerberosの動作

境界スイッチに対する認証の取得

KDCからのTGTの取得

ネットワークに対する認証の取得

Kerberosの設定

スイッチのローカル認証および許可の設定

SSHのためのスイッチの設定

SSHの概要

SSHサーバ、統合クライアント、およびサポート対象バージョン

制限事項

SSHの設定

設定時の注意事項

スイッチでのSSH実行の設定

SSHサーバの設定

SSHコンフィギュレーションおよびステータスの表示

スイッチのSSL HTTPの設定

セキュアHTTPサーバおよびクライアントの概要

認証局トラストポイント

CipherSuite

セキュアHTTPサーバおよびクライアントの設定

SSLのデフォルト設定

SSL設定時の注意事項

CAトラストポイントの設定

セキュアHTTPサーバの設定

セキュアHTTPクライアントの設定

セキュアHTTPサーバおよびクライアントのステータス表示

スイッチへの不正アクセスの防止

不正ユーザによる、スイッチの再設定や設定情報の閲覧を防止できます。一般的には、ネットワーク管理者からスイッチへのアクセスを許可する一方、非同期ポートを用いてネットワーク外からダイヤルアップ接続するユーザや、シリアル ポートを通じてネットワーク外から接続するユーザ、またはローカル ネットワーク内の端末またはワークステーションから接続するユーザからのアクセスを制限します。

スイッチへの不正アクセスを防止するには、次のセキュリティ機能を1つまたは複数設定します。

最低限のセキュリティとして、各スイッチ ポートでパスワードおよび権限を設定します。このパスワードは、スイッチでローカルに保存されます。ユーザがポートまたは回線を通じてスイッチにアクセスしようとするとき、ポートまたは回線に指定されたパスワードを入力してからでなければ、スイッチにアクセスできません。詳細については、「イネーブルEXECコマンドへのアクセスの保護」を参照してください。

追加のセキュリティ レイヤとして、ユーザ名とパスワードをペアで設定できます。このペアはスイッチでローカルに保存されます。このペアは回線またはポートに割り当てられ、各ユーザを認証します。ユーザは認証後、スイッチにアクセスできます。権限レベルを定義している場合は、ユーザ名とパスワードの各ペアに特定の権限レベル(対応する権利および権限付き)を割り当てることもできます。詳細については、「ユーザ名とパスワードのペアの設定」を参照してください。

ユーザ名とパスワードのペアを使用したいが、そのペアをローカルではなく中央のサーバに保存したい場合は、セキュリティ サーバ上のデータベースに保存できます。これにより、複数のネットワーク デバイスが同じデータベースを使用してユーザ認証情報を(必要に応じて許可情報も)得ることができます。詳細については、「TACACS+によるスイッチ アクセスの制御」を参照してください。

イネーブルEXECコマンドへのアクセスの保護

ネットワークで端末のアクセス制御を行う簡単な方法は、パスワードを使用して権限レベルを割り当てることです。パスワード保護によって、ネットワークまたはネットワーク デバイスへのアクセスが制限されます。権限レベルによって、ネットワーク デバイスにログオン後、ユーザがどのようなコマンドを入力できるかが定義されます。


) ここで説明するコマンドの構文および使用方法の詳細については、『Cisco IOS Security Command Reference』Release 12.2を参照してください。


ここでは、コンフィギュレーション ファイルおよびイネーブルEXECコマンドへのアクセスを制御する方法について説明します。具体的な設定情報は次のとおりです。

「デフォルトのパスワードおよび権限レベル設定」

「スタティック イネーブル パスワードの設定または変更」

「暗号化によるイネーブルおよびイネーブル シークレット パスワードの保護」

「パスワード回復のディセーブル化」

「端末回線に対するTelnetパスワードの設定」

「ユーザ名とパスワードのペアの設定」

「複数の権限レベルの設定」

デフォルトのパスワードおよび権限レベル設定

表8-1 に、デフォルトのパスワードおよび権限レベル設定を示します。

 

表8-1 デフォルトのパスワードおよび権限レベル

機能
デフォルト設定

イネーブル パスワードおよび権限レベル

パスワードは定義されていません。デフォルトはレベル15です(イネーブルEXECレベル)。パスワードは、コンフィギュレーション ファイル内では暗号化されていない状態です。

イネーブル シークレット パスワードおよび権限レベル

パスワードは定義されていません。デフォルトはレベル15です(イネーブルEXECレベル)。パスワードは、暗号化されてからコンフィギュレーション ファイルに書き込まれます。

回線パスワード

パスワードは定義されていません。

スタティック イネーブル パスワードの設定または変更

イネーブル パスワードは、イネーブルEXECモードへのアクセスを制御します。スタティック イネーブル パスワードを設定または変更するには、イネーブルEXECモードで次の手順を実行します。

 

コマンド
説明

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

enable password password

イネーブルEXECモードのアクセス用に新しいパスワードを定義するか、既存のパスワードを変更します。

デフォルトでは、パスワードは定義されていません。

password には、1~25文字の英数字のストリングを指定します。ストリングは数字で始めることはできません。大文字/小文字を区別し、スペースを使用できますが、先行スペースは無視されます。疑問符(?)は、パスワードを作成する場合に、疑問符の前にキーの組み合わせCtrl-vを入力すれば使用できます。たとえば、パスワードabc?123を作成するときは、次のようにします。

abc を入力します。

Ctrl-v を入力します。

?123 を入力します。

システムからイネーブル パスワードを入力するよう求められた場合、疑問符の前にCtrl-vを入力する必要はなく、パスワードのプロンプトにそのままabc?123と入力できます。

ステップ 3

end

イネーブルEXECモードに戻ります。

ステップ 4

show running-config

設定を確認します。

ステップ 5

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

イネーブル パスワードは暗号化されず、スイッチのコンフィギュレーション ファイル内では読み取ることができる状態です。

パスワードを削除するには、 no enable password グローバル コンフィギュレーション コマンドを使用します。

次に、イネーブル パスワードを l1u2c3k4y5 に変更する例を示します。パスワードは暗号化されておらず、レベル15のアクセスが与えられます(従来のイネーブルEXECモード アクセス)。

Switch(config)# enable password l1u2c3k4y5

暗号化によるイネーブルおよびイネーブル シークレット パスワードの保護

特にネットワークを通過するパスワードやTFTP(簡易ファイル転送プロトコル)サーバに保存されているパスワードに対して、追加のセキュリティ レイヤを設定するには、 enable password または enable secret グローバル コンフィギュレーション コマンドを使用できます。両コマンドはともに同じ働きをします。このコマンドにより、暗号化されたパスワードを設定できます。イネーブルEXECモード(デフォルト設定)または特定の権限レベルにアクセスするには、このパスワードを入力する必要があります。

より高度な暗号化アルゴリズムを使用しているので、 enable secret コマンドを使用することを推奨します。

enable secret コマンドは enable password コマンドに優先します。2つのコマンドが同時に有効になることはありません。

イネーブル パスワードおよびイネーブル シークレット パスワードに暗号化を設定するには、イネーブルEXECモードで次の手順を実行します。

 

コマンド
説明

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

enable password [ level level ] { password | encryption-type encrypted- password }

または

enable secret [ level level ] { password | encryption-type encrypted- password }

イネーブルEXECモードのアクセス用に新しいパスワードを定義するか、既存のパスワードを変更します。

または

シークレット パスワードを定義し、非可逆暗号方式を使用して保存します。

(任意) level に指定できる範囲は0~15です。レベル1が通常のユーザEXECモード権限です。デフォルト レベルは15です(イネーブルEXECモード権限)。

password には、1~25文字の英数字のストリングを指定します。ストリングは数字で始めることはできません。大文字/小文字を区別し、スペースを使用できますが、先行スペースは無視されます。デフォルトでは、パスワードは定義されていません。

(任意) encryption-type には、シスコ独自の暗号化アルゴリズムであるタイプ5しか使用できません。暗号化タイプを指定する場合は、暗号化されたパスワードを使用する必要があります。この暗号化パスワードは、別のスイッチ コンフィギュレーションからコピーしたものです。


) 暗号化タイプを指定してクリア テキスト パスワードを入力した場合は、再度イネーブルEXECモードを開始することはできません。暗号化されたパスワードが失われた場合は、どのような方法でも回復することはできません。


 

ステップ 3

service password-encryption

(任意)パスワードを定義するとき、またはコンフィギュレーションを保存するときに、パスワードを暗号化します。

暗号化によって、コンフィギュレーション ファイルのパスワードが読み取り不能になります。

ステップ 4

end

イネーブルEXECモードに戻ります。

ステップ 5

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

イネーブル パスワードおよびイネーブル シークレット パスワードの両方が定義されている場合、ユーザはイネーブル シークレット パスワードを入力する必要があります。

特定の権限レベルのパスワードを定義するには、 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(仮想LAN)データベース ファイル(vlan.dat)は削除されます。


) パスワード回復をディセーブルにする場合は、エンドユーザがブート プロセスを中断してシステムをデフォルト値に戻す場合に備えて、セキュア サーバ上にコンフィギュレーション ファイルのバックアップ コピーを保管しておいてください。スイッチ上にコンフィギュレーション ファイルのバックアップ コピーを保管しないでください。スイッチがVTP(VLANトランク プロトコル)トランスペアレント モードで動作している場合は、セキュア サーバ上にVLANデータベース ファイルのバックアップ コピーも保管することを推奨します。スイッチがシステムのデフォルト設定に戻ると、Xmodemプロトコルを使用して、保存したファイルをダウンロードできます。詳細については、「パスワードを忘れた場合の回復」を参照してください。


パスワード回復をディセーブルにするには、イネーブルEXECモードで次の手順を実行します。

 

コマンド
説明

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

no service password-recovery

パスワード回復をディセーブルにします。

この設定は、フラッシュ メモリのブート ローダがアクセスできる領域およびCisco IOSイメージに保存されます。ただし、ファイル システムの領域ではないのでユーザはアクセスできません。

ステップ 3

end

イネーブルEXECモードに戻ります。

ステップ 4

show version

コマンド出力の最後の数行を調べて設定を確認します。

パスワード回復を再びイネーブルにするには、 service password-recovery グローバル コンフィギュレーション コマンドを使用します。


boot manualグローバル コンフィギュレーション コマンドを使用して、スイッチを手動で起動するように設定している場合は、パスワード回復をディセーブルにできません。このコマンドにより、スイッチのオフ/オン後に、ブート ローダ プロンプト(switch:)が表示されます。


端末回線に対するTelnetパスワードの設定

初めてスイッチに電源を投入すると、自動セットアップ プログラムが起動してIP情報を割り当て、引き続き使用するためのデフォルト設定を作成します。セットアップ プログラムは、パスワードによるTelnetアクセス用にスイッチを設定するよう求めてきます。このとき、セットアップ プログラムを使用してパスワードを設定しなかった場合は、CLI(コマンドライン インターフェイス)を使用して設定できます。

スイッチをTelnetアクセス用に設定するには、イネーブルEXECモードで次の手順を実行します。

 

コマンド
説明

ステップ 1

エミュレーション ソフトウェアを備えたPCまたはワークステーションと、スイッチのコンソール ポートを接続します。

コンソール ポートのデフォルトのデータ特性は、9600ボー、8データ ビット、1ストップ ビット、パリティなしです。コマンドライン プロンプトを表示させるため、Returnキーを数回押すこともあります。

ステップ 2

enable password password

イネーブルEXECモードを開始します。

ステップ 3

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 4

line vty 0 15

Telnetセッション(回線)の数を設定し、ライン コンフィギュレーション モードを開始します。

コマンド対応スイッチでは、最大16のセッションが可能です。0および15を指定することは、使用できる16個のTelnetセッションを全部設定することを意味します。

ステップ 5

password password

1つまたは複数の回線のTelnetパスワードを入力します。

password には、1~25文字の英数字のストリングを指定します。ストリングは数字で始めることはできません。大文字/小文字を区別し、スペースを使用できますが、先行スペースは無視されます。デフォルトでは、パスワードは定義されていません。

ステップ 6

end

イネーブルEXECモードに戻ります。

ステップ 7

show running-config

設定を確認します。

コマンド line vty 0 15 の下にパスワードが表示されます。

ステップ 8

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

パスワードを削除するには、 no password グローバル コンフィギュレーション コマンドを使用します。

Telnetパスワードを let45me67in89 に設定する例を示します。

Switch(config)# line vty 10
Switch(config-line)# password let45me67in89

ユーザ名とパスワードのペアの設定

ユーザ名とパスワードのペアを設定でき、スイッチ上でローカルに保存します。このペアは回線またはポートに割り当てられ、各ユーザを認証します。ユーザは認証後、スイッチにアクセスできます。権限レベルを定義している場合は、ユーザ名とパスワードの各ペアに特定の権限レベル(対応する権利および権限付き)を割り当てることもできます。

ユーザ名ベースの認証システムを設定するには、イネーブルEXECモードで次の手順を実行します。この認証システムは、ログイン ユーザ名とパスワードを要求します。

 

コマンド
説明

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

username name [ privilege level ] { password encryption-type password }

各ユーザのユーザ名、権限レベル、パスワードを入力します。

name には、ユーザIDを1ワードで指定します。スペースや引用符は使用できません。

(任意) level には、アクセス後ユーザに設定する権限レベルを指定します。指定できる範囲は0~15です。レベル15ではイネーブルEXECモードでのアクセスが可能です。レベル1では、ユーザEXECモードでのアクセスとなります。

encryption-type には、暗号化されていないパスワードがあとに続く場合は0を、暗号化されたパスワードがあとに続く場合は7を指定します。

password には、ユーザがスイッチにアクセスする場合に入力する必要のあるパスワードを指定します。パスワードは1~25文字で、埋め込みスペースを使用でき、 username コマンドの最後のオプションとして指定します。

ステップ 3

line console 0

または

line vty 0 15

ライン コンフィギュレーション モードを開始し、コンソール ポート(回線0)またはVTY回線(回線0~15)を設定します。

ステップ 4

login local

ログイン時のローカル パスワード チェックをイネーブルにします。認証は、ステップ2で指定されたユーザ名に基づきます。

ステップ 5

end

イネーブルEXECモードに戻ります。

ステップ 6

show running-config

設定を確認します。

ステップ 7

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

特定ユーザのユーザ名認証をディセーブルにするには、 no username name グローバル コンフィギュレーション コマンドを使用します。パスワード チェックをディセーブルにし、パスワードを指定しない接続を可能にするには、 no login ライン コンフィギュレーション コマンドを使用します。

複数の権限レベルの設定

ソフトウェアはデフォルトで、ユーザEXECおよびイネーブルEXECという2種類のパスワード セキュリティ モードを備えています。各モードについて、コマンドの階層レベルを最大16まで設定できます。複数のパスワードを設定することにより、さまざまなユーザ グループに対して特定のコマンドへのアクセスを許可できます。

たとえば、多くのユーザに clear line コマンドへのアクセスを許可する場合、レベル2のセキュリティを割り当て、レベル2のパスワードを広範囲のユーザに配布できます。また、 configure コマンドへのアクセスをより制限されたものにしたい場合は、レベル3のセキュリティを割り当て、そのパスワードを限られたユーザ グループに配布することもできます。

ここでは、次の設定について説明します。

「コマンドの権限レベルの設定」

「回線に対するデフォルトの権限レベルの変更」

「権限レベルへのログインおよび終了」

コマンドの権限レベルの設定

コマンド モードの権限レベルを設定するには、イネーブルEXECモードで次の手順を実行します。

 

コマンド
説明

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

privilege mode level level command

コマンドの権限レベルを設定します。

mode には、グローバル コンフィギュレーション モードの場合は configure を、EXECモードの場合は exec を、インターフェイス コンフィギュレーション モードの場合は interface を、ライン コンフィギュレーション モードの場合は line を、それぞれ入力します。

level に指定できる範囲は0~15です。レベル1が通常のユーザEXECモード権限です。レベル15は、 イネーブル パスワードによって許可されるアクセス レベルです。

command には、アクセスを制限したいコマンドを指定します。

ステップ 3

enable password level level password

権限レベルのイネーブル パスワードを指定します。

level に指定できる範囲は0~15です。レベル1が通常のユーザEXECモード権限です。

password には、1~25文字の英数字のストリングを指定します。ストリングは数字で始めることはできません。大文字/小文字を区別し、スペースを使用できますが、先行スペースは無視されます。デフォルトでは、パスワードは定義されていません。

ステップ 4

end

イネーブルEXECモードに戻ります。

ステップ 5

show running-config

または

show privilege

設定を確認します。

show running-configコマンドは、パスワードとアクセス レベルの設定を表示します。show previlegeコマンドは、権限レベルの設定を表示します。

ステップ 6

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

コマンドをある権限レベルに設定すると、構文がそのコマンドのサブセットであるコマンドはすべて、そのレベルに設定されます。たとえば、 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

回線に対するデフォルトの権限レベルの変更

回線に対するデフォルトの権限レベルを変更するには、イネーブルEXECモードで次の手順を実行します。

 

コマンド
説明

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

line vty line

アクセスを制限する仮想端末回線を選択します。

ステップ 3

privilege level level

回線のデフォルト権限レベルを変更します。

level に指定できる範囲は0~15です。レベル1が通常のユーザEXECモード権限です。レベル15は、 イネーブル パスワードによって許可されるアクセス レベルです。

ステップ 4

end

イネーブルEXECモードに戻ります。

ステップ 5

show running-config

または

show privilege

設定を確認します。

show running-configコマンドは、パスワードとアクセス レベルの設定を表示します。show previlegeコマンドは、権限レベルの設定を表示します。

ステップ 6

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

ユーザは、回線にログインし、別の権限レベルをイネーブルに設定することにより、 privilege level ライン コンフィギュレーション コマンドを使用して設定された権限レベルを上書きできます。また、 disable コマンドを使用すれば、権限レベルを低く設定できます。上位の権限レベルのパスワードがわかっていれば、ユーザはそのパスワードを使用して上位の権限レベルをイネーブルにできます。回線の使用を制限するには、コンソール回線に高いレベルまたは権限レベルを指定してください。

回線の権限レベルをデフォルトに戻すには、 no privilege level ライン コンフィギュレーション コマンドを使用します。

権限レベルへのログインおよび終了

特定の権限レベルにログインし、特定の権限レベルを終了するには、イネーブルEXECモードで次の手順を実行します。

 

コマンド
説明

ステップ 1

enable level

特定の権限レベルにログインします。

level に指定できる範囲は0~15です。

ステップ 2

disable level

特定の権限レベルを終了します。

level に指定できる範囲は0~15です。

TACACS+によるスイッチ アクセスの制御

ここでは、TACACS+をイネーブルにして設定する方法について説明します。TACACS+は、詳細なアカウンティング情報を収集し、認証および許可プロセスに対して柔軟な管理を行います。
TACACS+はAuthentication, Authorization, Accounting(AAA;認証、許可、アカウンティング)を介して機能し、AAAコマンドを使用してのみイネーブルにできます。


) ここで説明するコマンドの構文および使用方法の詳細については、『Cisco IOS Security Command Reference』Release 12.2を参照してください。


ここでは、次の設定情報について説明します。

「TACACS+の概要」

「TACACS+の動作」

「TACACS+の設定」

「TACACS+設定の表示」

TACACS+の概要

TACACS+は、スイッチにアクセスしようとするユーザの検証を集中的に行うセキュリティ アプリケーションです。TACACS+サービスは、通常UNIXまたはWindows NTワークステーション上で稼働するTACACS+デーモンのデータベースで管理されます。スイッチにTACACS+機能を設定するには、TACACS+サーバにアクセスして設定する必要があります。

TACACS+は、個別のモジュール型認証、許可、およびアカウンティング機能を備えています。TACACS+では、単一のアクセス制御サーバ(TACACS+デーモン)が各サービス(AAA)を別個に提供します。各サービスを固有のデータベースに結合し、デーモンの機能に応じてそのサーバまたはネットワークで利用できる他のサービスを利用できます。

TACACS+の目的は、1つの管理サービスから複数のネットワーク アクセス ポイントを管理する方式を提供することです。スイッチは、他のシスコのルータやアクセス サーバとともにネットワーク アクセス サーバにできます。ネットワーク アクセス サーバは、単一のユーザ、ネットワークまたはサブネットワーク、および相互接続されたネットワークとの接続を実現します(図8-1を参照)。

図8-1 一般的なTACACS+ネットワーク構成

 

TACACS+は、AAAセキュリティ サービスによって管理され、次のようなサービスを提供します。

認証 ― ログインおよびパスワード ダイアログ、チャレンジおよび応答、メッセージ サポートによって認証の総合的な制御を行います。

認証機能は、ユーザとの対話を実行できます(たとえば、ユーザ名とパスワードが入力されたあと、自宅の住所、母親の旧姓、サービス タイプ、社会保険番号などのいくつかの質問をすることによりユーザを試す)。TACACS+認証サービスは、ユーザ画面にメッセージを送信することもできます。たとえば、会社のパスワード有効期間ポリシーに従い、パスワードの変更の必要があることをユーザに通知することもできます。

許可 ― オートコマンド、アクセス制御、セッション期間、プロトコル サポートの設定といった、ユーザ セッション内でのユーザ機能についてきめ細かい制御を行います。また、TACACS+許可機能によって、ユーザが実行できるコマンドを制限することもできます。

アカウンティング ― 課金、監査、レポートに使用する情報を収集してTACACS+デーモンに送信します。ネットワークの管理者は、アカウンティング機能を使用して、セキュリティ監査のためにユーザの活動状況を追跡したり、ユーザ課金用の情報を提供したりできます。アカウンティング レコードには、ユーザID、開始時刻および終了時刻、実行されたコマンド(PPPなど)、パケット数、およびバイト数が含まれます。

TACACS+プロトコルは、スイッチとTACACS+デーモンとの間の認証を行い、スイッチとTACACS+デーモンとの間のプロトコル交換をすべて暗号化することにより機密保持を実現します。

スイッチでTACACS+を使用するには、TACACS+デーモン ソフトウェアが稼働するシステムが必要です。

TACACS+の動作

ユーザが、TACACS+を使用しているスイッチに対して簡易ASCIIログインを試行し、認証が必要になると、次のプロセスが発生します。

1. 接続が確立すると、スイッチはTACACS+デーモンに接続してユーザ名プロンプトを取得し、これがユーザに表示されます。ユーザがユーザ名を入力すると、スイッチはTACACS+デーモンに接続してパスワード プロンプトを取得します。スイッチがパスワード プロンプトを表示し、ユーザがパスワードを入力すると、そのパスワードがTACACS+デーモンに送信されます。

TACACS+によって、デーモンとユーザとの間の会話が可能になり、デーモンはユーザを認証できるだけの情報を取得できるようになります。デーモンは、ユーザ名とパスワードの組み合わせを入力するよう指示しますが、ユーザの母親の旧姓など、その他の項目を含めることもできます。

2. スイッチは、最終的にTACACS+デーモンから次のいずれかの応答を受信します。

ACCEPT ― ユーザが認証され、サービスを開始できます。許可を必要とするようにスイッチが設定されている場合は、この時点で許可処理が開始されます。

REJECT ― ユーザは認証されません。TACACS+デーモンに応じて、ユーザはアクセスを拒否されるか、ログイン シーケンスを再試行するよう求められます。

ERROR ― デーモンによる認証サービスのある時点で、またはデーモンとスイッチの間のネットワーク接続においてエラーが発生しました。ERROR応答が表示された場合は、スイッチは、通常別の方法でユーザを認証しようとします。

CONTINUE ― ユーザは、さらに認証情報の入力を求められます。

認証後、スイッチで許可がイネーブルになっている場合、ユーザは追加の許可フェーズに入ります。ユーザはまず、TACACS+認証を正常に終了しなければTACACS+許可に進めません。

3. 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+の設定はCLIを使用して行いますが、TACACS+サーバは権限レベル15に設定されたHTTP接続を許可します。


TACACS+サーバ ホストの識別と認証鍵の設定

認証用に1つのサーバを使用することも、また、既存のサーバ ホストをグループ化するためにAAAサーバ グループを使用するよう設定することもできます。設定済みサーバ ホストのサブセットを選択してサーバをグループ化し、特定のサービスに使用できます。サーバ グループは、グローバル サーバホスト リストとともに使用され、選択されたサーバ ホストのIPアドレスのリストを含んでいます。

IPホストまたはTACACS+サーバを保持するホストを識別し、任意で暗号鍵を設定するには、イネーブルEXECモードで次の手順を実行します。

 

コマンド
説明

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

tacacs-server host hostname [ port integer ] [ timeout integer ] [ key string ]

TACACS+サーバを保持するIPホストまたはホストを識別します。このコマンドを複数回入力すると、優先ホストのリストが作成されます。ソフトウェアは、指定された順序でホストを検索します。

hostname には、ホストの名前またはIPアドレスを指定します。

(任意) port integer には、サーバのポート番号を指定します。デフォルトはポート49です。指定できる範囲は1~65535です。

(任意) timeout integer には、スイッチがデーモンからの応答を待つ時間を秒数で指定します。これを過ぎるとスイッチは時間切れとなりエラーを宣言します。デフォルト値は5秒です。指定できる範囲は1~1000秒です。

(任意) key string には、スイッチとTACACS+デーモンとの間のすべてのトラフィックを暗号化および暗号解除するための暗号鍵を指定します。暗号化が成功するにはTACACS+デーモンに同じ鍵を設定する必要があります。

ステップ 3

aaa new-model

AAAをイネーブルにします。

ステップ 4

aaa group server tacacs+ group-name

(任意)グループ名でAAAサーバグループを定義します。

このコマンドによって、スイッチはサーバ グループ サブコンフィギュレーション モードになります。

ステップ 5

server ip-address

(任意)特定のTACACS+サーバを定義済みサーバ グループに対応付けます。AAAサーバ グループの各TACACS+サーバに対してこのステップを繰り返します。

グループの各サーバは、ステップ2で定義済みのものでなければなりません。

ステップ 6

end

イネーブルEXECモードに戻ります。

ステップ 7

show tacacs

設定を確認します。

ステップ 8

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

指定されたTACACS+サーバ名またはアドレスを削除するには、 no tacacs-server host hostname グローバル コンフィギュレーション コマンドを使用します。設定リストからサーバ グループを削除するには、 no aaa group server tacacs+ group-name グローバル コンフィギュレーション コマンドを使用します。TACACS+サーバのIPアドレスを削除するには、 no server ip-address サーバ グループ サブコンフィギュレーション コマンドを使用します。

TACACS+ログイン認証の設定

AAA認証を設定するには、認証方式の名前付きリストを作成してから、さまざまなポートにそのリストを適用します。方式リストは実行される認証のタイプと実行順序を定義します。このリストを特定のポートに適用してから、定義済み認証方式を実行する必要があります。唯一の例外はデフォルトの方式リスト(偶然に default と名前が付けられている)です。デフォルトの方式リストは、名前付き方式リストが明示的に定義されたポートを除いて、自動的にすべてのインターフェイスに適用されます。定義済みの方式リストは、デフォルトの方式リストに優先します。

方式リストは、ユーザ認証のためクエリ送信を行う順番と認証方式を記述したものです。認証に使用する1つまたは複数のセキュリティ プロトコルを指定できるので、最初の方式が失敗した場合のバックアップ システムが確保されます。ソフトウェアは、リスト内の最初の方式を使用してユーザを認証します。その方式で応答が得られなかった場合、ソフトウェアはそのリストから次の方式を選択します。このプロセスは、リスト内の認証方式による通信が成功するか、定義された方式をすべて試行するまで続きます。この処理のある時点で認証が失敗した場合(つまり、セキュリティ サーバまたはローカルのユーザ名データベースがユーザ アクセスを拒否すると応答した場合)、認証プロセスは停止し、それ以上認証方式が試行されることはありません。

ログイン認証を設定するには、イネーブルEXECモードで次の手順を実行します。

 

コマンド
説明

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

aaa new-model

AAAをイネーブルにします。

ステップ 3

aaa authentication login { default | list-name } method1 [ method2... ]

ログイン認証方式リストを作成します。

login authentication コマンドに名前付きリストが指定されて いない 場合に使用されるデフォルトのリストを作成するには、 default キーワードの後ろにデフォルト状況で使用する方式を指定します。デフォルトの方式リストは、自動的にすべてのポートに適用されます。

list-name には、作成するリストの名前として使用する文字列を指定します。

method1... には、認証アルゴリズムが試行する実際の方式を指定します。追加の認証方式は、その前の方式でエラーが返された場合に限り使用されます。前の方式が失敗した場合は使用されません。

次のいずれかの方式を選択します。

enable ― イネーブル パスワードを認証に使用します。この認証方式を使用するには、 enable password グローバル コンフィギュレーション コマンドを使用して、イネーブル パスワードをあらかじめ定義しておく必要があります。

group tacacs+ ― TACACS+認証を使用します。この認証方式を使用するには、TACACS+サーバをあらかじめ設定しておく必要があります。詳細については、「TACACS+サーバ ホストの識別と認証鍵の設定」を参照してください。

line ― 回線パスワードを認証に使用します。この認証方式を使用するには、回線パスワードをあらかじめ設定しておく必要があります。 password password ライン コンフィギュレーション コマンドを使用します。

local ― ローカル ユーザ名データベースを認証に使用します。データベースにユーザ名情報を入力しておく必要があります。
username
password グローバル コンフィギュレーション コマンドを使用します。

local-case ― 大文字/小文字を区別するローカル ユーザ名データベースを認証に使用します。 username name password グローバル コンフィギュレーション コマンドを使用して、データベースにユーザ名情報を入力する必要があります。

none ― ログインに認証を使用しません。

ステップ 4

line [ console | tty | vty ] line-number [ ending-line-number ]

ライン コンフィギュレーション モードを開始し、認証リストの適用対象とする回線を設定します。

ステップ 5

login authentication { default | list-name }

回線または回線セットに対して、認証リストを適用します。

default を指定する場合は、 aaa authentication login コマンドで作成したデフォルトのリストを使用します。

list-name には、 aaa authentication login コマンドで作成したリストを指定します。

ステップ 6

end

イネーブルEXECモードに戻ります。

ステップ 7

show running-config

設定を確認します。

ステップ 8

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

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+を使用しなかった場合は、ローカル データベースを使用します。


) 許可が設定されていても、CLI経由でログインして認証されたユーザに対して、許可は省略されます。


イネーブルEXECアクセスおよびネットワーク サービスに関するTACACS+許可を指定するには、イネーブルEXECモードで次の手順を実行します。

 

コマンド
説明

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

aaa authorization network tacacs+

ネットワーク関連のすべてのサービス要求に対するユーザTACACS+許可をスイッチに設定します。

ステップ 3

aaa authorization exec tacacs+

イネーブルEXECアクセスの有無を、ユーザTACACS+許可によって判別するようにスイッチを設定します。

exec キーワードを指定すると、ユーザ プロファイル情報( autocommand 情報など)を返すことができます。

ステップ 4

end

イネーブルEXECモードに戻ります。

ステップ 5

show running-config

設定を確認します。

ステップ 6

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

許可をディセーブルにするには、 no aaa authorization { network | exec } method1 グローバル コンフィギュレーション コマンドを使用します。

TACACS+アカウンティングの開始

AAAアカウンティング機能は、ユーザがアクセスするサービスと、ユーザが消費するネットワーク リソースを追跡します。AAAアカウンティングがイネーブルに設定されていると、スイッチは、アカウンティング レコードの形式でユーザの活動状況をTACACS+セキュリティ サーバに報告します。各アカウンティング レコードには、アカウンティングのAttribute-Value(AV)のペアが含まれ、セキュリティ サーバ上に保存されます。このデータを分析し、ネットワーク管理、クライアントへの課金、または監査に利用できます。

各Cisco IOS権限レベルおよびネットワーク サービスに関するTACACS+アカウンティングをイネーブルにするには、イネーブルEXECモードで次の手順を実行します。

 

コマンド
説明

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

aaa accounting network start-stop tacacs+

ネットワーク関連のすべてのサービス要求に対するTACACS+アカウンティングをイネーブルにします。

ステップ 3

aaa accounting exec start-stop tacacs+

TACACS+アカウンティングにより、イネーブルEXECプロセスの開始時に記録開始アカウンティング通知、終了時に記録停止通知を送信するように設定します。

ステップ 4

end

イネーブルEXECモードに戻ります。

ステップ 5

show running-config

設定を確認します。

ステップ 6

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

アカウンティングをディセーブルにするには、 no aaa accounting { network | exec } { start-stop }
method1...
グローバル コンフィギュレーション コマンドを使用します。

TACACS+設定の表示

TACACS+サーバ統計情報を表示するには、 show tacacs イネーブルEXECコマンドを使用します。

RADIUSによるスイッチ アクセスの制御

ここでは、RADIUSをイネーブルにして設定する方法について説明します。RADIUSは、詳細なアカウンティング情報を収集し、認証および許可プロセスに対して柔軟な管理を行います。RADIUSはAAAを介して機能し、AAAコマンドを使用してのみイネーブルにできます。


) ここで説明するコマンドの構文および使用方法の詳細については、『Cisco IOS Security Command Reference』Release 12.2を参照してください。


ここでは、次の設定情報について説明します。

「RADIUSの概要」

「RADIUSの動作」

「RADIUSの設定」

「RADIUS設定の表示」

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)、NetWare Asynchronous Services Interface(NASI)、またはX.25 PAD接続をサポートしません。

スイッチ間またはルータ間。RADIUSは、双方向認証を行いません。RADIUSは、他社製のデバイスが認証を必要とする場合に、あるデバイスから他社製デバイスへの認証には使用できます。

各種のサービスを使用するネットワーク。RADIUSは、一般に1人のユーザを1つのサービス モデルにバインドします。

図8-2 RADIUSからTACACS+サービスへの移行

 

RADIUSの動作

RADIUSサーバによってアクセス制御されているスイッチに、ユーザがログインして認証を試行すると、次のイベントが発生します。

1. ユーザ名とパスワードの入力を求めるプロンプトが表示されます。

2. ユーザ名と暗号化されたパスワードが、ネットワークを介してRADIUSサーバに送信されます。

3. ユーザは、RADIUSサーバから次のいずれかの応答を受信します。

a. ACCEPT ― ユーザは認証されます。

b. REJECT ― ユーザは認証されず、ユーザ名とパスワードの再入力を求めるプロンプトが表示されるか、アクセスが拒否されます。

c. CHALLENGE ― ユーザからの追加データが要求されます。

d. CHALLENGE PASSWORD ― ユーザは新しいパスワードを選択するよう要求されます。

ACCEPTまたはREJECT応答には、イネーブルEXECまたはネットワーク許可に使用される追加データがバンドルされています。RADIUS許可がイネーブルになっている場合、ユーザはまず、RADIUS認証に成功しなければRADIUS許可に進めません。ACCEPTまたはREJECTパケットの追加データには、次の項目が含まれています。

Telnet、SSH、rlogin、またはイネーブルEXECサービス

接続パラメータ(ホストまたはクライアントのIPアドレス、アクセス リスト、ユーザ タイムアウトなど)

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サーバ間の通信には、次の要素が関係します。

ホスト名またはIPアドレス

認証宛先ポート

アカウンティング宛先ポート

キー ストリング

タイムアウト時間

再送信回数

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 グローバル コンフィギュレーション コマンドを使用します。


) スイッチにグローバルおよびサーバ単位の両方で機能(タイムアウト、再送信回数、およびキー コマンド)を設定すると、サーバ単位のタイマー、再送信回数、およびキー コマンドは、グローバルのタイマー、再送信、およびキー コマンドを上書きします。すべてのRADIUSサーバに対してこれらの値を設定するには、「すべてのRADIUSサーバに対する設定」を参照してください。


認証用に既存のサーバ ホストをグループ化するために、AAAサーバ グループを使用するようスイッチを設定できます。詳細については、「AAAサーバ グループの定義」を参照してください。

サーバ単位でのRADIUSサーバ通信を設定するには、イネーブルEXECモードで次の手順を実行します。この手順は必須です。

 

コマンド
説明

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

radius-server host { hostname | ip-address } [ auth-port port-number ] [ acct-port port-number ] [ timeout seconds ] [ retransmit retries ] [ key string ]

リモートRADIUSサーバ ホストのIPアドレスまたはホスト名を指定します。

(任意) auth-port port-number には、認証要求のUDP宛先ポートを指定します。

(任意) acct-port port-number には、アカウンティング要求のUDP宛先ポートを指定します。

(任意) timeout seconds には、スイッチが再送信するまでに
RADIUSサーバの応答を待機するインターバルを指定します。指定できる範囲は1~1000です。この設定は、 radius-server
timeout
グローバル コンフィギュレーション コマンドの設定を上書きします。 radius-server host コマンドでタイムアウトを設定しない場合は、 radius-server timeout コマンドの設定が使用されます。

(任意) retransmit retries には、サーバが応答しないか、応答が遅い場合に、RADIUS要求をそのサーバに再送信する回数を指定します。指定できる範囲は1~1000です。 radius-server host コマンドで再送信の値を設定しない場合は、 radius-server retransmit グローバル コンフィギュレーション コマンドの設定が使用されます。

(任意) key string には、スイッチとRADIUSサーバ上で稼働するRADIUSデーモンとの間で使用する認証および暗号化鍵を指定します。


) 鍵は、RADIUSサーバ上で使用する暗号化鍵と照合する必要のあるテキスト ストリングです。鍵は、必ずradius-server host コマンドの最後の項目として設定します。先行スペースは無視されますが、鍵の途中および末尾のスペースは使用されます。鍵にスペースを使用する場合は、鍵の一部として引用符を使用する場合を除いて、鍵を引用符で囲まないでください。


1つのIPアドレスに対応する複数のホスト エントリをスイッチが認識するように設定するには、必要な回数だけこのコマンドを入力し、それぞれのUDPポート番号が必ず異なるようにしてください。スイッチ ソフトウェアは、指定された順序でホストを検索します。特定のRADIUSホストで使用するタイムアウト、再送信回数、および暗号化鍵の値を設定します。

ステップ 3

end

イネーブルEXECモードに戻ります。

ステップ 4

show running-config

設定を確認します。

ステップ 5

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

特定の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サーバでいくつかの設定を行う必要があります。この設定とは、スイッチのIPアドレス、およびサーバとスイッチで共有するキー ストリングです。詳細については、RADIUSサーバのマニュアルを参照してください。


RADIUSログイン認証の設定

AAA認証を設定するには、認証方式の名前付きリストを作成してから、さまざまなポートにそのリストを適用します。方式リストは実行される認証のタイプと実行順序を定義します。このリストを特定のポートに適用してから、定義済み認証方式を実行する必要があります。唯一の例外はデフォルトの方式リスト(偶然に default と名前が付けられている)です。デフォルトの方式リストは、名前付き方式リストが明示的に定義されたポートを除いて、自動的にすべてのインターフェイスに適用されます。

方式リストは、ユーザ認証のためクエリ送信を行う順番と認証方式を記述したものです。認証に使用する1つまたは複数のセキュリティ プロトコルを指定できるので、最初の方式が失敗した場合のバックアップ システムが確保されます。ソフトウェアは、リスト内の最初の方式を使用してユーザを認証します。その方式で応答が得られなかった場合、ソフトウェアはそのリストから次の方式を選択します。このプロセスは、リスト内の認証方式による通信が成功するか、定義された方式をすべて試行するまで続きます。この処理のある時点で認証が失敗した場合(つまり、セキュリティ サーバまたはローカルのユーザ名データベースがユーザ アクセスを拒否すると応答した場合)、認証プロセスは停止し、それ以上認証方式が試行されることはありません。

ログイン認証を設定するには、イネーブルEXECモードで次の手順を実行します。この手順は必須です。

 

コマンド
説明

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

aaa new-model

AAAをイネーブルにします。

ステップ 3

aaa authentication login { default | list-name } method1 [ method2... ]

ログイン認証方式リストを作成します。

login authentication コマンドに名前付きリストが指定されて いない 場合に使用されるデフォルトのリストを作成するには、 default キーワードの後ろにデフォルト状況で使用する方式を指定します。デフォルトの方式リストは、自動的にすべてのポートに適用されます。

list-name には、作成するリストの名前として使用する文字列を指定します。

method1... には、認証アルゴリズムが試行する実際の方式を指定します。追加の認証方式は、その前の方式でエラーが返された場合に限り使用されます。前の方式が失敗した場合は使用されません。

次のいずれかの方式を選択します。

enable ― イネーブル パスワードを認証に使用します。この認証方式を使用するには、 enable password グローバル コンフィギュレーション コマンドを使用して、イネーブル パスワードをあらかじめ定義しておく必要があります。

group radius ― RADIUS認証を使用します。この認証方式を使用するには、RADIUSサーバをあらかじめ設定しておく必要があります。詳細については、「RADIUSサーバ ホストの識別」を参照してください。

line ― 回線パスワードを認証に使用します。この認証方式を使用するには、回線パスワードをあらかじめ設定しておく必要があります。 password password ライン コンフィギュレーション コマンドを使用します。

local ― ローカル ユーザ名データベースを認証に使用します。データベースにユーザ名情報を入力しておく必要があります。 username name password グローバル コンフィギュレーション コマンドを使用します。

local-case ― 大文字/小文字を区別するローカル ユーザ名データベースを認証に使用します。 username password グローバル コンフィギュレーション コマンドを使用して、データベースにユーザ名情報を入力する必要があります。

none ― ログインに認証を使用しません。

ステップ 4

line [ console | tty | vty ] line-number [ ending-line-number ]

ライン コンフィギュレーション モードを開始し、認証リストの適用対象とする回線を設定します。

ステップ 5

login authentication { default | list-name }

回線または回線セットに対して、認証リストを適用します。

default を指定する場合は、 aaa authentication login コマンドで作成したデフォルトのリストを使用します。

list-name には、 aaa authentication login コマンドで作成したリストを指定します。

ステップ 6

end

イネーブルEXECモードに戻ります。

ステップ 7

show running-config

設定を確認します。

ステップ 8

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

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モードで次の手順を実行します。

 

コマンド
説明

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

radius-server host { hostname | ip-address } [ auth-port port-number ] [ acct-port port-number ] [ timeout seconds ] [ retransmit retries ] [ key string ]

リモートRADIUSサーバ ホストのIPアドレスまたはホスト名を指定します。

(任意) auth-port port-number には、認証要求のUDP宛先ポートを指定します。

(任意) acct-port port-number には、アカウンティング要求のUDP宛先ポートを指定します。

(任意) timeout seconds には、スイッチが再送信するまでにRADIUSサーバの応答を待機するインターバルを指定します。指定できる範囲は1~1000です。この設定は、 radius-server timeout グローバル コンフィギュレーション コマンドの設定を上書きします。 radius-server host コマンドでタイムアウトを設定しない場合は、 radius-server timeout コマンドの設定が使用されます。

(任意) retransmit retries には、サーバが応答しないか、応答が遅い場合に、RADIUS要求をそのサーバに再送信する回数を指定します。指定できる範囲は1~1000です。 radius-server host コマンドで再送信の値を設定しない場合は、 radius-server
retransmit
グローバル コンフィギュレーション コマンドの設定が使用されます。

(任意) key string には、スイッチとRADIUSサーバ上で稼働するRADIUSデーモンとの間で使用する認証および暗号化鍵を指定します。


) 鍵は、RADIUSサーバ上で使用する暗号化鍵と照合する必要のあるテキスト ストリングです。鍵は、必ずradius-server host コマンドの最後の項目として設定します。先行スペースは無視されますが、鍵の途中および末尾のスペースは使用されます。鍵にスペースを使用する場合は、鍵の一部として引用符を使用する場合を除いて、鍵を引用符で囲まないでください。


1つのIPアドレスに対応する複数のホスト エントリをスイッチが認識するように設定するには、必要な回数だけこのコマンドを入力し、それぞれのUDPポート番号が必ず異なるようにしてください。スイッチ ソフトウェアは、指定された順序でホストを検索します。特定のRADIUSホストで使用するタイムアウト、再送信回数、および暗号化鍵の値を設定します。

ステップ 3

aaa new-model

AAAをイネーブルにします。

ステップ 4

aaa group server radius group-name

グループ名でAAAサーバ グループを定義します。

このコマンドによって、スイッチはサーバ グループ コンフィギュレーション モードになります。

ステップ 5

server ip-address

特定のRADIUSサーバを定義済みサーバ グループに対応付けます。AAAサーバ グループのRADIUSサーバごとに、このステップを繰り返します。

グループの各サーバは、ステップ2で定義済みのものでなければなりません。

ステップ 6

end

イネーブルEXECモードに戻ります。

ステップ 7

show running-config

設定を確認します。

ステップ 8

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

ステップ 9

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 new-model
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を使用しなかった場合は、ローカル データベースを使用します。


) 許可が設定されていても、CLI経由でログインして認証されたユーザに対して、許可は省略されます。


イネーブルEXECアクセスおよびネットワーク サービスに関するRADIUS許可を指定するには、イネーブルEXECモードで次の手順を実行します。

 

コマンド
説明

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

aaa authorization network radius

ネットワーク関連のすべてのサービス要求に対するユーザRADIUS許可をスイッチに設定します。

ステップ 3

aaa authorization exec radius

イネーブルEXECアクセスの有無を、ユーザRADIUS許可によって判別するようにスイッチを設定します。

exec キーワードを指定すると、ユーザ プロファイル情報
autocommand 情報など)を返すことができます。

ステップ 4

end

イネーブルEXECモードに戻ります。

ステップ 5

show running-config

設定を確認します。

ステップ 6

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

許可をディセーブルにするには、 no aaa authorization { network | exec } method1 グローバル コンフィギュレーション コマンドを使用します。

RADIUSアカウンティングの開始

AAAアカウンティング機能は、ユーザがアクセスするサービスと、ユーザが消費するネットワーク リソースを追跡します。AAAアカウンティングがイネーブルに設定されていると、スイッチは、アカウンティング レコードの形式でユーザの活動状況をRADIUSセキュリティ サーバに報告します。各アカウンティング レコードには、アカウンティングのAVのペアが含まれ、セキュリティ サーバ上に保存されます。このデータを分析し、ネットワーク管理、クライアントへの課金、または監査に利用できます。

各Cisco IOS権限レベルおよびネットワーク サービスに関するRADIUSアカウンティングをイネーブルにするには、イネーブルEXECモードで次の手順を実行します。

 

コマンド
説明

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

aaa accounting network start-stop radius

ネットワーク関連のすべてのサービス要求に関するRADIUSアカウンティングをイネーブルにします。

ステップ 3

aaa accounting exec start-stop radius

RADIUSアカウンティングにより、イネーブルEXECプロセスの開始時に記録開始アカウンティング通知、終了時に記録停止通知を送信するように設定します。

ステップ 4

end

イネーブルEXECモードに戻ります。

ステップ 5

show running-config

設定を確認します。

ステップ 6

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

アカウンティングをディセーブルにするには、 no aaa accounting { network | exec } { start-stop } method1... グローバル コンフィギュレーション コマンドを使用します。

すべてのRADIUSサーバに対する設定

スイッチとすべてのRADIUSサーバ間のグローバル通信設定を設定するには、イネーブルEXECモードで次の手順を実行します。

 

コマンド
説明

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

radius-server key string

スイッチとすべてのRADIUSサーバとの間で使用する、共有シークレット テキスト ストリングを指定します。


) 鍵は、RADIUSサーバ上で使用する暗号化鍵と照合する必要のあるテキスト ストリングです。先行スペースは無視されますが、鍵の途中および末尾のスペースは使用されます。鍵にスペースを使用する場合は、鍵の一部として引用符を使用する場合を除いて、鍵を引用符で囲まないでください。


 

ステップ 3

radius-server retransmit retries

スイッチが、サーバに各RADIUS要求を送信する回数を指定します。デフォルトは3で、指定できる範囲は1~1000です。

ステップ 4

radius-server timeout seconds

スイッチが、RADIUS要求に対する応答を待って要求を再送信するまでの秒数を指定します。デフォルトは5秒で、指定できる範囲は1~1000です。

ステップ 5

radius-server deadtime minutes

認証要求に応答しないRADIUSサーバをスキップする時間を指定します。これにより、要求がタイムアウトするまで待たずに、次の設定サーバを試行できます。デフォルトは0で、指定できる範囲は1~1440分です。

ステップ 6

end

イネーブルEXECモードに戻ります。

ステップ 7

show running-config

設定を確認します。

ステップ 8

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

再送信、タイムアウト、デッドタイムの設定をデフォルトに戻すには、これらのコマンドの 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)』を参照してください。

VSAを認識して使用するようにスイッチを設定するには、イネーブルEXECモードで次の手順を実行します。

 

コマンド
説明

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

radius-server vsa send [ accounting | authentication ]

スイッチが、RADIUS IETFアトリビュート26に定義されているVSAを認識して使用できるようにします。

(任意) accounting キーワードを使用して、認識されるベンダー固有のアトリビュートの集合をアカウンティング アトリビュートに限定します。

(任意) authentication キーワードを使用して、認識されるベンダー固有のアトリビュートの集合を認証アトリビュートに限定します。

キーワードなしでこのコマンドを入力すると、アカウンティングおよび認証の両方のベンダー固有アトリビュートが使用されます。

ステップ 3

end

イネーブルEXECモードに戻ります。

ステップ 4

show running-config

設定を確認します。

ステップ 5

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

RADIUSアトリビュートの完全リスト、またはベンダー固有のアトリビュート26の詳細については、『 Cisco IOS Security Configuration Guide 』Release 12.2の付録「RADIUS Attributes」を参照してください。

ベンダー固有のRADIUSサーバ通信用にスイッチを設定する方法

RADIUSに関するIETFドラフト規格では、スイッチとRADIUSサーバとの間のベンダー固有情報の通信方式を規定していますが、一部のベンダーは、固有の方法でRADIUSアトリビュートの集合を機能拡張しています。Cisco IOSソフトウェアは、ベンダー固有仕様のRADIUSアトリビュートのサブセットをサポートします。

前述したように、RADIUS(ベンダー固有またはIETFのドラフト準拠)を設定するには、RADIUSサーバ デーモンが稼働しているホスト、およびスイッチと共有するシークレット テキスト ストリングを指定する必要があります。RADIUSホストおよびシークレット テキスト ストリングを指定するには、 radius-server グローバル コンフィギュレーション コマンドを使用します。

ベンダー固有のRADIUSサーバ ホスト、および共有シークレット テキスト ストリングを指定するには、イネーブルEXECモードで次の手順を実行します。

 

コマンド
説明

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

radius-server host {hostname | ip-address} non-standard

リモートRADIUSサーバ ホストのIPアドレスまたはホスト名を指定し、ベンダー固有の実装RADIUSを使用していることを明確にします。

ステップ 3

radius-server key string

スイッチとベンダー固有のRADIUSサーバとの間で使用する、共有シークレット テキスト ストリングを指定します。スイッチおよびRADIUSサーバは、このテキスト ストリングを使用してパスワードを暗号化し、応答を交換します。


) 鍵は、RADIUSサーバ上で使用する暗号化鍵と照合する必要のあるテキスト ストリングです。先行スペースは無視されますが、鍵の途中および末尾のスペースは使用されます。鍵にスペースを使用する場合は、鍵の一部として引用符を使用する場合を除いて、鍵を引用符で囲まないでください。


 

ステップ 4

end

イネーブルEXECモードに戻ります。

ステップ 5

show running-config

設定を確認します。

ステップ 6

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

ベンダー固有の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の概要」

「Kerberosの動作」

「Kerberosの設定」

Kerberosの設定例については、『 Cisco IOS Security Configuration Guide 』Release 12.2の「Security Server Protocols」の章にある「Kerberos Configuration Examples」を参照してください。URLは次のとおりです。

http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/fsecur_c/fsecsp/


) ここで説明するコマンドの構文および使用方法の詳細については、『Cisco IOS Security Command
Reference
』Release 12.2の「Security Server Protocols」の章にある「Kerberos Commands」を参照してください。URLは次のとおりです。

http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/fsecur_c/fsecsp/index.htm



) Kerberos構成例および『Cisco IOS Security Command Reference』Release 12.2では、信頼できるサードパーティとしてCatalyst 3750 Metroスイッチを使用しています。このスイッチはKerberosに対応し、ネットワーク セキュリティ サーバとして設定可能で、Kerberosプロトコルを使用したユーザ認証ができます。


Kerberosの概要

KerberosはMassachusetts Institute of Technology(MIT)が開発した秘密鍵によるネットワーク認証プロトコルです。Data Encryption Standard(DES)という暗号化アルゴリズムを暗号化と認証に使用し、ネットワーク リソースに対する要求を認証します。Kerberosは、信頼できるサードパーティという概念を使ってユーザとサービスに対してセキュリティの検証を実行します。この信頼できるサードパーティを Key Distribution Center (KDC;鍵発行局)と呼びます。

Kerberosは、ユーザが誰であるか、そのユーザが使用しているネットワーク サービスは何であるかを検証します。これを実行するために、KDC(つまり信頼できるKerberosサーバ)がユーザにチケットを発行します。これらのチケットには有効期限があり、ユーザ証明書のキャッシュに保存されます。Kerberosサーバは、ユーザ名やパスワードの代わりにチケットを使ってユーザとネットワーク サービスを認証します。


) Kerberosサーバには、ネットワーク セキュリティ サーバとして設定されていて、Kerberosプロトコルを用いてユーザを認証できるCatalyst 3750 Metroスイッチを使用できます。


Kerberosの証明書発行スキームでは、 single logon という手順を使用します。この手順では、ユーザを1回認証すると、ユーザ証明書が有効な間は(他のパスワードの暗号化を行わずに)セキュア認証が可能になります。

このソフトウェア リリースはKerberos 5に対応しています。Kerberos 5では、すでにKerberos 5を使用している組織が、(UNIXサーバやPCなどの)他のネットワーク ホストが使用しているKDC上のKerberos認証データベースを使用できます。

このソフトウェア リリースでは、Kerberosは次のネットワーク サービスをサポートしています。

Telnet

rlogin

Remote Shell Protocol(rsh)

表8-2 に、一般的なKerberos関連用語とその定義を示します。

 

表8-2 Kerberosの用語

用語
定義

認証

ユーザやサービスが他のサービスに対して自分自身の身元を証明する手順。たとえば、クライアントはスイッチに対して認証を得て、スイッチは他のスイッチに対して認証を得ます。

許可

ネットワークやスイッチにおいてユーザがどのような権限を有していて、またどのような動作を実行できるかを、スイッチが識別する手段。

証明書

認証チケット(Ticket Granting Ticket [TGT]、サービス証明書など)を表す総称。Kerberos証明書で、ユーザまたはサービスのIDを検証します。ネットワーク サービスがチケットを発行したKerberosサーバを信頼することにした場合、ユーザ名やパスワードを再入力する代わりにこれを使用できます。証明書の有効期限は、8時間がデフォルトの設定です。

インスタンス

Kerberosプリンシパルの認証レベル ラベル。ほとんどのKerberosプリンシパルは、 user@REALM という形式です(たとえば、smith@EXAMPLE.COM)。KerberosインスタンスのあるKerberosプリンシパルは、 user/instance@REALM という形式です(たとえば、smith/admin@EXAMPLE.COM)。Kerberosインスタンスは、認証が成功した場合のユーザの許可レベルを指定するのに使用できます。各ネットワーク サービスのサーバは、Kerberosインスタンスの許可マッピングを適用し実行できますが、必須ではありません。


) Kerberosプリンシパルとインスタンスの名前はすべて小文字でなければなりません。Kerberosレルム名はすべて大文字でなければなりません


 

KDC

ネットワーク ホストで稼働するKerberosサーバおよびデータベース プログラムで構成されるKDC。

Kerberos対応

Kerberos証明書のインフラストラクチャをサポートするために変更されたアプリケーションやサービスのことを指す用語。

Kerberosレルム

Kerberosサーバに登録されたユーザ、ホスト、およびネットワーク サービスで構成されるドメイン。Kerberosサーバを信頼して、ユーザまたはネットワークサービスに対する別のユーザまたはネットワーク サービスのIDを検証します。


) Kerberosレルム名はすべて大文字でなければなりません


 

Kerberosサーバ

ネットワーク ホストで稼働しているデーモン。ユーザおよびネットワーク サービスはそれぞれKerberosサーバにIDを登録します。ネットワーク サービスは
Kerberosサーバにクエリを送信して、他のネットワーク サービスの認証を得ます。

KEYTAB

ネットワーク サービスがKDCと共有するパスワード。Kerberos 5以降のバージョンでは、ネットワーク サービスは鍵テーブル(KEYTAB)を使用して暗号化されたサービス証明書を暗号解除して認証します。Kerberos 5より前のバージョンでは、KEYTABのことをサーバ テーブル(SRVTAB)といいます。

プリンシパル

Kerberos IDとも呼ばれ、Kerberosサーバに基づき、ユーザが誰であるか、サービスが何であるかを表します。


) Kerberosプリンシパル名はすべて小文字でなければなりません


 

サービス証明書

ネットワーク サービスの証明書。KDCから証明書が発行されると、ネットワーク サービスとKDCが共有するパスワードで暗号化されます。ユーザTGTともパスワードを共有します。

SRVTAB

ネットワーク サービスがKDCと共有するパスワード。Kerberos 5以降のバージョンでは、SRVTABはKEYTABと呼びます。

TGT

身分証明書のことで、KDCが認証済みユーザに発行する証明書。TGTを受け取ったユーザは、KDCに示されたKerberosレルム内のネットワーク サービスに対して認証を得ることができます。

Kerberosの動作

Kerberosサーバには、ネットワーク セキュリティ サーバとして設定されていて、Kerberosプロトコルを用いてリモート ユーザを認証できるCatalyst 3750 Metroスイッチを使用できます。Kerberosをカスタマイズする方法はいくつかありますが、ネットワーク サービスにアクセスしようとするリモート ユーザは、3つのセキュリティ レイヤを通過しないとネットワーク サービスにアクセスできません。

KerberosサーバとしてCatalyst 3750 Metroスイッチを使用し、リモート ユーザがネットワーク サービスに対して認証を得る手順は、次のとおりです。

1. 「境界スイッチに対する認証の取得」

2. 「KDCからのTGTの取得」

3. 「ネットワークに対する認証の取得」

境界スイッチに対する認証の取得

ここでは、リモート ユーザが通過しなければならない最初のセキュリティ レイヤについて説明します。ユーザは、まず境界スイッチに対して認証を得なければなりません。その後、このプロセスは次のように進みます。

1. ユーザが、境界スイッチへのKerberos非対応Telnet接続を確立します。

2. ユーザ名とパスワードの入力を求めるプロンプトをスイッチが表示します。

3. スイッチが、このユーザのTGTをKDCに要求します。

4. KDCがユーザIDを含む暗号化されたTGTをスイッチに送信します。

5. スイッチは、ユーザが入力したパスワードを使って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.2の
「Security Server Protocols」の章にある「Obtaining a TGT from a KDC」を参照してください。URLは次のとおりです。

http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/fsecur_c/fsecsp/scfkerb.htm#1000999

ネットワークに対する認証の取得

ここでは、リモート ユーザが通過しなければならない3番めのセキュリティ レイヤについて説明します。TGTを持つユーザは、ここでKerberosレルム内のネットワーク サービスに対して認証を得なければなりません。

ネットワーク サービスに対して認証を得る方法については、『 Cisco IOS Security Configuration Guide 』Release 12.2の「Security Server Protocols」の章にある「Authenticating to Network Services」を参照してください。URLは次のとおりです。

http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/fsecur_c/fsecsp/scfkerb.htm#1001010

Kerberosの設定

リモート ユーザがネットワーク サービスに対して認証を得られるように、Kerberosレルム内のホストとKDCを設定して、ユーザおよびネットワーク サービスと通信を行って互いに認証するようにしなければなりません。これを実行するために、互いを識別しなければなりません。KDC上のKerberosデータベースにホストのエントリを追加し、Kerberosレルム内のすべてのホストにKDCが生成したKEYTABファイルを追加します。また、KDCデータベースにユーザ用のエントリも作成します。

ホストおよびユーザのエントリを追加または作成する場合は、次の注意事項に従ってください。

Kerberosプリンシパル名はすべて小文字で なければなりません

Kerberosインスタンス名はすべて小文字で なければなりません

Kerberosレルム名はすべて大文字で なければなりません


) Kerberosサーバには、ネットワーク セキュリティ サーバとして設定されていて、Kerberosプロトコルを用いてユーザを認証できるCatalyst 3750 Metroスイッチを使用できます。


Kerberos認証済みサーバ クライアント システムを設定する手順は、次のとおりです。

Kerberosコマンドを使用してKDCを設定します。

Kerberosプロトコルを使用するようにスイッチを設定します。

設定については、『 Cisco IOS Security Configuration Guide 』Release 12.2の「Security Server Protocols」の章にある「Kerberos Configuration Task List」を参照してください。URLは次のとおりです。

http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/fsecur_c/fsecsp/scfkerb.htm#1001027

スイッチのローカル認証および許可の設定

ローカル モードでAAAを実装するようにスイッチを設定すると、サーバがなくてもAAAが動作するように設定できます。この場合、スイッチが認証および許可の処理を行います。この設定ではアカウンティング機能は利用できません。

スイッチをローカルAAA用に設定するには、イネーブルEXECモードで次の手順を実行します。

 

コマンド
説明

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

aaa new-model

AAAをイネーブルにします。

ステップ 3

aaa authentication login default local

ローカルのユーザ名データベースを使用するようにログイン認証を設定します。 default キーワードにより、ローカル ユーザ データベース認証がすべてのポートに適用されます。

ステップ 4

aaa authorization exec local

ユーザAAA許可を設定し、ローカル データベースをチェックし、ユーザがEXECシェルを実行できるようにします。

ステップ 5

aaa authorization network local

ネットワーク関連のすべてのサービス要求に関するAAA許可を設定します。

ステップ 6

username name [ privilege level ] { password encryption-type password }

ローカル データベースを開始し、ユーザ名ベースの認証システムを設定します。

ユーザごとにこのコマンド入力を繰り返します。

name には、ユーザIDを1ワードで指定します。スペースや引用符は使用できません。

(任意) level には、アクセス後ユーザに設定する権限レベルを指定します。指定できる範囲は0~15です。レベル15ではイネーブルEXECモードでのアクセスが可能です。レベル0では、ユーザEXECモードでのアクセスとなります。

encryption-type には、暗号化されていないパスワードがあとに続く場合は0を、暗号化されたパスワードがあとに続く場合は7を指定します。

password には、ユーザがスイッチにアクセスする場合に入力する必要のあるパスワードを指定します。パスワードは1~25文字で、埋め込みスペースを使用でき、 username コマンドの最後のオプションとして指定します。

ステップ 7

end

イネーブルEXECモードに戻ります。

ステップ 8

show running-config

設定を確認します。

ステップ 9

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

AAAをディセーブルにするには、 no aaa new-model グローバル コンフィギュレーション コマンドを使用します。許可をディセーブルにするには、 no aaa authorization { network | exec } method1 グローバル コンフィギュレーション コマンドを使用します。

SSHのためのスイッチの設定

ここでは、SSH機能を設定する方法について説明します。この機能を使用するには、スイッチに暗号化ソフトウェア イメージをインストールする必要があります。この機能を使用し、Cisco.comから暗号化ソフトウェア ファイルをダウンロードするための許可を取得する必要があります。詳細については、現リリースのリリースノートを参照してください。

ここでは、次の情報について説明します。

「SSHの概要」

「SSHの設定」

「SSHコンフィギュレーションおよびステータスの表示」

SSHの設定例については、『 Cisco IOS Security Configuration Guide, Cisco IOS 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


) この章で使用されるコマンドの構文および使用方法の詳細については、このリリースのコマンド リファレンス、およびCisco IOS Release 12.2のコマンド リファレンスを参照してください。URLは次のとおりです。

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サーバをサポートします。

このスイッチは、SSHv1クライアントをサポートします。

SSHは、Data Encryption Standard(DES;データ暗号化規格)暗号化アルゴリズム、トリプルDES
(3DES)暗号化アルゴリズム、パスワードベースのユーザ認証をサポートします。

SSHは、次のユーザ認証方式もサポートします。

TACACS+(詳細については、TACACS+によるスイッチ アクセスの制御を参照)

RADIUS(詳細については、RADIUSによるスイッチ アクセスの制御を参照)

ローカル認証および許可(詳細については、スイッチのローカル認証および許可の設定を参照)


) このソフトウェア リリースでは、IP Security(IPSec)をサポートしていません。


制限事項

SSHには、次の制限事項が適用されます。

スイッチは、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サーバで使用できます。また、その逆も可能です。

crypto key generate rsa グローバル コンフィギュレーション コマンドを入力したあと、CLIエラー メッセージが表示される場合、RSA鍵ペアは生成されていません。ホスト名およびドメインを再設定してから、 crypto key generate rsa コマンドを入力してください。詳細については、「スイッチでのSSH実行の設定」を参照してください。

RSA鍵ペアを生成するときに、「 No host name specified 」というメッセージが表示される場合があります。表示される場合は、 hostname グローバル コンフィギュレーション コマンドを使用して、ホスト名を設定する必要があります。

RSA鍵ペアを生成するときに、「 No domain specified 」というメッセージが表示される場合があります。表示される場合は、 ip domain-name グローバル コンフィギュレーション コマンドを使用して、IPドメイン名を設定する必要があります。

ローカルのAAA方式を設定する場合は、コンソール上でAAAがディセーブルであることを確認してください。

スイッチでのSSH実行の設定

スイッチにSSHの実行を設定するには、次の手順を実行します。

1. Cisco.comから暗号化ソフトウェア イメージをダウンロードします。この手順は必須です。詳細については、現リリースのリリースノートを参照してください。

2. スイッチに、ホスト名およびIPドメイン名を設定します。この手順は、スイッチをSSHサーバとして設定している場合にのみ実行します。

3. スイッチにRSA鍵ペアを生成します。これにより自動的にSSHがイネーブルになります。この手順は、スイッチをSSHサーバとして設定している場合にのみ実行します。

4. ローカルまたはリモート アクセスにユーザ認証を設定します。この手順は必須です。詳細については、「スイッチのローカル認証および許可の設定」を参照してください。

ホスト名およびIPドメイン名を設定して、RSA鍵ペアを生成するには、イネーブルEXECモードで次の手順を実行します。この手順は、スイッチをSSHサーバとして設定している場合に必要です。

 

コマンド
説明

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

hostname hostname

スイッチにホスト名を設定します。

ステップ 3

ip domain-name domain_name

スイッチにホスト ドメインを設定します。

ステップ 4

crypto key generate rsa

スイッチのローカルおよびリモート認証に関して、SSHサーバをイネーブルにして、RSA鍵ペアを生成します。

モジュール サイズを1024ビット以上にすることを推奨します。

RSA鍵ペアを生成すると、モジュールの長さを入力するよう求められます。モジュールの長さが長い方がセキュリティは高くなりますが、生成および使用に時間がかかります。

ステップ 5

end

イネーブルEXECモードに戻ります。

ステップ 6

show ip ssh

または

show ssh

SSHサーバのバージョンおよび設定情報を表示します。

スイッチ上のSSHサーバのステータスを表示します。

ステップ 7

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

RSA鍵ペアを削除するには、 crypto key zeroize rsa グローバル コンフィギュレーション コマンドを使用します。RSA鍵ペアを削除すると、SSHサーバは自動的にディセーブルになります。

SSHサーバの設定

SSHサーバを設定するには、イネーブルEXECモードで次の手順を実行します。

 

コマンド
説明

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

ip ssh version [ 1 | 2 ]

(任意)スイッチにSSHバージョン1または2を実行するよう設定します。

1 ― スイッチにSSHバージョン1を実行するよう設定します。

2 ― スイッチにSSHバージョン2を実行するよう設定します。

このコマンドを入力しない場合、またはキーワードを指定しない場合は、SSHサーバによりSSHクライアントがサポートする最新のSSHバージョンが選択されます。たとえば、SSHクライアントがSSHv1およびSSHv2をサポートしている場合、SSHサーバはSSHv2を選択します。

ステップ 3

ip ssh { timeout seconds | authentication-retries number }

SSH制御パラメータを設定します。

タイムアウト値を秒単位で指定します。デフォルトでは120秒です。指定できる範囲は0~120秒です。このパラメータは、SSHネゴシエーション フェーズに適用されます。接続が確立されると、スイッチはデフォルトのCLIベース セッションのタイムアウト値を使用します。

デフォルトでは、複数のCLIベース セッションに関する暗号化SSH接続を最大5つまで同時にネットワーク上で使用できます(セッション0からセッション4)。シェル実行が開始されると、CLIベース セッションのタイムアウト値がデフォルトの10分に戻ります。

クライアントがサーバに対して再認証できる回数を指定します。デフォルトは3で、指定できる範囲は0~5です。

両方のパラメータを設定する場合は、このステップを繰り返します。

ステップ 4

end

イネーブルEXECモードに戻ります。

ステップ 5

show ip ssh

または

show ssh

SSHサーバのバージョンおよび設定情報を表示します。

スイッチ上のSSHサーバ接続のステータスを表示します。

ステップ 6

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

デフォルトのSSH制御パラメータに戻るには、 no ip ssh { timeout | authentication-retries }グローバル コンフィギュレーション コマンドを使用します。

SSHコンフィギュレーションおよびステータスの表示

SSHサーバの設定およびステータスを表示するには、 表8-3 に示すイネーブルEXECコマンドを1つまたは複数使用します。

 

表8-3 SSHサーバの設定およびステータスを表示するコマンド

コマンド
説明

show ip ssh

SSHサーバのバージョンおよび設定情報を表示します。

show ssh

SSHサーバのステータスを表示します。

これらのコマンドの詳細については、『 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

スイッチのSSL HTTPの設定

ここでは、HTTP 1.1サーバおよびクライアント用のSecure Socket Layer(SSL)バージョン3.0サポートの設定方法について説明します。SSLは、サーバ認証、暗号化、メッセージ完全性、およびHTTPクライアント認証を提供し、安全なHTTP通信を可能にします。この機能を使用するには、スイッチに暗号化ソフトウェア イメージをインストールする必要があります。この機能を使用し、Cisco.comから暗号化ソフトウェア ファイルをダウンロードするための許可を取得する必要があります。暗号化イメージの詳細については、現リリースのリリースノートを参照してください。

ここでは、次の情報について説明します。

「セキュアHTTPサーバおよびクライアントの概要」

「セキュアHTTPサーバおよびクライアントの設定」

「セキュアHTTPサーバおよびクライアントのステータス表示」

ここで説明する設定例と、コマンドの構文および使用方法の詳細については、Cisco IOS Release 12.2(15)Tの「HTTPS - HTTP Server and Client with SSL 3.0」の機能説明を参照してください。URLは次のとおりです。

http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122newft/122t/122t15/ftsslsht.htm

セキュアHTTPサーバおよびクライアントの概要

セキュアHTTP接続では、HTTPサーバ間でやり取りされるデータはインターネット上で送信される前に暗号化されます。SSL暗号化を含むHTTPでは安全な接続が提供され、Webブラウザからスイッチを設定する機能などが可能になります。シスコのセキュアHTTPサーバとセキュアHTTPクライアントの実装では、アプリケーション レイヤ暗号化を使用したSSLバージョン3.0の実装が使用されます。HTTP over SSLはHTTPSと呼ばれます。安全な接続のURLはhttp://ではなくhttps://から始まります。

HTTPセキュア サーバ(スイッチ)の主な役割は、指定ポート(デフォルトのHTTPSポートは443)でHTTPS要求を待ち受けて、要求をHTTP 1.1 Webサーバに渡すことです。HTTP 1.1サーバが要求を処理し、応答(ページ)をHTTPセキュア サーバに返します。HTTPセキュア サーバは元の要求に応答します。

HTTPセキュア クライアント(Webブラウザ)の主な役割は、HTTPSユーザ エージェント サービスのCisco IOSアプリケーション要求に応答し、アプリケーションのHTTPS User Agentサービスを実行し、アプリケーションに応答を返すことです。

認証局トラストポイント

Certificate Authority(CA;認証局)は、証明書要求を管理して、関係するネットワーク デバイスに証明書を発行します。このサービスにより、中央集中型セキュリティ鍵および証明書管理が関係デバイスに提供されます。特定のCAサーバは トラストポイント と呼ばれます。

接続を試行すると、HTTPSサーバが指定されたCAトラストポイントから取得した認証済みのX.509.3証明書を発行して、クライアントに安全な接続を提供します。クライアント(通常はWebブラウザ)には公開鍵があり、証明書を認証できるようになっています。

セキュアHTTP接続の場合、CAトラストポイントを設定することを強く推奨します。CAトラストポイントがHTTPSサーバを稼働しているデバイスに設定されていない場合、サーバは自身を認証し必要なRSA鍵ペアを生成します。自己認証(自己署名)証明書ではセキュリティが十分ではないので、接続するクライアントは、証明書が自己認証されていることをユーザに通知し、ユーザは接続を許可または拒否します。このオプションは、内部ネットワーク トポロジー(テストなど)で便利です。

CAトラストポイントを設定しない場合、セキュアHTTP接続をイネーブルにすると、セキュアHTTPサーバ(またはクライアント)に一時または持続自己署名証明書が自動的に生成されます。

スイッチにホスト名やドメイン名が設定されていない場合、一時自己署名証明書が生成されます。スイッチを再起動すると、一時自己署名証明書は失われ、新しい一時自己署名証明書が割り当てられます。

スイッチにホスト名やドメイン名が設定されている場合、持続自己署名証明書が生成されます。この証明書は、スイッチを再起動したりセキュアHTTPサーバをディセーブルにしてもアクティブなので、次にセキュアHTTP接続を再びイネーブルにしても存在します。

自己署名証明書が生成されたら、この情報には show running-config イネーブルEXECコマンドの出力が含まれます。次に、自己署名証明書を表示するコマンドからの出力例の一部を示します。

Switch# show running-config
Building configuration...
 
(テキスト出力は省略)
 
crypto pki trustpoint TP-self-signed-3080755072
enrollment selfsigned
subject-name cn=IOS-Self-Signed-Certificate-3080755072
revocation-check none
rsakeypair TP-self-signed-3080755072
!
!
crypto ca certificate chain TP-self-signed-3080755072
certificate self-signed 01
3082029F 30820208 A0030201 02020101 300D0609 2A864886 F70D0101 04050030
59312F30 2D060355 04031326 494F532D 53656C66 2D536967 6E65642D 43657274
69666963 6174652D 33303830 37353530 37323126 30240609 2A864886 F70D0109
02161743 45322D33 3535302D 31332E73 756D6D30 342D3335 3530301E 170D3933
30333031 30303030 35395A17 0D323030 31303130 30303030 305A3059 312F302D
 
(テキスト出力は省略)
 

セキュアHTTPサーバをディセーブルにし、 no crypto pki trustpoint TP-self-signed-30890755072 グローバル コンフィギュレーション コマンドを入力すると、この自己署名証明書を削除できます。そのあと、セキュアHTTPサーバを再びイネーブルにする場合、新しい自己署名証明書が生成されます。


TP self-signed以降の値は、デバイスのシリアル番号によって異なります。


オプションのコマンド( ip http secure-client-auth )を使用すると、HTTPSサーバはクライアントからX.509v3証明書を要求できます。クライアントを認証すると、サーバ認証のみよりもセキュリティが高くなります。

認証局の詳細については、『 Cisco IOS Security Configuration Guide』Release 12.2 の「Configuring
Certification Authority Interoperability」の章の「Certificate Authorities」を参照してください。

CipherSuite

CipherSuiteでは、SSL接続で使用するための暗号化アルゴリズムおよびダイジェスト アルゴリズムが指定されます。HTTPSサーバに接続する場合、クライアントWebブラウザはサポートされたCipherSuiteリストを提供し、クライアントおよびサーバは、両方サポートされているリスト上のCipherSuiteから最適な暗号化アルゴリズムをネゴシエーションします。たとえば、Netscape Communicator 4.76では、U.S. security with RSA Public Key Cryptography、MD2、MD5、RC2-CBC、RC4、DES-CBC、DES-EDE3-CBCをサポートします。

最適な暗号化のためには、Microsoft Internet Explorerバージョン5.5以降またはNetscape Communicator version 4.76以降などの、128ビット暗号化をサポートするクライアント ブラウザを使用する必要があります。SSL_RSA_WITH_DES_CBC_SHA CipherSuiteは、128ビット暗号化を使用しないので他のCipherSuitesよりもセキュリティの点で劣ります。

セキュリティがより高くて複雑なCipherSuiteでは、処理時間がわずかに長くなります。次のリストでは、スイッチでサポートされたCipherSuiteを定義し、ルータ処理負荷(速度)の点で速いものから遅いものに順位付けします。

1. SSL_RSA_WITH_DES_CBC_SHA ― メッセージの暗号化の場合はDES-CBC、メッセージ ダイジェストの場合はSHAによるRSA鍵交換(RSA公開鍵暗号化)

2. SSL_RSA_WITH_RC4_128_MD5 ― RC4 128ビット暗号化およびメッセージ ダイジェストのMD5によるRSA鍵交換

3. SSL_RSA_WITH_RC4_128_SHA ― RC4 128ビット暗号化およびメッセージ ダイジェストのSHAによるRSA鍵交換

4. SSL_RSA_WITH_3DES_EDE_CBC_SHA ― メッセージの暗号化の場合は3DESおよびDES-EDE3-CBC、メッセージ ダイジェストの場合はSHAによるRSA鍵交換

SSL接続での鍵生成および認証の両方には、RSA(および指定された暗号化とダイジェスト アルゴリズムの組み合わせ)が使用されます。CAトラストポイントが設定されているかどうかに関係なく、RSAが使用されます。

セキュアHTTPサーバおよびクライアントの設定

ここでは、HTTPサーバおよびクライアントでSSLを設定する手順について説明します。内容は次のとおりです。

「SSLのデフォルト設定」

「SSL設定時の注意事項」

「CAトラストポイントの設定」

「セキュアHTTPサーバの設定」

「セキュアHTTPクライアントの設定」

SSLのデフォルト設定

標準HTTPサーバはイネーブルです。

SSLはイネーブルです。

CAトラストポイントは設定されていません。

自己署名証明書は生成されません。

SSL設定時の注意事項

スイッチ クラスタでSSLを使用する場合、SSLセッションはクラスタ コマンダで終了します。クラスタ メンバー スイッチは標準HTTPで動作する必要があります。

CAトラストポイントを設定する前に、システム クロックが設定されていることを確認します。クロックが設定されていない場合は、日付が正しくないために証明書が拒否されます。

CAトラストポイントの設定

セキュアHTTP接続の場合、公式CAトラストポイントを設定することを推奨します。CAトラストポイントは、自己署名証明書より安全です。

CAトラストポイントを設定するには、イネーブルEXECモードで次の手順を実行します。

 

コマンド
説明

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

hostname hostname

スイッチのホスト名を指定します(ホスト名を事前に設定していない場合のみ必須)。ホスト名は、セキュリティ鍵と証明書で必要となります。

ステップ 3

ip domain-name domain-name

スイッチのIPドメイン名を指定します(IPドメイン名を事前に設定していない場合のみ必須)。IPドメイン名は、セキュリティ鍵と証明書で必要となります。

ステップ 4

crypto key generate rsa

(任意)RSA鍵のペアを生成します。RSA鍵のペアは、スイッチの証明書を取得する前に必要となります。RSA鍵のペアは自動的に生成されます。必要な場合は、このコマンドを使用して鍵を再生成できます。

ステップ 5

crypto ca trustpoint name

CAトラストポイントのローカル設定名を指定し、CAトラストポイント設定モードを開始します。

ステップ 6

enrollment url url

スイッチが証明書要求を送信する相手先URLを指定します。

ステップ 7

enrollment http-proxy host-name port-number

(任意)HTTPプロキシ サーバによってCAから証明書を取得するようスイッチを設定します。

ステップ 8

crl query url

Certificate Revocation List(CRL;証明書失効リスト)を要求して、ピアの証明書が失効していないことを確認するようにスイッチを設定します。

ステップ 9

primary

(任意)CA要求のプライマリ(デフォルト)トラストポイントとしてトラストポイントを使用することを指定します。

ステップ 10

exit

CAトラストポイント設定モードを終了し、グローバル コンフィギュレーション モードに戻ります。

ステップ 11

crypto ca authentication name

CAの公開鍵を取得してCAを認証します。ステップ5で使用した名前を使用します。

ステップ 12

crypto ca enroll name

指定したCAトラストポイントから証明書を取得します。このコマンドでは、RSA鍵のペアごとに署名された証明書を要求します。

ステップ 13

end

イネーブルEXECモードに戻ります。

ステップ 14

show crypto ca trustpoints

設定を確認します。

ステップ 15

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

CAに関連付けられたすべてのアイデンティティ情報および証明書を削除するには no crypto ca trustpoint name グローバル コンフィギュレーション コマンドを使用します。

セキュアHTTPサーバの設定

証明書にCAを使用している場合、前の手順を実行してスイッチにCAトラストポイントを設定してからHTTPサーバをイネーブルにする必要があります。CAトラストポイントを設定しない場合、セキュアHTTPサーバを初めてイネーブルにしたとき、自己署名証明書が生成されます。サーバを設定したあとで、標準HTTPサーバおよびセキュアHTTPサーバの両方に適用されるオプション(パス、適用するアクセス リスト、接続の最大数、またはタイムアウト ポリシー)を設定できます。

セキュアHTTPサーバを設定するには、イネーブルEXECモードで次の手順を実行します。

 

コマンド
説明

ステップ 1

show ip http server status

(任意)HTTPサーバのステータスを表示し、セキュアHTTPサーバ機能がソフトウェアでサポートされているかどうかを判断します。次の行のうちいずれかが出力で表示される必要があります。

HTTP secure server capability: Present
または
HTTP secure server capability: Not present

ステップ 2

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 3

ip http secure-server

HTTPSサーバがディセーブルになっている場合はイネーブルにします。HTTPSサーバはデフォルトではイネーブルに設定されています。

ステップ 4

ip http secure-port port-number

(任意)HTTPSサーバに使用するポート番号を指定します。デフォルトのポート番号は443です。有効なオプションは、443または1025~65535までの任意の数値です。

ステップ 5

ip http secure-ciphersuite {[ 3des-ede-cbc-sha ] [ rc4-128-md5 ] [ rc4-128-sha ] [ des-cbc-sha ]}

(任意)HTTPS接続で暗号化に使用するCipherSuite(暗号化アルゴリズム)を指定します。特定のCipherSuiteを指定する理由がない場合、サーバおよびクライアントが、両方でサポートされている
CipherSuiteをネゴシエーションできるようにする必要があります。これはデフォルト設定です。

ステップ 6

ip http secure-client-auth

(任意)接続プロセス中にクライアントから認証用のX.509v3証明書を要求するようにHTTPサーバを設定します。デフォルトでは、クライアントがサーバから証明書を要求しますが、サーバはクライアントを認証しようとしません。

ステップ 7

ip http secure-trustpoint name

X.509v3セキュリティ証明書を取得し、クライアント証明書接続を認証するのに使用するCAトラストポイントを指定します。


) このコマンドを使用する場合、前の手順に従ってCAトラストポイントをすでに設定していることを前提にしています。


 

ステップ 8

ip http path path-name

(任意)HTMLファイルのベースHTTPパスを設定します。このパスでは、ローカル システム上のHTTPサーバ ファイルの場所を指定します(通常の場合はシステムのフラッシュ メモリ内にあります)。

ステップ 9

ip http access-class access-list-number

(任意)HTTPサーバへのアクセスを許可するアクセス リストを指定します。

ステップ 10

ip http max-connections value

(任意)HTTPサーバに許可される同時接続の最大数を設定します。指定できる範囲は1~16で、デフォルト値は5です。

ステップ 11

ip http timeout-policy idle seconds life seconds requests value

(任意)HTTPサーバへの接続が、規定の状況下でオープンの状態でいることができる時間を指定します。

idle ― データを受信しないか応答データを送信できない最長時間。指定できる範囲は1~600秒です。デフォルト値は180秒(3分)です。

life ― 接続が確立したときからの最長時間。指定できる範囲は1~86400秒(24時間)です。デフォルト値は180秒です。

requests ― 持続した接続で処理される要求の最大数。最大値は86400です。デフォルトは1です。

ステップ 12

end

イネーブルEXECモードに戻ります。

ステップ 13

show ip http server secure status

HTTPセキュア サーバのステータスを表示し、設定を確認します。

ステップ 14

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

標準HTTPサーバをディセーブルにするには、 no ip http server グローバル コンフィギュレーション コマンドを使用します。セキュアHTTPサーバをディセーブルにするには、 no ip http secure-server グローバル コンフィギュレーション コマンドを使用します。デフォルト設定に戻すには no ip http secure-port および no ip http secure-ciphersuite グローバル コンフィギュレーション コマンドを使用します。クライアント認証の要求を削除するには、 no ip http secure-client-auth グローバル コンフィギュレーション コマンドを使用します。

Webブラウザを使用してセキュアHTTP接続を確認するには、https:// URL と入力します。URLは、サーバ スイッチのIPアドレスまたはホスト名です。デフォルト ポート以外のポートを設定した場合は、URLのあとにポート番号を指定する必要もあります。次に例を示します。

https://209.165.129:1026

または

https://host.domain.com:1026

セキュアHTTPクライアントの設定

標準HTTPクライアントおよびセキュアHTTPクライアントは、常にイネーブルです。セキュアHTTPクライアント証明書にはCAが必要です。次の手順では、CAトラストポイントをスイッチで設定してあることを前提にしています。CAトラストポイントが設定されてなく、リモートHTTPSサーバがクライアント認証を要求する場合、セキュアHTTPクライアントへの接続は失敗となります。

セキュアHTTPクライアントを設定するには、イネーブルEXECモードで次の手順を実行します。

 

コマンド
説明

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

ip http client secure-trustpoint name

(任意)リモートHTTPサーバがクライアント認証を要求した場合に使用するCAトラストポイントを指定します。このコマンドを使用する場合、前の手順に従ってCAトラストポイントをすでに設定していることを前提にしています。クライアント認証が必要ない場合、またはプライマリ トラストポイントが設定されている場合、このコマンドの実行は任意です。

ステップ 3

ip http client secure-ciphersuite {[ 3des-ede-cbc-sha ] [ rc4-128-md5 ] [ rc4-128-sha ] [ des-cbc-sha ]}

(任意)HTTPS接続で暗号化に使用するCipherSuite(暗号化アルゴリズム)を指定します。特定のCipherSuiteを指定する理由がない場合、サーバおよびクライアントが、両方でサポートされている
CipherSuiteをネゴシエーションできるようにする必要があります。これはデフォルト設定です。

ステップ 4

end

イネーブルEXECモードに戻ります。

ステップ 5

show ip http client secure status

HTTPセキュア サーバのステータスを表示し、設定を確認します。

ステップ 6

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

クライアントのトラストポイント設定を削除するには、 no ip http client secure-trustpoint name を使用します。クライアントに以前設定したCipherSuite指定を削除するには、 no ip http client
secure-ciphersuite
を使用します。

セキュアHTTPサーバおよびクライアントのステータス表示

SSLセキュア サーバおよびクライアントのステータスを表示するには、 表8-4 のイネーブルEXECコマンドを使用します。

 

表8-4 SSLセキュア サーバおよびクライアントのステータスを表示するコマンド

コマンド
説明

show ip http client secure status

HTTPセキュア クライアント設定を表示します。

show ip http server secure status

HTTPセキュア サーバ設定を表示します。

show running-config

セキュアHTTP接続用に生成された自己署名証明書を表示します。