セキュリティ : Cisco PIX 500 シリーズ セキュリティ アプライアンス

PIX/ASA:TACACS+ および RADIUS サーバを使用したネットワーク アクセスのカットスルー プロキシの設定例

2008 年 5 月 29 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 9 月 13 日) | 英語版 (2008 年 10 月 13 日) | フィードバック

目次

概要
前提条件
      要件
      使用するコンポーネント
      関連製品
      表記法
背景説明
PIX での AAA の設定
      PIX の設定例
      Telnet 認証
      コンソール ポート認証
      認証のイネーブル化
      Web クライアントのセキュアな認証のイネーブル化
      認証用の SSH の設定
      exclude コマンドの使用
      Cisco Secure ACS を使用した RADIUS/TACACS+ サーバの設定
      TACACS+ 認可の設定
      RADIUS 認可の設定
      MAC ベースの AAA 除外の使用
      フォールバック方式としてのローカル データベースの設定
      仮想 Telnet
確認
トラブルシューティング
関連するシスコ サポート コミュニティ ディスカッション
関連情報

概要

このドキュメントでは、PIX ソフトウェア バージョン 6.3 以降が稼働する PIX ファイアウォールへの AAA 認証された(カットスルー プロキシ)アクセスを確立する方法を説明しています。

PIX ファイアウォールでは、競合するファイアウォールよりも劇的に優れたパフォーマンスが提供されます。ここでは、カットスルー プロキシと呼ばれる特許出願中のプロセスにより速度が達成されており、これはファイアウォールでのユーザ認証の最も高速な方法です。

OSI モデルの第 7 層で各パケットを分析する必要があるプロキシ サーバとは異なり、時間およびプロセス集中型の PIX ファイアウォールでは、認証のために、まず TACACS+ または RADIUS サーバにクエリーが実行されます。承認されると、PIX ファイアウォールによってデータ フローが確立され、それ以降のすべてのトラフィックが 2 者間を直接的かつ高速に通過します。

カットスルー プロキシによって、PIX ファイアウォールはセッションの状態を維持しながら、プロキシベースのサーバよりも劇的に高速に動作します。また、カットスルー プロキシでは、既存の認証データベースを再利用することで所有コストも削減されます。

前提条件

要件

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

使用するコンポーネント

このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づくものです。

  • Cisco Secure PIX Firewall ソフトウェア バージョン 6.3 以降

  • Cisco Secure Access Control Server(ACS)バージョン 3.2 以降

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。対象のネットワークが実稼働中である場合には、どのような作業についても、その潜在的な影響について確実に理解しておく必要があります。

関連製品

この設定は 7.x バージョンの Cisco ASA 5500 シリーズ セキュリティ アプライアンスでも使用できます。

表記法

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

背景説明

アクセス リストを使用すると、IP アドレスとプロトコルに基づいたトラフィックの制御が可能です。ただし、特定のユーザまたはグループのアクセスと使用を制御するには、認証と認可を使用する必要があります。ユーザを識別するプロセスである認証は、RADIUS および TACACS+ のサーバの PIX ファイアウォールでサポートされています。認可では、任意のユーザの特定の許可が識別されます。

内部(ローカル)ホストが外部(低いセキュリティ)ネットワークへの接続を開始する際に認証と認可を適用する場合、内部(高いセキュリティ)インターフェイスでそれをイネーブルにする必要があります。外部ホストが内部ホストへの接続を開始する際に認証と認可が実行されるように設定するには、それを Outside インターフェイスでイネーブルにする必要があります。

AAA を使用すると、セキュリティ アプライアンスでは、ユーザが誰なのか(認証)、ユーザが何をできるのか(認可)、およびユーザが何をしたのか(アカウンティング)が判断できるようになります。

Access Control List(ACL; アクセス コントロール リスト)を単独で使用する場合と比較して、AAA ではユーザ アクセスに対する付加的な保護と制御が提供されます。たとえば、DMZ ネットワーク上のサーバの Telnet に対するすべての Outside ユーザのアクセスを許可する ACL を作成することができます。一部のユーザだけにサーバへのアクセスが必要であり、これらのユーザの IP アドレスを常に認識しているわけではない場合、AAA をイネーブルにして認証または認可(または認証および認可)されたユーザだけにセキュリティ アプライアンスへのアクセスを許可することができます。Telnet サーバによっても認証が指定されます。セキュリティ アプライアンスでは、許可されていないユーザによるサーバへのアクセス試行が防止されます。

認証を単独で使用することも、認可やアカウンティングとともに使用することもできます。認可では、まず最初にユーザが認証されることが常に必要になります。アカウンティングを単独で使用することも、認証や認可とともに使用することもできます。

PIX での AAA の設定

このセクションでは、このドキュメントで説明されている機能を設定するための情報を提供しています。

注:このセクションで使用されているコマンドの詳細を調べるには、Command Lookup Tool登録ユーザ専用)を使用してください。
一部ツールについては、ゲスト登録のお客様にはアクセスできない場合がありますことを、ご了承ください。

認証と認可をイネーブルにするには、次の手順を実行する必要があります。

  1. 使用する認証サーバの IP アドレスを確認して、認証サーバと PIX ファイアウォールによって共有されるサーバの暗号キーを決定します。

  2. 認証サーバに、ネットワークにアクセスできるユーザ、これらのユーザが使用できるサービス、およびこれらのユーザがアクセスできるホストを設定します。

  3. 認証や認可をイネーブルかディセーブルにするように、PIX ファイアウォールを設定します。

