Catalyst 6500 シリーズ スイッチ/Cisco 7600 シ リーズ ルータ Firewall Services Module コンフィ ギュレーション ガイド(CLI を使用)
ネットワーク アクセスへの AAA の適用
ネットワーク アクセスへの AAA の適用
発行日;2012/02/02 | 英語版ドキュメント(2010/04/08 版) | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 13MB) | フィードバック

目次

ネットワーク アクセスへの AAA の適用

AAA パフォーマンス

ネットワーク アクセスの認証の設定

認証の概要

One-Time 認証

認証照合を受けるために必要なアプリケーション

FWSM 認証プロンプト

スタティック PAT および HTTP

での直接認証

ネットワーク アクセス認証のイネーブル化

カスタム ログイン プロンプトの設定

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

プロトコル単位の認証照合のディセーブル化

ネットワーク アクセスの許可の設定

TACACS+ 許可の設定

RADIUS 許可の設定

RADIUS サーバからユーザごとの ACL をダウンロードする設定

RADIUS サーバからユーザ単位の ACL 名をダウンロードする設定

ネットワーク アクセスのアカウンティングの設定

MAC アドレスを使用した認証および許可からのトラフィックの除外

ネットワーク アクセスへの AAA の適用

この章では、Authentication, Authorization, and Accounting(AAA; 認証、許可、アカウンティング)(「トリプル A」と発音)をネットワーク アクセスに対してイネーブルにする方法を説明します。

管理アクセスの AAA の詳細については、「システム管理者用の AAA」を参照してください。

この章では、次の内容について説明します。

「AAA パフォーマンス」

「ネットワーク アクセスの認証の設定」

「ネットワーク アクセスの許可の設定」

「ネットワーク アクセスのアカウンティングの設定」

「MAC アドレスを使用した認証および許可からのトラフィックの除外」

AAA パフォーマンス

FWSM では、「カットスルー プロキシ」を採用することによって、従来のプロキシ サーバに比べてパフォーマンスが著しく改善されています。従来のプロキシ サーバは、Open Systems Interconnection(OSI; 開放型システム間相互接続)モデルのアプリケーション レイヤですべてのパケットを分析するので、パフォーマンスが損なわれます。FWSM のカットスルー プロキシは、最初にアプリケーション レイヤでユーザを照合したあと、標準の Remote Authentication Dial-In User Service(RADIUS)、Terminal Access Controller Access Control System Plus(TACACS+)、またはローカル データベースを使用して認証を行います。FWSM でユーザが認証されてからセッション フローに移行するので、すべてのトラフィックが送信元と宛先の間で直接かつ迅速に伝送され、セッション ステート情報も保持されます。

ネットワーク アクセスの認証の設定

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

「認証の概要」

「ネットワーク アクセス認証のイネーブル化」

「カスタム ログイン プロンプトの設定」

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

「プロトコル単位の認証照合のディセーブル化」

認証の概要

FWSM では、AAA サーバを使用したネットワーク アクセス認証を設定できます。ここでは、次の内容について説明します。

「One-Time 認証」

「認証照合を受けるために必要なアプリケーション」

「スタティック PAT および HTTP」

「FWSM での直接認証」

One-Time 認証

特定の IP アドレスのユーザに必要な認証は、認証セッションがタイムアウトになるまでは、すべてのルールとタイプに対して 1 回だけです (タイムアウトの値については、『 Catalyst 6500 Series Switch and Cisco 7600 Series Router Firewall Services Module Command Reference 』の timeout uauth コマンドを参照してください)。たとえば、FWSM に Telnet と FTP の認証を設定した場合、ユーザは最初に Telnet の認証に成功すれば、そのセッションの継続中は FTP の認証を受ける必要はありません。

HTTP または HTTPS 認証の場合、 timeout uauth コマンドの値が低く設定されていても、一度認証が終了したら再認証は不要です。これは、それ以降、その特定のサイトに接続するたびに、ブラウザで文字列「Basic=Uuhjksdkfhk==」がキャッシュされるためです。キャッシュは、ユーザが Web ブラウザの すべて のインスタンスを終了し、再起動したときにだけクリアできます。キャッシュをフラッシュしても意味はありません。

認証照合を受けるために必要なアプリケーション

任意のプロトコルまたはサービスについてネットワーク アクセスの認証を必要とするよう FWSM を設定できますが、HTTP、HTTPS、Telnet、または FTP にかぎり、認証を直接設定できます。FWSM が認証を必要とする他のトラフィックを許可する前に、ユーザはまず、これらのサービスのいずれかで認証される必要があります。

FWSM で AAA 用にサポートされている認証ポートは固定です。

