Cisco ASA 5510 - IPSec VPN Client 整合 Microsoft RADIUS 認證實作

1、前言

在 Cisco ASA 設定 IPSec VPN Client 已接採用憑證來取代 VPN Group Name 及 Group Password 來進行連接驗證,但登入 VPN 還必須在 Cisco ASA 中建立本機帳號太麻煩,因此本篇實作為 Cisco ASA 為 RADIUS Client 角色而 Microsoft IAS (RADIUS Server) 配合 Windows AD 來達到對 VPN Client 身份驗證的機制進而 VPN 播入提高安全性。



文章目錄

1、前言
2、實作環境
3、Microsoft Windows 2003 Server IAS (RADIUS) 設定
          安裝網際網路驗證服務 (IAS)
          設定 RADIUS 可向 AD 查詢使用者帳號資訊
          設定 RADIUS Server/Client 共用密碼
          設定 RADIUS Client 存取原則及存取記錄
          設定網域使用者允許撥入
4、Cisco ASA CA 設定
          建立 AAA Server Group
          測試 RADIUS 驗證機制
5、RADIUS 驗證機制完成後 Running Config 內容
6、補充: Split Tunnel
7、參考
8、Me FAQ
          Q1.安裝 Cisco VPN Client 時發生 Internal Error 2738 錯誤?



2、實作環境

Cisco ASA 5510 Series * 2台
  • Cisco Adaptive Security Appliance Software Version 8.0(4) - asa804-k8.bin
  • Device Manager Version 6.1(3) - asdm-613.bin
  • RADIUS Client IP: 192.168.1.254

Windows Server 2003 R2 Standard Edition SP2
  • RADIUS Server IP: 192.168.1.10
  • RADIUS 共用密碼: 12345678



3、Microsoft Windows 2003 Server IAS (RADIUS) 設定

安裝網際網路驗證服務 (IAS)

首先,請依序點選【開始】 >> 【控制台】 >> 【新增或移除程式】 >> 【新增/移除 Windows 元件】 >> 【Networking Services】 >> 【詳細資料】 >> 【網際網路驗證服務 (IAS)】,以便安裝 IAS。


安裝完畢後確定 IAS 服務有啟動且並使用下列指令來確定系統有 Listen UDP Port 1645、1646。
C:\> netstat -na | find ":16"
  UDP    0.0.0.0:1645           *:*
  UDP    0.0.0.0:1646           *:*


設定 RADIUS 可向 AD 查詢使用者帳號資訊

設定 RADIUS Server 可向 Active Directory 查詢使用者帳號資訊,驗證成功後才使 Cisco VPN Client 能播入 VPN Network 成功反之則失敗,下列步驟為將 RADIUS Server 登記至 Active Directory 以便屆時的查詢動作。

方式一、在 Active Directory 中登錄伺服器
開啟【網際網路驗證服務】,點選【網際網路驗證服務(本機)】 >> 【右鍵】 >> 【在 Active Directory 中登錄伺服器】。



方式二、使用 netsh 指令
開啟【命令提示字元】,鍵入指令 【netsh ras add registeredserver】。


設定 RADIUS Server/Client 共用密碼

設定 RADIUS Server 只接受某些特定的 RADIUS Client 要求 (Server/Client 會設定一組共用密碼),此例 RADIUS 共用密碼為 12345678 而 RADIUS Client 即為 Cisco ASA (192.168.1.254) 設備。

開啟【網際網路驗證服務】,點選【RADIUS 用戶端】 >> 【右鍵】 >> 【新增 RADIUS 用戶端】。
  • 名稱: Cisco ASA 5510
  • IP: 192.168.1.254
  • 用戶端廠商: RADIUS Standard
  • 共用密碼: 12345678 (屆時 Cisco ASA 上也要設定此密碼)
  • 確認共用密碼: 12345678 (屆時 Cisco ASA 上也要設定此密碼)


設定 RADIUS Client 存取原則及存取記錄

設定 RADIUS Client 遠端存取原則及儲存存取記錄,以後日後查詢及分析使用者登入時間及相關資訊