また、特定のホストまたはサービスへのユーザ アクセスを制御するように、PIX ファイアウォールを設定できます。ただし、この種のアクセス コントロールは単一の場所である認証サーバに保持する方が簡単です。認証と認可をイネーブルにすると、PIX ファイアウォールから、FTP、Telnet、または HTTP(Web)アクセスのユーザにプロンプトが表示されます。特定のシステムまたはサービスへのアクセスの制御は、認証と認可のサーバによって処理されます。

注:PIX ファイアウォール バージョン 6.3 以降を使用する場合、PIX ファイアウォール上でローカルに設定するユーザ データベースを使用した認証をイネーブルにできます。この設定手順は、RADIUS/TACACS+ サーバの設定手順に類似しています。違いについては、この手順の各ステップで説明しています。

PIX ファイアウォールでユーザ認証と認可をサポートするようにするには、次の手順を実行します。

  1. インバウンドの認証の場合、Outside ホストによる Inside ネットワーク上のサーバへのアクセスを許可するために必要な static および access-list のコマンド文を作成します。

  2. 内部ネットワークがインターネットに接続する場合、登録済み IP アドレスのグローバル アドレス プールを作成します。

  3. アウトバウンド接続を開始できる Inside ホストを指定するには、access-list コマンドを使用して nat コマンドを発行します。

  4. 認証や認可を処理するサーバを識別するには、aaa-server コマンドを発行します。

    一意のサーバ グループ名を作成します。

    例:

    pix(config)#aaa-server AuthInbound protocol tacacs+
    
    pix(config)#aaa-server AuthInbound (inside) host 10.1.1.1 TheUauthKey 
    
    pix(config)#aaa-server AuthOutbound protocol tacacs+
    
    pix(config)#aaa-server AuthOutbound (inside) host 10.1.1.2 TheUauthKey
    

    注:認証に LOCAL データベースを使用する場合、このステップは必要ありません。

    注:RADIUS 認可の設定」セクションで説明されているように、RADIUS 認可は access-list コマンド文で提供されます。

    この例の 1 番目のコマンド文では、TACACS+ 認証を使用した AuthInbound 認証グループが作成されます。2 番目のコマンド文では、AuthInbound サーバが Inside インターフェイス上にあり、IP アドレスが 10.1.1.1 であり、暗号キーが TheUauthKey であることが指定されています。

    3 番目のコマンド文では、TACACS+ 認証を使用した AuthOutbound 認証グループが作成されます。4 番目のコマンド文では、AuthOutbound サーバが Inside インターフェイス上にあり、IP アドレスが 10.1.1.2 であり、暗号キーが TheUauthKey であることが指定されています。

  5. 認証をイネーブルにするには、aaa authentication コマンドを発行します。

    pix(config)#aaa authentication include authen_service if_name 0 0 0 0 
    <server_tag|LOCAL>
    

    このコマンドの authen_service 部分は、認証に含めるトラフィックのタイプまたは認証から除外するトラフィックのタイプを表しています。これは、ftp、telnet、http、または https など、選択されたサービス オプションに基づいています。

    アクセス認証サービス オプションには次のものがあります。

    • enable

    • serial

    • ssh

    • telnet

    シリアル コンソール アクセスには serial、Telnet アクセスには telnet、SSH アクセスには ssh、およびイネーブル モード アクセスには enable を指定します。cut-through authentication サービス オプションには次のものがあります。

    • telnet

    • ftp

    • http

    • https

    • icmp/type

    • proto

    • tcp/port

    • udp/port

    変数である proto は、ip や igmp など、サポートされる任意の IP プロトコル値や名前となります。インタラクティブなユーザ認証をトリガーするのは、telnet、ftp、http、または https トラフィックだけです。このオプションについての詳細は、『Cisco PIX Firewall コマンド リファレンス』の「aaa authentication」コマンドのセクションを参照してください。

    このコマンドの if_name 部分は、ユーザによる認証の要求元であるインターフェイス名を表しています。outside と設定した場合(nameif コマンドを使用して設定)、Outside ネットワークから任意の Inside ネットワークへ発信される接続の認証がイネーブルになります。認証に LOCAL データベースを使用するには、LOCAL キーワードを使用します。AAA サーバを使用するには、aaa-server コマンドを使用して定義された AAA サーバ グループ名で server_tag を置き換えます。

    例:

    0 の IP アドレスはすべてのホストを意味します。ローカルの IP アドレスを 0 に設定すると、どのホストが認証されているのかを認証サーバで判断することが可能になります。

    この例では、Outside ネットワークから任意の Inside ネットワークへ発信された任意の ftp 接続の認証がイネーブルになります。

    pix(config)#aaa authentication include ftp outside 0 0 0 0 AuthOutbound
    
    pix(config)#aaa authentication include telnet outside 0 0 0 0 AuthOutbound
    
    pix(config)#aaa authentication include http outside 0 0 0 0 AuthOutbound
    
    pix(config)#aaa authentication include ftp inside 0 0 0 0 AuthInbound
    

    この例では、Inside ネットワークから任意の Outside ネットワークへ発信された任意の telnet 接続の認証がイネーブルになります。

    pix(config)#aaa authentication include telnet inside 0 0 0 0 AuthInbound
    
    pix(config)#aaa authentication include http inside 0 0 0 0 AuthInbound
    

    注:認証可能なプロトコルにだけ認証を適用するように注意してください。認証の適用に any キーワードを使用していると、Simple Mail Transfer Protocol(SMTP; シンプル メール転送プロトコル)などのプロトコルが PIX ファイアウォールの通過を妨げられます。

  6. 認可をイネーブルにするには、aaa authorization コマンドを発行します。

    pix(config)#aaa authorization include authen_service if_name 0 0 0 0
    

    PIX ファイアウォールは AAA サーバを使用して認可要求の確認を行い、ユーザがアクセスできるサービスを決定します。

    コマンドの authen_service 部分は、認可を要するサービスを表しています。有効な値は、any、ftp、http、telnet、または protocol/port です。すべての TCP サービスの認可を提供するには any を使用します。UDP サービスの認可を提供するには protocol/port 形式を使用します。

    このコマンドの if_name 部分は、ユーザによる認証の要求元であるインターフェイス名を表しています。どのユーザが、どこへのアクセスが求めているのかを判断するには、local-ip アドレスと foreign-ip アドレスを組み合せて interface-name を使用します。local-ip アドレスは常に最も高いセキュリティ レベルのインターフェイス上にあり、foreign-ip は最も低いセキュリティ レベルのインターフェイス上にあります。

    0 の IP アドレスはすべてのホストを意味します。ローカルの IP アドレスを 0 に設定すると、どのホストが許可されているのかを許可サーバで判断することが可能になります。

    注:認可に LOCAL データベースを使用する場合、このステップは必要ありません。

    例:

    pix(config)#aaa authorization include ftp outside 0 0 0 0
    
    pix(config)#aaa authorization include telnet outside 0 0 0 0
    
    pix(config)#aaa authorization include http outside 0 0 0 0
    
    pix(config)#aaa authorization include ftp inside 0 0 0 0
    
    pix(config)#aaa authorization include telnet inside 0 0 0 0
    
    pix(config)#aaa authorization include http inside 0 0 0 0
    

    認可と認証のパラメータに使用できるさまざまなオプションについての詳細は、『Cisco PIX Firewall コマンド リファレンス』を参照してください。

