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

目次

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

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

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

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

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

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

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

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

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

複数の権限レベルの設定

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

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

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

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

TACACS+の概要

TACACS+の動作

TACACS+の設定

TACACS+のデフォルト設定

TACACS+サーバ ホストの特定および認証鍵の設定

TACACS+ログイン認証の設定

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

TACACS+アカウンティングの起動

TACACS+設定の表示

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

RADIUSの概要

RADIUSの動作

RADIUSの設定

RADIUSのデフォルト設定

RADIUSサーバ ホストの識別

RADIUSログイン認証の設定

AAAサーバ グループの定義

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

RADIUSアカウンティングの起動

すべてのRADIUSサーバの設定

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

ベンダー独自のRADIUSサーバとの通信に関するスイッチ設定

RADIUSの設定の表示

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

Kerberosの概要

Kerberosの動作

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

KDCからのTGTの取得

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

Kerberosの設定

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

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

SSHの概要

SSHサーバ、統合クライアント、およびサポートされているバージョン

制限事項

SSHの設定

設定時の注意事項

スイッチでSSHを実行するためのセットアップ

SSHサーバの設定

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

SSL HTTPのためのスイッチの設定

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

CAの信頼点

CipherSuite

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

SSLのデフォルト設定

SSLの設定時の注意事項

CAの信頼点の設定

セキュアHTTPサーバの設定

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

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

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

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

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

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

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

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

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

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

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


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


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

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

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

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

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

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

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

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

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

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

 

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


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


ステップ 3

service password-encryption

(任意)パスワードを定義するとき、または設定を保存するときに、パスワードを暗号化します。

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

ステップ 4

end

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

ステップ 5

copy running-config startup-config

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

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

特定の権限レベルのパスワードを定義する場合は、 level キーワードを使用します。レベルを指定してパスワードを設定したら、そのレベルでアクセスする必要のあるユーザだけにそのパスワードを渡してください。さまざまなレベルでアクセス可能なコマンドを指定する場合は、 privilege level グローバル コンフィギュレーション コマンドを使用します。詳細は、「複数の権限レベルの設定」を参照してください。

パスワードの暗号化をイネーブルにすると、ユーザ名パスワード、認証鍵パスワード、イネーブル コマンド パスワード、コンソールおよび仮想端末回線パスワードなど、すべてのパスワードに適用されます。

パスワードとレベルを削除するには、 no enable password [ level level ]または no enable secret [ level level ]グローバル コンフィギュレーション コマンドを使用します。パスワードの暗号化をディセーブルにするには、 no service password-encryption グローバル コンフィギュレーション コマンドを使用します。

次に、権限レベル2に対して暗号化パスワード $1$FaD0$Xyti5Rkls3LoyxzS8 を設定する例を示します。

Switch(config)# enable secret level 2 5 $1$FaD0$Xyti5Rkls3LoyxzS8
 

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

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

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


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


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

 

コマンド
目的

ステップ 1

configure terminal

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

ステップ 2

no service password-recovery

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

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

ステップ 3

end

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

ステップ 4

show version

コマンド出力の最後の数行をチェックすることによって、設定を確認します。

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


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


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

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

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

 

コマンド
目的

ステップ 1

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

コンソール ポートのデフォルトのデータ特性は、9600ボー、8データ ビット、1ストップ ビット、パリティなしです。コマンドライン プロンプトが表示されるまで、Returnキーを何回か押す必要があります。

ステップ 2

enable password password

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

ステップ 3

configure terminal

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

ステップ 4

line vty 0 15

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

コマンド対応スイッチでは、最大16のセッションが可能です。0および15を指定すると、使用できる16のTelnetセッションすべてを設定することになります。

ステップ 5

password password

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

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

ステップ 6

end

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

ステップ 7

show running-config

設定を確認します。

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

ステップ 8

copy running-config startup-config

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

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

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

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

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

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

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

 

コマンド
目的

ステップ 1

configure terminal

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

ステップ 2

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

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

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

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

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

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

ステップ 3

line console 0

または

line vty 0 15

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

ステップ 4

login local

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

ステップ 5

end

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

ステップ 6

show running-config

設定を確認します。