FTP の場合はポート 21

Telnet の場合はポート 23

HTTP の場合はポート 80

HTTPS の場合はポート 443

FWSM 認証プロンプト

Telnet および FTP の場合、FWSM によって認証プロンプトが生成されます。正しく認証されると、FWSM によって元の宛先にリダイレクトされます。宛先サーバに独自の認証が設定されている場合には、別のユーザ名とパスワードを入力することになります。

HTTP の場合、ブラウザに備わっている基本 HTTP 認証を使用してログインします。HTTPS の場合、FWSM によってカスタム ログイン ウィンドウが生成されます。


aaa authentication secure-http-client コマンドを使用せずに HTTP 認証を行うと、ユーザ名とパスワードはクリア テキストでクライアントから FWSM に送信されます。HTTP 認証をイネーブルにするときは、aaa authentication secure-http-client コマンドを使用することを推奨します。aaa authentication secure-http-client コマンドの詳細については、「Web クライアントのセキュア認証のイネーブル化」を参照してください。


FTP の場合、FWSM のユーザ名のあとにアットマーク(@)を入力し、続けて FTP ユーザ名を入力できます(name1@name2)。パスワードの場合も、FWSM のパスワードのあとにアットマーク(@)を入力し、さらに FTP パスワードを入力します(password1@password2)。次に、例を示します。

name> user1@user2
password> letmein@he110
 

この機能は、ファイアウォールをカスケード接続して設定し、複数のログインが必要となる場合に便利です。複数の名前とパスワードを、複数のアットマーク(@)で区切ることができます。

スタティック PAT および HTTP

HTTP 認証の場合、スタティック PAT が設定されていると、FWSM で実ポートが確認されます。実ポート 80 宛てのトラフィックが検出されると、マップ ポートに関係なく、FWSM で HTTP 接続が代行受信され、認証が実行されます。

たとえば、外部 TCP ポート 889 がポート 80(www)に変換され、関連するすべてのアクセス リストでトラフィックが許可されると仮定します。

static (inside,outside) tcp 10.48.66.155 889 192.168.123.10 www netmask 255.255.255.255
 

その後、ユーザがポート 889 の 10.48.66.155 にアクセスしようとすると、FWSM でトラフィックが代行受信され、HTTP 認証が実行されます。FWSM で HTTP 接続の確立が許可される前に、ユーザの Web ブラウザに HTTP 認証ページが表示されます。

ローカル ポートがポート 80 と異なる場合は、次の例のようになります。

static (inside,outside) tcp 10.48.66.155 889 192.168.123.10 111 netmask 255.255.255.255
 

この場合、認証ページは表示されません。代わりに、FWSM から Web ブラウザに対して、要求したサービスを使用するにはユーザの認証が必要であることを示すエラー メッセージが送信されます。

FWSM での直接認証

FWSM を経由する HTTP(S)、Telnet、または FTP を許可せずに、他のタイプのトラフィックを認証する場合には、仮想 Telnet 、仮想 SSH、または仮想 HTTP を設定できます。この場合、ユーザが FWSM 上に設定された特定の IP アドレスに Telnet、SSH、または HTTP を使用して接続すると、FWSM にプロンプトが表示されます。 virtual telnet virtual ssh 、または virtual http コマンドの詳細については、『 Catalyst 6500 Series Switch and Cisco 7600 Series Router Firewall Services Module Command Reference 』を参照してください。

ネットワーク アクセス認証のイネーブル化

ネットワーク アクセス認証をイネーブルにする手順は、次のとおりです。


ステップ 1 aaa-server コマンドを使用して、AAA サーバを識別します。すでに AAA サーバを識別している場合、次の手順を行います。

AAA サーバの識別の詳細については、「AAAサーバ グループおよびサーバの識別」を参照してください。

ステップ 2 access-list コマンドを使用して、認証したいトラフィックの送信元アドレスおよび宛先アドレスを識別するアクセス リストを作成します。手順については、「拡張アクセス リストの追加」を参照してください。

permit Access Control Entry(ACE; アクセス制御エントリ)は一致するトラフィックを認証し、 deny エントリは一致するトラフィックの認証を拒否します。アクセス リストには HTTP(S)、Telnet、または FTP のいずれかの宛先ポートを必ず指定してください。ユーザは、FWSM 経由の他のサービスの許可を得る前に、これらのサービスのいずれかで認証される必要があるからです。

ステップ 3 認証を設定するには、次のコマンドを入力します。

hostname(config)# aaa authentication match acl_name interface_name server_group
 

acl_nameステップ 2 で作成したアクセス リストの名前です。 interface_name nameif コマンドで指定されたインターフェイスの名前です。 server_groupステップ 1 で作成した AAA サーバ グループです。


