简介
本文档介绍如何使用Microsoft BitLocker加密终端的磁盘分区,以及如何配置思科身份服务引擎(ISE)以提供对网络的完全访问,前提是配置了正确的加密。思科ISE版本2.0与AnyConnect安全移动客户端4.2支持磁盘加密的终端安全评估。
先决条件
要求
Cisco 建议您了解以下主题:
- 自适应安全设备(ASA) CLI配置和安全套接字层(SSL) VPN配置
- ASA上的远程访问VPN配置
- ISE和安全评估服务
使用的组件
本文档中的信息基于以下软件版本:
- Cisco ASA软件9.2.1版及更高版本
- 带有Cisco AnyConnect安全移动客户端4.2版及更高版本的Microsoft Windows版本7
- 思科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
它从远程SSL VPN访问配置,并使用ISE作为身份验证、授权和记帐(AAA)服务器。需要配置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。
第二步:状况条件和策略
确保已更新终端安全评估条件:导航到管理>System >设置>终端安全评估>更新>立即更新。
导航到策略>Policy元素>情况>状态>磁盘加密情况,添加一个新条件,如图所示。
此条件检查是否已安装Windows 7的BitLocker以及E:分区是否已完全加密。
注意:BitLocker是磁盘级别加密,不支持具有路径参数的特定位置,仅支持磁盘字母。
导航到策略>Policy元素>结果>状态>要求以创建使用图中所示条件的新要求。
导航到策略>状态,添加所有Windows的条件以使用要求(如图所示)。
第三步:客户端调配资源和策略
导航到策略>策略元素>客户端调配>资源,从Cisco.com下载合规性模块并手动上传AnyConnect 4.2软件包(如图所示)。
导航到Add > NAC Agent or AnyConnect Posture Profile,使用默认设置创建AnyConnect终端安全评估配置文件(名称:AnyConnectPosture)。
导航到Add > AnyConnect Configuration,添加AnyConnect配置文件(名称:AnyConnect Configuration),如图所示。
导航到策略>客户端调配,修改Windows默认策略以使用配置的AnyConnect配置文件(如图所示)。
第四步:授权规则
导航到策略>策略元素>结果>授权,添加授权配置文件(名称: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
第二步:客户端调配
在该阶段,终端Web浏览器流量重定向到ISE进行客户端调配(如图所示)。
如果需要,AnyConnect连同状态与合规性模块会进行更新,如图所示。
第三步:状况检查和CoA
安全评估模块已执行,请发现ISE(它可能需要enroll.cisco.com的DNS A记录才能成功)、下载并检查安全评估条件(如图所示)。
一旦确认E:分区已由BitLocker完全加密,则会向ISE发送正确报告(如图所示)。
这将触发CoA重新授权VPN会话,如图所示。
ASA删除提供完全访问权限的重定向ACL。AnyConnect报告合规性(如图所示)。
此外,ISE上的详细报告可以确认两个条件都已满足(按条件进行的终端安全评估是显示每个条件的新ISE 2.0报告)。第一个条件(hd_inst_BitLockerDriveEncryption_6_x)检查安装/过程,第二个条件(hd_loc_bitlocker_specific_1)检查特定位置(E:)是否按映像所示完全加密。
“ISE 终端安全评估评估”报告确认所有条件都已满足(如图所示)。
从ise-psc.log debug可以确认相同的内容。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终端安全评估bitlocker加密(字符\ /不支持)
故障排除
本部分提供了可用于对配置进行故障排除的信息。
如果终端不合规,AnyConnect UI会报告该终端(也会执行配置的补救),如图所示。
ISE能够提供故障情况的详细信息,如图所示。
可以从CLI日志检查相同的内容(“验证”(Verify)部分中的日志示例)。
相关信息