ステップ 7

copy running-config startup-config

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

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

複数の権限レベルの設定

Cisco IOSソフトウェアはデフォルトで、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.2を参照してください。


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

「TACACS+の概要」

「TACACS+の動作」

「TACACS+の設定」

「TACACS+設定の表示」

TACACS+の概要

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

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

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

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

 

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

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

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

許可 ― autocommand、アクセス制御、セッション期間、プロトコル サポートの設定といった、ユーザ セッション時のユーザ機能についてきめ細かく制御します。また、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+デーモンを維持するホスト(1つまたは複数)を特定し、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)ペアを含み、セキュリティ サーバに保管されます。このデータを解析して、ネットワーク管理、クライアントへの課金、または監査に役立てることができます。

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

 

コマンド
目的

ステップ 1

configure terminal

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

ステップ 2

aaa accounting network start-stop tacacs+

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

ステップ 3

aaa accounting exec start-stop tacacs+

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

ステップ 4

end

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

ステップ 5

show running-config

設定を確認します。

ステップ 6

copy running-config startup-config

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

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

TACACS+設定の表示

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

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

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


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


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

「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ベースのネットワークでは、ダイヤルイン ユーザはRADIUSサーバを通じて認証されます。RADIUSサーバは、Kerberosセキュリティ システムで動作するようにカスタマイズされています。

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

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

ユーザが1つのサービスにしかアクセスできないネットワーク。RADIUSを使用すると、ユーザのアクセスを1つのホスト、Telnetなどの1つのユーティリティ、またはIEEE 802.1xなどのプロトコルを使用するネットワークに制御できます。このプロトコルの詳細については、 第8章「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つのサービス モデルにバインドします。

図7-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許可およびアカウンティングの方式リストを定義できます。

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

スイッチ上でRADIUS機能の設定を行う前に、RADIUSサーバにアクセスし、サーバを設定する必要があります。

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

「RADIUSのデフォルト設定」

「RADIUSサーバ ホストの識別」(必須)

「RADIUSログイン認証の設定」(必須)

「AAAサーバ グループの定義」(任意)

「ユーザ イネーブル アクセスおよびネットワーク サービスに関するRADIUS許可の設定」(任意)

「RADIUSアカウンティングの起動」(任意)

「すべてのRADIUSサーバの設定」(任意)

「ベンダー固有のRADIUS属性を使用するスイッチ設定」(任意)

「ベンダー独自のRADIUSサーバとの通信に関するスイッチ設定」(任意)

RADIUSのデフォルト設定

RADIUSおよびAAAは、デフォルトではディセーブルに設定されています。

セキュリティの失効を防止するため、ネットワーク管理アプリケーションを使用してRADIUSを設定することはできません。RADIUSをイネーブルに設定した場合、CLIを通じてスイッチにアクセスするユーザを認証できます。

RADIUSサーバ ホストの識別

スイッチとRADIUSサーバの通信には、いくつかの要素が関与します。

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

認証の宛先ポート

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

キー ストリング

タイムアウト時間

再送信回数

RADIUSセキュリティ サーバは、ホスト名またはIPアドレス、ホスト名と特定のUDPポート番号、またはIPアドレスと特定のUDPポート番号によって特定します。IPアドレスとUDPポート番号の組み合わせによって、一意のIDが作成され、特定のAAAサービスを提供するRADIUSホストとして個々のポートを定義できます。この一意のIDを使用することによって、同じIPアドレスにあるサーバ上の複数のUDPポートに、RADIUS要求を送信できます。

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

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

タイムアウト、再送信回数、および暗号鍵の値は、すべてのRADIUSサーバに対してグローバルに設定することもできますし、サーバ単位で設定することもできます。また、グローバルな設定とサーバ単位での設定を組み合わせることもできます。スイッチと通信するすべてのRADIUSサーバに対して、これらの設定をグローバルに適用するには、 radius-server timeout radius-server retransmit 、および radius-server key の3つの固有のグローバル コンフィギュレーション コマンドを使用します。これらの設定を特定の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サーバ間でベンダー固有の情報を通信するための方式が定められています。各ベンダーは、Vendor-Specific Attribute(VSA)を使用することによって、一般的な用途には適さない独自の拡張属性をサポートできます。シスコが実装するRADIUSでは、この仕様で推奨されるフォーマットを使用して、ベンダー固有のオプションを1つサポートしています。シスコのベンダーIDは9であり、サポート対象のオプションはベンダー タイプ1(名前は cisco-avpair )です。この値は、次のフォーマットのストリングです。