PIX の設定例

インバウンド トラフィックには TACACS+、アウトバウンド トラフィックには RADIUS サーバ、のように異なるタイプのトラフィックを指定するには、PIX ファイアウォールを使用して TACACS+ または RADIUS サーバの個別のグループを定義できます。

この例では、TACACS+ 認証には AuthInbound、RADIUS 認証には AuthOutbound サーバ グループを作成し、Inside インターフェイス上のサーバ 172.68.118.101 によって認証が提供されるように設定しています。

pix(config)#aaa-server AuthInbound protocol tacacs+ 
pix(config)#aaa-server AuthInbound (inside) host 172.68.118.101 cisco timeout 5
pix(config)#aaa-server AuthOutbound protocol radius 
pix(config)#aaa-server AuthOutbound (inside) host 172.68.118.101 cisco timeout 5
pix(config)#aaa authentication include ftp outside 0 0 0 0 AuthOutbound
pix(config)#aaa authentication include telnet outside 0 0 0 0 AuthOutbound
pix(config)#aaa authentication include http outside 0 0 0 0 AuthOutbound
pix(config)#aaa authentication include ftp inside 0 0 0 0 AuthInbound
pix(config)#aaa authentication include telnet inside 0 0 0 0 AuthInbound
pix(config)#aaa authentication include http inside 0 0 0 0 AuthInbound

PIX 7.x 以降では、サーバが無効にされるまでにサーバ グループ内の任意のサーバに許容される認証失敗の回数を指定できます。AAA サーバ グループ モードで max-failed-attempts コマンドを発行します。このコマンドを発行するには、AAA サーバ グループが設定されている必要があります。例:

hostname(config)#aaa-server svrgrp1 protocol tacacs+

hostname(config-aaa-server-group)#max-failed-attempts 4

Telnet 認証

PIX パスワードの要求が表示されてから、RADIUS または TACACS のユーザ名およびパスワード(例では、TACACS サーバ 10.31.1.41 上に格納)の要求が表示されます。例:

pix(config)#aaa-server topix protocol tacacs+

pix(config)#aaa-server topix host 10.31.1.41 cisco timeout 5

pix(config)#aaa authentication telnet console topix

コンソール ポート認証

PIX パスワードの要求が表示されてから、RADIUS/TACACS のユーザ名およびパスワード(例では、RADIUS サーバ 10.31.1.41 上に格納)の要求が表示されます。例:

pix(config)#aaa-server topix protocol radius

pix(config)#aaa-server topix host 10.31.1.41 cisco timeout 5

pix(config)#aaa authentication serial console topix

認証のイネーブル化

この手順では、TACACS または RADIUS サーバに送信されるユーザ名とパスワードを入力するように求められます。イネーブル用の認証パケットはログイン用の認証パケットと同じなので、TACACS または RADIUS を使用して PIX にログインし、同じユーザ名/パスワードで TACACS または RADIUS を介してイネーブルにすることができます。

pix(config)#aaa-server topix protocol radius

pix(config)#aaa-server topix host 10.31.1.41 cisco timeout 5

pix(config)#aaa authentication enable console topix

Web クライアントのセキュアな認証のイネーブル化

PIX ファイアウォール バージョン 6.3 では、Web クライアントと PIX ファイアウォールの間でユーザ名とパスワードを変換するためのセキュアな方式が導入されています。このバージョンでは、Secure Socket Layer(SSL)(HTTPS)を介した HTTP が使用されます。HTTPS によってユーザ名とパスワードが暗号化され、送信がセキュアになります。

以前のバージョンの PIX ファイアウォールで AAA サーバを使用して Web ブラウザを認証した場合は、ユーザ名とパスワードは HTTP クライアントからクリア テキストで取得されます。

次のキーワードを aaa コマンドに追加して、この機能をイネーブルにします。

pix(config)#aaa authentication secure-http-client

キーワード secure-http-client によりこの機能がイネーブルになると、HTTP クライアントと PIX ファイアウォールの間でユーザ名とパスワードが安全に交換されます。

この機能をイネーブルにするためには、AAA 認証を設定して、次のコマンドを発行する必要があります。