設定儲存 RADIUS Client 存取記錄
開啟【網際網路驗證服務】,點選【遠端存取記錄】 >> 【本機檔案】 >> 【設定】 >> 勾選【驗證要求】 >> 【記錄檔】 >> 指定【Log 存放路徑】 >> 【確定】。


設定 RADIUS Client 遠端存取原則
開啟【網際網路驗證服務】,點選【遠端存取原則】 >> 【連線到其它存取伺服器】 >> 點選【授予遠端存取權限】 >> 按下【編輯設定檔】 >> 【驗證】 >> 確認勾選【CHAP、PAP、SPAP】 >> 【加密】 >> 確認勾選【不加密】 >> 【確定】。


設定網域使用者允許撥入

完成設定後還必須允許該使用者帳號可以有撥入 VPN 的權限,設定方式如下:

登入【AD Server】,查看內容【使用者資訊】 >> 【撥入】 >> 在士端存取使用權限(撥入或 VPN) 請選擇【透過遠端存取原則來控制存取】。



4、Cisco ASA CA 設定

建立 AAA Server Group

1. 建立 AAA (Authentication, Authorization, Accounting) Server Group
開啟【ASDM】 >> 【Configuration】 >> 【Remote Access VPN】 >> 【AAA/Local Users】 >> 【AAA Server Groups】 >> 【Add】 >> 【設定相關資訊 (如下)】 >> 【OK】 >> 【Apply】。
  • Server Group: Weithenn_Radius 
  • Protocol: RADIUS


2. 建立 RADIUS Server 資訊
開啟【ASDM】 >> 【Configuration】 >> 【Remote Access VPN】 >> 【AAA/Local Users】 >> 【Servers in the Selected Group】 >> 【Add】 >> 【設定相關資訊 (如下)】 >> 【OK】 >> 【Apply】。
  • Interface Name: lan
  • RADIUS Server IP: 192.168.1.10
  • Secret Key: 12345678 (RADIUS Server 所設定的共用密碼)


3. 修改 IPsec Connection Profiles
開啟【ASDM】 >> 【Configuration】 >> 【Remote Access VPN】 >> 【Network (Client) Access】 >> 【IPsec Connection Profiles】 >> 【DefaultRAGroup】 >> 【Edit】 >> Server Group【Weithenn_Radius】 >> 【OK】 >> 【Apply】,選擇 IPsec Connection Profiles 套用介面,此例為套用至【wan】。



測試 RADIUS 驗證機制

經過上述設定後 Cisco ASA 為 RADIUS Client 應可正常向 RADIUS Server 詢問使用者資訊,此測試為在 Cisco ASA 上測試是否可與 Windows RADIUS Server 進行溝通。

方式一、ASDM 操作
開啟【ASDM】 >> 【Configuration】 >> 【Remote Access VPN】 >> 【AAA/Local Users】 >> 【AAA Server Groups】 >> 【Test】填入下列資訊進行測試。
  • 選擇【Authentication】
  • 填入【網域使用者帳戶及密碼】,此例為 weithenn / 12345678
  • 按下【OK】進行 RADIUS 驗證


方式二、Cisco ASA CLI 命令
configure terminal
test aaa authentication Weithenn_Radius host 192.168.1.10  //測試 RADIUS 驗證
 Username: weithenn                           //輸入網域使用者帳號
 Password: ********                           //輸入網域使用者密碼
 INFO: Attempting Authentication test to IP address <192.168.1.10> (timeout: 12 seconds)
 INFO: Authentication Successful              //驗證成功訊息
 ERROR: Authentication Rejected: AAA failure  //驗證失敗訊息