aaa authentication include コマンド(コマンド内でトラフィックを識別する)を使用することもできます。ただし、同じ設定で両方の方法を使用することはできません。詳細については、『Catalyst 6500 Series Switch and Cisco 7600 Series Router Firewall Services Module Command Reference』を参照してください。


ステップ 4 (任意)ネットワーク アクセス認証にローカル データベースを使用していて、FWSM がいずれのユーザ アカウントに対しても、連続して失敗できるログイン試行回数を制限する場合、 aaa local authentication attempts max-fail コマンドを使用します。次に例を示します。

hostname(config)# aaa local authentication attempts max-fail 7
 

ヒント 特定のユーザまたはすべてのユーザのロックアウト ステータスをクリアするには、clear aaa local user lockout コマンドを使用します。


ステップ 5 (任意)ユーザ認証がタイムアウトになるか、 clear uauth コマンドを使用して認証セッションをクリアした場合、次のコマンドを入力して、アクティブなすべての接続を即座に強制終了できます。

hostname(config)# aaa authentication clear-conn interface_name source_ip source_mask
 

このコマンドを使用しないと、ユーザ認証セッションがタイムアウトになっても、アクティブな接続は終了しません。


 

次に、すべての内部 HTTP トラフィックおよび SMTP トラフィックを認証する例を示します。

hostname(config)# aaa-server AuthOutbound protocol tacacs+
hostname(config-aaa-server-group)# exit
hostname(config)# aaa-server AuthOutbound (inside) host 10.1.1.1
hostname(config-aaa-server-host)# key TACPlusUauthKey
hostname(config-aaa-server-host)# exit
hostname(config)# access-list MAIL_AUTH extended permit tcp any any eq smtp
hostname(config)# access-list MAIL_AUTH extended permit tcp any any eq www
hostname(config)# aaa authentication match MAIL_AUTH inside AuthOutbound
 

次に、外部インターフェイスから特定サーバ(209.165.201.5)への Telnet トラフィックを認証する例を示します。

hostname(config)# aaa-server AuthInbound protocol tacacs+
hostname(config-aaa-server-group)# exit
hostname(config)# aaa-server AuthInbound (inside) host 10.1.1.1
hostname(config-aaa-server-host)# key TACPlusUauthKey
hostname(config-aaa-server-host)# exit
hostname(config)# access-list TELNET_AUTH extended permit tcp any host 209.165.201.5 eq telnet
hostname(config)# aaa authentication match TELNET_AUTH outside AuthInbound
 

カスタム ログイン プロンプトの設定

デフォルトでは、FWSM でのユーザの認証時には、次のプロンプトが表示されます。

HTTP の場合: HTTP 認証

FTP の場合: FTP 認証

Telnet の場合:プロンプトなし

ログイン プロンプトをカスタマイズして、ユーザが許可または拒否されたときにもプロンプトを表示できます。Windows Active Directory サーバと通信する RADIUS サーバを使用している場合、無効な証明書(ユーザ名またはパスワードが正しくない)またはパスワードの有効期限切れが原因でユーザが拒否されたときに拒否プロンプトを表示するようにカスタマイズできます。パスワードの有効期限が切れている場合、ユーザは新しいパスワードの入力を求められます。


) ログイン プロンプトをカスタマイズすると、FWSM でユーザ パスワード用に MSCHAPv2 が使用されるようになります。この機能をイネーブルにする前に、RADIUS サーバとバックエンド データベースに MSCHAPv2 との互換性があることを確認してください。


ログイン プロンプトをカスタマイズする手順は、次のとおりです。


ステップ 1 ログイン プロンプトをカスタマイズするには、次のコマンドを入力します。

hostname(config)# auth-prompt prompt text
 

text には、最大 235 文字の英数字文字列または最大 31 単語を使用できます。最初に到達した方の制限が適用されます。特殊文字、スペース、および句読点も使用できます。文字列を終了するには、クエスチョン マークを入力するか、Enter キーを押します (クエスチョン マークは文字列内に表示されます)。

ステップ 2 ユーザが許可されたときにテキストを表示するには、次のコマンドを入力します。

hostname(config)# auth-prompt accept text
 

ステップ 3 ユーザが拒否されたときにテキストを表示するには、次のコマンドを入力します。

hostname(config)# auth-prompt reject text
 