pix(config)#aaa authentication include authen_service if_name 0 0 0 0 <server_tag|LOCAL>

このコマンドの構文については、「PIX での AAA の設定」セクションを参照してください。

また、この機能では、セキュアな(HTTPS)Web サイトにアクセスするクライアントの認証もサポートされています。

注:AAA 認証をイネーブルにすると、HTTPS セッションを認証するために secure-http-client が要求されません。

この機能をイネーブルにした後、認証が必要な Web ページにユーザがアクセスすると、PIX ファイアウォールによって HTTPS 認証用のユーザ名とパスワードが要求されます。

tacacs-radius-config6.gif
HTTPS 認証用のユーザ名とパスワードの入力画面
※ 画像をクリックすると、大きく表示されます。

注:Cisco Systems テキスト フィールドをカスタマイズするために、この例では auth-prompt コマンドが発行されています。auth-prompt コマンドを使用して文字列を入力しない場合、このフィールドは空白です。このコマンドの詳細な構文については、『Cisco PIX Firewall コマンド リファレンス』を参照してください。

ユーザが有効なユーザ名とパスワードを入力した後、Authentication Successful ウィンドウが表示され、自動的に閉じます。ユーザが有効なユーザ名とパスワードの入力に失敗すると、Authentication Failed ウィンドウが表示されます。

最大 16 の HTTPS 認証が同時に可能です。16 すべての HTTPS 認証が実行されると、認証が必要な新規の接続は成功しません。認証プロセスは、PIX ファイアウォールがブラウザからユーザ名とパスワードを受け取ると開始され、AAA サーバから認証結果を受け取ると終了します。各認証プロセスを完了するのに必要な時間は、認証元からの応答時間によって異なります。LOCAL データベースが使用される場合、これは非常に短時間です。RADIUS または TACACS+ サーバが使用される場合、これはサーバの応答時間によって異なります。

uauth timeout 0 コマンドが設定される(uauth timeout が 0 に設定される)と、HTTPS 認証が機能しない場合があります。ブラウザによって HTTPS 認証後に Web ページをロードするために複数の TCP 接続が開始される場合、最初の接続は許可されますが、その後の接続では認証がトリガーされます。結果として、正確なユーザ名とパスワードが毎回入力されても、ユーザには引き続き認証ページが表示されます。回避策は、timeout uauth 0:0:1 コマンドで、uauth timeout を 1 秒に設定することです。ただし、この回避策では、認証されていないユーザが同じ IP アドレスを発信元としている場合に、これらのユーザによるファイアウォールの通過が許可される可能性がある 1 秒間の機会が発生します。

セキュアな認証が前の HTTP 要求の処理中である間に、Web ブラウザによって HTTPS Web ページ要求が開始されると、セキュアな認証が HTTPS のために特定的にイネーブルになっていなくても、HTTPS 要求によって 1 秒間のセキュアな認証プロセスがトリガーされます。いずれかの Web ページの認証プロセスに成功すると、ページのリロードによって残りの要求を完了することができます。

HTTPS 認証は SSL ポート 443 で発生するため、HTTP クライアントから HTTP サーバへのトラフィックをブロックするために access-list コマンドをポート 443 で使用しないでください。また、ポート 80 で Web トラフィックのスタティック PAT を設定する場合、SSL ポート 443 のスタティック エントリを設定する必要もあります。次の例では、1 行目によって Web トラフィックのスタティック PAT が設定されます。また、設定モードで HTTPS 認証設定をサポートするために 2 行目を追加する必要があります。

static (inside,outside) tcp 10.132.16.200 www 10.130.16.10 www

static (inside,outside) tcp 10.132.16.200 443 10.130.16.10 443

aaa authentication secure-http-client コマンドが設定されていない場合、HTTP ユーザにはブラウザによって生成されたポップアップ ウィンドウが表示されます。aaa authentication secure-http-client コマンドが設定されている場合、ユーザ名とパスワードを収集するためのフォームがブラウザにロードされます。どちらの場合も、正しくないパスワードを入力すると再入力が促されます。Web サーバと認証サーバが異なるホスト上にある場合、正しい認証動作が行われるためには virtual コマンドを発行します。

認証用の SSH の設定

PIX 5.2 では、Secure Shell(SSH; セキュア シェル)バージョン 1 のサポートが追加されています。SSH 1 は、1995 年 11 月の IETF ドラフトに基づいています。SSH バージョン 1 と 2 の間には互換性がありません。SSH についての詳細は、『Secure Shell(SSH)に関する FAQleavingcisco.comを参照してください。

PIX は SSH サーバとしてみなされます。SSH クライアント(つまり、SSH を実行しているボックス)から SSH サーバ(PIX)へのトラフィックは暗号化されます。一部の SSH バージョン 1 クライアントは、PIX 5.2 リリース ノートに掲載されています。Cisco のラボ テストでは、NT については F-secure SSH 1.1、Solaris についてはバージョン 1.2.26 がテストされています。

注:PIX 7.x については、『システム アクセスの管理』の「SSH アクセスの許可」セクションを参照してください。また、『PIX/ASA 7.x:Inside および Outside インターフェイス上の SSH の設定例』の設定例も参照してください。

