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

目次

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

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

イネーブル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の設定の表示

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

SSHに関するスイッチの設定

SSHの概要

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

制限事項

SSHの設定

設定時の注意事項

暗号化ソフトウェア イメージに関する注意事項

SSHを実行するスイッチの設定

SSHサーバの設定

SSH設定およびステータスの表示

SCPプロトコルに関するスイッチの設定

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

この章では、Catalyst 2950またはCatalyst 2955でスイッチ ベース認証の設定を行う方法について説明します。この章の内容は、次のとおりです。

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

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

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

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

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

「SSHに関するスイッチの設定」

「SCPプロトコルに関するスイッチの設定」

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

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

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

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

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

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

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

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


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


ここでは、コンフィギュレーション ファイルおよびイネーブル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
 

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

追加のセキュリティ レイヤを、特にネットワークを越えるパスワードやTrivial File Transfer Protocol(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しか利用できません。暗号化タイプを指定する場合は、暗号化されたパスワードを使用する必要があります。この暗号化パスワードは、別のCatalyst 2950スイッチの設定からコピーしたものです。


) 暗号化タイプを指定してクリア テキスト パスワードを入力した場合は、再びイネーブル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

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

デフォルトでは、Catalyst 2950 Long-Reach Ethernet(LRE)スイッチに物理的にアクセスできるエンド ユーザであれば、スイッチの起動時にブート プロセスに割り込み、新しいパスワードを入力することによって、失われたパスワードを回復できます。

パスワード回復ディセーブル機能では、この機能の一部をディセーブルにして、スイッチのパスワードへのアクセスを防止できます。この機能がイネーブルの場合、システムをデフォルトの設定に戻すことに同意した場合に限り、エンド ユーザはブート プロセスに割り込むことができます。パスワード回復をディセーブル化しても起動プロセスを中断してパスワードを変更できますが、コンフィギュレーション ファイル(config.text)およびVLANデータベース ファイル(vlan.dat)は削除されます。


) パスワード回復ディセーブル機能は、Catalyst 2950 LREスイッチでのみ使用可能です。非LRE Catalyst 2950スイッチまたはCatalyst 2955スイッチでは使用できません。



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


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

 

コマンド
目的

ステップ 1

configure terminal

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

ステップ 2

no service password-recovery

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

この設定はフラッシュ メモリの中でブート ローダおよびソフトウェア イメージによりアクセス可能なある領域に保存されますが、その領域はファイル システムには属さず、ユーザがアクセスすることはできません。

ステップ 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 ライン コンフィギュレーション コマンドを使用します。

複数のイネーブル レベルの設定

ソフトウェアはデフォルトで、2種類のパスワード セキュリティ モードを備えています。ユーザEXECモードおよびイネーブルEXECモードです。各モードについてコマンドの階層レベルを最大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は、 enable パスワードによって許可されるアクセス レベルです。

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 privilegeコマンドは、イネーブル レベルの設定を表示します。

ステップ 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は、 enable パスワードによって許可されるアクセス レベルです。

ステップ 4

end

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

ステップ 5

show running-config

または

show privilege

設定を確認します。

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

ステップ 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;認証、許可、アカウンティング)機能が拡張されており、TACACS+イネーブルにするにはAAAコマンドを使用しなければなりません。


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


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

「TACACS+の概要」

「TACACS+の動作」

「TACACS+の設定」

「TACACS+設定の表示」

TACACS+の概要

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

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

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アドレスのリストを含んでいます。

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

 

コマンド
目的

ステップ 1

configure terminal

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

ステップ 2

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

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

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+セキュリティ サーバに報告します。各アカウンティング レコードは、アカウンティングの属性/値(AV)ペアを含み、セキュリティ サーバに保管されます。このデータを解析して、ネットワーク管理、クライアントへの課金、または監査に役立てることができます。

各イネーブル レベルおよびネットワーク サービスに関する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 ReferenceRelease 12.1を参照してください。


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

「RADIUSの概要」

「RADIUSの動作」

「RADIUSの設定」

「RADIUSの設定の表示」

RADIUSの概要

