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

ユーザの認証、許可、アカウンティングを PIX(5.2 〜 6.1)で行う方法

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

概要
認証だけの場合
認証に許可を加えた場合
アカウンティングの追加
exclude コマンドの使用
最大セッションとログイン ユーザの表示
ユーザ インターフェイス
ユーザごとのアイドルと絶対タイムアウト
仮想 HTTP 送信
仮想 Telnet
ポート許可
HTTP、FTP、および Telnet 以外のトラフィックの AAA アカウンティング
DMZ での認証
ツール情報
関連するシスコ サポート コミュニティ ディスカッション
関連情報

概要

FTP、Telnet、および HTTP 接続では、Cisco Secure PIX ファイアウォールを使用して RADIUS および TACACS+ 認証を行うことができます。認証は、一般的ではない他のプロトコルでも、通常は行うことができます。TACACS+ の許可はサポートされますが、RADIUS の許可はサポートされません。PIX 5.2 における authentication, authorization, accounting(AAA;認証、許可、アカウンティング)の前バージョンからの変更点には、認証されるユーザやユーザがアクセスできるリソースを制御する AAA アクセス リスト サポートがあります。PIX 5.3 以上における、認証、許可、アカウンティング(AAA)の旧バージョンのコードからの変更点は、RADIUS ポートが設定可能なことです。

認証、許可、アカウンティング

  • 認証は、ユーザがだれかを決定します。

  • 許可は、ユーザが何をできるかを決定します。

  • 認証は、許可がなくても有効です

  • 許可は、認証がないと有効ではありません

  • アカウンティングとは、ユーザが何をしたかです。

認証/許可を有効にした時に表示されるもの

認証/許可をオンにして、内側から外側、または外側から内側に移動しようとすると、次のように表示されます。

  • Telnet :ユーザ名を求めるプロンプトが表示されてから、パスワードが要求されます。認証(および許可)が PIX/サーバで正常に行われると、以降の宛先ホストからユーザ名とパスワードの入力を求められます。

  • FTP :ユーザ名を求めるプロンプトが表示されます。ユーザ名に「local_username@remote_username」を、パスワードに「local_password@remote_password」を入力する必要があります。PIX は「local_username」と「local_password」をローカルのセキュリティ サーバに送信します。認証(および許可)が PIX/サーバで正常に行われると、「remote_username」と「remote_password」は以降の宛先 FTP サーバに渡されます。

  • HTTP :ウィンドウがブラウザに表示されて、ユーザ名とパスワードが要求されます。認証(および許可)が正常に行われると、宛先のウェブサイトおよびその先に到達します。ブラウザによってユーザ名とパスワードがキャッシュされることを忘れないでください。PIX が HTTP 接続をタイムアウトする必要があるのにタイムアウトしない場合、実際にはブラウザによって再認証が行われている傾向があります。キャッシュされたユーザ名とパスワードが PIX へ「送られ」、次に PIX がこれを認証サーバへ転送します。この現象は、PIX の syslog またはサーバのデバッグに示されます。Telnet や FTP では「正常に」機能しているようでも HTTP 接続ではそうでない場合は、これが原因です。

ソフトウェア バージョン

この構成は、次のソフトウェア バージョンを使用して開発およびテストされています。

  • Cisco Secure PIX Firewall ソフトウェア バージョン 5.2.0.205 および 5.2.0.207

デバッグの手順

  • PIX の設定が機能していることを確認してから、AAA 認証と許可を追加してください。認証と許可を実施する前にトラフィックを通過させることができないと、結局これらを実施できなくなります。

  • PIX のいくつかのロギングを有効にします。

    • ロギング コンソールのデバッグをオンにするには、logging console debug コマンドを発行します。注: ロギング コンソールのデバッグは、負荷の多いシステムでは使用しないでください。

    • logging monitor debug コマンドを使用して、Telnet セッションをログします。

    • ロギング バッファ デバッグを使用してから、show logging コマンドを実行できます。

    • ロギングは syslog サーバに送信して、そこで検査することもできます。

  • TACACS+ サーバまたは RADIUS サーバにおいて、デバッグをオンにします。このオプションは、すべてのサーバにあります。

認証だけの場合

ネットワークダイアグラム

サーバの設定:認証だけの場合

CiscoSecure UNIX TACACS サーバの設定

User = cse {
password = clear "cse"
default service = permit
}

CiscoSecure UNIX RADIUS サーバの設定

注: PIX の IP アドレスとキーを、拡張 GUI を使用して Network Access Server(NAS; ネットワーク アクセス サーバ)リストに追加するのを忘れないでください。

user=bill {
radius=Cisco {
check_items= {
2="foo"
}
reply_attributes= {
6=6
}
}
}

CiscoSecure NT RADIUS

  1. User Setup セクションでパスワードを入手します。

  2. Group Setup セクションから、アトリビュート 6(Service-Type)を Login または Administrative に設定します。

  3. GUI の NAS Configuration セクションで PIX IP アドレスを追加します。

CiscoSecure NT TACACS+

ユーザは User Setup セクションでパスワードを入手します。

Livingston RADIUS サーバの設定

注: PIX IP アドレスとキーをclients ファイルに追加するのを忘れないでください。

bill Password="foo" User-Service-Type = Shell-User

Merit RADIUS サーバの設定

注: PIX IP アドレスとキーをclients ファイルに追加するのを忘れないでください。

bill Password="foo" Service-Type = Shell-User

TACACS+ Freeware サーバの設定

key = "cisco"
user = cse {
login = cleartext "cse"
default service = permit
}