AAA 認証された SSH を設定するには、次の手順を実行してください。

  1. SSH を使用しないで、AAA が PIX へ Telnet が実行できることを確認してください。

    pix(config)#aaa-server AuthOutbound protocol radius (or tacacs+)
    pix(config)#aaa authentication telnet console AuthOutbound
    pix(config)#aaa-server AuthOutbound host 172.18.124.111 cisco
    

    注:SSH が設定されていると、ssh 172.18.124.114 255.255.255.255 inside コマンドが PIX 上で発行されるため、telnet 172.18.124.114 255.255.255.255 コマンドは必要ありません。どちらのコマンドもテスト目的のために取り込まれています。

  2. SSH を追加するには、コンフィギュレーション モードで次のコマンドを発行します。

    hostname goss-d3-pix515b
    domain-name rtp.cisco.com
    ca gen rsa key 1024
    
    
    !--- 注意:RSA キーは
    !--- ca save all コマンドを使用しない場合には保存されません。
    !--- write mem コマンドでは保存されません。
    !--- また、PIX で write erase が発行されたり置き換えられたりした場合、
    !--- 古い設定をカット アンド ペーストしても
    !--- キーは生成されません。
    !--- ca gen rsa key コマンドを再入力する必要があります。
    !--- フェールオーバー ペアにセカンダリの PIX が存在する場合、write standby 
    !--- コマンドではプライマリからセカンダリにキーがコピーされません。
    !--- セカンダリ デバイス上でキーを生成して保存する必要があります。
    
    
    
    ssh 172.18.124.114 255.255.255.255 inside
    ssh timeout 60
    aaa authen ssh console AuthOutbound
    logging trap debug
    logging console debug
    
  3. config モードで show ca mypubkey rsa コマンドを発行します。

    goss-d3-pix(config)#show ca mypubkey rsa
     % Key pair was generated at: 08:22:25 Aug 14 2000
     Key name: goss-d3-pix.rtp.cisco.com
      Usage: General Purpose Key
      Key Data:
       30819f30 0d06092a 864886f7 0d010101 05000381 8d003081 89028181 00ad4bcb 
       e9c174d5 0657a0f3 c94e4b6d 32ac8500 6b84e754 59e20df4 f28c257d 131af21d 
       4c0a8f4c e79d8b6d a3520faa 1a42d577 c6adfe51 9d96fa62 f3be07fb 01e082d7 
       133cecff bf24f653 bc690b11 ee222070 413c1920 d02321f8 4fc3c5f1 f0c6e077 
       81e93184 af55438b dcdcda34 c0a5f5ad 87c435ef 
          67170674 4d5ba51e 6d020301 0001
     % Key pair was generated at: 08:27:18 Aug 14 2000
     Key name: goss-d3-pix.rtp.cisco.com.server
      Usage: Encryption Key
      Key Data:
       307c300d 06092a86 4886f70d 01010105 00036b00 30680261 00d4f61b ec45843a 
       4ad9266d b125ee26 efc63cc4 e5e9cda4 9418ee53 6e4d16cf 3d0dc864 4d4830c8 
       fa7f110e 8a5761ed 4ca73ea7 5d405862 6f3150df 9eb0d11e 9c4d3563 95ff51ae 
       6711d60b 9a1415e4 19201d3f 03b455ea c1df9a41 b3a5a73f 4f020301 0001
    
  4. 次のように、Solaris 端末から Telnet を発行します。

    rtp-evergreen#./ssh -c 3des -l cisco -v 172.18.124.157
    

    注:RADIUS/TACACS+ サーバでのユーザ名は cisco であり、172.18.124.157 が宛先です。

exclude コマンドの使用

別のホスト Outside(99.99.99.100)をネットワークに追加して、このホストが信頼できる場合、次のコマンドにより、それらを認証と認可から除外することができます。

pix(config)#aaa authentication exclude telnet inbound 0.0.0.0 0.0.0.0 99.99.99.100
 255.255.255.255 AuthInbound

pix(config)#aaa authorization exclude telnet inbound 0.0.0.0 0.0.0.0 99.99.99.100 
255.255.255.255 AuthInbound

Cisco Secure ACS を使用した RADIUS/TACACS+ サーバの設定

Cisco Secure ACS に RADIUS および TACACS+ を設定するには、次の手順を実行します。

  1. ユーザのクレデンシャルを確認するためには、CSACS の位置を特定するよう PIX を設定する必要があります。

    例:

    pix(config)#aaa-server AuthOutbound protocol radius
    pix(config)#aaa-server AuthOutbound (inside) host 171.68.118.101 testkey
    
  2. 左側で Network Configuration を選択し、Add Entry をクリックして、TACACS+ か RADIUS サーバのデータベースのどちらかに PIX のエントリを追加します。PIX の設定に従って、サーバのデータベースを選択します。

    tacacs-radius-config1.gif
    Network Configuration の Select 画面
    ※ 画像をクリックすると、大きく表示されます。

  3. IP アドレス フィールドに 172.16.1.85 と入力し、共有秘密キー フィールドに test と入力します。Authenticate Using ドロップダウン ボックスで、RADIUS (Cisco IOS/PIX) を選択します。Submit をクリックします。

    tacacs-radius-config2.gif
    Network Configuration の Edit 画面
    ※ 画像をクリックすると、大きく表示されます。

    このキーは、PIX と CSACS サーバ(RADIUS サーバ)の間の認証で使用されます。認証に TACACS+ プロトコルを選択する場合、Authenticate Using ドロップ ダウン メニューで TACACS+(Cisco IOS) を選択します。

    tacacs-radius-config3.gif
    Network Configuration の Edit 画面
    ※ 画像をクリックすると、大きく表示されます。

  4. Cisco Secure データベースの User フィールドにユーザ名を入力してから、Add/Edit をクリックします。

    この例では、ユーザ名は user1 です。

    tacacs-radius-config4.gif
    User Setup の Select 画面
    ※ 画像をクリックすると、大きく表示されます。

  5. 次のウィンドウで、user1 のパスワードを入力します。

    この例でも、パスワードは password1 です。必要に応じて、ユーザ アカウントをグループにマッピングすることができます。完了したら、Submit をクリックします。

    tacacs-radius-config5.gif
    User Setup 画面
    ※ 画像をクリックすると、大きく表示されます。