invalid-credentials または reject expired-pwd キーワードを指定せずに reject キーワードを入力すると、無効な証明書またはパスワードの有効期限切れが原因でないすべての拒否に対して、この汎用プロンプトが表示されます。無効な証明書またはパスワードの有効期限切れが原因の拒否に対しては、 invalid-credentials または reject expired-pwd キーワードに設定したプロンプトが表示されます。無効な証明書またはパスワードの有効期限切れに対してプロンプトを設定しなかった場合、すべての状況で汎用の拒否プロンプトが表示されます。

ステップ 4 無効な証明書が原因でユーザが拒否されたときにテキストを表示するには、次のコマンドを入力します。

hostname(config)# auth-prompt reject invalid-credentials text
 

ステップ 5 パスワードの有効期限切れが原因でユーザが拒否されたときにテキストを表示するには、次のコマンドを入力します。

hostname(config)# auth-prompt reject expired-pwd text
 

このプロンプトは、RADIUS サーバでユーザ名およびパスワード用に Windows Active Directory サーバを使用している場合にだけ使用されます。ユーザに新しいパスワードの入力を求めるには、 expired-pwd キーワードを使用してプロンプトを設定する必要があります。


 

次の例では、認証プロンプトに「Please enter your username and password」という文字列を設定しています。

hostname(config)# auth-prompt prompt Please enter your username and password
 

この文字列が設定に追加されると、ユーザには次のように表示されます。

Please enter your username and password
User Name:
Password:
 

また、FWSM で認証試行が許可または拒否されたときにそれぞれ表示するメッセージを指定することもできます。次に例を示します。

hostname(config)# auth-prompt reject Authentication failed. Try again.
hostname(config)# auth-prompt accept Authentication succeeded.
 

無効な証明書、パスワードの有効期限切れ、および不明な拒否理由に関する拒否メッセージを設定するには、次のコマンドを入力します。

hostname(config)# auth-prompt reject Authentication failed. Try again.
hostname(config)# auth-prompt reject invalid-credentials Incorrect username or password
hostname(config)# auth-prompt reject expired-pwd Your password is expired. Reset your password and try again.
 

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

FWSM は、安全に HTTP 認証を行う方法を提供します。HTTP 認証を保護しないと、FWSM に提供されたユーザ名とパスワードは宛先 Web サーバに転送されます。 aaa authentication secure-http-client コマンドを使用すると、Web クライアントおよび HTTPS 設定を適用した FWSM の間でユーザ名とパスワードを交換できます。HTTPS により伝送が暗号化され、ユーザ名とパスワードが HTTP によって外部 Web サーバに転送されるのを回避します。

この機能をイネーブルにした場合、認証を必要とする Web ページにユーザがアクセスすると、図 16-1 に示す [Authentication Proxy Login] ページが FWSM によって表示されます。

図 16-1 [Authentication Proxy Login] ページ

 


) この画面に表示されている Cisco Systems のテキスト フィールドは、auth-prompt コマンドを使用して変更できます。「カスタム ログイン プロンプトの設定」を参照してください。


有効なユーザ名とパスワードを入力すると、[Authentication Successful](認証成功)ページが表示され、自動的に終了します。ユーザ名とパスワードが無効の場合には、[Authentication Failed](認証失敗)ページが表示されます。

セキュア Web クライアントの認証には次の制限があります。

最大 128 の同時 HTTPS 認証セッションがサポートされます。最大 128 の HTTPS 認証プロセスが実行されている場合、認証を必要とする新しい接続は失敗します。

uauth timeout 0 が設定されている( uauth timeout が 0 に設定されている)場合、HTTPS 認証は機能しないことがあります。HTTPS 認証後、ブラウザが Web ページをロードするために複数の TCP 接続を開始した場合、最初の接続は許可されますが、以降の接続に対しては認証が発生します。その結果、正しいユーザ名とパスワードを入力しても、認証ページが継続的に表示されることになります。この問題を回避するには、 timeout uauth 0:0:1 コマンドを使用して、 uauth timeout を 1 秒に設定してください。ただし、ウィンドウが 1 秒間オープンしているため、同じ送信元 IP アドレスからアクセスする未認証のユーザが、ファイアウォールを通過する可能性があります。

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

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 http コマンドを使用します。

Web クライアントのセキュアな認証をイネーブルにする手順は、次のとおりです。


ステップ 1 HTTP 認証をイネーブルにします。認証のイネーブル化の詳細については、「ネットワーク アクセス認証のイネーブル化」を参照してください。

ステップ 2 Web クライアントのセキュアな認証をイネーブルにするには、次のコマンドを入力します。

aaa authentication secure-http-client
 

aaa authentication secure-http-client コマンドの使用は、HTTP 認証のイネーブル化に依存しません。あとで HTTP 認証をイネーブルにしたときに、セキュア Web クライアント認証によってユーザ名とパスワードが保護されているようにするには、HTTP 認証をイネーブルにする前にこのコマンドを入力します。



 

