セキュリティと VPN : Terminal Access Controller Access Control System(TACACS+)

Cisco Catalyst スイッチにおける TACACS+、RADIUS、および Kerberos の設定

2016 年 10 月 27 日 - 機械翻訳について
その他のバージョン: PDFpdf | ライター翻訳版 (2009 年 6 月 16 日) | 英語版 (2015 年 10 月 7 日) | フィードバック


目次


概要

Cisco Catalyst スイッチ ファミリ(CatOS が稼働している Catalyst 4000、Catalyst 5000、および Catalyst 6000)では、2.2 のコード以降、何らかの認証形式がサポートされています。 それよりも後のバージョンでは強化機能が追加されています。 TACACS+ TCP ポート 49(XTACACS User Datagram Protocol(UDP; ユーザ データグラム プロトコル)のポート 49 ではありません)、RADIUS、または Kerberos サーバの Authentication, Authorization, and Accounting(AAA; 認証、認可、およびアカウンティング)のためのユーザ セットアップは、ルータ ユーザ用のものと同じです。 このドキュメントでは、これらの機能をイネーブルにするために必要となる最小限のコマンドの例を紹介しています。 使用可能な追加のオプションについては、対象となるバージョンのスイッチのドキュメントを参照してください。

前提条件

要件

このドキュメントに関する固有の要件はありません。

使用するコンポーネント

このドキュメントは、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。

表記法

ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。

背景説明

新しいバージョンのコードでは追加のオプションをサポートしているため、show version コマンドを設定してスイッチのコードのバージョンを調べる必要があります。 スイッチで使用しているコードのバージョンがわかったら、この表を参考にして、装置に使用できるオプションと、設定するオプションを判断します。

認証と認可を追加する際は、常にスイッチから離れないようにしてください。 誤ってロックアウトされないようにするため、テストは別のウィンドウで行ってください。

方法(最小構成) Cat バージョン 2.2 ~ 5.1 Cat バージョン 5.1 ~ 5.4.1 Cat バージョン 5.4.1 ~ 7.5.1 Cat バージョン 7.5.1 以降
TACACS+ 認証または ステップ A ステップ A ステップ A ステップ A
RADIUS認証または N/A ステップ B ステップ B ステップ B
Kerberos認証または N/A N/A 手順 K 手順 K
ローカル ユーザ名の認証/許可 N/A N/A N/A ステップ C
Plus(オプション)        
TACACS+ コマンド認可 N/A N/A ステップ D ステップ D
TACACS+ exec 認可 N/A N/A 手順 E 手順 E
RADIUS exec 認可 N/A N/A 手順 F 手順 F
アカウンティング:TACACS+ または RADIUS N/A N/A 手順 G 手順 G
TACACS+ enable 認可 手順 H 手順 H 手順 H 手順 H
RADIUS enable 認証 N/A 手順 I 手順 I 手順 I
TACACS+ enable 認可 N/A N/A 手順 J 手順 J

設定手順

手順 A:TACACS+ 認証

古いバージョンのコードでは、一部の新しいバージョンのコードほどコマンドは複雑ではありません。 新しいバージョンでは追加のオプションがスイッチで使用できる場合があります。

  1. set authentication login local enable コマンドを設定し、サーバがダウンした場合のスイッチへのバック ドアを確保します。

  2. set authentication login tacacs enable コマンドを設定して、TACACS+ 認証をイネーブルにします。

  3. set tacacs server #.#.#.# コマンドを設定して、サーバを定義します。

  4. set tacacs key your_key コマンドを設定して、サーバの鍵を定義します。サーバの鍵は TACACS+ のオプションであり、スイッチとサーバ間でデータの暗号化を行います。 使用する場合はサーバに合わせる必要があります。

    Cisco Catalyst OS では、鍵とパスワードの一部に疑問符(?)は使用できません 疑問符はコマンド構文についてのヘルプを表示するために使用します。

手順 B:RADIUS 認証