PIX の初期設定:認証だけの場合
PIX Version 5.2(0)205
nameif ethernet0 outside security0
nameif ethernet1 inside security100
enable password 8Ry2YjIyt7RRXU24 encrypted
passwd OnTrBUG1Tp0edmkr encrypted
hostname pixfirewall
fixup protocol ftp 21
fixup protocol http 80
fixup protocol h323 1720
fixup protocol rsh 514
fixup protocol smtp 25
fixup protocol sqlnet 1521
fixup protocol sip 5060
names
!
!--- 5.2 の新機能を使用して、どの宛先または発信元 IP アドレスを認証するかを
!--- 定義するには、次の行が必要です。
access-list 101 permit tcp any any eq telnet
access-list 101 permit tcp any any eq ftp
access-list 101 permit tcp any any eq www
! pager lines 24 logging on no logging timestamp no logging standby logging console debugging no logging monitor no logging buffered logging trap debugging no logging history logging facility 20 logging queue 512 interface ethernet0 auto interface ethernet1 10baset mtu outside 1500 mtu inside 1500 ip address outside 99.99.99.1 255.255.255.0 ip address inside 172.18.124.157 255.255.255.0 ip audit info action alarm ip audit attack action alarm no failover failover timeout 0:00:00 failover poll 15 failover ip address outside 0.0.0.0 failover ip address inside 0.0.0.0 arp timeout 14400 global (outside) 1 99.99.99.10-99.99.99.20 netmask 255.255.255.0 nat (inside) 1 172.18.124.0 255.255.255.0 0 0 static (inside,outside) 99.99.99.99 172.18.124.114 netmask 255.255.255.255 0 0 conduit permit tcp any any conduit permit udp any any conduit permit icmp any any route inside 172.18.0.0 255.255.0.0 172.18.124.1 1 timeout xlate 3:00:00 timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 rpc 0:10:00 h323 0:05:00 si p 0:30:00 sip_media 0:02:00 timeout uauth 0:05:00 absolute ! !--- 説明のため、ここでは TACACS+ プロセスを使用して
!--- 受信ユーザを認証し、RADIUS を使用して送信ユーザを認証します。
aaa-server TACACS+ protocol tacacs+
aaa-server RADIUS protocol radius
aaa-server AuthInbound protocol tacacs+
aaa-server AuthInbound (inside) host 172.18.124.111 cisco timeout 5
aaa-server AuthOutbound protocol radius
aaa-server AuthOutbound (inside) host 172.18.124.111 cisco timeout 5
! !--- 次の 6 つの文を使用してすべての受信および
!--- 送信の FTP、Telnet、および HTTP トラフィックを認証できます。
aaa authentication include ftp outside 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 AuthInbound
aaa authentication include telnet outside 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 AuthInbound
aaa authentication include http outside 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 AuthInbound
aaa authentication include http inside 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 AuthOutbound
aaa authentication include telnet inside 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 AuthOutbound
aaa authentication include ftp inside 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 AuthOutbound
! !--- また、5.2 の新機能により次の 2 つの文を
!--- access-list 101 と一緒に使用して、前の 6 つの文と置き換えることができます
!--- (注: 古い表現と新しい表現を一緒に用いないでください)。
aaa authentication match 101 outside AuthInbound
aaa authentication match 101 inside AuthOutbound
no snmp-server location no snmp-server contact snmp-server community public no snmp-server enable traps floodguard enable no sysopt route dnat isakmp identity hostname telnet timeout 5 ssh timeout 5 terminal width 80 Cryptochecksum:5882f514247589d784a0d74c800907b8 : end

設定可能な RADIUS ポート(5.3 以上)

一部の RADIUS サーバは、1645/1646 以外の RADIUS ポート(通常は 1812/1813)を使用します。PIX 5.3 以上では、RADIUS の認証およびアカウンティングポートを、次のコマンドを使用して、デフォルトの 1645/1646 以外に変更できます。

aaa-server radius-authport #
aaa-server radius-acctport #

PIX 認証デバッグの例

デバッグをオンにする方法については、デバッグの手順を参照してください。次に示すのは、99.99.99.2 のユーザが内部の 172.18.124.114(99.99.99.99)へのトラフィックを開始する場合とその逆の例です。受信トラフィックは TACACS で認証し、送信トラフィックは RADIUS で認証します。

認証の成功: TACACS+(受信)

109001: Auth start for user '???' from 99.99.99.2/11003 to 172.18.124.114/23
109011:Authen Session Start:user 'cse', sid 2
109005:Authentication succeeded for user 'cse' from 172.18.124.114/23 to 99.99.99.2/11003 on interface outside
302001:Built inbound TCP connection 4 for faddr 99.99.99.2/11003 gaddr 99.99.99 .99/23 laddr 172.18.124.114/23 (cse)

ユーザ名/パスワードが正しくないため失敗した認証: TACACS+(受信)「Error: Max number of tries exceeded」が表示されます。

109001: Auth start for user '???' from 99.99.99.2/11003 to 172.180,124,114/23
109006:Authentication failed for user '' from 172.18.124.114/23 to 99.99.99.2/1 1004 on interface outside

サーバが PIX と通信しない: TACACS+(受信)。username が一度だけ表示され PIX はパスワードを要求しません(Telnet 上)。「Error: Max number of tries exceeded」が表示されます。

109001: Auth start for user '???' from 99.99.99.2/11005 to 172.18.124.114/23
109002:Auth from 172.18.124.114/23 to 99.99.99.2/11005 failed (server 172.18.12 4.111 failed) on interface outside
109002:Auth from 172.18.124.114/23 to 99.99.99.2/11005 failed (server 172.18.12 4.111 failed) on interface outside
109002:Auth from 172.18.124.114/23 to 99.99.99.2/11005 failed (server 172.18.12 4.111 failed) on interface outside
109006:Authentication failed for user '' from 172.18.124.114/23 to 99.99.99.2/1 1005 on interface outside

正常な認証: RADIUS(送信)
109001: Auth start for user '???' from 172.18.124.114/35931 to 99.99.99.2/23
109011:Authen Session Start:user 'bill', Sid 0
109005:Authentication succeeded for user 'bill' from 172.18.124.114/35931 to 99 .99.99.2/23 on interface inside