プロトコル単位の認証照合のディセーブル化

FWSM がユーザに対し、ユーザ名とパスワードの照合を行うかどうかを設定できます。デフォルトでは、AAA ルールが新しいセッションでトラフィックの認証を強化し、トラフィックのプロトコルが FTP、Telnet、HTTP、または HTTPS である場合、FWSM はユーザに指示を出します。場合によっては、次のコマンドを使用して、1 つまたは複数のプロトコルの認証照合をディセーブルにすることがあります。

hostname(config)# aaa authentication protocol challenge disable
 

たとえば、FTP を使用して新しい接続のためのユーザ名とパスワードの照合をディセーブルにするには、次のコマンドを入力します。

hostname(config)# aaa authentication ftp challenge disable
 

特定のプロトコルの認証照合をディセーブルにした場合、そのプロトコルを使用するトラフィックは、以前に認証されたセッションに属している場合にだけ、許可されます。この認証は、認証照合がイネーブルであるプロトコルを使用したトラフィックによって実行されます。たとえば、FTP の認証照合をディセーブルにすると、トラフィックが許可ルールに指定されている場合、FWSM は FTP を使用する新しいセッションを拒否します。ユーザが、認証照合がイネーブルであるプロトコル(HTTP など)を使用してセッションを確立する場合、FTP トラフィックは許可されます。

ネットワーク アクセスの許可の設定

特定の接続についてユーザが認証されると、FWSM はユーザからのトラフィックをさらに制御する許可を使用できます。

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

「TACACS+ 許可の設定」

「RADIUS 許可の設定」

TACACS+ 許可の設定

TACACS+ を使用したネットワーク アクセス許可を実行するよう FWSM を設定することができます。

ユーザの認証後、FWSM はトラフィックが許可ルールに一致しているかどうかを検証します。トラフィックが許可ステートメントに一致すると、FWSM から TACACS+ サーバにユーザ名が送信されます。TACACS+ サーバは、ユーザ プロファイルに基づいて、必要な情報を FWSM に戻します。この情報は、FWSM でそのトラフィックのユーザ指定のダイナミック アクセス リストとして扱われます。


access-group コマンドを使用してアクセス リストをインターフェイスに適用した場合、per-user-override キーワードがダイナミック アクセス リストによる許可に与える、次の影響について注意してください。

per-user-override キーワードを使用しない場合、ユーザ セッションのトラフィックは、インターフェイス アクセス リストとダイナミック アクセス リストの両方によって許可される必要があります。

per-user-override キーワードを使用する場合、ダイナミック アクセス リストが許可の内容を判別します。

詳細については、『 Catalyst 6500 Series Switch and Cisco 7600 Series Router Firewall Services Module Command Reference 』の access-group コマンド エントリを参照してください。


 

認証および許可ステートメントは独立していますが、認証されないトラフィックが許可ステートメントと一致しても拒否されます。許可されるには、ユーザはまず、FWSM で認証される必要があります。


) 認証と許可で扱うトラフィックは同じものを使用することを推奨します。許可ステートメントを認証ステートメントより制限的にすると、FWSM でのダイナミック アクセス リストの使用方法に起因して、一部の接続が予期せず拒否されます。ユーザが最初に認証されたときに、その接続が認証ステートメントとは一致し、許可ステートメントとは一致しなかった場合、(uauth セッションが存在しているかぎり)許可ステートメントと一致するそれ以降の接続は拒否されます。逆に、最初の接続が許可ステートメントと一致した場合、認証ステートメントとは一致し、許可ステートメントとは一致しないそれ以降の接続は拒否されます。したがって、認証と許可の設定は同一にする必要があります。


ユーザのネットワーク アクセス許可の設定の詳細については、TACACS+ サーバのマニュアルを参照してください。

TACACS+ 許可を設定する手順は、次のとおりです。


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

ステップ 2 許可をイネーブルにするには、次のコマンドを入力します。

hostname(config)# aaa authorization match acl_name interface_name server_group
 

acl_name は認証用に作成したアクセス リストの名前です。 interface_name nameif コマンドで指定されたインターフェイスの名前、またはデフォルトのインターフェイスの名前です。 server_group は認証をイネーブルにしたときに作成した AAA サーバ グループです。


 

次に、内部 Telnet トラフィックを認証し、許可する例を示します。

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

RADIUS 許可の設定

認証が成功すると、RADIUS プロトコルは、RADIUS サーバによって送信されたアクセス許可パケットにユーザ許可を戻します。認証の設定の詳細については、「ネットワーク アクセスの認証の設定」を参照してください。

