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

目次

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

スイッチへの不正アクセスのブロック

特権 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 設定およびステータスの表示

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

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

「スイッチへの不正アクセスのブロック」

「特権 EXEC コマンドへのアクセスの保護」

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

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

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

「SSH 用スイッチの設定」

スイッチへの不正アクセスのブロック

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

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

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

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

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

特権 EXEC コマンドへのアクセスの保護

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


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


ここでは、コンフィギュレーション ファイルおよび特権 EXEC コマンドへのアクセスを制御する方法について説明します。内容は次のとおりです。

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

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

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

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

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

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

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

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

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

 

表6-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 しか利用できません。暗号化タイプを指定する場合は、暗号化されたパスワードを使用する必要があります。この暗号化パスワードは、別の Catalyst 2940 スイッチの設定からコピーしたものです。


) 暗号化タイプを指定してクリア テキスト パスワードを入力した場合は、再度特権 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 2940 スイッチに物理アクセスするすべてのエンド ユーザは、スイッチの電源投入時にブート プロセスを中断して新しいパスワードを入力することにより、失われたパスワードを回復できます。

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


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


パスワード回復をディセーブルにするには、特権 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+ によるスイッチ アクセスの制御

ここでは、Terminal Access Controller Access Control System Plus(TACACS+)をイネーブルにして設定する方法について説明します。TACACS+ は、詳細なアカウンティング情報を収集し、認証および許可プロセスに対して柔軟な管理を行います。TACACS+ は、Authentication、Authorization、Accounting(AAA; 認証、認可、アカウンティング)機能が拡張されており、TACACS+ をイネーブルにするには AAA コマンドを使用しなければなりません。


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


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

「TACACS+ の概要」

「TACACS+ の動作」

「TACACS+ の設定」

「TACACS+ 設定の表示」

TACACS+ の概要

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

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

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

図6-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+ サーバ ホストの特定と認証鍵の設定

認証用に単一のサーバを使用することも、また、既存のサーバ ホストをグループ化するために 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 Reference』Release 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 をサポートする、マルチベンダー アクセス サーバによるネットワーク。たとえば、いくつかのベンダーのアクセス サーバが、単一の RADIUS サーバベース セキュリティ データベースを使用します。複数ベンダーのアクセス サーバからなる IP ベースのネットワークでは、ダイヤルイン ユーザは RADIUS サーバを通じて認証されます。RADIUS サーバは、Kerberos セキュリティ システムで動作するようにカスタマイズされています。

アプリケーションが RADIUS プロトコルをサポートするターンキー ネットワーク セキュリティ環境。たとえば、 スマート カード アクセス制御システムを使用するアクセス環境などです。あるケースでは、RADIUS は Enigma のセキュリティ カードとともに使用してユーザを確認し、ネットワーク リソースのアクセスを許可します。

すでに RADIUS を使用中のネットワーク。RADIUS クライアント装備のシスコ スイッチをネットワークに追加できます。これが TACACS+ サーバへの移行の最初のステップとなることもあります。図6-2 を参照してください。

ユーザが単一のサービスにしかアクセスできないネットワーク。RADIUS を使用すると、ユーザのアクセスを単一のホスト、Telnet などの単一のユーティリティ、または IEEE 802.1x などのプロトコルを使用するネットワークに制御できます。このプロトコルの詳細については、「IEEE 802.1x ポート ベース認証の設定」を参照してください。

リソース アカウンティングが必要なネットワーク。RADIUS 認証または許可とは別個に 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 つのサービス モデルにバインドします。

図6-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 サーバに対して、これらの設定をグローバルに適用するには、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 コマンドの最後のアイテムとして設定してください。先行スペースは無視されますが、鍵の中間および末尾にあるスペースは有効です。鍵にスペースを使用する場合は、引用符が鍵の一部分である場合を除き、引用符で鍵を囲まないでください。


単一の 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 コマンドの最後のアイテムとして設定してください。先行スペースは無視されますが、鍵の中間および末尾にあるスペースは有効です。鍵にスペースを使用する場合は、引用符が鍵の一部分である場合を除き、引用符で鍵を囲まないでください。


単一の 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 属性 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 は輸出制限の対象となる暗号化セキュリティ機能です。この機能を使用するには、暗号化ソフトウェア イメージをスイッチにインストールする必要があります。この機能を使用するには認証を受けて、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/en/US/products/sw/iosswrel/ps1835/products_configuration_guide_chapter09186a00800ca7d5.html


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

http://www.cisco.com/en/US/products/sw/iosswrel/ps1835/products_command_summary09186a008020b3d8.html


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; データ暗号化規格)の暗号化アルゴリズムである Triple DES(3DES)およびパスワード ベースのユーザ認証をサポートします。

SSH はまたユーザ認証方式をサポートします。

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

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

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


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


制限

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

スイッチは、Rivest、Shamir、および 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 ベースのセッションに対して最大 5 つの同時暗号化 SSH 接続が利用可能です(セッション 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 サーバの設定とステータスを表示するには、 表6-2 の特権 EXEC コマンドを 1 つまたは複数使用します。

 

表6-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/en/US/products/sw/iosswrel/ps1835/products_configuration_guide_chapter09186a00800ca7d5.html