古いバージョンのコードでは、一部の新しいバージョンのコードほどコマンドは複雑ではありません。 新しいバージョンでは追加のオプションがスイッチで使用できる場合があります。

  1. set authentication login local enable コマンドを設定し、サーバがダウンした場合のスイッチへのバック ドアを確保します。

  2. set authentication login radius enable コマンドを設定して、RADIUS 認証をイネーブルにします。

  3. サーバを定義します。 他のすべての Cisco 機器では、デフォルトの RADIUS ポートは 1645/1646(認証/アカウンティング)です。

    Catalyst では、デフォルト ポートは 1812/1813 です。 Cisco Secure を使用している場合、または他の Cisco 機器と通信しているサーバを使用している場合は、ポート 1645/1646 を使用します。 set radius server #.#.#.# auth-port 1645 acct-port 1646 primary コマンドを設定してサーバを定義します。Cisco IOS での同等のコマンドは radius-server source-ports 1645-1646 です。

  4. サーバの鍵を定義します。

    これはによりスイッチからサーバのパスワードを RFC 2865 および RADIUS 説明 RFC 2866 暗号化された次 RADIUS認証/許可であるために引き起こすleavingcisco.com ので、必須ですleavingcisco.com使用する場合はサーバに合わせる必要があります。 set radius key your_key コマンドを設定します。

手順 C:ローカル ユーザ名の認証/認可

CatOS バージョン 7.5.1 以降、ローカル ユーザの認証に対応しています。 たとえば、ローカル パスワードによる認証ではなく、Catalyst に保存されているユーザ名とパスワードを使用して認証/許可を行えます。

ローカル ユーザの認証に使用できる特権レベルは、0 および 15 の 2 つだけです。 レベル 0 は非特権 exec レベルです。 ▼レベル 15 は特権 enable レベルです。▽

次の例にあるこれらのコマンドを追加する場合は、ユーザ poweruser が Telnet またはコンソールでスイッチにイネーブル モードでアクセスし、ユーザ nonenable が Telnet またはコンソールでスイッチに exec モードでアクセスします。

set localuser user poweruser password powerpass privilege 15
set localuser user nonenable password nonenable

ユーザ nonenable が set enable パスワードを知っている場合は、このユーザはイネーブル モードを続けることができます。

設定後、パスワードは暗号化されて保存されます。

ローカル ユーザ名による認証は、リモート TACACS+ exec、コマンド アカウンティング、またはリモート RADIUS exec アカウンティングと組み合せて使用できます。 また、リモート TACACS+ exec またはコマンド許可と組み合せて使用できますが、ユーザ名は TACACS+ サーバだけでなくスイッチ上にローカルに保存する必要があるため、この方法で使用するのは意味がありません。

手順 D:TACACS+ コマンド認可

この例では、TACACS+ を使用する設定コマンドだけに対して認可を要求するようにスイッチに指示します。 万一 TACACS+ サーバがダウンした場合、認証は none になります。 これはコンソール ポートと Telnet セッションの両方に適用されます。 次のコマンドを発行します。

set authorization commands enable config tacacs none both

この例では、次のパラメータを設定した場合に許可するよう TACACS+ サーバを設定します。

command=set
arguments (permit)=port 2/12

確認のため、set port enable 2/12 コマンドが TACACS+ サーバに送られます。

コマンド認可をイネーブルにすると、enable がコマンドと見なされないルータ内とは異なり、スイッチでは enable が試行された際に enable コマンドがサーバに送られます。 サーバが enable コマンドを許可するように設定されていることも確認してください。

手順 E:TACACS+ exec 認可

この例では、TACACS+ を使用する exec セッションだけに対して認可を要求するようにスイッチに指示します。 万一 TACACS+ サーバがダウンした場合、認可は none になります。 これはコンソール ポートと Telnet セッションの両方に適用されます。 set authorization exec enable tacacs+ none both コマンドを設定します。

これにより、認証要求に加えて別の認可要求がスイッチから TACACS+ サーバに対して送信されます。 TACACS+ サーバでユーザのプロファイルが shell/exec に対して設定されている場合、そのユーザはスイッチにアクセスできます。