ネットワークにアクセスするユーザを認証するよう FWSM を設定した場合、RADIUS 許可を暗黙でイネーブルにできますが、ここでは FWSM 上で RADIUS 許可を設定する詳細については説明しません。FWSM が RADIUS サーバから受信したユーザ指定のダイナミック アクセス リスト情報を処理する方法について説明します。

RADIUS サーバを設定し、認証時に FWSM にアクセス リストまたはアクセス リスト名をダウンロードできます。ユーザが実行できるのは、ダイナミック アクセス リストで許可された内容だけです。


access-group コマンドを使用してアクセス リストをインターフェイスに適用した場合、per-user-override キーワードがダイナミック アクセス リストによる許可に与える、次の影響について注意してください。

per-user-override キーワードを使用しない場合、ユーザ セッションのトラフィックは、インターフェイス アクセス リストとダイナミック アクセス リストの両方によって許可される必要があります。

per-user-override キーワードを使用する場合、ダイナミック アクセス リストが許可の内容を判別します。

詳細については、『 Catalyst 6500 Series Switch and Cisco 7600 Series Router Firewall Services Module Command Reference 』の access-group コマンド エントリを参照してください。


 

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

「RADIUS サーバからユーザごとの ACL をダウンロードする設定」

「RADIUS サーバからユーザ単位の ACL 名をダウンロードする設定」

RADIUS サーバからユーザごとの ACL をダウンロードする設定

ここでは、Cisco Secure ACS RADIUS サーバまたはサードパーティ製の RADIUS サーバの設定手順について説明します。内容は次のとおりです。

「Cisco Secure ACS RADIUS サーバでのダウンロード可能なアクセス リストの設定」

「RADIUS サーバでのダウンロード可能なアクセス リストの設定」

Cisco Secure ACS RADIUS サーバでのダウンロード可能なアクセス リストの設定

Cisco Secure ACS に共有プロファイル コンポーネントとしてダウンロード可能なアクセス リストを設定し、グループまたは個人ユーザにアクセス リストを割り当てることができます。

アクセス リストの定義には、拡張 access-list コマンドと同様の 1 つまたは複数の FWSM コマンドを設定します。ただし、次のプレフィクスは不要です。

access-list acl_name extended
 

次に、Cisco Secure ACS バージョン 3.3 でダウンロード可能なアクセス リストの例を示します。

+--------------------------------------------+
| Shared profile Components |
| |
| Downloadable IP ACLs Content |
| |
| Name: acs_ten_acl |
| |
| ACL Definitions |
| |
| permit tcp any host 10.0.0.254 |
| permit udp any host 10.0.0.254 |
| permit icmp any host 10.0.0.254 |
| permit tcp any host 10.0.0.253 |
| permit udp any host 10.0.0.253 |
| permit icmp any host 10.0.0.253 |
| permit tcp any host 10.0.0.252 |
| permit udp any host 10.0.0.252 |
| permit icmp any host 10.0.0.252 |
| permit ip any any |
+--------------------------------------------+
 

ダウンロード可能なアクセス リストの作成、およびユーザへの対応付けに関する詳細については、Cisco Secure ACS のバージョンに対応するユーザ マニュアルを参照してください。

FWSM にダウンロードしたアクセス リストは、次の名前になります。

#ACSACL#-ip-acl_name-number
 

acl_name 引数は Cisco Secure ACS で定義された名前です(前の例では、acs_ten_acl)。 number は Cisco Secure ACS によって生成された固有のバージョン ID です。

FWSM にダウンロードしたアクセス リストには、次の行が含まれます。

access-list #ACSACL#-ip-xxx-acs_ten_acl-3b5385f7 permit tcp any host 10.0.0.254
access-list #ACSACL#-ip-xxx-acs_ten_acl-3b5385f7 permit udp any host 10.0.0.254
access-list #ACSACL#-ip-xxx-acs_ten_acl-3b5385f7 permit icmp any host 10.0.0.254
access-list #ACSACL#-ip-xxx-acs_ten_acl-3b5385f7 permit tcp any host 10.0.0.253
access-list #ACSACL#-ip-xxx-acs_ten_acl-3b5385f7 permit udp any host 10.0.0.253
access-list #ACSACL#-ip-xxx-acs_ten_acl-3b5385f7 permit icmp any host 10.0.0.253
access-list #ACSACL#-ip-xxx-acs_ten_acl-3b5385f7 permit tcp any host 10.0.0.252
access-list #ACSACL#-ip-xxx-acs_ten_acl-3b5385f7 permit udp any host 10.0.0.252
access-list #ACSACL#-ip-xxx-acs_ten_acl-3b5385f7 permit icmp any host 10.0.0.252
access-list #ACSACL#-ip-xxx-acs_ten_acl-3b5385f7 permit ip any any
 