RADIUSは分散型クライアント/サーバ システムで、不正なアクセスからネットワークを保護します。RADIUSクライアントは、サポートされているシスコ ルータおよびスイッチ上で動作します。クライアントは中央のRADIUSサーバに認証要求を送ります。中央のRADIUSサーバにはあらゆるユーザ認証情報、ネットワーク サービス アクセス情報が登録されています。RADIUSホストは、通常、シスコ(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+サーバへの移行の最初のステップとなることもあります。図8-2を参照してください。

ユーザが1つのサービスにしかアクセスできないネットワーク。RADIUSを使用すると、ユーザのアクセスを1つのホスト、Telnetなどの1つのユーティリティ、またはIEEE 802.1xなどのプロトコルを使用するネットワークに制御できます。このプロトコルの詳細については、「IEEE 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許可(イネーブルに設定されている場合)に進まなければなりません。ACCEPTまたはREJECTパケットには次の追加データが含まれます。

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

接続パラメータ(ホストまたはクライアントのIPアドレス、アクセス リスト、およびユーザ タイムアウトを含む)

RADIUSの設定

ここでは、スイッチがRADIUSをサポートするように設定する方法について説明します。最低でも、RADIUSサーバ ソフトウェアが稼働するホスト(1つまたは複数)を特定し、RADIUS認証の方式リストを定義する必要があります。また、RADIUS許可およびアカウンティングの方式リストも任意に定義できます。

方式リストは、ユーザの認証、許可、およびアカウントを維持するための順序と方式を定義します。方式リストを使用して、1つまたは複数のセキュリティ プロトコル(TACACS+ 、ローカル ユーザ名検索など)を指定し、最初の方式が失敗した場合のバックアップ システムを確保できます。ソフトウェアは、リスト内の最初の方式を使用してユーザの認証、許可、アカウントの維持を行います。その方式で応答が得られなかった場合、ソフトウェアはそのリストから次の方式を選択します。このプロセスは、リスト内の方式による通信が成功するか、方式リストの方式をすべて試し終わるまで続きます。

スイッチで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ポート番号の組み合わせによって、一意のIDが作成され、特定のAAAサービスを提供するRADIUSホストとして個々のポートを定義できます。この一意のIDを使用することによって、同じIPアドレスにあるサーバ上の複数のUDPポートに、RADIUS要求を送信できます。

同じRADIUSサーバ上の異なる2つのホスト エントリに同じサービス(例えばアカウンティングなど)を設定した場合、2番めに設定したホスト エントリは、最初に設定したホスト エントリのフェールオーバー バックアップとして動作します。この例の場合、最初のホスト エントリがアカウンティング サービスを提供できなかった場合、スイッチは同じ装置で2番めに設定されたホスト エントリでアカウンティング サービスを試みます(RADIUSホスト エントリは、設定した順序に従って試行されます)。

RADIUSサーバとスイッチは、共有するシークレット テキスト ストリングを使用して、パスワードの暗号化および応答の交換を行います。RADIUSでAAAセキュリティ コマンドを使用するように設定するには、RADIUSサーバ デーモンが稼働するホストと、そのホストがスイッチと共有するシークレット テキスト(キー)ストリングを指定しなければなりません。

タイムアウト、再送信回数、および暗号鍵の値は、すべてのRADIUSサーバに対してグローバルに設定することもできますし、サーバ単位で設定することもできます。また、グローバルな設定とサーバ単位での設定を組み合わせることもできます。スイッチと通信するすべてのRADIUSサーバに対して、これらの設定をグローバルに適用するには、グローバル コンフィギュレーション コマンド 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 グローバル コンフィギュレーション コマンドを使用します。

次に、1つのRADIUSサーバを認証用に、もう1つの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
 

次に、 host1 をRADIUSサーバとして設定し、認証およびアカウンティングの両方にデフォルトのポートを使用するように設定する例を示します。

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アドレスのリスト)を用います。