これにより、サーバで shell/exec サービスが設定されていないユーザ(PPP ユーザなど)はスイッチにログインできなくなります。 この場合は Exec mode authorization failed というメッセージが表示されます。 ユーザに対する exec モードの許可/拒否に加えて、サーバ上で特権レベル 15 を割り当てることにより、進入時に強制的に enable モードにするようにできます。 Cisco bug ID CSCdr51314登録ユーザ専用)が修正されたコードが、サーバで稼働している必要があります。

手順 F:RADIUS exec 認可

RADIUS exec 認可をイネーブルにするコマンドはありません。 代替手段として、RADIUS サーバで Service-Type(RADIUS アトリビュート 6)を Administrative(値 6)に設定し、RADIUS サーバでユーザを enable モードで起動します。 Service-Type を 6-Admistrative 以外(1-Login、7-Shell、2-Framed など)に設定した場合、ユーザにはスイッチの exec プロンプトが表示されますが、enable プロンプトは表示されません。

認証と認可のために、次のコマンドをスイッチに追加します。

aaa authorization exec TEST group radius
 line vty 0 4
 authorization exec TEST 
 login authentication TEST 

手順 G:アカウンティング:TACACS+ または RADIUS

TACACS+ アカウンティングをイネーブルにするには、次の手順に従います。

  1. スイッチ プロンプトが表示されたら、set accounting exec enable start-stop tacacs+ コマンドを設定します。

  2. スイッチから外部に Telnet するユーザでは、set accounting connect enable start-stop tacacs+ コマンドを設定します。

  3. スイッチがリブートしたら、set accounting system enable start-stop tacacs+ コマンドを設定します。

  4. コマンドを実行するユーザでは、set accounting commands enable all start-stop tacacs+ コマンドを設定します。

  5. ユーザがまだログインしていることをサーバに通知するために、たとえば 1 分に 1 回レコードをアップデートするには、set accounting update periodic 1 コマンドを設定します。

RADIUS アカウンティングをイネーブルにするには、次の手順に従います。

  1. スイッチ プロンプトが表示されたユーザでは、set accounting exec enable start-stop radius コマンドを設定します。

  2. スイッチから Telnet するユーザでは、set accounting connect enable start-stop radius コマンドを設定します。

  3. スイッチがリブートしたら、set accounting system enable start-stop radius コマンドを設定します。

  4. ユーザがまだログインしていることをサーバに通知するために、たとえば 1 分に 1 回レコードをアップデートするには、set accounting update periodic 1 コマンドを設定します。

TACACS+ フリーウェア レコード

次の出力はサーバで表示されるレコードの例です。

Fri Mar 24 13:22:41 2000 10.31.1.151 pinecone telnet85
171.68.118.100 stop task_id=5 start_time=953936729 timezone=UTC
service=shell disc-cause=2 elapsed_time=236
Fri Mar 24 13:22:50 2000 10.31.1.151 pinecone telnet85
171.68.118.100 stop task_id=15 start_time=953936975 timezone=UTC
service=shell priv-lvl=0 cmd=enable
Fri Mar 24 13:22:54 2000 10.31.1.151 pinecone telnet85
171.68.118.100 stop task_id=16 start_time=953936979 timezone=UTC
service=shell priv-lvl=15 cmd=write terminal
Fri Mar 24 13:22:59 2000 10.31.1.151 pinecone telnet85
171.68.118.100 stop task_id=17 start_time=953936984 timezone=UTC
service=shell priv-lvl=15 cmd=show version
Fri Mar 24 13:23:19 2000 10.31.1.151 pinecone telnet85
171.68.118.100 update task_id=14 start_time=953936974 timezone=UTC
service=shell

UNIX 上の RADIUS のレコード出力

次の出力はサーバで表示されるレコードの例です。

Client-Id = 10.31.1.151
NAS-Port-Type = 0
User-Name = "login"
Acct-Status-Type = Start
Acct-Authentic = RADIUS
User-Service-Type = 7
Acct-Session-Id = "0000002b"
Acct-Delay-Time = 0