失敗した認証(ユーザ名またはパスワード): RADIUS(送信)。Username、次に Password が要求されます。ユーザはこれらを 3 度まで入力でき、認証されない場合は、「Error: Max number of tries exceeded」が表示されます。
109001: Auth start for user '???' from 172.18.124.114/35932 to 99.99.99.2/23
109002:Auth from 172.18.124.114/35932 to 99.99.99.2/23 failed (server 172.18.12 4.111 failed) on interface inside
109006:Authentication failed for user '' from 172.18.124.114/35932 to 99.99.99. 2/23 on interface inside

サーバは PING できてもデーモンが停止、サーバに PING できない、またはキー/クライアントのミスマッチにより PIX と通信しない: RADIUS(送信)。Username、次に password が表示されてから、「RADIUS server failed」、および最後に「Error: Max number of tries exceeded」が表示されます。
109001: Auth start for user '???' from 172.18.124.114/35933 to 99.99.99.2/23
109002:Auth from 172.18.124.114/35933 to 99.99.99.2/23 failed (server 172.18.12 4.111 failed) on interface inside
109002:Auth from 172.18.124.114/35933 to 99.99.99.2/23 failed (server 172.18.12 4.111 failed) on interface inside
109002:Auth from 172.18.124.114/35933 to 99.99.99.2/23 failed (server 172.18.12 4.111 failed) on interface inside
109006:Authentication failed for user '' from 172.18.124.114/35933 to 99.99.99. 2/23 on interface inside

認証に許可を加えた場合

認証されたすべてのユーザが PIX を介したあらゆる操作(HTTP、FTP、および Telnet)を実行できるようにする場合は、必要なのは認証だけで許可は必要ありません。しかし、より細かく区別する必要がある場合(サービスのサブセットのいくつかを特定のユーザに許可したり、ユーザが特定のサイトへ移動するのを制限するなど)は、許可が必要です。PIX を介したトラフィックに RADIUS の許可は有効ではありませんが、TACACS+ の許可は有効です。

認証を通過し、かつ許可が有効である場合、PIX はユーザが実行しているコマンドをサーバに(たとえば「http 1.2.3.4.」)送信します。PIX のバージョン 5.2 では、TACACS+ の許可をアクセス リストと一緒に使用して、ユーザがどこに移動できるかを制御できます。

HTTP の許可(つまり訪れたウェブ サイト)を実装するときは、HTTP 接続の特性、および 1 つのウェブ サイトには膨大な数の IP アドレスが関連付けられていることがあるという事実を踏まえ、Websense などのソフトウェアを使用して探索を行って管理するほうが実用的であることを忘れないでください。

サーバの設定:認証に許可を加えた場合

CiscoSecure UNIX TACACS サーバの設定

  user = can_only_do_telnet {
password = clear "**********"
service = shell {
cmd = telnet {
permit .*
}
}
}

user = can_only_do_ftp {
password = clear "*******"
service = shell {
cmd = ftp {
permit .*
}
}
}

user = httponly {
password = clear "********"
service = shell {
cmd = http {
permit .*
}
}
}

CiscoSecure NT TACACS+

  1. グループ設定の一番下で、[Deny unmatched IOS commands] をクリックします。

  2. [Add/Edit New Command] をクリックします(FTP、HTTP、Telnet)。たとえば、特定のサイトへの Telnet を許可する場合(「telnet 1.2.3.4」)、コマンドは telnetで、引数は 1.2.3.4 です。「command=telnet」を入力した後で、[Argument] の四角の中に「permit」 IP アドレスを入力します(たとえば、「permit 1.2.3.4」)。すべての Telnet を許可する場合、コマンドは「telnet」のままで、[Allow all unlisted arguments] をクリックします。次に、[Finish editing command] をクリックします。

  3. ステップ 2 を許可するコマンドそれぞれに実行します(たとえば、Telnet、HTTP、および FTP)。

  4. GUI を使用して、PIX IP アドレスを [NAS Configuration] セクションに追加してください。

TACACS+ フリーウェア サーバの設定

 user = can_only_do_telnet {
login = cleartext "telnetonly"
cmd = telnet {
permit .*
}
}
 user = httponly {
login = cleartext "httponly"
cmd = http {
permit .*
}
}
 user = can_only_do_ftp {
login = cleartext "ftponly"
cmd = ftp {
permit .*
}
}

PIX 設定:許可の追加

コマンドを追加して、許可を要求します。

aaa authorization include telnet outside 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 AuthInbound
aaa authorization include http outside 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 AuthInbound
aaa authorization include ftp outside 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 AuthInbound

また、5.2 の新機能を使用すると、定義済みの access-list 101 と次の文を一緒にしたものと、上の 3 つの文を置き換えることができます (注: 古い表現と新しい表現を一緒に用いないでください)。

aaa authorization match 101 outside AuthInbound

PIX 認証と許可デバッグの例

認証は正常に行われ許可も成功: TACACS+

 109001: Auth start for user '???' from
99.99.99.2/11010 to 172.18.124.114/23
109011: Authen Session Start: user 'cse', Sid 3
109005: Authentication succeeded for user
'cse' from 172.18.124.114/23 to 99.99.99.2/11010
on interface outside
109011: Authen Session Start: user 'cse', Sid 3
109007: Authorization permitted for user 'cse'
from 99.99.99.2/11010 to 172.18.1 24.114/23
on interface outside
302001: Built inbound TCP connection 2 for faddr
99.99.99.2/11010 gaddr 99.99.99.99/23 laddr
172.18.124.114/23 (cse)

認証は正常に行われたが許可は失敗: TACACS+。ユーザには、「Error: Authorization Denied.」のメッセージも表示されます。

 109001: Auth start for user '???' from
99.99.99.2/11011 to 172.18.124.114/23
109011: Authen Session Start: user 'httponly', Sid 4
109005: Authentication succeeded for user 'httponly'
from 172.18.124.114/23 to 9 9.99.99.2/11011
on interface outside
109008: Authorization denied for user 'httponly'
from 172.18.124.114/23 to 99.99.99.2/11011
on interface outside

新しいアクセス リストの機能