TACACS+ 認可の設定

TACACS+ でネットワーク アクセス認可を実行するように、セキュリティ アプライアンスを設定できます。認可されるトラフィックを識別するために、認証ルールの照合が必要な ACL を指定します。または、認可ルール自体でトラフィックを直接識別することもできます。

認可対象のトラフィックを識別するために ACL を使用すると、入力する必要がある認可コマンドの数が大幅に削減されます。入力する各認可ルールには送信元、宛先サブネット、およびサービスを 1 つだけしか指定できませんが、ACL には多くのエントリを含ませることができるのがこの理由です。

認証設定と認可設定は互いに独立しています。ただし、認可設定に一致しても、非認証トラフィックは拒否されます。認可に成功するには、ユーザはまず最初にセキュリティ アプライアンスで認証を行う必要があります。ユーザは付与された IP アドレスですべてのルールとタイプについて 1 回だけ認証を行なう必要があるため、もし認証セッションが期限切れでなければ、トラフィックが認証設定に一致する場合であっても、認可は発生する可能性があります。

ユーザ認証の後、セキュリティ アプライアンスは、一致するトラフィックに対して認可ルールの確認を行ないます。トラフィックが認可設定に一致する場合、セキュリティ アプライアンスはユーザ名を TACACS+ サーバに送信します。TACACS+ サーバでは、ユーザ プロファイルに基づいて、セキュリティ アプライアンスにそのトラフィックに対する許可または拒否の応答を返します。セキュリティ アプライアンスでは、応答で指定された認可ルールが適用されます。

ユーザのネットワーク アクセス認可を設定する方法については、TACACS+ サーバのドキュメントを参照してください。

TACACS+ 認可を設定するには、次の手順を実行してください。

  1. 認証をイネーブルにします。

    詳細については、『ネットワーク アクセス認証のイネーブル化』を参照してください。認証をすでにイネーブルにしている場合は、次のステップに進みます。

  2. access-list コマンドを発行して、認可するトラフィックの送信元アドレスと宛先アドレスを識別する ACL を作成します。

    手順については、『拡張アクセス リストの追加』を参照してください。許可 ACE によって、一致するトラフィックが認可にマーク付けされる一方で、拒否エントリによって一致するトラフィックが認可から除外されます。認可の照合に使用する ACL には、認証の照合に使用される ACL 内のルールと同じか、その一部のルールが含まれている必要があります。

    注:認証を設定してあり、認証されているすべてのトラフィックを認可する場合は、aaa authentication match コマンドで作成した同じ ACL を使用できます。

  3. 認可をイネーブルにするには、次のコマンドを発行します。

    hostname/contexta(config)#aaa authorization match acl_name 
    interface_name server_group
    

    このコマンドの acl_name 部分はステップ 2 で作成した ACL の名前であり、このコマンドの interface_name 部分は nameif コマンドまたはデフォルトで指定されたインターフェイスの名前であり、このコマンドの server_group 部分は認証をイネーブルにした際に作成した AAA サーバ グループです。

    注:または、aaa authorization include コマンドを使用できます。これによってコマンド内部でトラフィックが識別されます。ただし、両方の方式を同じ設定では使用できません。詳細については、『Cisco セキュリティ アプライアンス コマンド リファレンス』を参照してください。

    下記のコマンドでは Inside Telnet トラフィックの認証と認可が行われます。10.165.201.5 以外のサーバへの Telnet トラフィックは認証だけを行えますが、10.165.201.5 へのトラフィックは認可が必要です。

    hostname/contexta(config)#access-list TELNET_AUTH extended permit tcp any any 
    eq telnet
    
    hostname/contexta(config)#access-list SERVER_AUTH extended permit tcp any host 
    10.165.201.5 eq telnet
    
    hostname/contexta(config)#aaa-server AuthOutbound protocol tacacs+
    
    hostname/contexta(config-aaa-server-group)#exit
    
    hostname/contexta(config)#aaa-server AuthOutbound (inside) host 10.1.1.1
    
    hostname/contexta(config-aaa-server-host)#key TACPlusUauthKey
    
    hostname/contexta(config-aaa-server-host)#exit
    
    hostname/contexta(config)#aaa authentication match TELNET_AUTH inside AuthOutbound
    
    hostname/contexta(config)#aaa authorization match SERVER_AUTH inside AuthOutbound
    

RADIUS 認可の設定

PIX ファイアウォールを使用すると、RADIUS サーバでは、RADIUS 認証応答メッセージでユーザ グループ アトリビュートを PIX ファイアウォールに送信できるようになります。

管理者は、まず最初に PIX ファイアウォール上で各ユーザ グループに対するアクセス リストを定義します。たとえば、組織内の各部門(営業、マーケティング、エンジニアリングなど)に対するアクセス リストが存在する場合があります。次に、管理者は、CiscoSecure と呼ばれる Cisco 版 RADIUS 内のグループ プロファイルにアクセス リストを一覧で掲載します。

PIX ファイアウォールは、RADIUS サーバにユーザの認証を要求します。ユーザが認可されると、RADIUS サーバは、ベンダー固有のアトリビュート 11(filter-id)を使用し、確認の認可応答メッセージを PIX ファイアウォールへ返し、ユーザの所属するグループに対するアクセス リストを設定します。RADIUS アトリビュート 11 は、その設定情報を受け渡すためには使用できません。

また、一貫性を維持するために、PIX ファイアウォールでは TACACS+ と同じ機能が提供されます。