protocol : attribute sep value *
 

protocol は、特定の許可タイプに使用するシスコのプロトコル属性の値です。 attribute および value は、シスコのTACACS+仕様で定義されている適切な属性値(AV)ペアです。 sep は、必須の属性の場合は = 、任意指定の属性の場合は * です。TACACS+許可で使用できるすべての機能は、RADIUSでも使用できます。

たとえば、次のAVペアを指定すると、IP許可時(PPPのIPCPアドレスの割り当て時)に、シスコの 複数の名前付きIPアドレス プール 機能が有効になります。

cisco-avpair= ”ip:addr-pool=first“
 

次に、スイッチからイネーブルEXECコマンドへの即時アクセスが可能となるユーザ ログインを提供する例を示します。

cisco-avpair= ”shell:priv-lvl=15“
 

次に、RADIUSサーバ データベース内の許可VLANを指定する例を示します。

cisco-avpair= ”tunnel-type(#64)=VLAN(13)”
cisco-avpair= ”tunnel-medium-type(#65)=802 media(6)”
cisco-avpair= ”tunnel-private-group-ID(#81)=vlanid”
 

次に、この接続中にASCII形式の入力ACL(アクセス制御リスト)をインターフェイスに適用する例を示します。

cisco-avpair= “ip:inacl#1=deny ip 10.10.10.10 0.0.255.255 20.20.20.20 255.255.0.0”
cisco-avpair= “ip:inacl#2=deny ip 10.10.10.10 0.0.255.255 any”
cisco-avpair= “mac:inacl#3=deny any any decnet-iv”
 

次に、この接続中にASCII形式の出力ACLをインターフェイスに適用する例を示します。

cisco-avpair= “ip:outacl#2=deny ip 10.10.10.10 0.0.255.255 any”
 

他のベンダーにも、それぞれ独自のベンダーID、オプション、および対応するVSAがあります。ベンダーIDおよびVSAの詳細については、RFC 2138「Remote Authentication Dial-In User Service(RADIUS)」を参照してください。

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

 

コマンド
目的

ステップ 1

configure terminal

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

ステップ 2

radius-server vsa send [ accounting | authentication ]

スイッチが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.2の付録「RADIUS Attributes」を参照してください。

ベンダー独自のRADIUSサーバとの通信に関するスイッチ設定

RADIUSに関するIETFドラフト規格では、スイッチとRADIUSサーバ間でベンダー独自仕様の情報を通信する方式について定められていますが、RADIUS属性セットを独自に機能拡張しているベンダーもあります。Cisco IOSソフトウェアは、ベンダー独自仕様のRADIUS属性のサブセットをサポートしています。

前述したように、RADIUS(ベンダーの独自仕様によるものか、IETFドラフトに準拠するものかを問わず)を設定するには、RADIUSサーバ デーモンが稼働しているホストと、そのホストがスイッチと共有するシークレット テキスト ストリングを指定しなければなりません。RADIUSホストおよびシークレット テキスト ストリングを指定するには、 radius-server グローバル コンフィギュレーション コマンドを使用します。

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

 

コマンド
目的

ステップ 1

configure terminal

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

ステップ 2

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

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

ステップ 3

radius-server key string

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


) 鍵は、RADIUSサーバで使用する暗号鍵に一致するテキスト ストリングでなければなりません。先行スペースは無視されますが、鍵の中間および末尾にあるスペースは有効です。鍵にスペースを使用する場合は、引用符が鍵の一部分である場合を除き、引用符で鍵を囲まないでください。


ステップ 4

end

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

ステップ 5

show running-config

設定値を確認します。

ステップ 6

copy running-config startup-config

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

ベンダー独自仕様のRADIUSホストを削除するには、 no radius-server host {hostname | ip-address} non-standard グローバル コンフィギュレーション コマンドを使用します。 鍵をディセーブルにするには、 no radius-server key グローバル コンフィギュレーション コマンドを使用します。

次に、ベンダー独自仕様のRADIUSホストを指定し、スイッチとサーバの間で rad124 という秘密鍵を使用する例を示します。

Switch(config)# radius-server host 172.20.30.15 nonstandard
Switch(config)# radius-server key rad124

RADIUSの設定の表示

RADIUSの設定を表示するには、 show running-config イネーブルEXECコマンドを使用します。

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

ここでは、Kerberosセキュリティ システムをイネーブルにして設定する方法について説明します。Kerberosセキュリティ システムは、信頼できるサードパーティを使用してネットワーク リソースに対する要求を認証します。この機能を使用するには、スイッチにスイッチ ソフトウェアの暗号化バージョンをインストールする必要があります。この機能を使用し、Cisco.comからソフトウェアの暗号化ファイルをダウンロードするには許可を得る必要があります。詳細については、このリリースのリリース ノートを参照してください。

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

「Kerberosの概要」

「Kerberosの動作」

「Kerberosの設定」

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

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


) ここで使用するコマンドの構文および使用方法の詳細については、次のURLから『Cisco IOS Security Command Reference』Release12.2の「Security Server Protocols」の章にある「Kerberos Commands」を参照してください。
http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/fsecur_c/fsecsp/index.htm



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


Kerberosの概要

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

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


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


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

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

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

Telnet

rlogin

rsh(リモート シェル プロトコル)

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

 

表7-2 Kerberosの用語

用語
定義

認証

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

許可

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

証明書

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

インスタンス

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


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



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


KDC2

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

Kerberos対応

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

Kerberosレルム

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


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


Kerberosサーバ

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

KEYTAB3

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

プリンシパル

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


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


サービス証明書

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

SRVTAB

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

TGT

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

1.TGT = Ticket Granting Ticket(身分証明書)

2.KDC = Key Distribution Center(鍵発行局)

3.KEYTAB = key table(キー テーブル)

4.SRVTAB = server table(サーバ テーブル)

Kerberosの動作

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

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

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

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

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

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

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

1. ユーザが境界スイッチに対して、Kerberos未対応のTelnet接続を開始します。

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

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

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

5. スイッチは、ユーザが入力したパスワードを使ってTGTの暗号解除を試行します。

暗号解除に成功した場合は、ユーザはスイッチに対して認証を得ます。

暗号解除に成功しない場合は、ユーザ名とパスワードを再入力(Caps LockまたはNum Lockのオン/オフに注意)するか、別のユーザ名とパスワードを入力してステップ2の手順を繰り返します。

Kerberos未対応のTelnetセッションを開始し、境界スイッチの認証を得ているリモート ユーザはファイアウォールの内側にいますが、ネットワーク サービスにアクセスするには、KDCから直接認証を得る必要があります。ユーザがKDCから認証を得なければならないのは、KDCが発行するTGTはスイッチに保存されており、ユーザがこのスイッチにログオンしないかぎり、追加の認証に使用できないからです。

KDCからのTGTの取得

ここでは、リモート ユーザが通過しなければならない2番めのセキュリティ レイヤについて説明します。ユーザは、ネットワーク サービスにアクセスするために、このレイヤでKDCの認証を得て、KDCからTGTを取得しなければなりません。

KDCに対して認証を得る方法については、『 Cisco IOS Security Configuration Guide 』Release 12.2の「Security Server Protocols」の章にある「Obtaining a TGT from a KDC」を参照してください。URLは次のとおりです。

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

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

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

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

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

Kerberosの設定

リモート ユーザがネットワーク サービスに対して認証を得るには、Kerberosレルム内のホストとKDCを設定し、ユーザとネットワーク サービスの両方に通信を行い、相互に認証させる必要があります。これを実現するには、互いの識別が必要です。KDC上のKerberosデータベースにホストのエントリを追加し、Kerberosレルム内のすべてのホストにKDCが生成したKEYTABファイルを追加します。また、KDCデータベースにユーザ用のエントリも作成します。

ホストおよびユーザのエントリを追加または作成する場合の注意事項は次のとおりです。

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

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

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


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


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

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

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

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

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

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

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

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

 

コマンド
目的

ステップ 1

configure terminal

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

ステップ 2

aaa new-model

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

ステップ 3

aaa authentication login default local

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

ステップ 4

aaa authorization exec local

ユーザのAAA許可を設定し、ローカル データベースを確認して、そのユーザにEXECシェルの実行を許可します。

ステップ 5

aaa authorization network local

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

ステップ 6

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

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

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

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

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

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

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

ステップ 7

end

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

ステップ 8

show running-config

設定を確認します。

ステップ 9

copy running-config startup-config

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

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

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

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

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

「SSHの概要」

「SSHの設定」

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

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

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


) ここで使用するコマンドの構文および使用方法の詳細については、次の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サーバと使用します。