PIX ソフトウェア リリース 5.2 から、アクセス リストを PIX に定義してから、サーバのユーザ プロファイルに基づいてこれらのアクセス リストをユーザごとに適用できます。TACACS+ には、認証と許可が必要です。RADIUS では、認証だけが必要です。この例では、送信の認証と TACACS+ への許可を変更して、アクセスリストを PIX で設定しています。

注: PIX バージョン 6.0.1 から、RADIUS を使用している場合、アクセスリストは、IETF RADIUS の標準のアトリビュート 11(Filter-Id)に入力することで実装することも可能です [CSCdt50422]。この例でアトリビュート 11 を 115 に設定して、ベンダー固有の「acl=115」の代わりにすることができます。

PIX の設定

access-list 115 permit tcp any host 99.99.99.2 eq telnet
access-list 115 permit tcp any host 99.99.99.2 eq www
access-list 115 permit tcp any host 99.99.99.2 eq ftp
access-list 115 deny tcp any host 99.99.99.3 eq www
access-list 115 deny tcp any host 99.99.99.3 eq ftp
access-list 115 deny tcp any host 99.99.99.3 eq telnet

サーバ プロファイル

注:TACACS+ フリーウェアの 2.1 バージョンは、「acl」の表現を認識しません。

CiscoSecure UNIX TACACS+ サーバの設定

  user = pixa{
password = clear "********"
service=shell {
set acl=115
}
}

CiscoSecure NT TACACS+

PIX に許可を追加して、ユーザが移動できる場所をアクセス リストで制御するためには、shell/exec をチェックし、[Access control list] ボックスをオンにし、番号を入力します(PIX のアクセス リスト番号と一致する番号)。

CiscoSecure UNIX RADIUS

user = pixa{
password = clear "********"
radius=Cisco {
reply_attributes= {
9,1="acl=115"
}
}
}

CiscoSecure NT RADIUS

Radius/Cisco はデバイス タイプです。ここでの「pixa」ユーザには、ユーザ名、パスワード、そして [009\001 AV-Pair (vendor-specific)] という [Cisco/Radius] ボックスのチェックがオンにされ「acl=115」が設定されていることが必要です。

出力結果

プロファイルが「acl=115」の送信ユーザ「pixa」は認証と許可を行い、サーバは acl=115 を PIX に渡し、PIX は次のように表示します。

pixfirewall# show uauth

                         Current    Most Seen

 Authenticated Users       1          2

 Authen In Progress        0          2

 user 'pixa' at 172.18.124.114, authenticated

    access-list 115

    absolute   timeout: 0:05:00

    inactivity timeout: 0:00:00

 

ユーザ「pixa」が 99.99.99.3(または暗黙拒否があるため 99.99.99.2 以外の IP アドレス)に移動しようとすると、次のように表示されます。

Error: acl authorization denied

アカウンティングの追加

PIX 設定:アカウンティングの追加

TACACS(AuthInbound=tacacs)

次のコマンドを追加します。

aaa accounting include any inside 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 AuthInbound

または、5.2 の新機能を使用してアクセス リストで何をアカウンティングするかを定義します。

aaa accounting match 101 outside AuthInbound

注: アクセス リスト 101 は、別途定義されています。

RADIUS(AuthOutbound=radius)

次のコマンドを追加します。

aaa accounting include any inside 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 AuthOutbound

または 5.2 の新機能を使用して、アクセス リストで何をアカウンティングするかを定義します。

aaa accounting match 101 outside AuthOutbound

注: アクセス リスト 101 は、別途定義されています。

アカウンティングの例

Telnet の 99.99.99.2 外部から 172.18.124.114 内部(99.99.99.99)への TACACS アカウンティングの例

172.18.124.157 pixuser PIX 99.99.99.2 start server=rtp-cherry time=10:36:16
date=08/23/2000 task_id=0x0 foreign_ip=99.99.99.2 local_ip=172.18.124.114
cmd=telnet
172.18.124.157 pixuser PIX 99.99.99.2 stop server=rtp-cherry time=10:37:50
date=08/23/2000 task_id=0x0 foreign_ip=99.99.99.2 local_ip=172.18.124.114
cmd=telnet elapsed_time=94 bytes_in=61 bytes_out=254

172.18.124.114 内部から 99.99.99.2 外部(Telnet)と 99.99.99.3 外部(HTTP)への接続のRADIUS アカウンティングの例

Sun Aug  6 03:59:28 2000
Acct-Status-Type = Start
NAS-IP-Address = 172.18.124.157
Login-IP-Host = 172.18.124.114
Login-TCP-Port = 23
Acct-Session-Id = 0x00000004
User-Name = cse
Vendor-Specific = Source-IP=172.18.124.114
Vendor-Specific = Source-Port=35937
Vendor-Specific = Destination-IP=99.99.99.2
Vendor-Specific = Destination-Port=23

Sun Aug 6 03:59:32 2000
Acct-Status-Type = Stop
NAS-IP-Address = 172.18.124.157
Login-IP-Host = 172.18.124.114
Login-TCP-Port = 23
Acct-Session-Id = 0x00000004
Username = cse
Acct-Session-Time = 4
Acct-Input-Octets = 101
Acct-Output-Octets = 143
Vendor-Specific = Source-IP=172.18.124.114
Vendor-Specific = Source-Port=35937
Vendor-Specific = Destination-IP=99.99.99.2
Vendor-Specific = Destination-Port=23

Sun Aug 6 04:05:02 2000
Acct-Status-Type = Start
NAS-IP-Address = 172.18.124.157
Login-IP-Host = 172.18.124.114
Login-TCP-Port = 80
Username = cse
Vendor-Specific = Source-IP=172.18.124.114
Vendor-Specific = Source-Port=35949
Vendor-Specific = Destination-IP=99.99.99.3
Vendor-Specific = Destination-Port=80