若上述 RADIUS 驗證成功後,當您使用 Cisco VPN Client 撥入 VPN Network 通過憑證驗證之後跳出身份驗證視窗時您即可填入【網域使用者帳戶及密碼】即可成功撥入 VPN Network,而您日後您可登入 Windows RADIUS Server 查看 RADIUS Log (類似如下訊息) 查詢及分析使用者登入時間及相關資訊。
192.168.1.254,weithenn,03/23/2010,16:50:25,IAS,CA-RADIUS,4
192.168.1.254,5,3,61,5,4108
192.168.1.254,4116,0,4128,Cisco ASA 5510,4155,1,4154,對所有使用者使用 Windows 驗證,4129,WEITHENN\weithenn,4127,1,4149,連線到其他存取伺服器
192.168.1.10 03/23/2010 06:07:08 7,4130,weithenn.org/IT Group/weithenn,4136,1,4142,0
192.168.1.254,weithenn,03/23/2010,16:50:25,IAS,CA-RADIUS,25,311 1
192.168.1.10 03/23/2010 06:07:08 7,4130,weithenn.org/IT Group/weithenn,6,2,7,1,4108,
192.168.1.254,4116,0,4128,Cisco ASA 5510,4155,1,4154,對所有使用者使用 Windows 驗證,4129,WEITHENN\weithenn,4127,1,4149,連線到其他存取伺服器




5、RADIUS 驗證機制完成後 Running Config 內容

下列為 Cisco ASA 5510 設定 RADIUS 驗證機制完成後,所增加的 Running Config 內容。
aaa-server Weithenn_Radius protocol radius
aaa-server Weithenn_Radius (lan) host 192.168.1.10
  key 12345678
  radius-common-pw 12345678
crypto dynamic-map wan_dyn_map 10 set reverse-route
  authentication-server-group Weithenn_Radius




6、補充: Split Tunnel

到目前為止的設定可以完成大部份的作業,但還有個小問題也就是當 VPN Client 從遠端撥入 VPN Network 時 VPN Client 的 Default Gateway 會被 VPN Network 所覆蓋掉,這樣的狀況雖然 VPN Client 可以跟 VPN Network 內的機器溝通的很好,但若有其他需求時這樣的路由設定就反而是個限制,例如 VPN Client 想要一邊跟 VPN Network 的機器溝通又一邊要存取 VPN Client 本地端的 NAS 時就會發生無法存取的狀況,我們可以透過設定「Split Tunnel 功能」在 Cisco ASA 上來解決這個問題,也就是 不要覆蓋 VPN Client Default Gateway 又可以跟 VPN Network 的機器溝通。

1. 開啟【ASDM】 >> 【Configuration】 >> 【Remote Access VPN】 >> 【Network (Client) Access】 >> 【Group Policies】 >> 選擇您用於 VPN 的政策此例為【Weithenn_Policy】 >> 【Edit】 >> 【Advanced】 >> 【Split Tunneling】。
     1-1. 取消勾選【Policy 的 Inherit】項目,並選擇【Tunnel Network List Below】。
     1-2. 取消勾選【Network List 的 Inherit】項目後按下【Manage】 >> 【Add ACL】 >> 建立名稱【Split_Tunnel】 >> 【OK】 >> 【Add ACE】 >> 選擇 VPN Network 網段此例為【Permit、192.168.1.0/24】 >> 【OK】。
2. 最後按下【Apply】套用剛才設定的 Split Tunnel 政策,此時再使用 VPN Client 撥入後其 Default Gateway 應該就不會被 VPN Network 所覆蓋。

上述的動作操作完畢後其實 Running-Config 增加了下列三行:
access-list Split_Tunnel standard permit 192.168.1.0 255.255.255.0
split-tunnel-policy tunnelspecified
split-tunnel-network-list value Split_Tunnel




7、參考




8、Me FAQ

Q1. 安裝 Cisco VPN Client 時發生 Internal Error 2738 錯誤?

Error Message:
在 Windows 7 (32bit) 安裝 Cisco VPN Client 時發生 Internal Error 2738 錯誤且安裝中斷無法繼續。

Ans:
1. 請先將 Windows 7 (32bit) 重新開機。
2. 使用【以系統管理員身份執行】去開啟【命令提示字元】,執行如下指令:
reg delete HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{B54F3741-5B07-11CF-A4B0-00AA004A55E8} /f
reg delete HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{F414C260-6AC0-11CF-B6D1-00AA00BBBB58} /f
regsvr32 vbscript.dll
3. 完成後,再次執行安裝 Cisco VPN Client 應該可以成功。