Cisco ワイヤレス LAN コントローラ コンフィギュレーション ガイド リリース 7.4(統合版)
TACACS+ の設定
TACACS+ の設定
発行日;2013/06/17   |   ドキュメントご利用ガイド   |   ダウンロード ;   この章 pdf   ,   ドキュメント全体 pdf    |   フィードバック

TACACS+ の設定

TACACS+ について

Terminal Access Controller Access Control System Plus(TACACS+)は、コントローラへの管理アクセスを取得しようとするユーザに中央管理されたセキュリティを提供する、クライアント/サーバ プロトコルです。 このプロトコルは、ローカルおよび RADIUS に類似したバックエンドのデータベースとして機能します。 ただし、ローカルおよび RADIUS では、認証サポートと制限のある許可サポートしか提供されないのに対し、TACACS+ では、次の 3 つのサービスが提供されます。

  • 認証:コントローラにログインしようとするユーザを検証するプロセス。 コントローラで TACACS+ サーバに対してユーザが認証されるようにするには、ユーザは有効なユーザ名とパスワードを入力する必要があります。 認証サービスおよび許可サービスは、互いに密接に関連しています。 たとえば、ローカルまたは RADIUS データベースを使用して認証が実行された場合、許可ではそのローカルまたは RADIUS データベース内のユーザに関連したアクセス権(read-only、read-write、lobby-admin のいずれか)が使用され、TACACS+ は使用されません。 同様に、TACACS+ を使用して認証が実行されると、許可は TACACS+ に関連付けられます。

    (注)  


    複数のデータベースを設定する場合、コントローラ GUI または CLI を使用して、バックエンド データベースが試行される順序を指定できます。


  • 許可:ユーザのアクセス レベルに基づいて、ユーザがコントローラで実行できる処理を決定するプロセス。 TACACS+ の場合、許可は特定の処理ではなく、権限(またはロール)に基づいて実行されます。 利用可能なロールは、コントローラ GUI の 7 つのメニュー オプション([MONITOR]、[WLAN]、[CONTROLLER]、[WIRELESS]、[SECURITY]、[MANAGEMENT]、および [COMMANDS])に対応しています。 ロビー アンバサダー権限のみを必要とするユーザは、追加のロールである LOBBY を使用できます。 ユーザが割り当てられるロールは、TACACS+ サーバ上で設定されます。 ユーザは 1 つまたは複数のロールに対して許可されます。 最小の許可は MONITOR のみで、最大は ALL です。ALL では、ユーザは 7 つのメニュー オプションすべてに関連付けられた機能を実行できるよう許可されます。 たとえば、SECURITY のロールを割り当てられたユーザは、[Security] メニューに表示される(または CLI の場合はセキュリティ コマンドとして指定される)すべてのアイテムに対して変更を実行できます。 ユーザが特定のロール(WLAN など)に対して許可されていない場合でも、そのユーザは読み取り専用モード(または関連する CLI の show コマンド)で、そのメニュー オプションにアクセスできます。 TACACS+ 許可サーバが接続不能または許可不能になった場合、ユーザはコントローラにログインできません。

    (注)  


    ユーザが割り当てられたロールでは許可されていないコントローラ GUI のページに変更を加えようとすると、十分な権限がないことを示すメッセージが表示されます。 ユーザが割り当てられたロールでは許可されていないコントローラ CLI コマンドを入力すると、実際にはそのコマンドは実行されていないのに、正常に実行されたというメッセージが表示されます。 この場合、「Insufficient Privilege! Cannot execute command!」というメッセージがさらに表示され、コマンドを実行するための十分な権限がないことがユーザに通知されます。


  • アカウンティング:ユーザによる処理と変更を記録するプロセス。 ユーザによる処理が正常に実行される度に、TACACS+ アカウンティング サーバでは、変更された属性、変更を行ったユーザのユーザ ID、ユーザがログインしたリモート ホスト、コマンドが実行された日付と時刻、ユーザの許可レベル、および実行された処理と入力された値の説明がログに記録されます。 TACACS+ アカウンティング サーバが接続不能になった場合、ユーザはセッションを中断されずに続行できます。