RADIUS サーバでのダウンロード可能なアクセス リストの設定

Cisco IOS RADIUS VSA をサポートする RADIUS サーバを、Cisco IOS RADIUS cisco-av-pair VSA(VSA 番号 1)の FWSM にダイナミック アクセス リストを送信するよう設定します。Cisco IOS RADIUS VSA は、RADIUS ベンダー ID 9 で識別されます。

cisco-av-pair VSA では、 access-list extended コマンドと同様の 1 つまたは複数の ACE を設定してください。ただし、次のコマンド プレフィクスは、

access-list acl_name extended
 

次のテキストに置換されます。

ip:inacl#nnn=
 

nnn 引数は、FWSM に設定するコマンド ステートメントの順序を表す 0 ~ 999,999,999 の範囲の数値です。このパラメータを省略すると、シーケンス値は 0 になり、cisco-av-pair RADIUS VSA 内の ACE の順序が使用されます。

次に、RADIUS サーバで cisco-av-pair VSA 用に設定する必要があるアクセス リスト定義の例を示します。

ip:inacl#1=permit tcp 10.1.0.0 255.0.0.0 10.0.0.0 255.0.0.0
ip:inacl#99=deny tcp any any
ip:inacl#2=permit udp 10.1.0.0 255.0.0.0 10.0.0.0 255.0.0.0
ip:inacl#100=deny udp any any
ip:inacl#3=permit icmp 10.1.0.0 255.0.0.0 10.0.0.0 255.0.0.0
 

cisco-av-pair アトリビュートで送信されるアクセス リストのユーザ別の設定については、RADIUS サーバのマニュアルを参照してください。

FWSM にダウンロードしたアクセス リスト名は、次の形式になります。

AAA-user-username
 

username 引数は、認証されるユーザの名前です。

FWSM にダウンロードしたアクセス リストには、次の行が含まれます。順序が、RADIUS サーバ上の番号に基づいていることに注意してください。

access-list AAA-user-bcham34-79AD4A08 permit tcp 10.1.0.0 255.0.0.0 10.0.0.0 255.0.0.0
access-list AAA-user-bcham34-79AD4A08 permit udp 10.1.0.0 255.0.0.0 10.0.0.0 255.0.0.0
access-list AAA-user-bcham34-79AD4A08 permit icmp 10.1.0.0 255.0.0.0 10.0.0.0 255.0.0.0
access-list AAA-user-bcham34-79AD4A08 deny tcp any any
access-list AAA-user-bcham34-79AD4A08 deny udp any any
 

ダウンロードしたアクセス リストでは、access-list と名前の間に 2 つのスペースが挿入されます。これらのスペースにより、ダウンロードしたアクセス リストとローカル アクセス リストを区別できます。この例での「79AD4A08」は、RADIUS サーバ上でアクセス リスト定義が変更された時点を判別するために FWSM によって生成されたハッシュ値です。

RADIUS サーバからユーザ単位の ACL 名をダウンロードする設定

ユーザ認証時に、FWSM ですでに作成されているアクセス リストの名前をダウンロードするには、IETF RADIUS filter-id アトリビュート(アトリビュート 11)を次のように設定します。

filter-id=acl_name
 

) Cisco Secure ACS では、filter-id アトリビュートの値は HTML インターフェイスのボックスで指定します。filter-id= は省略し、acl_name だけを入力します。


filter-id アトリビュート値のユーザ別の設定については、RADIUS サーバのマニュアルを参照してください。

FWSM でのアクセス リストの作成手順については、「拡張アクセス リストの追加」を参照してください。

ネットワーク アクセスのアカウンティングの設定

FWSM では、FWSM を通過する任意の TCP/UDP トラフィックについて、RADIUS サーバまたは TACACS+ サーバにアカウンティング情報を送信できます。トラフィックが認証されている場合は、AAA サーバでユーザ名ごとにアカウンティング情報を保持できます。トラフィックが認証されていない場合、AAA サーバで IP アドレスごとにアカウンティング情報を保持できます。アカウンティング情報には、セッションの開始時および終了時、ユーザ名、セッション中に FWSM を通過したバイト数、使用されたサービス、および各セッションの長さが含まれます。

アカウンティングを設定する手順は、次のとおりです。


ステップ 1 FWSM にユーザごとにアカウンティング データを提供させる場合、認証をイネーブルにする必要があります。詳細については、「ネットワーク アクセス認証のイネーブル化」を参照してください。FWSM に IP アドレスごとにアカウンティング データを提供させる場合、認証をイネーブルにする必要はなく、次の手順を続行します。

