簡介
本文檔介紹如何使用Microsoft BitLocker加密終端的磁碟分割槽,以及如何配置思科身份服務引擎(ISE)以提供對網路的完全訪問(僅當配置了正確的加密時)。思科ISE版本2.0與AnyConnect安全移動客戶端4.2支援磁碟加密的終端安全評估。
必要條件
需求
思科建議您瞭解以下主題:
- 自適應安全裝置(ASA) CLI配置和安全套接字層(SSL) VPN配置
- ASA上的遠端訪問VPN配置
- ISE和安全狀態服務
採用元件
本檔案中的資訊是根據以下軟體版本:
- Cisco ASA軟體版本9.2.1及更高版本
- 帶有Cisco AnyConnect安全移動客戶端版本4.2及更高版本的Microsoft Windows版本7
- Cisco ISE,版本2.0及更高版本
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
設定
網路圖表
流程如下:
- 由AnyConnect客戶端發起的VPN會話透過ISE進行身份驗證。端點的終端安全評估狀態未知,但會點選規則ASA VPN unknown,因此會話會重定向到ISE進行調配
- 使用者打開Web瀏覽器,ASA將HTTP流量重定向到ISE。ISE將最新版本的AnyConnect連同安全評估和合規性模組推送到終端
- 執行狀態模組後,它將檢查分割槽E:是否已由BitLocker完全加密。如果是,報告將傳送到ISE,ISE觸發RADIUS授權更改(CoA)而不使用任何ACL(完全訪問)
- ASA上的VPN會話已更新,重定向ACL已刪除,並且會話具有完全訪問許可權
VPN會話就是一個示例。安全評估功能對於其他型別的訪問也可以正常工作。
ASA
它使用ISE作為身份驗證、授權和記帳(AAA)伺服器,從遠端SSL VPN訪問進行配置。需要配置RADIUS CoA以及重定向ACL:
aaa-server ISE20 protocol radius
authorize-only
interim-accounting-update periodic 1
dynamic-authorization
aaa-server ISE20 (inside) host 10.48.17.235
key cisco
tunnel-group TAC type remote-access
tunnel-group TAC general-attributes
address-pool POOL
authentication-server-group ISE20
accounting-server-group ISE20
default-group-policy AllProtocols
tunnel-group TAC webvpn-attributes
group-alias TAC enable
group-policy AllProtocols internal
group-policy AllProtocols attributes
vpn-tunnel-protocol ikev1 ikev2 ssl-client ssl-clientless
webvpn
enable outside
anyconnect image disk0:/anyconnect-win-4.2.00096-k9.pkg 1
anyconnect enable
tunnel-group-list enable
error-recovery disable
access-list REDIRECT extended deny udp any any eq domain
access-list REDIRECT extended deny ip any host 10.48.17.235
access-list REDIRECT extended deny icmp any any
access-list REDIRECT extended permit tcp any any eq www
ip local pool POOL 172.16.31.10-172.16.31.20 mask 255.255.255.0
如需詳細資訊,請參閱:
AnyConnect 4.0與ISE版本1.3整合的配置示例
Windows 7上的BitLocker
導航到控制台>系統和安全> BitLocker驅動器加密,啟用E:分割槽加密。使用密碼(PIN)保護它,如圖所示。
加密後,請將其掛載(使用密碼提供),並確保可以訪問,如圖所示。
如需詳細資訊,請參閱Microsoft說明檔案:
Windows BitLocker驅動器加密分步指南
ISE
步驟 1.網路裝置
導航到管理>網路資源>網路裝置,增加裝置型別為= ASA的ASA。這在授權規則中用作條件,但不是必需的(可以使用其他型別的條件)。
如果適用,網路裝置組不存在。要建立網路裝置,請導航到Administration > Network Resources > Network Device Groups。
步驟 2.狀態條件和策略
確保狀態條件已更新:導航到Administration > System > Settings > Posture > Updates > Update Now。
導航到策略>策略元素>條件>狀態>磁碟加密條件,增加一個新條件,如圖所示。
此條件會檢查是否已安裝適用於Windows 7的BitLocker,以及E:分割槽是否已完全加密。
注意: BitLocker是磁碟級別加密,不支援具有路徑引數的特定位置,僅支援磁碟字母。
導航到策略>策略元素>結果>狀態>要求,建立新要求,其使用如下圖所示的條件。
導航到策略>狀態,為所有Windows增加一個條件以使用要求,如下圖所示。
步驟 3.客戶端調配資源和策略
導航到策略>策略元素>客戶端調配>資源,從Cisco.com下載合規性模組並手動上傳AnyConnect 4.2軟體套件,如下圖所示。
導航到Add > NAC Agent or AnyConnect Posture Profile,使用預設設定建立AnyConnect狀態配置檔案(名稱:AnyConnectPosture)。
導覽至Add > AnyConnect Configuration,新增AnyConnect設定檔(名稱:AnyConnect Configuration),如下圖所示。
導航到策略>客戶端調配並修改Windows預設策略以使用已配置的AnyConnect配置檔案(如圖所示)。
步驟 4.授權規則
導航到策略>策略元素>結果>授權,增加授權配置檔案(名稱:RedirectForPosture),重定向到預設客戶端調配門戶,如下圖所示。
重定向ACL在ASA上定義。
導航到策略>授權,建立3個授權規則,如下圖所示。
如果終端相容,則提供完全訪問許可權。如果狀態未知或不相容,則返回客戶端調配的重定向。
驗證
使用本節內容,確認您的組態是否正常運作。
步驟 1.VPN會話建立
一旦建立VPN會話,ASA可能希望執行AnyConnect模組的升級,如圖所示。
在ISE上,命中最後一條規則,結果返回RedirectForPosture許可權,如圖所示。
ASA完成構建VPN會話後,會報告必須發生重定向:
ASAv# show vpn-sessiondb detail anyconnect
Session Type: AnyConnect Detailed
Username : cisco Index : 32
Assigned IP : 172.16.31.10 Public IP : 10.61.90.226
Protocol : AnyConnect-Parent SSL-Tunnel DTLS-Tunnel
License : AnyConnect Premium
Encryption : AnyConnect-Parent: (1)none SSL-Tunnel: (1)AES256 DTLS-Tunnel: (1)AES256
Hashing : AnyConnect-Parent: (1)none SSL-Tunnel: (1)SHA384 DTLS-Tunnel: (1)SHA1
Bytes Tx : 53201 Bytes Rx : 122712
Pkts Tx : 134 Pkts Rx : 557
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Group Policy : AllProtocols Tunnel Group : TAC
Login Time : 21:29:50 UTC Sat Nov 14 2015
Duration : 0h:56m:53s
Inactivity : 0h:00m:00s
VLAN Mapping : N/A VLAN : none
Audt Sess ID : c0a80101000200005647a7ce
Security Grp : none
<some output omitted for clarity>
ISE Posture:
Redirect URL : https://mgarcarz-ise20.example.com:8443/portal/gateway?sessionId=&portal=0d2ed780-6d90-11e5-978e-00505...
Redirect ACL : REDIRECT
步驟 2.使用者端布建
在該階段,終端Web瀏覽器流量重定向到ISE進行客戶端調配,如圖所示。
如果需要,AnyConnect以及狀態與合規性模組會進行更新,如圖所示。
步驟 3.狀況檢查和CoA
安全評估模組執行、發現ISE(可能需要為enroll.cisco.com提供DNS A記錄才能成功)、下載並檢查安全評估條件,如圖所示。
一旦確認E:分割槽已由BitLocker完全加密,則會向ISE傳送正確的報告,如圖所示。
這將觸發CoA重新授權VPN會話,如圖所示。
ASA刪除提供完全訪問許可權的重定向ACL。AnyConnect報告合規性(如圖所示)。
此外,有關ISE的詳細報告可以確認兩個條件都得到了滿足(Posture Assessment by Condition是顯示每個條件的新ISE 2.0報告)。第一個條件(hd_inst_BitLockerDriveEncryption_6_x)檢查安裝/過程,第二個條件(hd_loc_bitlocker_specific_1)檢查特定位置(E:)是否已完全加密,如圖所示。
終端的ISE終端安全評估報告確認所有條件都滿足,如圖所示。
也可以從ise-psc.log調試中確認相同內容。ISE收到的狀態請求和響應:
2015-11-14 14:59:01,963 DEBUG [portal-http-service28][] cisco.cpm.posture.runtime.PostureHandlerImpl -::c0a801010001700056473ebe:::- Received posture request [parameters: reqtype=validate, userip=10.62.145.44, clientmac=08-00-27-81-50-86, os=WINDOWS, osVerison=1.2.1.6.1.1, architecture=9, provider=Device Filter, state=, ops=1, avpid=, avvname=Microsoft Corp.:!::!::!:, avpname=Windows Defender:!::!::!:, avpversion=6.1.7600.16385:!::!::!:, avpfeature=AS:!::!::!:, userAgent=Mozilla/4.0 (compatible; WINDOWS; 1.2.1.6.1.1; AnyConnect Posture Agent v.4.2.00096), session_id=c0a801010001700056473ebe
2015-11-14 14:59:01,963 DEBUG [portal-http-service28][] cisco.cpm.posture.runtime.PostureHandlerImpl -:cisco:c0a801010001700056473ebe:::- Creating a new session info for mac 08-00-27-81-50-86
2015-11-14 14:59:01,963 DEBUG [portal-http-service28][] cisco.cpm.posture.runtime.PostureHandlerImpl -:cisco:c0a801010001700056473ebe:::- Turning on enryption for endpoint with mac 08-00-27-81-50-86 and os WINDOWS, osVersion=1.2.1.6.1.1
2015-11-14 14:59:01,974 DEBUG [portal-http-service28][] cpm.posture.runtime.agent.AgentXmlGenerator -:cisco:c0a801010001700056473ebe:::- Agent criteria for rule [Name=bitlocker, Description=, Operating Systems=[Windows All], Vendor=com.cisco.cpm.posture.edf.AVASVendor@96b084e, Check Type=Installation, Allow older def date=0, Days Allowed=Undefined, Product Name=[com.cisco.cpm.posture.edf.AVASProduct@44870fea]] - ( ( (hd_inst_BitLockerDriveEncryption_6_x) ) & (hd_loc_bitlocker_specific_1) )
具有狀態要求(條件+補救)的響應採用XML格式:
2015-11-14 14:59:02,052 DEBUG [portal-http-service28][] cisco.cpm.posture.runtime.PostureHandlerImpl -:cisco:c0a801010001700056473ebe:::- NAC agent xml <?xml version="1.0" encoding="UTF-8"?><cleanmachines>
<version>2</version>
<encryption>0</encryption>
<package>
<id>10</id>
Bitlocker
<version/>
Bitlocker encryption not enabled on the endpoint. Station not compliant.
<type>3</type>
<optional>0</optional>
<action>3</action>
<check>
<id>hd_loc_bitlocker_specific_1</id>
<category>10</category>
<type>1002</type>
<param>180</param>
E:
full
<value_type>2</value_type>
</check>
<check>
hd_inst_BitLockerDriveEncryption_6_x
<category>10</category>
<type>1001</type>
<param>180</param>
<operation>regex match</operation>
<value>^6\..+$|^6$</value>
<value_type>3</value_type>
</check>
<criteria>( ( ( (hd_inst_BitLockerDriveEncryption_6_x) ) & (hd_loc_bitlocker_specific_1) ) )</criteria>
</package>
</cleanmachines>
在ISE收到加密報告後:
2015-11-14 14:59:04,816 DEBUG [portal-http-service28][] cisco.cpm.posture.runtime.PostureHandlerImpl -:cisco:c0a801010001700056473ebe:::- Decrypting report
2015-11-14 14:59:04,817 DEBUG [portal-http-service28][] cisco.cpm.posture.runtime.PostureHandlerImpl -:cisco:c0a801010001700056473ebe:::- Decrypted report [[ <report><version>1000</version><encryption>0</encryption><key></key><os_type>WINDOWS</os_type><osversion>1.2.1.6.1.1</osversion><build_number>7600</build_number><architecture>9</architecture><user_name>[device-filter-AC]</user_name><agent>x.y.z.d-todo</agent><sys_name>ADMIN-KOMPUTER</sys_name><sys_user>admin</sys_user><sys_domain>n/a</sys_domain><sys_user_domain>admin-Komputer</sys_user_domain><av><av_vendor_name>Microsoft Corp.</av_vendor_name><av_prod_name>Windows Defender</av_prod_name><av_prod_version>6.1.7600.16385</av_prod_version><av_def_version>1.141.3676.0</av_def_version><av_def_date>01/11/2013</av_def_date><av_prod_features>AS</av_prod_features></av><package><id>10</id><status>1</status><check><chk_id>hd_loc_bitlocker_specific_1</chk_id>
1
</check><check><chk_id>hd_inst_BitLockerDriveEncryption_6_x</chk_id><chk_status>1></check></package></report> ]]
站點標籤為相容,並且ISE傳送CoA:
2015-11-14 14:59:04,823 INFO [portal-http-service28][] cisco.cpm.posture.runtime.PostureManager -:cisco:c0a801010001700056473ebe:::- Posture state is compliant for endpoint with mac 08-00-27-81-50-86
2015-11-14 14:59:06,825 DEBUG [pool-5399-thread-1][] cisco.cpm.posture.runtime.PostureCoA -:cisco:c0a801010000f0005647358b:::- Posture CoA is triggered for endpoint [08-00-27-81-50-86] with session [c0a801010001700056473ebe
此外,最終配置由ISE傳送:
2015-11-14 14:59:04,827 DEBUG [portal-http-service28][] cisco.cpm.posture.runtime.PostureHandlerImpl -:cisco:c0a801010001700056473ebe:::- Sending response to endpoint 08-00-27-81-50-86 http response [[ <!--X-Perfigo-DM-Error=0--><!--error=0--><!--X-Perfigo-DmLogoff-Exit=0--><!--X-Perfigo-Gp-Update=0--><!--X-Perfigo-Auto-Close-Login-Scr=0--><!--X-Perfigo-Auto-Close-Login-Scr-Time=0--><!--user role=--><!--X-Perfigo-OrigRole=--><!--X-Perfigo-UserKey=dummykey--><!--X-Perfigo-RedirectUrl=--><!--X-Perfigo-ShowInfo=--><!--X-Perfigo-Session=--><!--X-Perfigo-SSO-Done=1--><!--X-Perfigo-Provider=Device Filter--><!--X-Perfigo-UserName=cisco--><!--X-Perfigo-DHCP-Release-Delay=4--><!--X-Perfigo-DHCP-Renew-Delay=1--><!--X-Perfigo-Client-MAC=08:00:27:81:50:86--> ]]
還可以從客戶端(AnyConnect DART)確認以下步驟:
Date : 11/14/2015
Time : 14:58:41
Type : Warning
Source : acvpnui
Description : Function: Module::UpdateControls
File: .\Module.cpp
Line: 344
No matching element found for updating: [System Scan], [label], [nac_panel_message_history], [Scanning system ... ]
******************************************
Date : 11/14/2015
Time : 14:58:43
Type : Warning
Source : acvpnui
Description : Function: Module::UpdateControls
File: .\Module.cpp
Line: 344
No matching element found for updating: [System Scan], [label], [nac_panel_message_history], [Checking requirement 1 of 1. ]
******************************************
Date : 11/14/2015
Time : 14:58:46
Type : Warning
Source : acvpnui
Description : Function: CNacApiShim::PostureNotification
File: .\NacShim.cpp
Line: 461
Clearing Posture List.
要成功完成會話,AnyConnect UI System Scan / Message History會報告:
14:41:59 Searching for policy server.
14:42:03 Checking for product updates...
14:42:03 The AnyConnect Downloader is performing update checks...
14:42:04 Checking for profile updates...
14:42:04 Checking for product updates...
14:42:04 Checking for customization updates...
14:42:04 Performing any required updates...
14:42:04 The AnyConnect Downloader updates have been completed.
14:42:03 Update complete.
14:42:03 Scanning system ...
14:42:05 Checking requirement 1 of 1.
14:42:05 Updating network settings.
14:42:10 Compliant.
錯誤
CSCux15941 - ISE 2.0和AC4.2狀態位元鎖定加密失敗,位置失敗(字元\ /不支援)
疑難排解
本節提供的資訊可用於對組態進行疑難排解。
如果終端不合規,AnyConnect UI會報告該終端(也會執行配置的補救),如圖所示。
ISE能夠提供故障情況的詳細資訊,如圖所示。
也可以從CLI日誌(驗證部分中的日誌示例)中檢查相同內容。
相關資訊