可以對FTP、Telnet和HTTP連線執行RADIUS和TACACS+身份驗證。對其他不太常用的協定的身份驗證通常可以發揮作用。支援TACACS+授權;不支援RADIUS授權。與前一版本相比,PIX 5.1身份驗證、授權和記帳(AAA)中的更改包括擴展身份驗證(xauth) -從Cisco安全VPN客戶端1.1對IPSec隧道進行身份驗證。
本文件沒有特定需求。
本文件所述內容不限於特定軟體和硬體版本。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
身份驗證是使用者。
授權是使用者可以執行的操作。
驗證在未經授權的情況下有效。
沒有驗證,授權無效。
使用者會進行記帳。
假設您內部有100個使用者,並且您只希望其中六個使用者能夠在網路外部執行FTP、Telnet或HTTP。您應告知PIX對出站流量進行身份驗證,並提供TACACS+/RADIUS安全伺服器上的所有六個使用者ID。使用簡單身份驗證時,可以使用使用者名稱和密碼對這六個使用者進行身份驗證,然後退出。其他94個使用者無法離開。PIX會提示使用者輸入使用者名稱/密碼,然後將其使用者名稱和密碼傳送到TACACS+/RADIUS安全伺服器,並根據回應來開啟或拒絕連線。這六個使用者可以執行FTP、Telnet或HTTP。
但是,假設這6個使用者中的一個,「Festus」不被信任。您希望允許Festus執行FTP,但不允許HTTP或Telnet到外部。這意味著必須增加授權,即除了驗證使用者身份之外,還要授權使用者可以做什麼。這隻對TACACS+有效。當我們將授權增加到PIX時,PIX首先將Festus的使用者名稱和密碼傳送到安全伺服器,然後傳送授權請求,告知安全伺服器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 -瀏覽器中將顯示請求使用者名稱和口令的窗口。如果身份驗證(和授權)成功,使用者將到達目的網站以外的位置。請記住,瀏覽器會快取使用者名稱和口令。如果PIX似乎應該使HTTP連線超時,但實際上並未這樣做,則可能是由於瀏覽器向PIX傳送快取使用者名稱和密碼,然後由瀏覽器將此資訊轉發給身份驗證伺服器,從而進行了重新身份驗證。PIX syslog和/或伺服器調試會顯示此現象。如果Telnet和FTP似乎工作正常,但HTTP連線不工作,這就是原因。
Tunnel -當嘗試在VPN Client和xauth打開的情況下將IPSec資料流透過隧道傳輸至網路時,會為使用者名稱/密碼顯示「User Authentication for New Connection」的灰色框。
注意:從Cisco Secure VPN Client 1.1開始支援此身份驗證。如果Help > About選單未顯示版本2.1.x或更高版本,則此操作不起作用。
本節提供設定安全伺服器的相關資訊。
確保您在CSU.cfg檔案中具有PIX IP地址或完全限定的域名和金鑰。
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將PIX IP地址和金鑰增加到網路訪問伺服器(NAS)清單中。
user=adminuser { radius=Cisco { check_items= { 2="all" } reply_attributes= { 6=6 } } }
使用以下步驟配置Cisco Secure ACS for Windows 2.x RADIUS。
在使用者設定GUI部分獲取密碼。
在Group Setup GUI部分中,將屬性6 (Service-Type)設定為Login或Administrative。
在NAS配置部分GUI中增加PIX IP地址。
EasyACS文檔描述了設定。
在group部分中,按一下Shell exec授予exec許可權。
要在PIX上增加授權,請在組建立的底層按一下Deny unmatched IOS命令。
針對您要允許的每個命令(例如Telnet),選擇Add/Edit new命令。
如果允許Telnet到特定站點,請以「permit #.#.#.#」的形式填寫引數部分中的IP地址。否則,要允許Telnet,請按一下Allow all unlisted arguments。
編輯指令的按一下完成。
對每個允許的命令(例如Telnet、HTTP或FTP)執行步驟1至5。
在NAS配置GUI部分增加PIX IP。
使用者在User Setup GUI部分獲得密碼。
在group部分中,按一下Shell exec授予exec許可權。
要增加特權到PIX,在組建立的底部,按一下拒絕不匹配IOS指令。
針對您要允許的每個命令(例如Telnet),選擇Add/Edit new命令。
要允許Telnet到特定站點,請以「permit #.#.#.#」的形式在引數部分輸入IP地址。要允許Telnet到任何站點,請按一下Allow all unlisted arguments。
編輯指令的按一下完成。
對每個允許的命令(例如Telnet、HTTP或FTP)執行步驟1到步驟5。
確保PIX IP地址已增加到NAS配置GUI部分。
將PIX IP地址和金鑰增加到客戶端檔案。
adminuser Password="all" User-Service-Type = Shell-User
將PIX IP地址和金鑰增加到客戶端檔案。
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 buffered debugging,然後執行show logging命令。
日誌記錄還可以傳送到系統日誌伺服器並在該處進行檢查。
開啟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的外部使用者起始流量到內部10.31.1.50 (99.99.99)並透過TACACS進行驗證(即傳入流量使用伺服器清單「AuthInbound」,包括TACACS伺服器171.68.118.101)。
以下示例顯示了身份驗證良好的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調試。使用者將看到三個使用者名稱/口令集,然後看到以下消息: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
以下示例顯示了一個PIX調試,其中伺服器可被ping通,但無法與PIX通訊。使用者只看到一次使用者名稱,但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調試。使用者只看到一次使用者名稱,但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調試。使用者將看到使用者名稱和密碼請求,並有三個機會輸入這些資訊。當條目不成功時,將顯示以下消息: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
以下示例顯示了一個PIX調試,其中伺服器可以執行ping操作,但守護程式已關閉,不會與PIX通訊。使用者將看到使用者名稱、口令、RADIUS伺服器失敗消息和錯誤:超出最大嘗試次數錯誤消息。
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
以下示例顯示了一個PIX調試,其中伺服器不可以ping或客戶端/金鑰不匹配。使用者將看到使用者名稱、口令、Timeout to RADIUS server消息和偽造伺服器在配置中交換的Error: Max number of trieded消息)。
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伺服器具有「max-session」或「view logged-in users」功能。執行最大會話數或檢查已登入使用者的能力取決於記帳記錄。當生成記帳「開始」記錄但沒有「停止」記錄時,TACACS+或RADIUS伺服器假定人員仍處於登入狀態(即使用者透過PIX具有會話)。
由於連線的性質,這對Telnet和FTP連線非常有效。由於連線的性質,HTTP無法順利完成此操作。在以下示例中,使用了不同的網路配置,但概念是相同的。
使用者透過PIX進行遠端登入,在途中進行身份驗證:
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(即每次進行身份驗證)還是更多(在uauth期間進行一次身份驗證而不是再次進行身份驗證),系統都會為每個訪問的站點剪下記帳記錄。
由於協定的性質,HTTP的工作方式有所不同。以下是HTTP的範例:
使用者透過PIX從171.68.118.100瀏覽到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
使用者讀取下載的網頁。
開始記錄在16:35:34,停止記錄在16:35:35。此下載只花了一秒鐘(即開始和停止記錄之間只有不到一秒鐘)。使用者是否仍登入網站,且使用者讀取網頁時連線仍為開啟狀態?否。最大會話數或檢視登入使用者是否在此處工作?否,因為HTTP中的連線時間(「已建立」和「卸除」之間的時間)太短。開始和停止記錄為次秒。沒有停止記錄就不會有開始記錄,因為記錄實際上發生在同一時刻。無論uauth設定為0還是更大值,每個事務都仍會向伺服器傳送啟動和停止記錄。但是,由於HTTP連線的性質,最大會話數和檢視登入使用者將無法工作。
前面的討論涉及透過PIX對Telnet(和HTTP、FTP)流量進行身份驗證。確保Telnet到PIX在未經身份驗證的情況下在以下位置工作:
telnet 10.31.1.5 255.255.255.255 passwd ww
然後增加以下命令,以驗證使用者透過Telnet連線到PIX:
aaa authentication telnet console AuthInbound
當使用者Telnet至PIX時,系統會提示他們輸入Telnet口令(WW)。PIX還請求TACACS+或RADIUS使用者名稱和密碼。在這種情況下,由於使用了AuthInbound伺服器清單,PIX將請求TACACS+使用者名稱和密碼。
如果伺服器發生故障,可以透過輸入pix作為使用者名稱,然後輸入啟用口令(啟用口令隨意)來訪問PIX。使用命令:
aaa authentication enable console AuthInbound
系統會提示使用者輸入使用者名稱和密碼,並傳送到TACACS或RADIUS伺服器。在這種情況下,由於使用了AuthInbound伺服器清單,PIX將請求TACACS+使用者名稱和密碼。
由於用於啟用的身份驗證資料包與用於登入的身份驗證資料包相同,因此,如果使用者可以使用TACACS或RADIUS登入到PIX,則可以使用相同的使用者名稱/密碼透過TACACS或RADIUS啟用這些資料包。此問題已分配給Cisco bug ID CSCdm47044(僅限註冊客戶)。
如果伺服器發生故障,可以透過在PIX中輸入使用者名稱的pix和正常啟用口令(啟用口令隨意)來訪問PIX啟用模式。如果enable password 與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]
到達最終目的地時,使用者會看到目的地方塊所顯示的Username:和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"
此功能當前不工作,已為該問題分配了思科漏洞ID CSCdp93492(僅限註冊客戶)。
如果PIX外部的站點和PIX本身都需要身份驗證,由於瀏覽器會快取使用者名稱和密碼,因此有時可能會觀察到異常的瀏覽器行為。
要避免這種情況,您可以使用以下命令將一個RFC 1918地址(即,在Internet上不可路由,但對PIX內部網路有效且唯一的地址)增加到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的使用者必須首先透過Telnet連線到PIX上的99.99.99.20地址進行身份驗證:
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的裝置要將TCP/49流量傳送到位於171.68.118.106的裝置時:
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
因此,當嘗試透過PIX傳輸TCP/49流量時,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的內部使用者透過Telnet連線到虛擬99.99.99.30並進行身份驗證;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地址時,show uauth命令會顯示其使用者身份驗證情況。如果使用者希望在結束會話後使用者身份驗證中還有時間時阻止流量通過,則需要再次遠端登入到虛擬Telnet IP地址。這會關閉作業階段。
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)進行授權。如果在PIX上配置了虛擬Telnet並授權一系列埠,則一旦使用虛擬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 connection permit-ipsec命令,而非sysopt ipsec pl-compatible命令,則記帳對於TCP連線有效,但對於ICMP或UDP無效。
修訂 | 發佈日期 | 意見 |
---|---|---|
1.0 |
24-Sep-2001 |
初始版本 |