本文檔介紹如何配置思科自適應安全裝置(ASA)以自動將WebVPN使用者登入憑證以及輔助身份驗證傳遞給需要針對運行NT LAN Manager版本1 (NTLMv1)的Windows Active Directory進行其他登入驗證的伺服器。此功能稱為單一登入(SSO)。它將為特定WebVPN組配置的鏈路提供傳遞此使用者身份驗證資訊的功能,從而消除多個身份驗證提示。此功能也可在全局或使用者配置級別使用。
嘗試此組態之前,請確保符合以下要求:
確保為目標VPN使用者配置了NTLMv1和Windows許可權。有關Windows域訪問許可權的詳細資訊,請參閱Microsoft文檔。
本文中的資訊係根據以下軟體和硬體版本:
Cisco ASA 7.1(1)
思科調適型安全裝置管理員(ASDM) 5.1(2)
Microsoft Internet Information Services (IIS)
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
本節提供將ASA配置為具有SSO的WebVPN伺服器的資訊。
注意:使用命令查詢工具(僅限註冊客戶)可獲取有關此部分使用的命令的更多資訊。
完成以下步驟,將ASA配置為使用域控制器進行身份驗證。
選擇Configuration > Properties > AAA Setup > AAA Servers,然後按一下Add。為伺服器組提供一個名稱(如Windows_NT),然後選擇NT Domain作為協定。
新增Windows伺服器。
選擇新建立的組,然後按一下Add。選擇伺服器所在的介面並輸入IP地址和域控制器名稱。請務必以所有大寫字母輸入網域控制站名稱。完成後按一下OK。
此窗口顯示已完成的AAA配置:
完成以下步驟,將ASA配置為使用自簽名證書。
注意:在本示例中,為簡單起見,使用了自簽名證書。有關其他證書註冊選項(如向外部證書頒發機構註冊),請參閱配置證書。
選擇Configuration > Properties > Certificate > Trustpoint > Configuration,然後按一下Add。
在出現的窗口中輸入Trustpoint Name(如Local-TP),並選中Generate a self-signed certificate on enrollment。其他選項可以保留其預設設定。完成後按一下OK。
此窗口顯示已完成的信任點配置:
完成以下步驟以允許網路外部的使用者使用WebVPN進行連線。
選擇Configuration > VPN > WebVPN > WebVPN Access。
選擇所需的介面,按一下Enable,然後選中Enable Tunnel Group Drop-down List on WebVPN Login Page。
注意:如果使用同一介面進行WebVPN和ASDM訪問,則必須將ASDM訪問的預設埠從埠80更改為新埠(例如8080)。此操作在Configuration > Properties > Device Access > HTTPS/ASDM下完成。
注意:在使用者導航到http://<ip_address>而非https://<ip_address>時,可以自動將使用者重定向到埠443。選擇Configuration > Properties > HTTP/HTTPS,選擇所需的介面,按一下Edit,然後選擇Redirect HTTP to HTTPS。
完成以下步驟以建立一個清單,其中包含要授予您WebVPN使用者訪問許可權的伺服器。
選擇Configuration > VPN > WebVPN > Servers and URLs,然後按一下Add。
輸入URL清單的名稱。此名稱對終端使用者不可見。按一下Add。
輸入URL顯示名稱,它將會顯示給使用者。輸入伺服器的URL資訊。這應該是您通常存取伺服器的方式。
按一下OK、OK,然後按一下Apply。
完成以下步驟,為您的WebVPN使用者配置組策略。
選擇Configuration > VPN > General > Group Policy,按一下Add,然後選擇Internal Group Policy。
在General頁籤上,指定策略名稱,如Internal-Group_POL_WEBVPN。然後取消選中Tunneling Protocols旁的Inherit,再選中WebVPN。
在WebVPN頁籤上,選擇Other子頁籤。取消選中Servers and URL Lists旁的Inherit,然後從下拉選單中選擇所配置的URL清單。完成後按一下OK。
完成以下步驟,為您的WebVPN使用者配置隧道組。
選擇Configuration > VPN > General > Tunnel Group,按一下Add,然後選擇WebVPN Access...。
輸入隧道組的名稱,例如WEB_VPN-GRP。在Basic頁籤上,選擇所建立的組策略,並且確認組型別為webvpn。
轉到AAA頁籤。
對於Authentication Server Group,選擇配置的組以啟用域控制器的NTLMv1身份驗證。
可選:選中Use LOCAL if Server Group Fails,以便在所配置的AAA組失敗時使用LOCAL使用者資料庫。這有助於您稍後進行故障排除。
轉到WebVPN頁籤,再轉到Group Aliases and URLs子頁籤。
在Group Aliases下輸入別名,然後按一下Add。此別名顯示在登入時提供給WebVPN使用者的下拉選單中。
按一下OK,然後按一下Apply。
切換到命令列,為您的內部伺服器啟用SSO。
注意:此步驟無法在ASDM中完成,必須使用命令列完成。有關詳細資訊,請參閱訪問命令列介面。
請使用auto-signon命令指定要讓使用者可訪問的網路資源(如伺服器)。此處僅配置一個伺服器IP地址,但還可以指定網路範圍(如10.1.1.0 /24)。有關詳細資訊,請參閱auto-signon命令。
ASA>enable ASA#configure terminal ASA(config)#webvpn ASA(config-webpvn)#auto-signon allow ip 10.1.1.200 255.255.255.255 auth-type ntlm ASA(config-webvpn)#quit ASA(config)#exit ASA#write memory
在此示例輸出中,從全局範圍對WebVPN配置了auto-signon命令。此命令也可用於WebVPN組配置模式或WebVPN使用者名稱配置模式。在WebVPN組配置模式下使用此命令可將其限制為特定組。同樣,在WebVPN使用者名稱配置模式下使用此命令可將其限制為個人使用者。有關詳細資訊,請參閱auto-signon命令。
本檔案使用以下組態:
ASA版本7.1(1) |
---|
ASA# show running-config : Saved : ASA Version 7.1(1) ! terminal width 200 hostname ASA domain-name cisco.com enable password 8Ry2YjIyt7RRXU24 encrypted names ! interface GigabitEthernet0/0 nameif outside security-level 0 ip address 172.16.171.51 255.255.255.0 ! interface GigabitEthernet0/1 nameif inside security-level 100 ip address 10.1.1.1 255.255.255.0 ! interface GigabitEthernet0/2 shutdown no nameif no security-level no ip address ! interface GigabitEthernet0/3 shutdown no nameif no security-level no ip address ! interface Management0/0 shutdown no nameif no security-level no ip address ! passwd 2KFQnbNIdI.2KYOU encrypted ftp mode passive dns server-group DefaultDNS domain-name cisco.com pager lines 24 mtu inside 1500 mtu outside 1500 no failover asdm image disk0:/asdm512.bin no asdm history enable arp timeout 14400 route outside 0.0.0.0 0.0.0.0 172.16.171.1 1 timeout xlate 3:00:00 timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02 timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 timeout mgcp-pat 0:05:00 sip 0:30:00 sip_media 0:02:00 timeout uauth 0:05:00 absolute !--- AAA server configuration aaa-server Windows_NT protocol nt aaa-server Windows_NT host 10.1.1.200 nt-auth-domain-controller ESC-SJ-7800 !--- Internal group policy configuration group-policy Internal-GRP_POL_WEBVPN internal group-policy Internal-GRP_POL_WEBVPN attributes vpn-tunnel-protocol webvpn webvpn url-list value webserver username cisco password Q/odgwmtmVIw4Dcm encrypted privilege 15 aaa authentication http console LOCAL aaa authentication ssh console LOCAL aaa authentication enable console LOCAL http server enable 8181 http 0.0.0.0 0.0.0.0 outside no snmp-server location no snmp-server contact snmp-server enable traps snmp authentication linkup linkdown coldstart !--- Trustpoint/certificate configuration crypto ca trustpoint Local-TP enrollment self crl configure crypto ca certificate chain Local-TP certificate 31 308201b0 30820119 a0030201 02020131 300d0609 2a864886 f70d0101 04050030 1e311c30 1a06092a 864886f7 0d010902 160d4153 412e6369 73636f2e 636f6d30 1e170d30 36303333 30313334 3930345a 170d3136 30333237 31333439 30345a30 1e311c30 1a06092a 864886f7 0d010902 160d4153 412e6369 73636f2e 636f6d30 819f300d 06092a86 4886f70d 01010105 0003818d 00308189 02818100 e47a29cd 56becf8d 99d6d919 47892f5a 1b8fc5c0 c7d01ea6 58f3bec4 a60b2025 03748d5b 1226b434 561e5507 5b45f30e 9d65a03f 30add0b5 81f6801a 766c9404 9cabcbde 44b221f9 b6d6dc18 496fe5bb 4983927f adabfb17 68b4d22c cddfa6c3 d8802efc ec3af7c7 749f0aa2 3ea2c7e3 776d6d1d 6ce5f748 e4cda3b7 4f007d4f 02030100 01300d06 092a8648 86f70d01 01040500 03818100 c6f87c61 534bb544 59746bdb 4e01680f 06a88a15 e3ed8929 19c6c522 05ec273d 3e37f540 f433fb38 7f75928e 1b1b6300 940b8dff 69eac16b af551d7f 286bc79c e6944e21 49bf15f3 c4ec82d8 8811b6de 775b0c57 e60a2700 fd6acc16 a77abee6 34cb0cad 81dfaf5a f544258d cc74fe2d 4c298076 294f843a edda3a0a 6e7f5b3c quit !--- Tunnel group configuration tunnel-group WEB_VPN-GRP type webvpn tunnel-group WEB_VPN-GRP general-attributes authentication-server-group Windows_NT default-group-policy Internal-GRP_POL_WEBVPN tunnel-group WEB_VPN-GRP webvpn-attributes group-alias Group-Selection enable telnet timeout 5 ssh timeout 5 console timeout 0 ! class-map inspection_default match default-inspection-traffic ! ! policy-map global_policy class inspection_default inspect dns maximum-length 512 inspect ftp inspect h323 h225 inspect h323 ras inspect netbios inspect rsh inspect rtsp inspect skinny inspect esmtp inspect sqlnet inspect sunrpc inspect tftp inspect sip inspect xdmcp ! service-policy global_policy global !--- WebVPN Configuration webvpn enable outside url-list webserver "Internal Server" https://10.1.1.200 1 tunnel-group-list enable auto-signon allow ip 10.1.1.200 255.255.255.255 auth-type ntlm Cryptochecksum:c80ac5f6232df50fc1ecc915512c3cd6 : end |
使用本節內容,確認您的組態是否正常運作。
輸出直譯器工具(僅供註冊客戶使用) (OIT)支援某些show指令。使用OIT檢視對show命令輸出的分析。
以使用者身份登入以測試配置。
嘗試使用NT域中的使用者資訊登入ASA。選擇配置隧道組下第5步中配置的組別名。
查詢為內部伺服器配置的鏈路。按一下連結進行驗證。
選擇Monitoring > VPN > VPN Statistics > Sessions,並查詢屬於本文檔中配置的組的WebVPN會話。
此輸出是成功的WebVPN會話的示例調試。
附註:使用 debug 指令之前,請先參閱有關 Debug 指令的重要資訊。
ASA#debug webvpn 255 INFO: debug webvpn enabled at level 255 ASA# ASA# webvpn_portal.c:ewaFormServe_webvpn_login[1570] webvpn_portal.c:http_webvpn_kill_cookie[385] webvpn_auth.c:webvpn_auth[286] WebVPN: no cookie present!! webvpn_portal.c:ewaFormSubmit_webvpn_login[1640] webvpn_portal.c:http_webvpn_kill_cookie[385] webvpn_auth.c:http_webvpn_pre_authentication[1782] !--- Begin AAA WebVPN: calling AAA with ewsContext (78986968) and nh (78960800)! WebVPN: started user authentication... webvpn_auth.c:webvpn_aaa_callback[3422] WebVPN: AAA status = (ACCEPT) webvpn_portal.c:ewaFormSubmit_webvpn_login[1640] webvpn_auth.c:http_webvpn_post_authentication[1095] WebVPN: user: (test) authenticated. !--- End AAA webvpn_auth.c:http_webvpn_auth_accept[2093] webvpn_session.c:http_webvpn_create_session[159] webvpn_session.c:http_webvpn_find_session[136] WebVPN session created! webvpn_session.c:http_webvpn_find_session[136] webvpn_db.c:webvpn_get_server_db_first[161] webvpn_db.c:webvpn_get_server_db_next[202] traversing list: (webserver) webvpn_portal.c:ewaFormServe_webvpn_cookie[1421] webvpn_auth.c:webvpn_auth[286] webvpn_session.c:http_webvpn_find_session[136] webvpn_session.c:webvpn_update_idle_time[924] WebVPN: session has been authenticated. webvpn_auth.c:webvpn_auth[286] webvpn_session.c:http_webvpn_find_session[136] webvpn_session.c:webvpn_update_idle_time[924] WebVPN: session has been authenticated. !--- Output supressed webvpn_auth.c:webvpn_auth[286] webvpn_session.c:http_webvpn_find_session[136] webvpn_session.c:webvpn_update_idle_time[924] WebVPN: session has been authenticated. webvpn_auth.c:webvpn_auth[286] webvpn_session.c:http_webvpn_find_session[136] webvpn_session.c:webvpn_update_idle_time[924] WebVPN: session has been authenticated. webvpn_auth.c:webvpn_auth[286] webvpn_session.c:http_webvpn_find_session[136] webvpn_session.c:webvpn_update_idle_time[924] WebVPN: session has been authenticated. webvpn_auth.c:webvpn_auth[286] webvpn_session.c:http_webvpn_find_session[136] webvpn_session.c:webvpn_update_idle_time[924] WebVPN: session has been authenticated. webvpn_auth.c:webvpn_auth[286] webvpn_session.c:http_webvpn_find_session[136] webvpn_session.c:webvpn_update_idle_time[924] WebVPN: session has been authenticated. webvpn_session.c:http_webvpn_find_session[136] webvpn_session.c:webvpn_update_idle_time[924]
本節提供的資訊可用於對組態進行疑難排解。
如果WebVPN登入頁上不存在Group下拉框,請確保完成了在外部介面上啟用WebVPN下的第2步和配置隧道組下的第5步。如果這些步驟未完成且下拉選單缺失,則身份驗證將屬於Default Group並且可能失敗。
雖然不能為ASDM或ASA中的使用者分配訪問許可權,但可以在域控制器上限制具有Microsoft Windows訪問許可權的使用者。為使用者認證到的網頁新增必要的NT群組許可權。使用者使用組許可權登入到WebVPN後,將相應地授予或拒絕對指定頁面的訪問。ASA僅代表域控制器充當代理身份驗證主機,此處的所有通訊都是NTLMv1。
您無法設定Sharepoint over WebVPN的SSO,因為Sharepoint Server不支援表單式驗證。因此,帶有post或post外掛程式的書籤在此處不適用。
修訂 | 發佈日期 | 意見 |
---|---|---|
1.0 |
28-Apr-2006 |
初始版本 |