スイッチは、SSHv1またはSSHv2サーバをサポートしています。

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

SSHは、DES暗号化アルゴリズム、Triple 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クライアントとして設定する場合は、次の注意事項に従ってください。

SSHv2サーバは、SSHv1サーバで生成されるRSA鍵のペアを使用できます(逆の場合も同様です)。

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がディセーブルにされていることを確認してください。

スイッチでSSHを実行するためのセットアップ

SSHを実行するようにスイッチをセットアップするには、次の手順を実行してください。

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

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

3. スイッチがSSHを自動的にイネーブルにするためのRSA鍵のペアを生成します。この手順を実行するのは、スイッチを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 ]

(任意)SSHv1またはSSHv2を実行するようにスイッチを設定します。

1 ― SSHv1を実行するようにスイッチを設定します。

2 ― SSHv2を実行するようにスイッチを設定します。

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

ステップ 3

ip ssh { timeout seconds | authentication-retries number }

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

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

デフォルトでは、ネットワーク上の複数のCLIベース セッション(セッション0~4)に対して、最大5つの暗号化同時SSH接続を使用できます。実行シェルが起動すると、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サーバの設定およびステータスを表示するには、 表7-3 のイネーブルEXECコマンドを1つまたは複数使用します。

 

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

コマンド
目的