サーバ グループには、同じサーバの複数のホスト エントリを含めることもできますが、各エントリが一意のID(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許可をイネーブルにすると、スイッチは(ローカル ユーザ データベースまたはセキュリティ サーバ上に存在する)ユーザのプロファイルから取得した情報を使用して、ユーザのセッションを設定します。ユーザは、ユーザ プロファイル内の情報で認められている場合に限り、要求したサービスのアクセスが認可されます。

イネーブルEXECモードへのユーザのネットワーク アクセスを制限するパラメータを設定するには、 aaa authorization グローバル コンフィギュレーション コマンドとともに radius キーワードを使用します。

aaa authorization exec radius localコマンドは、次の許可パラメータを設定します。

RADIUSを使用して認証を行った場合は、RADIUSを使用してイネーブルEXECアクセスを許可します。

認証に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分です。指定できる範囲は0~1440分です。

ステップ 6

end

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

ステップ 7

show running-config

設定値を確認します。

ステップ 8

copy running-config startup-config

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

再送信回数、タイムアウト、および待機時間の設定をデフォルトに戻すには、これらのコマンドの no 形式を使用します。

ベンダー固有のRADIUS属性を使用するスイッチ設定

Internet Engineering Task Force(IETF)ドラフト規格に、ベンダー固有の属性(attribute 26)を使用して、スイッチとRADIUSサーバ間でベンダー固有の情報を通信するための方式が定められています。各ベンダーは、ベンダー固有の属性(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”
 

他のベンダーにも、それぞれ独自のベンダー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 ]

スイッチがVSA(RADIUS IETF attribute 26で定義)を認識して使用できるようにします。

(任意)認識されるベンダー固有属性の集合をアカウンティング属性だけに限定するには、 accounting キーワードを使用します。

(任意)認識されるベンダー固有属性の集合を認証属性だけに限定するには、 authentication キーワードを使用します。

キーワードを指定せずにこのコマンドを入力すると、アカウンティングおよび認証のベンダー固有属性の両方が使用されます。

ステップ 3

end

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

ステップ 4

show running-config

設定値を確認します。

ステップ 5

copy running-config startup-config

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

RADIUS属性の一覧と、ベンダー固有のattribute 26の詳細については、『 Cisco IOS Security Configuration Guide』Release 12.1 のAppendix「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コマンドを使用します。

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

ローカル モードで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の機能の設定方法について説明します。SSHは暗号セキュリティ機能で、輸出規制の対象になっています。この機能を使用するには、暗号化Enhanced Software Image (EI;拡張ソフトウェア イメージ)がスイッチにインストールされている必要があります。この機能の使用、およびCisco.comからの暗号化ソフトウェア ファイルのダウンロードには、許可を得る必要があります。詳細については、このリリースのリリース ノートを参照してください。

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

「SSHの概要」

「SSHの設定」

「SSH設定およびステータスの表示」

SSHの設定例については、次のURLにアクセスして、『 Cisco IOS Security Configuration Guide Release 12.2 にある「Configuring Secure Shell」の章の「SSH Configuration Examples」を参照してください。

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


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

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クライアントは、このリリースでサポートされるSSHサーバおよびシスコ以外のSSHサーバとともに動作します。

このスイッチはSSHv1またはSSHv2サーバに対応します。

このスイッチはSSHv1クライアントに対応します。

SSHは、データ暗号化規格(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を必ずディセーブルにします。

暗号化ソフトウェア イメージに関する注意事項

これらの注意事項は非LRE Catalyst 2950および2940スイッチにのみ適用されます。

SSHはスイッチのメモリを大量に使用するので、スイッチで設定できるVLAN、トランク ポート、およびクラスタ メンバーの数を制限することになります。暗号化ソフトウェア イメージをダウンロードする場合には、前もってスイッチの設定を次の条件に適合させておく必要があります。

スイッチ上のVLAN数にトランク ポート数を掛けた数は、128以下になる必要があります。次に、この条件を満たすスイッチの設定例を示します。

スイッチに2つのトランク ポートがある場合、VLANは最大64個まで可能です。

スイッチに32個のVLANがある場合、トランク ポートは最大4つまで可能です。

スイッチがクラスタのコマンド スイッチである場合、スイッチは最大8つのクラスタ メンバーのみサポート可能です。

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またはSSHバージョン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-2 のイネーブルEXECコマンドを1つまたは複数使用します。

 

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

コマンド
目的

show ip ssh

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

show ssh

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

これらのコマンドの詳細については、次のURLにアクセスして、『 Cisco IOS Security Command Reference Release 12.2 にある「Other Security Features」の章の「Secure Shell Commands」を参照してください。

http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/fsecur_r/fothercr/srfssh.htm

SCPプロトコルに関するスイッチの設定

Secure Copy(SCP)機能により、スイッチの設定またはスイッチのイメージ ファイルをコピーする場合のセキュアな認証済みの方式が提供されます。SCPは、SSH(Berkeleyのr-toolに代わるセキュアなアプリケーションおよびプロトコル)を信頼します。

SSHを機能させるには、スイッチでRSA公開/秘密キー ペアが必要です。これは、そのセキュアな転送によりSSHを信頼するSCPの場合も同じです。

またSSHはAAA認証を、SCPはAAA許可を信頼するため、この点を正確に設定する必要があります。

SCPをイネーブルにする前に、スイッチでSSH、認証、および許可を正確に設定する必要があります。

SCPは、そのセキュアな転送によりSSHを信頼するため、スイッチではRSAキー ペアが必要です。


) SCPを使用する場合は、コピー コマンドにパスワードを入力できません。パスワードを要求された場合は、入力する必要があります。


SCPの設定および確認方法についての詳細は、『Cisco IOS Release 12.2』の「Secure Copy Protocol」を参照してください。URLは次のとおりです。

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