RADIUS でユーザ データグラム プロトコル(UDP)を使用するのとは異なり、TACACS+ では、転送にトランスミッション コントロール プロトコル(TCP)を使用します。 1 つのデータベースを維持し、TCP ポート 49 で受信要求をリッスンします。 アクセス コントロールを要求するコントローラは、クライアントとして動作し、サーバから AAA サービスを要求します。 コントローラとサーバ間のトラフィックは、プロトコルで定義されるアルゴリズムと、両方のデバイスにおいて設定される共有秘密キーによって暗号化されます。

最大 3 台の TACACS+ 認証サーバ、許可サーバ、およびアカウンティング サーバをそれぞれ設定できます。 たとえば、1 台の TACACS+ 認証サーバを中央に配置し、複数の TACACS+ 許可サーバを異なる地域に配置できます。 同じタイプの複数のサーバを設定していると、最初のサーバで障害が発生したり、接続不能になっても、コントローラは自動的に 2 台目、および必要に応じて 3 台目のサーバを試行します。


(注)  


複数の TACACS+ サーバが冗長性のために設定されている場合、バックアップが適切に機能するようにするには、すべてのサーバにおいてユーザ データベースを同一にする必要があります。


TACACS+ VSA

インターネット技術特別調査委員会(IETF)ドラフト標準には、ネットワーク アクセス サーバと TACACS+ サーバの間でベンダー固有属性(VSA)を伝達する方法が規定されています。 IETF は属性 26 を使用します。 ベンダーは VSA を使用して、一般的な用途には適さない独自の拡張属性をサポートできます。

シスコの TACACS+ 実装では、IETF 仕様で推奨される形式を使用したベンダー固有のオプションを 1 つサポートしています。 シスコのベンダー ID は 9、サポートされるオプションのベンダー タイプは 1(名前付き cisco-av-pair)です。 値は次の形式のストリングです。


protocol : attribute separator value *

protocol は、特定の許可タイプを表すシスコの属性です。separator は、必須属性の場合は =(等号)、オプションの属性の場合は *(アスタリスク)です。

注意事項および制約事項

  • CiscoSecure Access Control Server(ACS)とコントローラの両方で、TACACS+ を設定する必要があります。 コントローラは、GUI または CLI のいずれかを使用して設定できます。
  • TACACS+ は、CiscoSecure ACS バージョン 3.2 以降のリリースでサポートされます。 実行しているバージョンに対応する CiscoSecure ACS のマニュアルを参照してください。
  • ワンタイム パスワード(OTP)は、TACACS を使用しているコントローラでサポートされます。 この設定では、コントローラがトランスペアレント パススルー デバイスとして動作します。 コントローラは、クライアント動作をチェックせずにすべてのクライアント要求を TACACS サーバに転送します。 OTP を使用する場合は、クライアントが正しく機能するためにはコントローラへの接続を 1 つ確立する必要があります。 現在、コントローラには、複数の接続を確立しようとしているクライアントを修正するチェック機能はありません。
  • 再認証が繰り返し試行されたり、プライマリ サーバがアクティブで接続可能なときにコントローラがバックアップ サーバにフォールバックしたりする場合には、TACACS+ 認証サーバ、許可サーバ、およびアカウンティング サーバの再送信のタイムアウト値を増やすことをお勧めします。 デフォルトの再送信のタイムアウト値は 2 秒です。この値は最大 30 秒まで増やすことができます。