注:アクセス リストは、RADIUS や TACACS で使用できますが、FTP、HTTP、または Telnet の認可は TACACS+ でだけ可能です。

1 部門内のユーザを 3 台のサーバに制限し、それ以外をすべて拒否するには、次の access-list コマンド文を発行します。

access-list eng permit ip any server1 255.255.255.255

access-list eng permit ip any server2 255.255.255.255

access-list eng permit ip any server3 255.255.255.255

access-list eng deny ip any any

この例では、CiscoSecure 設定内のベンダー固有のアトリビュート文字列が acl=eng に設定されています。アクセス リスト識別名を識別するには、CiscoSecure 設定内のこのフィールドを使用します。PIX ファイアウォールによって、CiscoSecure から acl=acl_ID 文字列が受け取られ、ACL の識別名が抽出され、ユーザの uauth エントリに置かれます。

ユーザが接続を開始しようとすると、ユーザの uauth エントリ内では PIX ファイアウォールによってアクセス リストが確認され、接続が許可または拒否されます。これは、アクセス リスト照合の許可または拒否ステータスによって異なります。接続が拒否されると、PIX ファイアウォールによって対応する syslog メッセージが生成されます。何も一致しない場合、暗黙的なルールは拒否です。

任意のユーザの送信元 IP はどこからログインしているのかによって異なる可能性があるため、access-list コマンド文の送信元アドレスを any に設定し、ユーザがアクセスを許可または拒否されているネットワーク サービスを識別するように宛先アドレスを設定します。

注:aaa authorization コマンドでは、個別の RADIUS オプションは不要です。

MAC ベースの AAA 除外の使用

PIX ファイアウォール バージョン 6.3 以降では、AAA 認証をサポートしていない Cisco IP Phone などのデバイスの認証をバイパスする MAC アドレスを設定できます。この機能を使用するには、Inside(高いセキュリティ)インターフェイスで MAC アドレスを識別する必要があります。PIX ファイアウォールでは、一致するトラフィックで AAA サーバをバイパスするために、MAC アドレスおよび MAC アドレスに動的に割り当てられた IP アドレスが使用されます。認可サービスは、認証をバイパスすると自動的にディセーブルになります。(イネーブルの場合)アカウンティング レコードは継続して生成されますが、ユーザ名は表示されません。

AAA 認証から除外される MAC アドレスのリストを作成してから、MAC ベースの AAA 除外をイネーブルにするためにそのリストを AAA サーバに割り当てます。

注:この機能は Outside(低いセキュリティ レベルのインターフェイス)には適用できません。

  1. MAC アドレスのリストを定義するには、コンフィギュレーション モードで次のコマンドを発行します。

    mac-list mcl-id deny | permit mac mac-mask
    

    このコマンドを必要な回数発行して、リストに追加するすべての MAC アドレスを定義します。mcl-id を MAC リストの識別名と置き換えます。

    認証から除外される MAC アドレスを識別するには、permit オプションを使用します。認証のバイパスを防ぐには、deny オプションを使用します。mac 部分を、ベンダー ID などのハードウェア アドレスの共通部分に基づいて、デバイスのグループを選択するために使用できるように、部分的な MAC アドレスに置き換えます。mac-mask 部分は、照合に使用する必要がある MAC アドレスの部分を識別するマスクと置き換えます。

    たとえば、次のコマンドでは単一の MAC アドレスの認証がバイパスされます。

    mypix(config)#mac-list adc permit 00a0.c95d.0282 ffff.ffff.ffff
    

    上記の例では、マスク FFFF.FFFF.FFFF によって、先行する 16 進数アドレス内の 12 桁(6 バイト)すべてを照合するように PIX ファイアウォールに対して指示されています。

    次のコマンドでは、ハードウェア ID 0003.E3 が含まれるすべての Cisco IP Phone の認証がバイパスされます。

    mypix(config)#mac-list adc permit 0003.E300.0000 FFFF.FF00.0000
    
  2. AAA サーバに MAC リストを適用するには、次のコマンドを発行します。

    mypix(config)#aaa mac-exempt match<mcl-id>
    

    mcl-id を、適用する MAC リストの識別名に置き換えます。

    たとえば次のコマンドでは、AAA サーバには MAC リスト adc が適用されます。

    mypix(config)#aaa mac-exempt match<adc>
    
  3. 特定の MAC リスト内の現在のエントリを表示するには、次のコマンドを発行します。

    mypix#show mac-list [mcl-id]
    

    MAC リストの識別名を省略すると、現在設定されているすべての MAC リストが表示されます。

  4. MAC リスト上のすべてのエントリをクリアするには、次のコマンドを発行します。

    mypix#clear mac-list [mclid]
    

    MAC リストの識別名を省略すると、現在設定されているすべての MAC リストがクリアされます。

フォールバック方式としてのローカル データベースの設定

このセクションでは、ローカル データベース内でのユーザの管理方法を説明しています。CLI アクセス認証、特権モード認証、コマンド認可、ネットワーク アクセス認証、および VPN 認証と認可には、ローカル データベースを使用できます。ネットワーク アクセス認可には、ローカル データベースを使用できません。ローカル データベースではアカウンティングがサポートされません。

マルチ コンテキスト モードの場合、ログイン コマンドを使用した個別のログインを提供するために、システム実行スペースでユーザ名を設定できます。ただし、システム実行スペースでは aaa コマンドは設定できません。