Sun Aug 6 04:05:02 2000
Acct-Status-Type = Stop
NAS-IP-Address = 172.18.124.157
Login-IP-Host = 172.18.124.114
Login-TCP-Port = 80
Acct-Session-Id = 0x0000000a
Username = cse
Acct-Session-Time = 0
Acct-Input-Octets = 1277
Acct-Output-Octets = 310
Vendor-Specific = Source-IP=172.18.124.114
Vendor-Specific = Source-Port=35949
Vendor-Specific = Destination-IP=99.99.99.3
Vendor-Specific = Destination-Port=80

exclude コマンドの使用

ネットワーク内で、特定の発信元や宛先に認証、許可、またはアカウンティングが必要ないと設定する場合、次の操作を実行します。

aaa authentication exclude telnet outside 172.18.124.114 255.255.255.255 99.99.99.3 255.255.255.255 AuthInbound
aaa authorization exclude telnet outside 172.18.124.114 255.255.255.255 99.99.99.3 255.255.255.255 AuthInbound
aaa accounting exclude telnet outside 172.18.124.114 255.255.255.255 99.99.99.3 255.255.255.255 AuthInbound

注: すでに「include」コマンドは使用されています。
aaa authentication|authorization|accounting include http|ftp|telnet

または、5.2 の新機能を使用して、何を除外するかを定義します。

access-list 101 deny tcp host 99.99.99.3 host 172.18.124.114 eq telnet
access-list 101 deny tcp host 99.99.99.3 host 172.18.124.114 eq ftp
access-list 101 deny tcp host 99.99.99.3 host 172.18.124.114 eq www
access-list 101 permit tcp any any eq telnet
access-list 101 permit tcp any any eq www
access-list 101 permit tcp any any eq ftp
aaa authentication match 101 outside AuthInbound
aaa authorization match 101 outside AuthInbound
aaa accounting match 101 outside AuthInbound

注: ボックスを認証から除外しており、許可を有効にしている場合は、そのボックスを許可からも除外する必要があります。

最大セッションとログイン ユーザの表示

一部の TACACS+ および RADIUS サーバには、「最大セッション」または「ログイン ユーザの表示」機能があります。最大セッションを実行したりログイン ユーザをチェックしたりする機能は、アカウンティングレコードによって変わります。アカウンティングの「start」レコードが生成されているが「stop」レコードがない場合、TACACS+ または RADIUS サーバは、だれかがまだログインしている(つまり、ユーザはPIX を介したセッションを維持している)と見なします。これは Telnet や FTP 接続では接続の性質上うまく機能します。HTTP では接続の性質上、十分に機能しません。次の例では、別のネットワーク構成が使用されていますが、概念は同じです。

ユーザが PIX を通して Telnet を実行し、途中で認証を行っています。

     (pix) 109001: Auth start for user '???' from
171.68.118.100/1200 to 9.9.9.25 /23
(pix) 109011: Authen Session Start: user 'cse', Sid 3
(pix) 109005: Authentication succeeded for user
'cse' from 171.68.118.100/1200 to 9.9.9.25/23
(pix) 302001: Built TCP connection 5 for
faddr 9.9.9.25/23 gaddr 9.9.9.10/1200 laddr
171.68.118.100/1200 (cse)
(server start account) Sun Nov 8 16:31:10 1998
rtp-pinecone.rtp.cisco.com cse
PIX 171.68.118.100 start task_id=0x3
foreign_ip=9.9.9.25
local_ip=171.68.118.100 cmd=telnet

サーバは「start」レコードを認識したものの「stop」レコードは認識していないので、この時点では、サーバは「Telnet」ユーザがログインしていることを示します。このユーザが別の接続を試み、その接続で認証が必要な場合(たとえば別のパソコンから)で、さらにサーバ上でこのユーザに対する最大セッションが「1」に設定されていると(サーバが最大セッションをサポートしていると仮定)、接続はサーバによって拒否されます。ユーザは自分の Telnet や FTP 作業をターゲット ホスト上で行い、終了します(ここで 10 分を費やします)。

     (pix) 302002: Teardown TCP connection 5 faddr
9.9.9.25/80 gaddr 9.9.9.10/128 1 laddr
171.68.118.100/1281 duration 0:00:00 bytes
1907 (cse)
(server stop account) Sun Nov 8 16:41:17 1998
rtp-pinecone.rtp.cisco.com
cse PIX 171.68.118.100 stop task_id=0x3
foreign_ip=9.9.9.25 local_ip=171.68.118.100
cmd=telnet elapsed_time=5 bytes_in=98
bytes_out=36

uauth が 0(つまり、毎回認証する)の場合でも、0 以上の場合でも(認証を 1 回行い uauth 期間中は再度行わない)、アカウンティングレコードはアクセスされたすべてのサイトで削除されます。

HTTP は、そのプロトコルの性質によって、動作が異なります。次は HTTP の例で、ユーザは 171.68.118.100 から 9.9.9.25 へ PIX を経由してブラウズします。

     (pix) 109001: Auth start for user '???' from
171.68.118.100/1281 to 9.9.9.25 /80
(pix) 109011: Authen Session Start: user 'cse', Sid 5
(pix) 109005: Authentication succeeded for user
'cse' from 171.68.118.100/12 81 to 9.9.9.25/80
(pix) 302001: Built TCP connection 5 for faddr
9.9.9.25/80 gaddr 9.9.9.10/12 81 laddr
171.68.118.100/1281 (cse)
(server start account) Sun Nov 8 16:35:34 1998
rtp-pinecone.rtp.cisco.com
cse PIX 171.68.118.100 start task_id=0x9
foreign_ip=9.9.9.25 local_ip=171.68.118.100 cmd=http
(pix) 302002: Teardown TCP connection 5 faddr
9.9.9.25/80 gaddr 9.9.9.10/128 1
laddr 171.68.118.100/1281 duration 0:00:00 bytes 1907 (cse)
(server stop account) Sun Nov 8 16:35.35 1998
rtp-pinecone.rtp.cisco .com
cse PIX 171.68.118.100 stop task_id=0x9
foreign_ip =9.9.9.25 local_ip=171.68.118.100
cmd=http elapsed_time=0 bytes_ in=1907 bytes_out=223