Client-Id = 10.31.1.151
NAS-Port-Type = 0
User-Name = "login"
Calling-Station-Id = "171.68.118.100"
Acct-Status-Type = Start
User-Service-Type = Login-User
Acct-Session-Id = "0000002c"
Login-Service = Telnet
Login-Host = 171.68.118.100
Acct-Delay-Time = 0

Client-Id = 10.31.1.151
NAS-Port-Type = 0
User-Name = "login"
Calling-Station-Id = "171.68.118.100"
Acct-Status-Type = Stop
User-Service-Type = Login-User
Acct-Session-Id = "0000002c"
Login-Service = Telnet
Login-Host = 171.68.118.100
Acct-Session-Time = 9
Acct-Delay-Time = 0

Client-Id = 10.31.1.151
NAS-Port-Type = 0
User-Name = "login"
Acct-Status-Type = Stop
Acct-Authentic = RADIUS
User-Service-Type = 7
Acct-Session-Id = "0000002b"
Received unknown attribute 49
Acct-Session-Time = 30
Acct-Delay-Time = 0

手順 H:TACACS+ enable 認証

次の手順を実行します。

  1. set authentication enable local enable コマンドを設定し、サーバがダウンした場合のスイッチへのバック ドアを確保します。

  2. set authentication enable tacacs enable コマンドを設定し、enable 要求をサーバに送るようスイッチに指示します。

ステップ I - Radius enable 認証

次のコマンドを追加して、スイッチからユーザ名 $enab15$ が RADIUS サーバに送信されるようにします。 RADIUS サーバによっては、この種のユーザ名をサポートしていません。 個々のユーザを enable モードで起動する別の代替手段(Service-Type を設定する(RADIUS アトリビュート 6 を Administrative に設定する)などの方法)については、「手順 E」を参照してください。

  1. set authentication enable local enable コマンドを設定し、サーバがダウンした場合のスイッチへのバック ドアを確保します。

  2. set authentication enable radius enable コマンドを設定し、RADIUS サーバがユーザ名 $enab15$ をサポートしている場合は enable 要求をサーバに送るようスイッチに指示します。

ステップJ - TACACS+ enable 許可

次のコマンドを追加すると、ユーザが enable を試行したときにスイッチからサーバに enable が送られます。 サーバでは enable コマンドを許可する必要があります。 次の例では、サーバがダウンした場合に備えて none へのフェールオーバーを指定します。

set author enable enable tacacs+ none both

手順 K:Kerberos 認証

スイッチに Kerberos 認証を設定する方法についての詳細は、『認証、認可、およびアカウンティングを使用したスイッチ アクセスの制御と監視』を参照してください。

パスワード回復

パスワードの回復方法についての詳細は、『パスワード回復手順』を参照してください。

このページは Cisco 製品のパスワード回復手順インデックスページです。

ip permit コマンドによるセキュリティ強化

セキュリティ強化のため、次のように ip permit コマンドによって Telnet アクセスを制御するように Catalyst を設定できます。

set ip permit enable telnet

set ip permit range mask|host

これで、指定された範囲またはホストだけがスイッチに Telnet できます。

Catalyst でのデバッグ

Catalyst でのデバッグをイネーブルにする前に、サーバ ログを調べて障害の理由を確かめてください。 この方が簡単であり、スイッチへの影響も少なくて済みます。 初期のバージョンのスイッチでは、デバッグはエンジニアリング モードで実行していました。 比較的最近のバージョンのコードでは、デバッグ コマンドを実行するためにエンジニアリング モードにアクセスする必要はありません。

一定トレース tacacs|radius|Kerberos 4

: 一定トレース tacacs|radius|Kerberos 0 コマンドは no-tracing モードに Catalyst を戻します。

マルチレイヤ LAN スイッチについての詳細は、『スイッチ製品に関するサポート ページ』を参照してください。


関連情報


Document ID: 13847