ACS 上での TACACS+ の設定


    ステップ 1   ACS のメイン ページで、[Network Configuration] を選択します。
    ステップ 2   [AAA Clients] の下の [Add Entry] を選択し、使用しているコントローラをサーバに追加します。 [Add AAA Client] ページが表示されます。
    図 1. CiscoSecure ACS の [Add AAA Client] ページ

    ステップ 3   [AAA Client Hostname] テキスト ボックスに、コントローラの名前を入力します。
    ステップ 4   [AAA Client IP Address] テキスト ボックスに、コントローラの IP アドレスを入力します。
    ステップ 5   [Shared Secret] テキスト ボックスに、サーバとコントローラ間の認証に使用する共有秘密キーを入力します。
    (注)     

    共有秘密キーは、サーバとコントローラの両方で同一である必要があります。

    ステップ 6   [Authenticate Using] ドロップダウン リストから [TACACS+ (Cisco IOS)] を選択します。
    ステップ 7   [Submit + Apply] をクリックして、変更内容を保存します。
    ステップ 8   ACS のメイン ページで、左のナビゲーション ペインから [Interface Configuration] を選択します。
    ステップ 9   [TACACS+ (Cisco IOS)] を選択します。 [TACACS+ (Cisco)] ページが表示されます。
    ステップ 10   [TACACS+ Services] の [Shell (exec)] チェックボックスをオンにします。
    ステップ 11   [New Services] で最初のチェックボックスをオンにし、[Service] テキスト ボックスに ciscowlc、[Protocol] テキスト ボックスに common と入力します。
    ステップ 12   [Advanced Configuration] オプションの [Advanced TACACS+ Features] チェックボックスをオンにします。
    ステップ 13   [Submit] をクリックして変更を保存します。
    ステップ 14   ACS のメイン ページで、左のナビゲーション ペインから [System Configuration] を選択します。
    ステップ 15   [Logging] を選択します。
    ステップ 16   [Logging Configuration] ページが表示されたら、ログ記録するすべてのイベントを有効にし、変更内容を保存します。
    ステップ 17   ACS のメイン ページで、左のナビゲーション ペインから [Group Setup] を選択します。
    ステップ 18   [Group] ドロップダウン リストから、以前に作成したグループを選択します。
    (注)     

    この手順では、ユーザが割り当てられることになるロールに基づいて、ACS のグループにすでにユーザが割り当てられていることを想定しています。

    ステップ 19   [Edit Settings] をクリックします。 [Group Setup] ページが表示されます。
    ステップ 20   [TACACS+ Settings] の [ciscowlc common] チェックボックスをオンにします。
    ステップ 21   [Custom Attributes] チェックボックスをオンにします。
    ステップ 22   [Custom Attributes] の下のテキストボックスで、このグループに割り当てるロールを指定します。 使用可能なロールは、MONITOR、WLAN、CONTROLLER、WIRELESS、SECURITY、MANAGEMENT、COMMANDS、ALL、および LOBBY です。 最初の 7 つのロールは、コントローラ GUI のメニュー オプションに対応しており、これら特定のコントローラ機能へのアクセスを許可します。 特定のタスクに対する権限がユーザに与えられていない場合でも、ユーザは読み取り専用モードでそのタスクにアクセスできるようになります。 グループでの必要性に応じて、1 つまたは複数のロールを入力できます。 7 つのロールすべてを指定するには ALL を、ロビー アンバサダー ロールを指定するには LOBBY を使用します。 次の形式を使用してロールを入力します。

    rolex=ROLE

    たとえば、特定のユーザ グループに対して WLAN、CONTROLLER、および SECURITY のロールを指定するには、次のテキストを入力します。

    
    role1=WLAN
    role2=CONTROLLER
    role3=SECURITY?
    

    あるユーザ グループに 7 つのロールすべてに対するアクセスを付与するには、次のテキストを入力します。

    
    role1=ALL?
    
    (注)     

    必ず上記の形式を使用してロールを入力するようにしてください。 ロールはすべて大文字で入力する必要があり、テキスト間にスペースは挿入できません。

    (注)     

    MONITOR ロールまたは LOBBY ロールは、その他のロールと組み合わせることはできません。 [Custom Attributes] テキストボックスにこれら 2 つのロールのどちらかを指定すると、追加のロールが指定された場合でも、ユーザには MONITOR または LOBBY 権限のみが付与されます。

    ステップ 23   [Submit] をクリックして変更を保存します。

    TACACS+ の設定(GUI)


      ステップ 1   [Security] > [AAA] > [TACACS+] の順に選択します。
      ステップ 2   次のいずれかの操作を行います。
      • TACACS+ サーバを認証用に設定する場合は、[Authentication] を選択します。

      • TACACS+ サーバを許可用に設定する場合は、[Authorization] を選択します。

      • TACACS+ サーバをアカウンティング用に設定する場合、[Accounting] をクリックします。

      (注)     

      認証、許可、アカウンティングの設定に使用されるページでは、すべて同じテキスト ボックスが表示されます。 そのため、ここでは [Authentication] ページを例にとって、設定の手順を一度だけ示します。 同じ手順に従って、複数のサービスまたは複数のサーバを設定できます。

      (注)     

      TACACS+ を使用して基本的な管理認証が正常に行われるには、WLC で認証サーバと許可サーバを設定する必要があります。 アカウンティングの設定は任意です。

      [TACACS+(Authentication、Authorization、または Accounting)Servers] ページが表示されます。 このページでは、これまでに設定されたすべての TACACS+ サーバが表示されます。

      • 既存のサーバを削除するには、そのサーバの青いドロップダウンの矢印の上にカーソルを置いて、[Remove] を選択します。

      • コントローラが特定のサーバに到達できることを確認するには、そのサーバの青いドロップダウンの矢印の上にカーソルを置いて、[Ping] を選択します。

      ステップ 3   次のいずれかの操作を行います。
      • 既存の TACACS+ サーバを編集するには、そのサーバのサーバ インデックス番号をクリックします。 [TACACS+(Authentication、Authorization、または Accounting)Servers > Edit] ページが表示されます。

      • TACACS+ サーバを追加するには、[New] をクリックします。 [TACACS+(Authentication、Authorization、または Accounting)Servers > New] ページが表示されます。

      ステップ 4   新しいサーバを追加している場合は、[Server Index (Priority)] ドロップダウン リストから数字を選択し、同じサービスを提供するその他の設定済みの TACACS+ サーバに対してこのサーバの優先順位を指定します。 最大 3 台のサーバを設定できます。 コントローラが最初のサーバに接続できない場合、リスト内の 2 番目および必要に応じて 3 番目のサーバへの接続を試行します。
      ステップ 5   新しいサーバを追加している場合は、[Server IP Address] テキスト ボックスに TACACS+ サーバの IP アドレスを入力します。
      ステップ 6   [Shared Secret Format] ドロップダウン リストから [ASCII] または [Hex] を選択し、コントローラと TACACS+ サーバ間で使用される共有秘密キーの形式を指定します。 デフォルト値は [ASCII] です。
      ステップ 7   [Shared Secret] テキスト ボックスと [Confirm Shared Secret] テキスト ボックスに、コントローラとサーバ間で認証に使用される共有秘密キーを入力します。
      (注)     

      共有秘密キーは、サーバとコントローラの両方で同一である必要があります。

      ステップ 8   新しいサーバを追加している場合は、[Port Number] テキスト ボックスに、インターフェイス プロトコルに対応する TACACS+ サーバの TCP ポート番号を入力します。 有効な範囲は 1 ~ 65535 で、デフォルト値は 49 です。
      ステップ 9   [Server Status] テキスト ボックスから [Enabled] を選択してこの TACACS+ サーバを有効にするか、[Disabled] を選択して無効にします。 デフォルト値は [Enabled] です。
      ステップ 10   [Server Timeout] テキスト ボックスに、再送信の間隔を秒単位で入力します。 有効な範囲は 5 ~ 30 秒で、デフォルト値は 5 秒です。
      (注)     

      再認証が繰り返し試行されたり、プライマリ サーバがアクティブで接続可能なときにコントローラがバックアップ サーバにフォールバックしたりする場合には、タイムアウト値を増やすことをお勧めします。

      ステップ 11   [Apply] をクリックして、変更を確定します。
      ステップ 12   [Save Configuration] をクリックして、変更を保存します。
      ステップ 13   同じサーバ上で、または追加の TACACS+ サーバ上で追加のサービスを設定する場合は、上記の手順を繰り返します。
      ステップ 14   [Security] > [Priority Order] > [Management User] の順に選択し、複数のデータベースを設定する際の認証の順序を指定します。 [Priority Order > Management User] ページが表示されます。
      ステップ 15   [Order Used for Authentication] テキスト ボックスで、コントローラが管理ユーザを認証する際にどのサーバを優先するかを指定します。

      [Not Used] テキスト ボックスと [Order Used for Authentication] テキスト ボックスの間でサーバを移動するには、[>] および [<] ボタンを使用します。 希望するサーバが [Order Used for Authentication] テキスト ボックスに表示されたら、[Up] ボタンと [Down] ボタンを使用して優先するサーバをリストの先頭に移動します。 デフォルトで、ローカル データベースは常に最初に検索されます。 ユーザ名が見つからない場合、コントローラは、RADIUS に設定されている場合は RADIUS サーバへの切り換え、TACACS+ に設定されている場合は TACACS+ サーバへの切り換えを行います。 デフォルトの設定はローカル、RADIUS の順になっています。

      ステップ 16   [Apply] をクリックして、変更を確定します。
      ステップ 17   [Save Configuration] をクリックして、変更を保存します。

      TACACS+ の設定(CLI)

      • 次のコマンドを入力して、TACACS+ 認証サーバを設定します。

        • config tacacs auth add index server_ip_address port# {ascii | hex} shared_secret:TACACS+ 認証サーバを追加します。
        • config tacacs auth delete index:以前に追加された TACACS+ 認証サーバを削除します。
        • config tacacs auth (enable | disable} index:TACACS+ 認証サーバを有効または無効にします。
        • config tacacs auth server-timeout index timeout:TACACS+ 認証サーバの再送信のタイムアウト値を設定します。

      • 次のコマンドを入力して、TACACS+ 許可サーバを設定します。

        • config tacacs athr add index server_ip_address port# {ascii | hex} shared_secret:TACACS+ 許可サーバを追加します。

        • config tacacs athr delete index:以前に追加された TACACS+ 許可サーバを削除します。

        • config tacacs athr (enable | disable} index:TACACS+ 許可サーバを有効または無効にします。

        • config tacacs athr server-timeout index timeout:TACACS+ 許可サーバの再送信のタイムアウト値を設定します。

      • 次のコマンドを入力して、TACACS+ アカウンティング サーバを設定します。

        • config tacacs acct add index server_ip_address port# {ascii | hex} shared_secret:TACACS+ アカウンティング サーバを追加します。

        • config tacacs acct delete index:以前に追加された TACACS+ アカウンティング サーバを削除します。

        • config tacacs acct (enable | disable} index:TACACS+ アカウンティング サーバを有効または無効にします。

        • config tacacs acct server-timeout index timeout:TACACS+ アカウンティング サーバの再送信のタイムアウト値を設定します。

      • 次のコマンドを入力して、TACACS+ の統計情報を表示します

        • show tacacs summary:TACACS+ サーバと統計情報の概要を表示します。

        • show tacacs auth stats:TACACS+ 認証サーバの統計情報を表示します。

        • show tacacs athr stats:TACACS+ 許可サーバの統計情報を表示します。

        • show tacacs acct stats:TACACS+ アカウンティング サーバの統計情報を表示します。

      • 次のコマンドを入力して、1 台または複数の TACACS+ サーバの統計情報をクリアします。

        clear stats tacacs [auth | athr | acct] {index | all}

      • 次のコマンドを入力して、複数のデータベースを設定する際の認証の順序を設定します。 デフォルト設定では local、radius の順になっています。

        config aaa auth mgmt [radius | tacacs]

        現在の管理認証サーバの順序を表示するには、show aaa auth コマンドを入力します。

      • 次のコマンドを入力して、コントローラが TACACS+ サーバに到達できることを確認します。

        ping server_ip_address

      • 次のコマンドを入力して、TACACS+ のデバッグを有効または無効にします。

        debug aaa tacacs {enable | disable}

      • 次のコマンドを入力して、変更を保存します。

        save config

      TACACS+ 管理サーバのログの表示


        ステップ 1   ACS のメイン ページで、左のナビゲーション ペインから [Reports and Activity] を選択します。
        ステップ 2   [Reports] の [TACACS+ Administration] を選択します。

        表示するログの日付に対応する .csv ファイルをクリックします。 [TACACS+ Administration .csv] ページが表示されます。

        図 2. CiscoSecure ACS の [TACACS+ Administration .csv] ページ

        このページは、次の情報を表示します。
        • 処理が実行された日付と時刻
        • 処理を実行したユーザの名前と割り当てられたロール
        • ユーザが属するグループ
        • ユーザが実行した特定の処理
        • 処理を実行したユーザの権限レベル
        • コントローラの IP アドレス
        • 処理が実行されたノートパソコンまたはワークステーションの IP アドレス
        単一の処理(またはコマンド)が、コマンド内のパラメータごとに、複数回ログ記録される場合があります。 たとえば、ユーザが snmp community ipaddr ip_address subnet_mask community_name というコマンドを入力したとします。このとき、ある行では、IP アドレスはログに記録されても、サブネット マスクとコミュニティ名はログに「E」と記録されることがあります。また別の行では、サブネット マスクがログに記録され、IP アドレスとコミュニティ名はログに「E」と記録されることがあります。次の図の例の最初の行と 3 番目の行を参照してください。
        図 3. CiscoSecure ACS の [TACACS+ Administration .csv] ページ