ユーザは、ダウンロードされたウェブ ページを読みます。start レコードは 16:35:34 にポストされ、stop レコードは 16:35:35 にポストされます。このダウンロードには 1 秒かかりました(つまり、start と stop のレコード間は 1 秒未満でした)。さて、ユーザがウェブ ページを読んでいるとき、ユーザはウェブ サイトにログインして接続はまだ開いているでしょうか?答えはいいえ、です。最大セッションまたはログイン ユーザの表示は機能するでしょうか?答えはいいえ、です。HTTP の接続時間(「start」と「stop」の間の時間)が短すぎるため、機能できません。「start」および「stop」レコードは、1 秒以下です。レコードは実質的に同じ時点に発生しているため、「start」レコードに「stop」レコードがないということはありません。uauth が 0 に設定されていても、0 以上に設定されていても、トランザクションごとにサーバに送信された「start」および「stop」レコードはまだ存在しています。ただし、最大セッションとログイン ユーザの表示は、HTTP 接続の性質により機能しません。

ユーザ インターフェイス

ユーザに表示されるプロンプトの変更

次のコマンドを実行するとします。

auth-prompt prompt PIX515B

PIX を通過するユーザには、次のプロンプトが表示されます。

PIX515B

ユーザに表示されるメッセージのカスタマイズ

次のコマンドを実行するとします。

auth-prompt accept "GOOD_AUTHENTICATION"
auth-prompt reject "BAD_AUTHENTICATION"

すると、ユーザにはログインの失敗/成功時に認証のステータスのメッセージが表示されます。

  PIX515B
Username: junk Password: "BAD_AUTHENTICATION" PIX515B Username: cse Password: "GOOD_AUTHENTICATION"

ユーザごとのアイドルと絶対タイムアウト

PIX の timeout uauth コマンドは、認証をどのくらいの頻度で必要とするかを調節します。TACACS+ 認証/許可がオンの場合、これをユーザごとに調節できます。

次のユーザ プロファイルを設定してタイムアウトを調節します(これは TACACS+ フリーウェア サーバ上にあり、タイムアウトは分単位です)。

user = cse {
default service = permit
login = cleartext "csecse"
service = exec {
timeout = 2
idletime = 1
}
}

認証/許可の後

show uauth

                         Current    Most Seen

 Authenticated Users       1          2

 Authen In Progress        0          1

 user 'cse' at 99.99.99.3, authorized to:

    port 172.18.124.114/telnet

    absolute   timeout: 0:02:00

    inactivity timeout: 0:01:00

 

2 分の経過時

絶対的なタイムアウトセッションは削除されます。

109012: Authen Session End:user 'cse', Sid 20, elapsed 122 seconds
302002:Teardown TCP connection 32 faddr 99.99.99.3/11025 gaddr 99.99.99.99/23 l addr 172.18.124.114/23 duration 0:02:26 bytes 7547 (TCP FINs)

仮想 HTTP 送信

認証が PIX 外部のサイトと同様 PIX そのものでも必要となる場合、ブラウザは異常な動作を見せることがありますが、これはブラウザがユーザ名とパスワードをキャッシュするためです。

これを防ぐために、RFC 1918 leaving cisco.com アドレス(つまり、インターネット上で経路指定不可能だが、PIX 内部ネットワークでは有効な唯一のアドレス)を PIX 設定に次の形式で追加して、仮想 HTTP を実装できます。

virtual http #.#.#.# <warn>

ユーザが PIX 外部に移動しようとすると、認証が必要になります。warn パラメータがある場合、ユーザはリダイレクト メッセージを受信します。認証は、uauth の中の期間に行われます。この資料の中で示しているように、仮想 HTTP では timeout uauth コマンドの期間を 0 秒に設定しないでください。0 秒に設定すると HTTP が実際のウェブ サーバに接続できなくなります。

PIX 設定の中に、次を追加します。

virtual http 172.18.124.47

ユーザはブラウザを 99.99.99.3 でポイントし、次のメッセージが表示されます。

PIX515B(IDXXX)のユーザ名を 172.18.124.47 で入力してください

認証後、トラフィックは 99.99.99.3 にリダイレクトされます。

仮想 Telnet

仮想 Telnet 受信

ここでは受信メールに認証を行うことにしますが、これでは受信として送られるメールのウィンドウが表示されないため、あまりよい方法ではありません。exclude コマンドを使用するのがよい方法でしょう。しかし説明のため、ここでは次の追加を行います。

aaa authentication include tcp/25 outside 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 AuthInbound
aaa authorization include tcp/25 outside 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 AuthInbound
!--- また、5.2 の新機能を使用すると、次の 4 つの文は同じ機能を
!--- 実行できます(注:古い表現と新しい表現を一緒に用いないでください)。

access-list 101 permit tcp any any eq smtp
!--- 「mail」はポート 25 への Telnet でした)
access-list 101 permit tcp any any eq telnet
aaa authentication match 101 outside AuthInbound
aaa authorization match 101 outside AuthInbound
!
!--- 加えて
!
virtual telnet 99.99.99.30
static (inside,outside) 99.99.99.30 172.18.124.30 netmask 255.255.255.255 0 0
static (inside,outside) 99.99.99.99 172.18.124.114 netmask 255.255.255.255 0 0
conduit permit tcp host 99.99.99.30 eq telnet any
conduit permit tcp host 99.99.99.99 eq telnet any
conduit permit tcp host 99.99.99.99 eq smtp any

使用するユーザ(これは TACACS+ フリーウェアでした)

  user = cse {
default service = permit
login = cleartext "csecse"
}


user = pixuser {
login = cleartext "pixuser"
service = exec {
}
cmd = telnet {
permit .*
}
}