ステップ 2 access-list コマンドを使用して、アカウント対象のトラフィックの送信元アドレスおよび宛先アドレスを識別するアクセス リストを作成します。手順については、「拡張アクセス リストの追加」を参照してください。

permit ACE は一致するトラフィックを許可し、 deny エントリは一致するトラフィックの許可を拒否します。


) 認証を設定して、認証されるすべてのトラフィックのデータをアカウントする場合、aaa authentication match コマンドを使用して作成した同じアクセス リストを使用できます。


ステップ 3 アカウンティングをイネーブルにするには、次のコマンドを入力します。

hostname(config)# aaa accounting match acl_name interface_name server_group
 

aaa accounting include コマンド(コマンド内でトラフィックを識別する)を使用することもできますが、同じ設定で両方の方法を使用することはできません。詳細については、『Catalyst 6500 Series Switch and Cisco 7600 Series Router Firewall Services Module Command Reference 』を参照してください。



 

次に、内部 Telnet トラフィックの AAA を設定する例を示します。209.165.201.5 以外のサーバへの Telnet トラフィックは認証されるだけですが、209.165.201.5 へのトラフィックには許可およびアカウンティングが必要です。

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

MAC アドレスを使用した認証および許可からのトラフィックの除外

FWSM では、特定の MAC アドレスからのトラフィックを認証または許可の対象から除外できます。この機能は、認証プロンプトに応答できない IP Phone などのデバイスを除外する際に特に役立ちます。


) この機能では、through-the-box 接続の MAC アドレスのリストだけが除外されます。Telnet から FWSM への接続などについては、デバイスの MAC アドレスが指定されていても、認証または許可は除外されません。


除外対象の MAC アドレスを識別する手順は、次のとおりです。


ステップ 1 MAC リストを設定するには、次のコマンドを入力します。

hostname(config)# mac-list id {deny | permit} mac macmask
 

id 引数は、MAC リストに割り当てる 16 進数です。

MAC アドレスを除外するには、 permit キーワードを使用します。MAC アドレスを認証および許可の対象にするには、 deny キーワードを使用します。

一連の MAC アドレスをグループ化するには、同じ ID 値で必要になる回数だけ mac-list コマンドを入力します。AAA 除外で使用できる MAC リストは 1 つだけであるため、MAC リストには除外する MAC アドレスをすべて含めるようにしてください。複数の MAC リストを作成することはできますが、使用できるのは一度に 1 つだけです。

最良一致方式とは異なり、パケットでは最初の一致エントリが使用されるため、エントリの順序が重要になります。 permit エントリを指定している場合に、その permit エントリで許可されるアドレスを拒否するには、その permit エントリの前に deny エントリを入力します。

mac 引数では、送信元 MAC アドレスを 12 桁の 16 進形式(つまり、nnnn.nnnn.nnnn)で指定します。

macmask 引数では、照合に使用する MAC アドレスの部分を指定します。たとえば、ffff.ffff.ffff は MAC アドレスと正確に一致します。ffff.ffff.0000 は最初の 8 桁にだけ一致します。

ステップ 2 特定の MAC リストで指定された MAC アドレスのトラフィックを除外するには、次のコマンドを入力します。

hostname(config)# aaa mac-exempt match id
 

id は MAC アドレスを含んだ MAC リストを識別する文字列です。このトラフィックは、認証および許可の対象から除外する必要があります。入力できる aaa mac-exempt コマンドのインスタンスは 1 つだけです。


 

次の例では、1 つの MAC アドレスの認証をバイパスしています。

hostname(config)# mac-list abc permit 00a0.c95d.0282 ffff.ffff.ffff
hostname(config)# aaa mac-exempt match abc
 

次のエントリでは、ハードウェア ID が 0003.E3 のすべての Cisco IP Phone の認証をバイパスしています。

hostname(config)# mac-list acd permit 0003.E300.0000 FFFF.FF00.0000
hostname(config)# aaa mac-exempt match acd
 

次の例では、00a0.c95d.02b2 を除く MAC アドレス グループの認証をバイパスしています。00a0.c95d.02b2 は permit ステートメントにも一致するため、 permit ステートメントの前に deny ステートメントを入力してください。そうしないと、 deny ステートメントが照合されなくなります。

hostname(config)# mac-list 1 deny 00a0.c95d.0282 ffff.ffff.ffff
hostname(config)# mac-list 1 permit 00a0.c95d.0000 ffff.ffff.0000
hostname(config)# aaa mac-exempt match 1