RADIUS および TACACS+ 認証は、FTP、Telnet、および HTTP の接続に対して実行できます。認証は、一般的ではない他のプロトコルでも、通常は行うことができます。TACACS+認可はサポートされますが、RADIUS認可はサポートされません。PIX 5.1の認証、許可、アカウンティング(AAA)が旧バージョンより変更され、拡張認証(xauth):Cisco Secure VPN Client 1.1からのIPSecトンネルの認証が含まれました。
このドキュメントに関する固有の要件はありません。
このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。
ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。
認証(Authentication)とは、ユーザが何者かを検証することです。
認可(Authorization)とは、ユーザが何をできるかを許可することです。
認証は、認可がなくても有効です。
認可は、認証がないと有効ではありません。
アカウンティングとは、ユーザが行った操作です。
100人のユーザが内部にいて、そのうち6人のユーザだけがネットワーク外部でFTP、Telnet、またはHTTPを実行できるようにしたいとします。発信トラフィックを認証し、TACACS+/RADIUSセキュリティサーバで6人のユーザすべてにIDを割り当てるようにPIXに指示します。簡易認証では、これら6人のユーザがユーザ名とパスワードで認証された後、外部にアクセスできます。他の94人のユーザは外出できませんでした。PIX はユーザ名とパスワードの入力をユーザに求め、そのユーザ名とパスワードを TACACS+/RADIUS セキュリティ サーバに渡し、その応答に応じて接続を開くか、拒否します。この6人のユーザは、FTP、Telnet、またはHTTPを実行できます。
しかし、この6人のユーザのうち1人の「Festus」が信頼できないと仮定します。FestusにFTPは許可するが、外部へのHTTPやTelnetは許可しないこの場合、ユーザが誰かを確認する認証に加えて、認可(つまりユーザが実行できる操作を許可する機能)を追加する必要があります。これはTACACS+でのみ有効です。PIXに許可を追加すると、PIXはまずFestusのユーザ名とパスワードをセキュリティサーバに送信し、次にFestusが実行しようとしている「コマンド」をセキュリティサーバに通知する許可要求を送信します。サーバが正しくセットアップされていれば、フェストスは「ftp 1.2.3.4」を許可できますが、HTTPまたはTelnetを任意の場所で実行する機能は拒否されます。
認証/認可が有効な場合に、内部から外部に(またはその逆方向に)移動しようとすると:
Telnet:ユーザ名を求めるプロンプトが表示されてから、パスワードが要求されます。PIX/サーバで認証(および認可)に成功すると、外部の宛先ホストからユーザ名とパスワードの入力を求められます。
FTP:ユーザ名を求めるプロンプトが表示されます。ユーザは、ユーザ名としてlocal_username@remote_username、パスワードとしてlocal_password@remote_passwordを入力する必要があります。PIXはlocal_usernameとlocal_passwordをローカルセキュリティサーバに送信します。認証(および認可)がPIX/サーバで成功した場合、remote_usernameとremote_passwordは外部の宛先FTPサーバに渡されます。
HTTP:ウィンドウがブラウザに表示され、ユーザ名とパスワードを要求します。認証(および認可)に成功すると、ユーザは外部の宛先 Web サイトに到達します。ブラウザによってユーザ名とパスワードがキャッシュされることに注意してください。PIXがHTTP接続をタイムアウトする必要があるのにタイムアウトしない場合、実際にはブラウザで再認証が行われている可能性があります。キャッシュされたユーザ名とパスワードがPIXに送信され、PIXがこれを認証サーバに転送します。PIXのsyslogやサーバのデバッグに、この現象が見られます。TelnetとFTPが正常に動作しているように見えても、HTTP接続が動作していない場合は、これが原因です。
Tunnel:VPN Clientとxauthをオンにして、IPSecトラフィックをネットワークにトンネリングしようとすると、ユーザ名/パスワードに対して「User Authentication for New Connection」という灰色のボックスが表示されます。
注:この認証は、Cisco Secure VPN Client 1.1からサポートされています。バージョン2.1.x以降がHelp > Aboutメニューに表示されない場合、これは機能しません。
このセクションでは、セキュリティサーバを設定するための情報を提供します。
PIX の IP アドレスまたは完全修飾ドメイン名とキーが CSU.cfg ファイルに含まれていることを確認します。
user = ddunlap { password = clear "rtp" default service = permit } user = can_only_do_telnet { password = clear "telnetonly" service = shell { cmd = telnet { permit .* } } } user = can_only_do_ftp { password = clear "ftponly" service = shell { cmd = ftp { permit .* } } } user = httponly { password = clear "httponly" service = shell { cmd = http { permit .* } } }
GUIを使用して、ネットワークアクセスサーバ(NAS)リストにPIXのIPアドレスとキーを追加します。
user=adminuser { radius=Cisco { check_items= { 2="all" } reply_attributes= { 6=6 } } }
Cisco Secure ACS for Windows 2.x RADIUSを設定するには、次の手順を使用します。
User Setup GUIセクションでパスワードを取得します。
Group Setup GUIセクションで、属性6(Service-Type)をLoginまたはAdministrativeに設定します。
NAS設定セクションのGUIでPIXのIPアドレスを追加します。
EasyACS のドキュメントで、セットアップについて説明されています。
グループセクションでShell execをクリックし、exec特権を付与します。
PIXに認可を追加するには、グループセットアップの下部にあるDeny unmatched IOS commandsをクリックします。
許可するコマンド(Telnetなど)ごとにAdd/Edit new commandを選択します。
特定のサイトへのTelnet接続が許可されている場合は、「permit #.#.#.#」の形式で引数セクションにIPアドレスを入力します。それ以外の場合、Telnetを許可するには、Allow all unlisted argumentsをクリックします。
[Finish editing command] をクリックします。
許可されるコマンド(Telnet、HTTP または FTP)ごとに、それぞれステップ 1 ~ 5 を行います。
[NAS Configuration GUI] セクションで PIX IP を追加します。
ユーザは、User Setup GUIセクションでパスワードを取得します。
グループセクションでShell execをクリックして、exec特権を付与します。
PIXに認可を追加するには、グループ設定の下部でDeny unmatched IOS commandsをクリックします。
許可するコマンド(Telnetなど)ごとにAdd/Edit new commandを選択します。
特定のサイトへのTelnetを許可するには、引数セクションに「permit #.#.#.#」の形式でIPアドレスを入力します。任意のサイトへのTelnetを許可するには、Allow all unlisted argumentsをクリックします。
[Finish editing command] をクリックします。
許可された各コマンド(Telnet、HTTP、FTPなど)に対して、ステップ1 ~ 5を実行します。
PIXのIPアドレスがNAS設定のGUIセクションに追加されていることを確認します。
PIXのIPアドレスとキーをClientsファイルに追加します。
adminuser Password="all" User-Service-Type = Shell-User
PIXのIPアドレスとキーをClientsファイルに追加します。
adminuser Password="all" Service-Type = Shell-User
key = "cisco" user = adminuser { login = cleartext "all" default service = permit } 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 .* } }
注:特定のshowコマンドは、アウトプットインタープリタツール(登録ユーザ専用)でサポートされています。このツールを使用すると、showコマンドの出力を分析できます。
AAAを追加する前に、PIX設定が機能していることを確認します。認証と認可を設定する前にトラフィックを通過させることができないと、その後は通過させることができません。
PIXでロギングを有効にします。
負荷の高いシステムでは、logging console debuggingを使用しないでください。
ロギング バッファ デバッグを使用してから、show logging コマンドを実行できます。
ロギングは syslog サーバに送信して、そこで検査することもできます。
TACACS+またはRADIUSサーバでデバッグをオンにします(すべてのサーバにこのオプションがあります)。
PIX の設定 |
---|
PIX Version 5.1(1) nameif ethernet0 outside security0 nameif ethernet1 inside security100 nameif ethernet2 pix/intf2 security10 enable password 8Ry2YjIyt7RRXU24 encrypted passwd 2KFQnbNIdI.2KYOU encrypted hostname pix3 fixup protocol ftp 21 fixup protocol http 80 fixup protocol smtp 25 fixup protocol h323 1720 fixup protocol rsh 514 fixup protocol sqlnet 1521 names pager lines 24 no logging timestamp no logging standby logging console debugging no logging monitor no logging buffered no logging trap no logging history logging facility 20 logging queue 512 interface ethernet0 auto interface ethernet1 auto interface ethernet2 auto shutdown mtu outside 1500 mtu inside 1500 mtu pix/intf2 1500 ip address outside 99.99.99.1 255.255.255.0 ip address inside 10.31.1.75 255.255.255.0 ip address pix/intf2 127.0.0.1 255.255.255.255 no failover failover timeout 0:00:00 failover ip address outside 0.0.0.0 failover ip address inside 0.0.0.0 failover ip address pix/intf2 0.0.0.0 arp timeout 14400 global (outside) 1 99.99.99.7-99.99.99.10 netmask 255.255.255.0 nat (inside) 1 10.31.1.0 255.255.255.0 0 0 static (inside,outside) 99.99.99.99 10.31.1.50 netmask 255.255.255.255 0 0 conduit permit icmp any any conduit permit tcp any any conduit permit udp any any route outside 0.0.0.0 0.0.0.0 99.99.99.2 1 route inside 171.68.118.0 255.255.255.0 10.31.1.1 1 route inside 171.68.120.0 255.255.255.0 10.31.1.1 1 timeout xlate 3:00:00 conn 1:00:00 half-closed 0:10:00 udp 0:02:00 timeout rpc 0:10:00 h323 0:05:00 timeout uauth 0:05:00 absolute aaa-server TACACS+ protocol tacacs+ aaa-server RADIUS protocol radius aaa-server AuthInbound protocol tacacs+ aaa-server AuthInbound (inside) host 171.68.118.101 cisco timeout 5 aaa-server AuthOutbound protocol radius aaa-server AuthOutbound (inside) host 171.68.118.101 cisco timeout 5 aaa authentication include telnet outbound 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 AuthOutbound aaa authentication include telnet inbound 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 AuthInbound aaa authentication include http outbound 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 AuthOutbound aaa authentication include http inbound 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 AuthInbound aaa authentication include ftp outbound 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 AuthOutbound aaa authentication include ftp inbound 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 AuthInbound no snmp-server location no snmp-server contact snmp-server community public no snmp-server enable traps floodguard enable telnet timeout 5 terminal width 80 Cryptochecksum:b26b560b20e625c9e23743082484caca : end [OK] |
このセクションでは、さまざまなシナリオの認証デバッグの例を示します。
99.99.99.2のOutsideユーザがInside 10.31.1.50(99.99.99.99)へのトラフィックを開始し、TACACSを介して認証されます(つまり、着信トラフィックはTACACSサーバ171.68.118.101を含むサーバリスト「AuthInbound」を使用します)。
次の例は、認証が良好なPIXデバッグを示しています。
109001: Auth start for user '???' from 99.99.99.2/11008 to 10.31.1.50/23 109011: Authen Session Start: user 'cse', sid 4 109005: Authentication succeeded for user 'cse' from 10.31.1.50/23 to 99.99.99.e 302001: Built inbound TCP connection 10 for faddr 99.99.99.2/11008 gaddr 99.99.)
次の例は、認証(ユーザ名またはパスワード)が正しくないPIXデバッグを示しています。ユーザ名/パスワードが3セット表示され、続いて「Error: max number of tries exceeded」というメッセージが表示されます。
109001: Auth start for user '???' from 99.99.99.2/11010 to 10.31.1.50/23 109006: Authentication failed for user '' from 10.31.1.50/23 to 99.99.99.2/11010 on interface outside
次の例は、サーバがping可能であるが、PIXと通信しないPIXデバッグを示しています。ユーザ名は1回表示されますが、PIXはパスワードを要求しません(これはTelnet上にあります)。Error: Max number of tries exceededが表示されます。
109001: Auth start for user '???' from 99.99.99.2/11011 to 10.31.1.50/23 109002: Auth from 10.31.1.50/23 to 99.99.99.2/11011 failed (server 171.68.118.101 failed) on interface outside 109002: Auth from 10.31.1.50/23 to 99.99.99.2/11011 failed (server 171.68.118.101 failed) on interface outside 109002: Auth from 10.31.1.50/23 to 99.99.99.2/11011 failed (server 171.68.118.101 failed) on interface outside 109006: Authentication failed for user '' from 10.31.1.50/23 to 99.99.99.2/11011 on interface outside
次の例は、サーバがpingできない場合のPIXデバッグを示しています。ユーザ名は1回表示されますが、PIXはパスワードを要求しません(これはTelnet上にあります)。次のメッセージが表示されます。「Timeout to TACACS+ server」および「Error: Max number of tries exceeded」(設定で偽のサーバが交換された)。
111005: console end configuration: OK 109001: Auth start for user '???' from 99.99.99.2/11012 to 10.31.1.50/23 109002: Auth from 10.31.1.50/23 to 99.99.99.2/11012 failed (server 1.1.1.1 failed) on interface outside 109002: Auth from 10.31.1.50/23 to 99.99.99.2/11012 failed (server 1.1.1.1 failed) on interface outside 109002: Auth from 10.31.1.50/23 to 99.99.99.2/11012 failed (server 1.1.1.1 failed) on interface outside 109006: Authentication failed for user '' from 10.31.1.50/23 to 99.99.99.2/11012 on interface outside
次の例は、認証が良好なPIXデバッグを示しています。
109001: Auth start for user '???' from 10.31.1.50/11008 to 99.99.99.2/23 109011: Authen Session Start: user 'pixuser', sid 8 109005: Authentication succeeded for user 'pixuser' from 10.31.1.50/11008 to 99.99.99.2/23 on interface inside 302001: Built outbound TCP connection 16 for faddr 99.99.99.2/23 gaddr 99.99.99.99/11008 laddr 10.31.1.50/11008 (pixuser)
次の例は、認証(ユーザ名またはパスワード)が正しくないPIXデバッグを示しています。ユーザはユーザ名とパスワードの要求を確認し、これらを入力する機会が3回あります。エントリが失敗すると、「Error: max number of tries exceeded」というメッセージが表示されます。
109001: Auth start for user '???' from 10.31.1.50/11010 to 99.99.99.2/23 109006: Authentication failed for user '' from 10.31.1.50/11010 to 99.99.99.2/23 on interface inside
次の例は、サーバにpingできるが、デーモンがダウンしてPIXと通信できない場合のPIXデバッグを示しています。ユーザ名、パスワード、RADIUSサーバの障害メッセージ、およびError: Max number of tries exceededエラーメッセージが表示されます。
109001: Auth start for user '???' from 10.31.1.50/11011 to 99.99.99.2/23 ICMP unreachable (code 3) 171.68.118.101 > 10.31.1.75 1ICMP unreachable (code 3) 171.68.118.101 > 10.31.1.75 ICMP unreachable (code 3) 171.68.118.101 > 10.31.1.75 ICMP unreachable (code 3) 171.68.118.101 > 10.31.1.75 09002: Auth from 10.31.1.50/11011 to 99.99.99.2/23 failed (server 171.68.118.101 failed) on interface inside 109002: Auth from 10.31.1.50/11011 to 99.99.99.2/23 failed (server 171.68.118.101 failed) on interface inside 109002: Auth from 10.31.1.50/11011 to 99.99.99.2/23 failed (server 171.68.118.101 failed) on interface inside 109006: Authentication failed for user '' from 10.31.1.50/11011 to 99.99.99.2/23 on interface inside
次の例は、サーバがpingできない、またはクライアント/キーが一致しない場合のPIXデバッグを示しています。ユーザ名、パスワード、Timeout to RADIUS serverメッセージ、およびError: Max number of tries exceededメッセージ(設定で偽のサーバが交換された)が表示されます。
109001: Auth start for user '???' from 10.31.1.50/11012 to 99.99.99.2/23 109002: Auth from 10.31.1.50/11012 to 99.99.99.2/23 failed (server 1.1.1.1 failed) on interface inside 109002: Auth from 10.31.1.50/11012 to 99.99.99.2/23 failed (server 1.1.1.1 failed) on interface inside 109002: Auth from 10.31.1.50/11012 to 99.99.99.2/23 failed (server 1.1.1.1 failed) on interface inside 109006: Authentication failed for user '' from 10.31.1.50/11012 to 99.99.99.2/23 on interface inside
認可を追加する場合は、認可は認証なしでは有効ではないため、同じ発信元と宛先の範囲に認可を要求する必要があります。
aaa authorization telnet inbound 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 AuthInbound aaa authorization http inbound 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 AuthInbound aaa authorization ftp inbound 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 AuthInbound
発信トラフィックはRADIUSを使用して認証され、RADIUS認可は有効ではないため、発信に認可を追加しないことに注意してください。
次の例は、良好な認証と正常な認可を備えたPIXデバッグを示しています。
109001: Auth start for user '???' from 99.99.99.2/11016 to 10.31.1.50/23 109011: Authen Session Start: user 'cse', Sid 11 109005: Authentication succeeded for user 'cse' from 10.31.1.50/23 to 99.99.99.2/11016 on interface outside 109011: Authen Session Start: user 'cse', Sid 11 109007: Authorization permitted for user 'cse' from 99.99.99.2/11016 to 10.31.1.50/23 on interface outside 302001: Built inbound TCP connection 19 for faddr 99.99.99.2/11016 gaddr 99.99.99.99/23 laddr 10.31.1.50/23 (cse)
次の例は、認証は良好だが認可に失敗したPIXデバッグを示しています。この画面には、Error: Authorization Deniedというメッセージも表示されます。
109001: Auth start for user '???' from 99.99.99.2/11017 to 10.31.1.50/23 109011: Authen Session Start: user 'httponly', Sid 12 109005: Authentication succeeded for user 'httponly' from 10.31.1.50/23 to 99.99.99.2/11017 on interface outside 109008: Authorization denied for user 'httponly' from 10.31.1.50/23 to 99.99.99.2/11017 on interface outside
aaa accounting include any inbound 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 AuthInbound
TACACS+フリーウェアの出力:
Tue Feb 22 08:52:20 2000 10.31.1.75 cse PIX 99.99.99.2 start task_id=0x14 foreign_ip=99.99.99.2 local_ip=10.31.1.50 cmd=telnet Tue Feb 22 08:52:25 2000 10.31.1.75 cse PIX 99.99.99.2 stop task_id=0x14 foreign_ip=99.99.99.2 local_ip=10.31.1.50 cmd=telnet elapsed_time=5 bytes_in=39 bytes_out=126
aaa accounting include any outbound 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 AuthOutbound
Merit RADIUS出力:
Tue Feb 22 08:56:17 2000 Acct-Status-Type = Start NAS-IP-Address = 10.31.1.75 Login-IP-Host = 10.31.1.50 Login-TCP-Port = 23 Acct-Session-Id = 0x00000015 User-Name = pixuser Tue Feb 22 08:56:24 2000 Acct-Status-Type = Stop NAS-IP-Address = 10.31.1.75 Login-IP-Host = 10.31.1.50 Login-TCP-Port = 23 Acct-Session-Id = 0x00000015 Username = pixuser Acct-Session-Time = 6 Acct-Input-Octets = 139 Acct-Output-Octets = 36
外部(99.99.99.100)の別のホストをネットワークに追加し、そのホストが信頼できる場合は、次のコマンドを使用して認証と認可からそれらのホストを除外できます。
aaa authentication exclude telnet inbound 0.0.0.0 0.0.0.0 99.99.99.100 255.255.255.255 AuthInbound aaa authorization exclude telnet inbound 0.0.0.0 0.0.0.0 99.99.99.100 255.255.255.255 AuthInbound
一部の TACACS+ および RADIUS サーバには、「最大セッション」または「ログイン ユーザの表示」機能があります。最大セッションを実行したりログイン ユーザをチェックしたりする機能は、アカウンティング レコードによって変わります。アカウンティングの「開始」レコードが生成されているが「停止」レコードがない場合、TACACS+ または RADIUS サーバは、だれかがまだログインしている(つまり、ユーザは PIX を介したセッションを維持している)と見なします。
これは Telnet や FTP 接続では接続の性質上うまく機能します。HTTP では接続の性質上、十分に機能しません。次の例では、別のネットワーク構成が使用されていますが、概念は同じです。
ユーザが PIX を通して Telnet を実行し、途中で認証を行っています。
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/12 00 to 9.9.9.25/23 (pix) 302001: Built TCP connection 5 for faddr 9.9.9.25/23 gaddr 9.9.9.10/12 00 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
サーバは開始レコードを確認したが停止レコードは確認しなかったため、この時点でサーバはTelnetユーザがログインしていることを示します。認証を必要とする別の接続(たとえば別のPCから)をユーザが試行する場合に、サーバでこのユーザに対するmax-sessionsが1に設定されていると(サーバがmax-sessionsをサポートしていると仮定)、接続はサーバによって拒否されます。
ユーザはターゲットホスト上で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 から PIX を経由して 9.9.9.25 にブラウズします:
(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
ユーザは、ダウンロードされた Web ページを読みます。
開始レコードは 16:35:34 にポストされ、停止レコードは 16:35:35 にポストされます。このダウンロードには 1 秒かかりました(つまり、開始と停止のレコード間は 1 秒未満でした)。さて、ユーザが Web ページを読んでいるとき、ユーザは Web サイトにログインして接続はまだ開いているでしょうか?いいえ。max-sessionsまたはview logged-in usersはここで動作しますか。答えはいいえ、です。HTTP の接続時間(「開始」と「終了」の間の時間)が短すぎるため、機能できません。開始レコードと終了レコードは1秒未満です。レコードは実質的に同じ瞬間に発生するため、停止レコードのない開始レコードはありません。uauthが0に設定されていても、それ以上に設定されていても、トランザクションごとにサーバに送信される開始レコードと停止レコードは依然として存在します。ただし、最大セッションとログイン ユーザの表示は、HTTP 接続の性質により機能しません。
前の説明は、PIXを介したTelnet(およびHTTP、FTP)トラフィックの認証に関するものです。次のデバイスで、認証なしでPIXへのTelnetが動作していることを確認します。
telnet 10.31.1.5 255.255.255.255 passwd ww
次に、PIXにTelnetするユーザを認証するコマンドを追加します。
aaa authentication telnet console AuthInbound
ユーザがPIXにTelnet接続すると、Telnetパスワード(WW)の入力を求められます。また、PIXはTACACS+またはRADIUSのユーザ名とパスワードも要求します。この場合、AuthInboundサーバリストが使用されているため、PIXはTACACS+のユーザ名とパスワードを要求します。
サーバがダウンしている場合は、ユーザ名としてpixを入力し、イネーブルパスワード(enable password whatever )を入力することで、PIXにアクセスできます。次のコマンドを使用すると
aaa authentication enable console AuthInbound
ユーザは、TACACSまたはRADIUSサーバに送信されるユーザ名とパスワードの入力を求められます。この場合、AuthInboundサーバリストが使用されているため、PIXはTACACS+のユーザ名とパスワードを要求します。
イネーブル用の認証パケットはログイン用の認証パケットと同じであるため、ユーザがTACACSまたはRADIUSを使用してPIXにログインできる場合、ユーザは同じユーザ名/パスワードでTACACSまたはRADIUSを使用してイネーブルにできます。この問題には、Cisco Bug ID CSCdm47044(登録ユーザ専用)が割り当てられています。
サーバがダウンしている場合は、ユーザ名に「pix」を入力し、PIXから通常のイネーブルパスワード(enable password whatever )を入力することで、PIXイネーブルモードにアクセスできます。enable password whatever が PIX 設定に含まれていない場合は、ユーザ名として pix を入力して Enter キーを押します。イネーブルパスワードが設定されているが不明な場合は、パスワードをリセットするためにパスワード回復ディスクを構築する必要があります。
次のコマンドがある場合:
auth-prompt PIX_PIX_PIX
pixを通過するユーザには、次のシーケンスが表示されます。
PIX_PIX_PIX [at which point one would enter the username] Password:[at which point one would enter the password]
最終的な宛先に到達すると、宛先ボックスにユーザ名:およびパスワード:プロンプトが表示されます。このプロンプトは PIX を経由するユーザにのみ影響し、PIX には影響しません。
注:PIXへのアクセス用に削減されるアカウンティングレコードはありません。
コマンドがある場合:
auth-prompt accept "GOOD_AUTH" auth-prompt reject "BAD_AUTH"
その後、PIXを介したログインが失敗または成功すると、次のシーケンスがユーザに表示されます。
PIX_PIX_PIX Username: asjdkl Password: "BAD_AUTH" "PIX_PIX_PIX" Username: cse Password: "GOOD_AUTH"
この機能は現在動作しておらず、問題にはCisco Bug ID CSCdp93492(登録ユーザ専用)が割り当てられています。
認証が PIX 外部のサイトと同様 PIX そのものでも必要となる場合、ブラウザは異常な動作を見せることがありますが、これはブラウザがユーザ名とパスワードをキャッシュするためです。
これを回避するには、次のコマンドを使用してPIX設定にRFC 1918のアドレス(つまり、インターネット上ではルーティング不可能であるが、PIXの内部ネットワークでは有効で一意のアドレス)を追加することで、仮想HTTPを実装できます。
virtual http #.#.#.# [warn]
ユーザが PIX 外部に移動しようとすると、認証が必要になります。warn パラメータがある場合、ユーザはリダイレクト メッセージを受信します。認証は、uauth の中の期間に行われます。ドキュメントに示すように、仮想HTTPではtimeout uauthコマンドの期間を0秒に設定しないでください。これにより、実際のWebサーバへのHTTP接続が阻止されます。
ip address outside 99.99.99.1 255.255.255.0 ip address inside 10.31.1.75 255.255.255.0 global (outside) 1 99.99.99.7-99.99.99.10 netmask 255.255.255.0 timeout uauth 01:00:00 aaa authentication include http outbound 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 AuthOutbound aaa-server RADIUS protocol radius aaa-server AuthOutbound protocol radius aaa-server AuthOutbound (inside) host 171.68.118.101 cisco timeout 5 virtual http 10.31.1.99
すべての着信と発信を認証するようにPIXを設定することは可能ですが、メールなどの一部のプロトコルは簡単には認証されないため、これは得策ではありません。PIXを経由するすべてのトラフィックが認証されている場合に、メールサーバとクライアントがPIXを経由して通信しようとすると、認証できないプロトコルに関するPIX syslogには次のようなメッセージが表示されます。
109013: User must authenticate before using this service 109009: Authorization denied from 171.68.118.106/49 to 9.9.9.10/11094 (not authenticated)
ただし、何らかの特殊なサービスを実際に認証する必要がある場合は、virtual telnetコマンドを使用できます。このコマンドを使用すると、仮想Telnet IPアドレスに対して認証を実行できます。この認証の後、通常とは異なるサービスのトラフィックが実サーバに送信される可能性があります。
この例では、TCPポート49トラフィックを外部ホスト99.99.99.2から内部ホスト171.68.118.106に送信します。このトラフィックは実際には認証可能ではないため、仮想Telnetを設定します。仮想Telnetの場合は、関連するスタティックが存在する必要があります。ここでは、99.99.99.20と171.68.118.20の両方が仮想アドレスです。
ip address outside 99.99.99.1 255.255.255.0 ip address inside 10.31.1.75 255.255.255.0 static (inside,outside) 99.99.99.20 171.68.118.20 netmask 255.255.255.255 0 0 static (inside,outside) 99.99.99.30 171.68.118.106 netmask 255.255.255.255 0 0 conduit permit tcp host 99.99.99.20 eq telnet any conduit permit tcp host 99.99.99.30 eq tacacs any aaa-server TACACS+ protocol tacacs+ aaa-server Incoming protocol tacacs+ aaa-server Incoming (inside) host 171.68.118.101 cisco timeout 5 aaa authentication include telnet inbound 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 Incoming aaa authentication include tcp/49 inbound 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 Incoming virtual telnet 99.99.99.20
99.99.99.2 のユーザは PIX 上の 99.99.99.20 アドレスに Telnet することで、まず認証される必要があります。
109001: Auth start for user '???' from 99.99.99.2/22530 to 171.68.118.20/23 109011: Authen Session Start: user 'cse', Sid 13 109005: Authentication succeeded for user 'cse' from 171.68.118.20/23 to 99.99.99.2/22530 on interface outside
認証が成功した後、show uauth コマンドによって、ユーザの有効時間が表示されます:
pixfirewall# show uauth Current Most Seen Authenticated Users 1 2 Authen In Progress 0 1 user 'cse' at 99.99.99.2, authenticated absolute timeout: 0:05:00 inactivity timeout: 0:00:00
99.99.99.2のデバイスが171.68.118.106のデバイスにTCP/49トラフィックを送信する場合は、次のようになります。
302001: Built inbound TCP connection 16 for faddr 99.99.99.2/11054 gaddr 99.99.99.30/49 laddr 171.68.118.106/49 (cse)
許可は次のように追加できます。
aaa authorization include tcp/49 inbound 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 AuthInbound
そのため、TCP/49トラフィックがPIXを介して試行される場合、PIXはサーバに認可クエリーも送信します。
109007: Authorization permitted for user 'cse' from 99.99.99.2/11057 to 171.68.118.106/49 on interface outside
TACACS+サーバでは、次のように表示されます。
service=shell, cmd=tcp/49, cmd-arg=171.68.118.106
発信トラフィックがデフォルトで許可されているため、仮想 Telnet 送信の使用ではスタティックが不要です。次の例では、10.31.1.50の内部ユーザが仮想99.99.99.30にTelnet接続し、認証を行います。Telnet接続はただちに切断されます。認証されると、10.31.1.50 から 99.99.99.2 のサーバへの TCP トラフィックが許可されます。
ip address outside 99.99.99.1 255.255.255.0 ip address inside 10.31.1.75 255.255.255.0 global (outside) 1 99.99.99.7-99.99.99.10 netmask 255.255.255.0 timeout uauth 0:05:00 absolute aaa-server RADIUS protocol radius aaa-server AuthOutbound protocol radius aaa-server AuthOutbound (inside) host 171.68.118.101 cisco timeout 5 aaa authentication include telnet outbound 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 AuthOutbound aaa authentication include tcp/49 outbound 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 AuthOutbound virtual telnet 99.99.99.30
注:これはRADIUSであるため、認可はありません。
109001: Auth start for user '???' from 10.31.1.50/11034 to 99.99.99.30/23 109011: Authen Session Start: user 'pixuser', Sid 16 109005: Authentication succeeded for user 'pixuser' from 10.31.1.50/11034 to 99.99.99.30/23 on interface inside 302001: Built outbound TCP connection 18 for faddr 99.99.99.2/49 gaddr 99.99.99.8/11036 laddr 10.31.1.50/11036 (pixuser) 302002: Teardown TCP connection 18 faddr 99.99.99.2/49 gaddr 99.99.99.8/11036 laddr 10.31.1.50/11036 duration 0:00:02 bytes 0 (pixuser)
ユーザが仮想Telnet IPアドレスにTelnetする場合、show uauthコマンドによってそのuauthが表示されます。ユーザが、uauthに残された時間があるときに、セッションが終了した後にトラフィックが通過しないようにする場合は、仮想Telnet IPアドレスに再度Telnetする必要があります。これによりセッションはオフに切り替わります。
pix3# show uauth Current Most Seen Authenticated Users 1 2 Authen In Progress 0 1 user 'pixuser' at 10.31.1.50, authenticated absolute timeout: 0:05:00 inactivity timeout: 0:00:00 pix3# 109001: Auth start for user 'pixuser' from 10.31.1.50/11038 to 99.99.99.30/23 109005: Authentication succeeded for user 'pixuser' from 10.31.1.50/11038 to 99.99.99.30/23 on interface inside
pix3# show uauth Current Most Seen Authenticated Users 0 2 Authen In Progress 0 1
ポート範囲(TCP/30-100など)に対して許可が許可されます。仮想TelnetがPIXで設定され、一定範囲のポートが許可される場合、仮想Telnetでホールが開くと、PIXは許可のためにTACACS+サーバにtcp/30-100コマンドを発行します。
static (inside,outside) 99.99.99.75 10.31.1.50 netmask 255.255.255.255 0 0 conduit permit tcp host 99.99.99.75 host 99.99.99.2 static (inside,outside) 99.99.99.75 10.31.1.50 netmask 255.255.255.255 0 0 virtual telnet 99.99.99.75 aaa authentication include any inbound 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 AuthInbound aaa authorization include tcp/30-100 inbound 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 AuthInbound virtual telnet 99.99.99.30
user = anyone { login = cleartext "anyone" cmd = tcp/30-100 { permit 10.31.1.50 } }
仮想Telnetがネットワーク内のホストへのTCP/49トラフィックを許可するように動作することを確認した後、このアカウンティングが必要であると判断したため、次のように追加しました。
aaa accounting include any inbound 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 AuthInbound
この結果、tcp/49トラフィックが通過する際にアカウンティングレコードが削除されます(この例はTACACS+フリーウェアのものです)。
Sun Feb 27 05:24:44 2000 10.31.1.75 cse PIX 99.99.99.2 start task_id=0x14 foreign_ip=99.99.99.2 local_ip=171.68.118.106 cmd=tcp/49
あるDMZインターフェイスから別のDMZインターフェイスに移動するユーザを認証するには、名前付きインターフェイスのトラフィックを認証するようにPIXに指示します。このPIXの配置は次のとおりです。
least secure PIX outside (security0) = 1.1.1.1 pix/intf4 (DMZ - security20) = 4.4.4.4 & device 4.4.4.2 pix/intf5 (DMZ - security25) = 5.5.5.5 & device 5.5.5.8 (static to 4.4.4.15) PIX inside (security100) = 10.31.1.47 most secure
pix/intf4とpix/intf5の間のTelnetトラフィックを認証します。
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 ip address outside 1.1.1.1 255.255.255.0 ip address inside 10.31.1.47 255.255.255.0 (ip address pix/intf2 127.0.0.1 255.255.255.255 ip address pix/intf3 127.0.0.1 255.255.255.255) ip address pix/intf4 4.4.4.4 255.255.255.0 ip address pix/intf5 5.5.5.5 255.255.255.0 static (pix/intf5,pix/intf4) 4.4.4.15 5.5.5.8 netmask 255.255.255.255 0 0 aaa authentication telnet pix/intf4 5.5.5.0 255.255.255.0 4.4.4.0 255.255.255.0 AuthInbound aaa authentication telnet pix/intf5 5.5.5.0 255.255.255.0 4.4.4.0 255.255.255.0 AuthInbound aaa-server TACACS+ protocol tacacs+ aaa-server AuthInbound protocol tacacs+ aaa-server AuthInbound (inside) host 171.68.118.101 cisco timeout 5
xauthを使用するPIXで、sysopt ipsec pl-compatibleコマンドではなくsysopt connection permit-ipsecコマンドが設定されている場合、アカウンティングはTCP接続には有効ですが、ICMPやUDPには有効ではありません。
改定 | 発行日 | コメント |
---|---|---|
1.0 |
24-Sep-2001 |
初版 |