認証のみ有効な場合、両方のユーザは受信メールを IP アドレス 99.99.99.30 への Telnet 上で認証した後に送信できます。許可が有効な場合、ユーザ「cse」は 99.99.99.30 に Telnet して、TACACS+ ユーザ名/パスワードを入力できます。Telnet 接続は切断され、ユーザ「cse」は次にメールを 99.99.99.99(172.18.124.114)に送信できます。ユーザ「pixuser」での認証は成功しますが、PIX が cmd=tcp/25 と cmd-arg=172.18.124.114 の許可要求を送信すると、要求は次の出力結果に示すとおり失敗します。

109001: Auth start for user '???' from
99.99.99.2/11036 to 172.18.124.114/23
109005: Authentication succeeded for user
'cse' from 172.18.124.114/23 to
99.99.99.2/11036 on interface outside
pixfirewall# show uauth
Current Most Seen
Authenticated Users 1 1 Authen In Progress 0 1 user 'cse' at 99.99.99.2, authenticated absolute timeout: 0:05:00 inactivity timeout: 0:00:00
pixfirewall# 109001: Auth start for user '???' from
99.99.99.2/11173 to 172.18.124.30/23
109011: Authen Session Start: user 'cse', sid 10
109005: Authentication succeeded for user 'cse' from 99.99.99.2/23
to 172.18.124.30/11173 on interface outside
109011: Authen Session Start: user 'cse', sid 10
109007: Authorization permitted for user 'cse' from 99.99.99.2/11173
to 172.18.124.30/23 on interface outside
109001: Auth start for user 'cse' from 99.99.99.2/11174 to
172.18.124.114/25
109011: Authen Session Start: user 'cse', sid 10
109007: Authorization permitted for user 'cse' from 99.99.99.2/11174
to 172.18.124.114/25 on interface outside
302001: Built inbound TCP connection 5 for faddr 99.99.99.2/11174
gaddr 99.99.99.99/25 laddr 172.18.124.114/25 (cse)

pixfirewall# 109001: Auth start for user '???' from 99.99.99.2/11175
to 172.18.124.30/23
109011: Authen Session Start: user 'pixuser', sid 11
109005: Authentication succeeded for user 'pixuser' from 99.99.99.2/23
to 172.18.124.30/11175 on interface outside
109011: Authen Session Start: user 'pixuser', sid 11
109007: Authorization permitted for user 'pixuser' from 99.99.99.2/11175
to 172.18.124.30/23 on interface outside
109001: Auth start for user 'pixuser' from 99.99.99.2/11176
to 172.18.124.114/25
109008: Authorization denied for user 'pixuser' from 99.99.99.2/25
to 172.18.124.114/11176 on interface outside

仮想 Telnet 送信

ここでは送信メールに認証を行うことにします。繰り返しますが、これでは送信として送られるメールにウィンドウが表示されないためよい方法ではありません。exclude コマンドを使用するのがよい方法でしょう。しかし説明のため、ここでは次の追加を行います。

aaa authentication include tcp/25 inside 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 AuthOutbound
!--- また、5.2 の新機能を使用すると次の 3 つの文を前の文に
!--- 置き換えることができます(注:古い表現と新しい表現を一緒に用いないでください)。

access-list 101 permit tcp any any eq smtp
access-list 101 permit tcp any any eq telnet
aaa authentication match 101 inside AuthOutbound
!
!--- 加えて
!
virtual telnet 99.99.99.30
!--- PIX の外部の IP アドレスで、何にも使用されません。

メールを内部から外部へ送信するために、コマンド プロンプトをメール ホストで起動して 99.99.99.30 へ Telnet します。これによりメールが通過するホールが開き、メールを 172.18.124.114 から 99.99.99.2 へ送信できるようになります。

   305002: Translation built for gaddr 99.99.99.99
to laddr 172.18.124.114
109001: Auth start for user '???' from
172.18.124.114/32860 to 99.99.99.30/23
109011: Authen Session Start: user 'cse', Sid 14
109005: Authentication succeeded for user 'cse'
from 172.18.124.114/32860 to 99.99.99.30/23
on interface inside
302001: Built outbound TCP connection 22 for faddr
99.99.99.2/25 gaddr 99.99.99.99/32861
laddr 172.18.124.114/32861 (cse)

pixfirewall# show uauth

                         Current    Most Seen

 Authenticated Users       1          2

 Authen In Progress        0          1

 user 'cse' at 172.18.124.114, authenticated

    absolute   timeout: 0:05:00

    inactivity timeout: 0:00:00

 

仮想 Telnet ログアウト

ユーザは仮想 Telnet IP アドレスへ Telnet するとき、show uauth コマンドで、ホールが開いている時間を表示できます。ユーザがセッションの終了後に、トラフィックが通過しないようにする場合は(uauth に時間が残っているとき)、仮想 Telnet IP アドレスに再度 Telnet する必要があります。これによりセッションはオフに切り替わります。これを次の例に示します。

1 回目の認証:

 109001: Auth start for user '???'
from 172.18.124.114/32862 to 99.99.99.30/23
109011: Authen Session Start: user 'cse', Sid 15
109005: Authentication succeeded for user
'cse' from 172.18.124.114/32862 to
99.99.99.30/23 on interface inside

1 回目の認証の後:

pixfirewall# show uauth

                         Current    Most Seen

 Authenticated Users       1          2

 Authen In Progress        0          1

 user 'cse' at 172.18.124.114, authenticated

    absolute   timeout: 0:05:00

    inactivity timeout: 0:00:00

 

2 回目の認証:

   pixfirewall# 109001: Auth start for user 'cse'
from 172.18.124.114/32863 to 99.99.99.30/23
109005: Authentication succeeded for user 'cse'
from 172.18.124.114/32863 to 99.99.99.30/23
on interface inside

2 回目の認証の後:

pixfirewall# show uauth

                         Current    Most Seen

 Authenticated Users       0          2

 Authen In Progress        0          1

 

ポートの許可