show ip ssh

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

show ssh

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

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

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

SSL HTTPのためのスイッチの設定

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

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

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

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

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

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

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

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

セキュアHTTP接続の場合、HTTPサーバが送受信するデータは暗号化されてインターネットに送信されます。SSL暗号化を伴うHTTPは、Webブラウザからスイッチを設定するような機能に、セキュアな接続を提供します。シスコが実装するセキュアHTTPサーバおよびHTTPクライアントでは、アプリケーション レイヤの暗号化にSSLバージョン3.0を使用します。HTTP over SSLは、HTTPSと省略されます(セキュアな接続の場合、URLがhttp://の代わりにhttps://で始まります)。

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

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

CAの信頼点

Certificate Authority(CA;認証局)は、要求を認可して参加するネットワーク デバイスに証明書を発行します。これらのサービスは、参加するデバイスに対する中央集中的なセキュリティ キーおよび証明書の管理を提供します。特定のCAサーバは 信頼点 と呼ばれます。

接続が実行されると、HTTPSサーバは、信頼点となる特定のCAから得たX.509v3の証明書を発行することで、セキュアな接続をクライアントに提供します。クライアント(通常、Webブラウザ)は、その証明書の認証に必要な公開鍵を保有しています。

セキュアHTTP接続には、CAの信頼点を設定することを強く推奨します。HTTPSサーバを実行しているデバイスにCAの信頼点が設定されていないと、サーバは自身を認証して必要なRSAの鍵のペアを生成します。自身で認証した(自己署名)証明書は適切なセキュリティではないので、接続するクライアントはその証明書が自己証明書であることを通知し、ユーザに接続の選択(確立または拒否)をさせる必要があります。この選択肢は内部ネットワーク トポロジー(テスト用など)に役立ちます。

CAの信頼点を設定していないと、セキュアHTTP接続を有効にした場合、そのセキュアHTTPサーバ(またはクライアント)に対する一時的または永続的な自己署名証明書が自動的に生成されます。

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

スイッチにホスト名とドメイン名が設定されている場合、生成される自己署名証明書は永続的なものです。この証明書は、スイッチを再起動しても、セキュアHTTPサーバを無効にしても有効のままです。そのため、再度セキュアHTTP接続を有効にしたときに使用できます。

自己署名証明書が生成された場合、その情報は show running-config イネーブルEXECコマンドで出力できます。自己署名証明書を表示するコマンドの出力(show running-configコマンド)を例として一部示します。

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

自己署名証明書は、セキュアHTTPサーバを無効にして、 no crypto pki trustpoint TP-self- signed-30890755072 グローバル コンフィギュレーション コマンドを入力することで削除できます。その後、セキュアHTTPサーバを再度有効にすると、自己署名証明書が新たに生成されます。


TP self-signedの後ろに表示されている値は、デバイスのシリアル番号によって異なります。


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

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

CipherSuite

CipherSuiteは暗号化アルゴリズムおよびダイジェスト アルゴリズムを指定して、SSL接続に使用します。HTTPSサーバに接続すると、クライアントのWebブラウザは、サポート対象のCipherSuiteのリストを提供します。その後クライアントとサーバは、両方でサポートされている暗号化アルゴリズムで最適なものをリストから選択してネゴシエートします。たとえば、Netscape Communicator 4.76は、米国のセキュリティ(RSA公開鍵暗号MD2、MD5、RC2-CBC、RC4、DES-CBC、およびDES-EDE3-CBC)をサポートしています。

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

CipherSuiteは、よりセキュリティが高く、複雑になればなるほど、わずかですが処理時間が必要になります。次に、スイッチでサポートされるCipherSuiteおよびルータの処理負荷(速さ)によるCipherSuiteのランク(速い順)を定義します。

1. SSL_RSA_WITH_DES_CBC_SHA ― メッセージの暗号化にDES-CBC、およびメッセージ ダイジェストにSHAを使用したRSAの鍵交換(RSA公開鍵暗号化)

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

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

4. SSL_RSA_WITH_3DES_EDE_CBC_SHA ― メッセージの暗号化に3DESとDES-EDE3-CBC、およびメッセージ ダイジェストにSHAを使用したRSAの鍵交換(RSA公開鍵暗号化)

(暗号化およびダイジェスト アルゴリズムをそれぞれ指定して組み合わせた)RSAは、SSL接続において鍵の生成および認証の両方に使用されます。これは、CAの信頼点が設定されているかどうかにかかわりません。

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

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

「SSLのデフォルト設定」

「SSLの設定時の注意事項」

「CAの信頼点の設定」

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

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

SSLのデフォルト設定

標準のHTTPサーバはイネーブルに設定されています。

SSLはイネーブルに設定されています。

CAの信頼点は設定されていません。

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

SSLの設定時の注意事項

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

CAの信頼点を設定する前に、システム クロックが設定されていることを確認してください。クロックが設定されていないと、不正な日付により証明書が拒否されます。

CAの信頼点の設定

セキュアHTTP接続には、CAの信頼点を正式に設定することを推奨します。CAの信頼点は、自己署名証明書より高いセキュリティがあります。

CAの信頼点を設定するには、イネーブルEXECモードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

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

ステップ 2

hostname hostname

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

ステップ 3

ip domain-name domain-name

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

ステップ 4

crypto key generate rsa

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

ステップ 5

crypto ca trustpoint name

CAの信頼点にローカルの設定名を指定して、CA信頼点コンフィギュレーション モードを開始します。

ステップ 6

enrollment url url

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

ステップ 7

enrollment http-proxy host-name port-number

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

ステップ 8

crl query url

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

ステップ 9

primary

(任意)信頼点がCA要求に対してプライマリ(デフォルト)信頼点として使用されるように指定します。

ステップ 10

exit

CA信頼点コンフィギュレーション モードを終了し、グローバル コンフィギュレーション モードに戻ります。

ステップ 11

crypto ca authentication name

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

ステップ 12

crypto ca enroll name

指定のCAの信頼点から証明書を取得します。このコマンドは、各RSA鍵のペアに対して1つの署名入りの証明書を要求します。

ステップ 13

end

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

ステップ 14

show crypto ca trustpoints

設定を確認します。

ステップ 15

copy running-config startup-config

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

no crypto ca trustpoint name グローバル コンフィギュレーション コマンドを使用して、CAに関連するすべてのID情報および証明書を削除できます。

セキュアHTTPサーバの設定

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

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

 

コマンド
目的

ステップ 1

show ip http server status

(任意)HTTPサーバのステータスを表示して、セキュアHTTPサーバの機能がソフトウェアでサポートされているかどうかを判断します。出力で、次のラインのどちらかを確認してください。

HTTP secure server capability: Present
or
HTTP secure server capability: Not present

ステップ 2

configure terminal

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

ステップ 3

ip http secure-server

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

ステップ 4

ip http secure-port port-number

(任意)HTTPSサーバに使用するポート番号を指定します。デフォルトのポート番号は443です。443または1025~65535の範囲で指定できます。

ステップ 5

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

(任意)HTTPS接続の暗号化に使用するCipherSuite(暗号化アルゴリズム)を指定します。特定のCipherSuiteを指定する理由がなければ、サーバとクライアントが、両方がサポートするCipherSuiteでネゴシエートするように設定します。これがデフォルトです。

ステップ 6

ip http secure-client-auth

(任意)HTTPサーバを設定して、接続処理の間、認証のために、クライアントからのX.509v3証明書を要求します。デフォルトでは、クライアントがサーバからの証明書を要求する設定になっていますが、サーバはクライアントを認証しないようになっています。

ステップ 7

ip http secure-trustpoint name

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


) このコマンドの使用は、前の手順に従ってCAの信頼点をすでに設定しているという前提を踏まえて説明しています。