次の手順を実行します。

  1. ローカル データベースでユーザ アカウントを定義するには、次のコマンドを実行します。

    • PIX 6.3 の場合:

      hostname(config)#username username {[{nopassword | password 
      password} [encrypted]] [privilege level]}
      
    • PIX/ASA 7.x の場合:

      構文

      hostname(config)#username user password password1 encrypted
      pix(config)#aaa authentication {telnet | ssh | http | serial} console 
      {LOCAL | server_group [LOCAL]}
      

    注:認証に TACACS+ または RADIUS サーバ グループを使用する場合、AAA サーバが使用できない場合のフォールバック方式としてローカル データベースを使用するようにセキュリティ アプライアンスを設定できます。サーバ グループ名を指定して、その後に LOCAL を続けます(LOCAL は大文字小文字が区別されます)。セキュリティ アプライアンス プロンプトでは使用されている方式が表示されないため、ローカル データベース内では AAA サーバと同じユーザ名とパスワードを使用することを推奨いたします。

    例:

    pix(config)#aaa authentication ssh console TACACS+ LOCAL
    

    または、LOCAL だけを入力することで、(フォールバックなしの)認証のメイン方式としてローカル データベースを使用できます。たとえば、ローカル データベースにユーザ アカウントを定義し、SSH 接続にローカル認証を実行するには、次のコマンドを発行します。

    例:

    pix(config)#aaa authentication ssh console LOCAL
    
  2. PIX 7.x 以降の場合、VPN アトリビュートを使用したローカル ユーザ アカウントを設定するには、次のコマンドを発行します。

    hostname/contexta(config)#username username attributes
    

    username attributes コマンドを発行すると、ユーザ名モードに切り替わります。このモードで使用可能な、ユーザ プロファイルを設定するために発行する必要があるコマンドは次のとおりです。

    • group-lock

    • password-storage

    • vpn-access-hours

    • vpn-filter

    • vpn-framed-ip-address

    • vpn-group-policy

    • vpn-idle-timeout

    • vpn-session-timeout

    • vpn-simultaneous-logins

    • vpn-tunnel-protocol

    • webvpn

仮想 Telnet

任意のプロトコルやサービスにネットワーク アクセス認証を設定できますが(aaa authentication match または aaa authentication include コマンドを参照)、直接に認証できるのは、HTTP、Telnet、または FTP の場合だけです。ユーザはまずこれらのサービスのいずれかで認証を行ってから、認証を要求する他のトラフィックの通過を許可する必要があります。HTTP、Telnet、または FTP によるセキュリティ アプライアンスの通過を許可しないで他のタイプのトラフィックを認証する場合は、仮想 Telnet を設定できます。ユーザがセキュリティ アプライアンス上で設定された任意の IP アドレスへ Telnet を実行すると、セキュリティ アプライアンスから Telnet プロンプトが返されます。

仮想 Telnet サーバを設定するには、次のコマンドを発行します。

hostname(config)#virtual telnet <ip_address>

ip_address 引数によって、仮想 Telnet サーバの IP アドレスが設定されます。このアドレスがセキュリティ アプライアンスにルーティングされた未使用のアドレスであることを確認してください。

authentication match コマンドか aaa authentication include コマンドを使用して、仮想 Telnet アドレスへの Telnet アクセスの認証、さらには認証する他のサービスを設定する必要があります。

認証されていないユーザが仮想 Telnet IP アドレスへ接続すると、ユーザはユーザ名とパスワードを求められてから、AAA サーバによって認証されます。認証されると、ユーザには「Authentication Successful」のメッセージが表示されます。これで、ユーザは認証が必要な他のサービスにアクセスできます。

(低いセキュリティから高いセキュリティへの)インバウンド ユーザの場合、送信元インターフェイスへ適用されたアクセス リスト内で、宛先インターフェイスとして仮想 Telnet アドレスも含める必要があります。また、(no nat-control コマンドの使用によって)NAT が必要でなくても、仮想 Telnet IP アドレスに static コマンドを追加する必要もあります。通常、アイデンティティ NAT コマンドが使用されます(アドレスをそれ自体に変換します)。

アウトバウンド ユーザの場合、トラフィックの明示的な許可が存在します。ただし、Inside インターフェイスにアクセス リストを適用する場合は、仮想 Telnet アドレスへのアクセスを必ず許可します。static 設定は不要です。

セキュリティ アプライアンスからログアウトするには、仮想 Telnet IP アドレスへ再接続します。ユーザはログアウトを促されます。

次の例は、他のサービスの AAA 認証とともに、仮想 Telnet をイネーブルにする方法を示しています。

hostname(config)#virtual telnet 10.165.202.129
hostname(config)#access-list ACL-IN extended permit tcp any host 10.165.200.225 
eq smtp
hostname(config)#access-list ACL-IN

!--- これは Inside の SMTP サーバです。

hostname(config)#access-list ACL-IN extended permit tcp any host 10.165.202.129 
eq telnet
hostname(config)#access-list ACL-IN 

!--- これは仮想 Telnet アドレスです。

hostname(config)#access-group ACL-IN in interface outside
hostname(config)#static (inside, outside) 10.165.202.129 10.165.202.129 netmask 
255.255.255.255
hostname(config)#access-list AUTH extended permit tcp any host 10.165.200.225 
eq smtp
hostname(config)#access-list AUTH

!--- これは Inside の SMTP サーバです。

hostname(config)#access-list AUTH extended permit tcp any host 10.165.202.129 
eq telnet
hostname(config)#access-list AUTH

!--- これは仮想 Telnet アドレスです。

hostname(config)#aaa-server ACS protocol tacacs+
hostname(config)#aaa-server Acs (inside) host 10.1.1.1 TheUauthKey
hostname(config)#aaa authentication match AUTH outside ACS

確認

現在のところ、このドキュメントの設定に関して、確認手順はありません。

トラブルシューティング

現在のところ、ここでの設定に関する特定のトラブルシューティング情報はありません。


関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報


Document ID: 70992