許可をポート範囲に与えることができます。仮想 Telnet が PIX に設定されており、あるポートの範囲に許可が設定されていると、ユーザは仮想 Telnet によりホールを開くことができます。そして、ポート範囲に対する許可がオンでありこの範囲のトラフィックが PIX をヒットすると、PIX は許可を行うためコマンドを TACACS+ サーバに送信します。次の例は、あるポート範囲での受信許可を示します。

aaa authentication include any outside 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 AuthInbound
aaa authorization include tcp/40-50 outside 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 AuthInbound
!--- また、5.2 の新機能を使用すると次の 3 つの文は前の
!--- 2 つの文と同じ機能を実行できます。
!--- (注:古い表現と新しい表現を一緒に用いないでください)。

access-list 116 permit tcp any any range 40 50
aaa authentication match 116 outside AuthInbound
aaa authorization match 116 outside AuthInbound
!
!--- 加えて
!
static (inside,outside) 99.99.99.99 172.18.124.114 netmask 255.255.255.255 0 0
conduit permit tcp any any
virtual telnet 99.99.99.99

TACACS+ サーバ設定の例(フリーウェア)

  user = cse {
login = cleartext "numeric"
cmd = tcp/40-50 {
permit 172.18.124.114
}
}

ユーザは最初に仮想 IP アドレス 99.99.99.99 へ Telnet する必要があります。認証後、ユーザが TCP トラフィックをポート 40〜50 の範囲に挿入し PIX を経由して 99.99.99.99(172.18.124.114)へ送ろうとすると、下記のように cmd=tcp/40-50 が TACACS+ サーバへ cmd-arg=172.18.124.114 とともに送信されます。

109001: Auth start for user '???' from 99.99.99.3/11075
to 172.18.124.114/23
109011: Authen Session Start: user 'cse', Sid 13
109005: Authentication succeeded for user 'cse'
from 172.18.124.114/23 to 99.99.99.3/11075
on interface outside
109001: Auth start for user 'cse' from 99.99.99.3/11077
to 172.18.124.114/49
109011: Authen Session Start: user 'cse', Sid 13
109007: Authorization permitted for user 'cse'
from 99.99.99.3/11077 to 172.18.124.114/49
on interface outside

HTTP、FTP、および Telnet 以外のトラフィックの AAA アカウンティング

仮想 Telnet によりネットワーク内ホストへの TCP/40〜50 のトラフィックが可能になることを確認したら、このトラフィックのアカウンティングを次のコマンドを使用して追加します。

aaa accounting include any inbound 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 AuthInbound
!--- また、5.2 の新機能を使用すると次の 2 つの文を
!--- 前の文に置き換えることができます。
!--- 注:古い表現と新しい表現を一緒に用いないでください。

aaa accounting match 116 outside AuthInbound
access-list 116 permit ip any any

TACACS+ アカウンティングレコードの例

   Thu Aug 24 08:06:09 2000 172.18.124.157 cse PIX 99.99.99.3
start task_id=0x17 foreign_ip=99.99.99.3 local_ip=172.18.124.114
cmd=tcp/40-50
Thu Aug 24 08:06:17 2000 172.18.124.157 cse PIX 99.99.99.3
stop task_id=0x17 foreign_ip=99.99.99.3 local_ip=172.18.124.114
cmd=tcp/40-50 elapsed_time=8 bytes_in=80 bytes_out=101

DMZ での認証

ユーザの特定の DMZ インターフェイスから別の DMZ インターフェイスへの移動を認証するために、PIX に対して、指定されたインターフェイスのトラフィックを認証するよう伝える必要があります。この PIX での配置は次のとおりです。

安全性が最も低い
PIX 外部(セキュリティ 0) = 172.18.124.155
pix/intf3(DMZ ・セキュリティ 15) = 3.3.3.3 & デバイス 3.3.3.2
pix/intf4(DMZ ・セキュリティ 20) = 4.4.4.4 & デバイス 4.4.4.2(静的に 3.3.3.15 へ)
PIX 内部(セキュリティ 100) = 10.32.1.250
安全性が最も高い

ネットワークダイアグラム

ここでは pix/intf3 と pix/intf4 間の Telnet トラフィックを認証することにします。

PIX の部分設定
  nameif ethernet0 outside security0
nameif ethernet1 inside security100
(nameif ethernet2 pix/intf2 security10)
nameif ethernet3 pix/intf3 security15
nameif ethernet4 pix/intf4 security20
(nameif ethernet5 pix/intf5 security25)
interface ethernet0 auto
interface ethernet1 auto
(interface ethernet2 auto shutdown)
interface ethernet3 auto
interface ethernet4 auto
(interface ethernet5 auto shutdown)
ip address outside 172.18.124.155 255.255.255.0
ip address inside 10.32.1.250 255.255.255.0
ip address pix/intf3 3.3.3.3 255.255.255.0
ip address pix/intf4 4.4.4.4 255.255.255.0
static (pix/intf4,pix/intf3) 3.3.3.15 4.4.4.2 netmask 255.255.255.255 0 0
conduit permit tcp host 3.3.3.15 host 3.3.3.2
aaa-server xway protocol tacacs+
aaa-server xway (outside) host 172.18.124.111 timeout 5
aaa authentication include telnet pix/intf4 4.4.4.0 255.255.255.0 3.3.3.0
255.255.255.0 3.3.3.0 255.255.255.0 xway
aaa authentication include telnet pix/intf3 4.4.4.0 255.255.255.0 3.3.3.0 255.255.255.0
3.3.3.0 255.255.255.0 xway
!--- また、5.2 の新機能を使用すると次の 4 つの文を
!--- 前の 2 つの文と置き換えることができます。
!--- 注: 古い表現と新しい表現を一緒に用いないでください)。
access-list 103 permit tcp 3.3.3.0 255.255.255.0 4.4.4.0 255.255.255.0 eq telnet
access-list 104 permit tcp 4.4.4.0 255.255.255.0 3.3.3.0 255.255.255.0 eq telnet
aaa authentication match 103 pix/intf3 xway
aaa authentication match 104 pix/intf4 xway


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

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


関連情報


Document ID: 8527