ステップ 8

ip http path path-name

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

ステップ 9

ip http access-class access-list-number

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

ステップ 10

ip http max-connections value

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

ステップ 11

ip http timeout-policy idle seconds life seconds requests value

(任意)指定の状況下における、HTTPサーバへの接続最大時間を指定します。

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

life ― 接続を確立している最大時間。指定できる範囲は1~86400秒です(24時間)。デフォルト値は180秒です。

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

ステップ 12

end

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

ステップ 13

show ip http server secure status

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

ステップ 14

copy running-config startup-config

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

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

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

https://209.165.129:1026

または

https://host.domain.com:1026

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

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

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

 

コマンド
目的

ステップ 1

configure terminal

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

ステップ 2

ip http client secure-trustpoint name

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

ステップ 3

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

(任意)HTTPS接続の暗号化に使用するCipherSuite(暗号化アルゴリズム)を指定します。特定のCipherSuiteを指定する理由がなければ、サーバとクライアントが、両方がサポートするCipherSuiteでネゴシエートするように設定します。これがデフォルトです。

ステップ 4

end

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

ステップ 5

show ip http client secure status

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

ステップ 6

copy running-config startup-config

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

クライアントの信頼点の設定を削除するには、 no ip http client secure-trustpoint name コマンドを使用します。クライアントにすでに設定されているCipherSuite仕様を削除するには、 no ip http client secure-ciphersuite コマンドを使用します。

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

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

 

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

コマンド
目的

show ip http client secure status

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

show ip http server secure status

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

show running-config

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

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

Secure Copy Protocol(SCP)機能は、スイッチの設定やイメージ ファイルのコピーにセキュアな認証方式を提供します。SCPにはSSHが必要です(Berkeleyのr-toolに代わるセキュリティの高いアプリケーションおよびプロトコルです)。

SSHを動作させるには、スイッチにRSAの公開鍵と秘密鍵のペアが必要です。これはSSHが必要なSCPも同様で、セキュアな転送を実現させるには、これらの鍵のペアが必要です。

また、SSHにはAAA認証が必要のため、適切に設定するには、SCPにもAAA認証が必要になります。

SCPをイネーブルにする前に、スイッチのSSH、認証、許可、およびアカウンティングを適切に設定してください。

SCPはSSHを使用してセキュアな転送を実行するため、ルータにはRSA鍵のペアが必要です。


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


SCPの設定および検証方法の詳細は、次のURLにアクセスして、Cisco IOS Release 12.2の「Secure Copy Protocol」の章を参照してください。

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