Cisco ISE Posture 结合 SSLVPN
描述了思科ISE Posture结合ASA SSLVPN的使用场景。员工使用AnyConnect拨号到公司内网时,需要通过思科ISE Posture检测,检测通过才能访问内网,否则网络访问受到限制。
一、Cisco ISE Posure介绍
1.1、Posture简介
思科的ISE Posture提供了网络准入的功能,也就是当员工的电脑只有满足合规条件时才能接入到公司网络。这里合规条件可以针对Windows和MacOS自定义各种类型的条件,以Windows为例,条件可以是:系统必须开启防火墙;系统必须开启BitLocker;系统必须拥有最新的补丁等。满足这些条件才能接入到公司网络。这里网络可以是有线、无线、VPN。这次实验场景就是当员工使用AnyConnect SSLVPN接入到公司网络时,Posture模块只会允许满足条件的电脑接入网络。
另外思科针对SSLVPN准入,也可以利用HostScan进行扫描,HostScan可以集成在AnyConnect模块中,不需要客户端安装单独的软件模块,但是检测的能力不如安装了Posture模块的客户端。针对HostSan的准入检测,后续会在其他实验演示。
1.2、Posture部署模式介绍
Posture的关键是需要收集到客户端的系统信息,那么客户端上必须要有某种采集信息的代理,ISE2.4提供了3种类型的部署方式:
1.2.1 AnyConnect
这种是最常用的安装方式,会在客户端上安装Posure软件模块,安装之后AnyConnect UI会多出一个模块。这种部署方式支持Posture所有的检测功能,本次实验也是这种部署方式。需要注意的是,这种部署方式需要ISE拥有Apex授权,AnyConnect拥有Apex授权。
1.2.2 Stealth AnyConnect(隐形模式)
Stealth AnyConnect和AnyConnect模式几乎一样,也会在客户端上安装软件模块。如果你单独安装Stealth AnyConnect,那么它是没有UI界面的,所以叫隐形模式。但是如果你安装了AMP或者VPN模块,那么客户度会显示UI界面。所以如果你要用在SSLVPN准入上,这种模式不太适合,因为必然会出现UI界面。这种模式更加适合企业内网无线或者有线的准入,但是不想让用户看见UI界面的场景。
1.2.3 Temporal Agent(临时客户端)
Temporal Agent是一个比较新的特性,它不会在客户端电脑上永久安装软件,但是显然检测能力是不如上面两种模式的。比较适合给访客和供应商作为临时的监测方式。
1.2.4 Windows Posture 支持检测特性
Temporal Agent | Stealth AnyConnect | AnyConnect | |
---|---|---|---|
Posture Conditions | Supported Conditions: • AM Installation • Firewall Installation • Application Inventory • Hardware Inventory • USB Check • AV Installation • AV version / date • AS Installation • AS version / date • Application / File Check • Service packs / Hotfixes • Process / Registry Check |
Supported Conditions: • AM Installation • Firewall Installation • Application Inventory • Hardware Inventory • USB Check • AV Installation • AV version / date • AS Installation • AS version / date • Application / File Check • Service packs / Hotfixes • Process / Registry Check • Patch Management • Disk Encryption • Service Condition • Registry Condition • Dictionary Condition |
Supported Conditions: • AM Installation • Firewall Installation • Application Inventory • Hardware Inventory • USB Check • AV Installation • AV version / date • AS Installation • AS version / date • Application / File Check • Service packs / Hotfixes • Process / Registry Check • Patch Management • Disk Encryption • Service Condition • Registry Condition • Dictionary Condition |
Remediation Actions | Manual Remediations | Partial Automatic Remediation: File, Link, WSUS Show UI, PM activate UI, Message Text. Manual remediation not supported. |
Both Automatic and Manual Remediation supported |
Passive Reassessment | None | Supported | Supported |
1.2.5 macOS Posture 支持检测特性
Temporal Agent | Stealth AnyConnect | AnyConnect | |
---|---|---|---|
Posture Conditions | Unsupported Conditions: • Service Condition-macOS —System Daemon check • Service Condition-macOS —Daemon or User Agent check • PM—Up to Date check • PM—Enabled check • DE—Encryption Location based check |
Supported Conditions: • AM Installation • Firewall Enabled • Application Inventory • Hardware Inventory • AV Installation • AV version / date • AS Installation • AS version / date • Application Check • Plist Check • File Check • Patch Management • Service packs / Hotfixes • Disk Encryption • Service Condition • Dictionary Condition |
Supported Conditions: • AM Installation • Firewall Enabled • Application Inventory • Hardware Inventory • AV Installation • AV version / date • AS Installation • AS version / date • Application Check • Plist Check • File Check • Patch Management • Service packs / Hotfixes • Disk Encryption • Service Condition • Dictionary Condition |
Remediation Actions | Not Supported | Unsupported: Manual, Launch program, File condition, Patch management, USB |
Unsupported: Manual, Launch program, File condition, Patch management, USB |
Passive Reassessment | Not Supported | Not Supported | Not Supported |
二、实验介绍
2.1、实验注意事项
- ISE Posture功能需要Apex授权,这里实验环境使用ISE的默认90天测试授权。
- ASA AnyConnect也需要有Apex授权,这里实验环境依然用的自带测试授权。
- 客户端需要信任ISE Posture的证书,如果ISE是自签名证书,客户端需要导入ISE证书。
- 建议管理员离线为用户安装好ISE Posure模块,可以避免很多问题。如果重定向到安装页面,让用户自行下载会遇到各种用户无法处理的问题。
2.2、实验需求
用户使用AnyConnect拨号时,需要满足下面条件才能接入,如果不满足合规条件,用户只能访问到隔离网络内的补丁服务器。如果用户电脑未安装Posture模块,当用户首次拨号成功后,页面会重定向到Posture安装页面,用户可以自行下载模块进行安装。
- Windows必须开启防火墙功能。
- Windows必须开启了BitLocker功能。
- Windows在C盘根目录下必须要有test.txt文件。
- Windows必须安装最新的补丁文件。
2.3、实验环境介绍
本次实验在vSphere环境下进行,ASAv和ISE均是默认的测试授权,ASAv测试授权有限速100k的问题,所以客户端打开Posture重定向网页比较困难,这里我为客户度手动安装Posture客户端。当客户端为通过合规检查时,只能访问ISE、AD、Update Server,不能访问其他服务器。通过合规检测之后允许访问所有网络。
2.4、实验步骤
配置整体分为2个部分,ISE Posture的配置和ASA SSLVPN的配置,这里聚焦的核心是ISE Posture配置。
2.4.1 ISE 配置步骤
- 配置Posture推送策略:当用户未安装Posture客户端拨入VPN时,需要为不同的系统推送不同的Posure Agent。
- 定义合规检测策略:也就是定义客户端具体需要满足的策略,只有满足这些对应的策略才能接入网络。如果用户账号具有管理员权限也可以定义修复策略,例如Posture自动为客户端打开防火墙。
- 配置授权策略:ISE为3种状态的客户端给与不同的授权。
Unknown
状态,重定向到客户端下载页面。Compliant
状态,正常授权。Noncompliant
状态,授权ACL限制网络访问。
2.4.2 ASA配置步骤
ASA上需要注意必须启用CoA(Change of Authorization)功能。CoA提供了在身份验证通过之后更改授权信息的机制,这个场景中,当客户端从不合规状态变为合规状态后,ISE会下发新的授权信息到ASA上。思科使用UDP 1700
端口,RFC5176使用UDP 3799端口。
- ASA基础配置,本次实验并不讲解ASA的基础配置操作。
- ASA SSLVPN配置,这里会主要介绍关于与Posture结合的特殊配置。
三、ISE Posture 配置
3.1、配置ISE Posture推送策略
- 为客户端推送Posture模块默认是禁用的,ISE会依据授权来判断是否推送,这里保持默认即可。
- 从Cisco网站下载最新的文件。
下载最新的Windows合规检测模块。
- AnyConnect现在是单独产品线,不能通过在线直接下载。AnyConnect官网下载地址,文件名称为
anyconnect-win-4.9.05042-webdeploy-k9.pkg
现在下载AnyConnect需要有CCO权限才能下载,最新版的AnyConnect不太容易找到,但是旧版本还是比较容易找到的,这里只需要4.x版本即可,并不需要最新版本。
通过本地上传AnyConnect客户端到ISE。
- 创建
AnyConnect Posture Profile
,里面定义了Posture的一些参数,可以影响客户端Posture的UI和行为。
- 这里开启
Enable Rescan Button
,客户端UI上会出现允许客户端重新扫描。
允许客户端访问所有网站。
- 创建
AnyConnect Configure
。
- 选择AnyConnect客户端文件、合规性检测文件、ISE Posture配置文件。
- 创建Client Provisioning Policy
3.2、定义合规检测策略
- 定义Window Patch检测策略,Posture模块可以通过
Windows Update Agent
或者System Center Configuration Manager Client(SCCM Client)
方式检测客户端Patch是否合规。如果选择Windows Update Agent
方式检测,那么需要确保客户端VPN拨号之后能访问Window更新服务器,如果企业内部署了WSUS
等服务器,需要让客户端能访问到WSUS
服务器。如果选择SCCM Client
方式检测,同样需要确保客户端能和SCCM的DP
分发点通信。 - 这里可以有3种类型的监测方式,
Installation
表示客户端是否安装了对应的程序,Enabled
表示客户端是否激活了程序,Up to Date
表示客户端是否拥有最新的文件。这3种监测方式时间递增,监测是否安装速度非常快,监测是否拥有最新的补丁文件速度会慢很多。如果你选择Up to Date
,那么你还可以选择监测具体哪类安全级别的补丁需要安装。一般选择Important & critical
即可。
- 配置C盘必须开启BitLocker。这里检测Windows系统,使用4.x以后的合规性检测模块,加密厂商选择微软。BitLocker检测可以检测指定的盘符,也可以指定全盘开启。
- 配置文件检测策略,这里检测指定目录下文件是否存在。还可以检测文件的创建时间、SHA-256值等信息。
- 可以利用ISE自带的防火墙检测条件。
-
这里定义防火墙的
Remediation
策略,即当用户电脑不合规之后Posture采取的动作,例如可以给用户发送文本消息告诉用户具体哪个地方未合规。也可以配置响应的动作,自动帮助客户端修复。这里Posture可以自动帮助客户端打开防火墙策略,但是需要用户使用管理员账号登录,也就是用户账号要有权限能开启防火墙。 -
这里定义Window Patch不合规时自动修复。
-
配置合规条件,调用上面定义的各种条件。当BitLocker和文件检测未通过时,给客户端文本提示信息;当防火墙和Patch检测未通过时,Posture模块进行自动修复。
- 创建Posture Policy,调用合规条件。
![image-20210224172153707](../image/Cisco ISE Posture with SSLVPN/image-20210224172153707.png)
3.3、配置授权策略
需要为3种不同状态的客户端下发不同的授权:
- 未安装Posture模块的客户端下发重定向授权,让客户端根据向导安装Posture模块;
- 合规性检测未通过的客户端下发DACL限制网络访问,未通过检测的客户端一般只允许访问DNS、补丁服务器等。
- 合规性检测通过的客户端下发正常访问授权。
- 为没有安装Posture的客户端创建授权策略。
选择网页重定向模板为Client Provisioning(Posture)
,这里使用默认的模板,你也可以去修改模板或者创建新的模板。下发重定向ACLPosture_Redirect_ACL
,这里只是推送了重定向ACL的名字,所以需要在ASA上创建同名的重定向ACL内容。
- 创建DACL,限制未合规的客户端访问网络。
一般只允许访问DNS服务、补丁服务器,不允许访问其他内网服务器。这个ACL内容会直接推送到ASA上,并不需要在ASA上创建同名的ACL列表。DACL名字Posture_NonCompliant_ACL
。
ACL内容
permit udp any any eq domain
permit ip any host 172.20.29.150
permit ip any host 172.20.29.190
deny ip any any log
- 创建授权策略,调用DACL。
- ISE可以下发group-policy授权到ASA上,需要注意的是推送的只是group-policy名字,所以在ASA上创建的group-policy需要与ISE下发的名字完全一致。
- 创建网络设备,配置ASA的Radius共享密钥。
- ISE创建本地用户用于AnyConnect拨号认证。
- ISE创建Policy Set,这里的
Conditions
可以自己定义。
- 创建授权策略,这里条件内一定要包含
PostureStatus
信息,依据3种不同的PostureStatus状态给客户端对应的授权。这里我还加了一个检测条件Cisco-VPN3000·CVPN3000/ASA/PIX7x-Client-Type
类型为AnyConnect-Client-SSL-VPN
这个表示客户端必须使用AnyConnect客户端拨号。
四、ASA 配置
4.1、ASA 基础配置
- 这里ASA是空配状态进行的,进行了地址初始化,配置了SSH登录,配置了ASDM登录。
interface GigabitEthernet0/0
nameif inside
security-level 100
ip address 172.20.29.145 255.255.255.0
!
interface GigabitEthernet0/1
nameif outside
security-level 0
ip address 52.94.8.18 255.255.255.0
aaa authentication ssh console LOCAL
ssh 0.0.0.0 0.0.0.0 inside
http server enable 8443
http 0 0 inside
aaa authentication http console LOCAL
username admin password cisco privilege 15
route inside 0.0.0.0 0.0.0.0 172.20.29.1 1
- 通过ASDM上传AnyConnect文件到磁盘下。
asa# dir
Directory of disk0:/
83 -rwx 76380273 13:33:46 Feb 02 2021 anyconnect-win-4.9.05042-webdeploy-k9.pkg
4.1、SSLVPN 配置
- 配置webvpn,激活AnyConnect拨号。
webvpn
enable outside
anyconnect image disk0:/anyconnect-win-4.9.05042-webdeploy-k9.pkg
anyconnect enable
- 当客户端访问内网时,地址转换为ASA的inside接口地址。(这并不是必须的操作,这里只是为了省略解决内网路由的问题,否则内网服务器需要有路由能到客户端地址段)
object network anyconnect_pool_object
subnet 192.168.100.0 255.255.255.0
nat (outside,inside) source dynamic anyconnect_pool_object interface
-
ASA CoA和重定向列表,这应该是最不同于传统SSLVPN的配置。
COA:当ISE感知到客户端从非合规状态变为合规状态时会下发新的授权,ASA只有启用的CoA功能才能使用新的授权信息。
重定向列表:初看上去很难理解具体的含义,这里你需要重新理解ACL的
permit
和deny
的含义。这里的deny
表示抓取到的流量不会被重定向,permit
表示抓取的流量会被重定向。这里的含义是去往DNS、ISE、DC的流量不会被重定向,客户端可以正常去往这些地址。但是其他所有流量都会被重定向。这里重定向列表一定要明白具体含义,否则很容易出现无限循环重定向到ISE页面。
aaa-server ISE protocol radius
authorize-only
interim-accounting-update periodic 1
merge-dacl before-avpair
dynamic-authorization
aaa-server ISE (inside) host 172.20.29.140
key cisco
authentication-port 1812
access-list Posture_Redirect_ACL extended deny udp any any eq domain
access-list Posture_Redirect_ACL extended deny ip any host 172.20.29.140
access-list Posture_Redirect_ACL extended deny ip any host 172.20.29.150
access-list Posture_Redirect_ACL extended permit ip any any
- 下面就是SSLVPN的常规配置了,这里使用了SSLVPN的默认
tunnel-group
。
ip local pool sslvpn_client_pool 192.168.100.100-192.168.100.200 mask 255.255.255.255
group-policy employee-group-policy internal
group-policy employee-group-policy attributes
dns-server value 172.20.29.150
vpn-tunnel-protocol ssl-client
default-domain value liuqianglong.com
address-pools value sslvpn_client_pool
tunnel-group DefaultWEBVPNGroup general-attributes
authentication-server-group ISE
authorization-server-group ISE
五、AnyConnect 拨号测试
5.1、客户端安装Posture模块
- 这里ASA没有配置隧道分隔,所以客户端所有流量都会经过AnyConnect,AnyConnect会主动触发一个HTTP流量去访问http://www.msftconnecttest.com/redirect,触发页面重定向到ISE Posture下载页面。如果配置了隧道分隔,需要用户主动访问一个内网服务器触发重定向,才会显示下面的页面。这里跟随向导前进即可。
- 检测是否安装AnyConnect Posture模块。
- 下载这个临时代理软件,这个并不是最终的ISE Posture模块,下载之后记得备份这个代理软件,因为如果安装不成功这个临时代理会自动删除,你又需要重新下载一次。
-
这里客户端和ISE在进行证书认证,所以如果你的ISE是自签名证书,那么需要导出ISE的自签名证书,导入到客户端才能顺利通过认证。我这里的ISE实验环境显然是自签名证书,所以需要进行导入证书操作。
检查
BitLocker
和File
时不会检查证书,当检查Firewall
和Windows Patch
时需要检查证书。
- 客户端一定要信任ISE证书之后再进行后面的操作,否则你可能会看到各种报错界面。这是其中一种报错界面。如果客户端已经信任ISE Posture证书了,那么可以忽略后面导入证书的操作。
- 如果出现这个报错也是客户端不信任ISE Posture证书导致的。
The requirement cannot be evaluated since you are connected to an untrusted server. Please contact your system adminitrator.
5.2、客户端导入ISE证书
- 在ISE上导出自签名证书,导出的是
.pem
文件,你可以用各种方式将文件传输到客户端上,客户端上修改文件后缀为.cer
即可安装证书。
- 客户端需要将证书同时导入到当前用户和本地计算机。
- 导入到「受信任的根证书颁发机构」。
- 导入之后客户端会信任ISE Posure证书,即可正常通信。
- 代理软件继续下载ISE Posture模块。
- 因为ASAv测试license限速100k,所以这里我离线手动安装ISE Posture模块,在线下载Posture模块速度太慢。这个下载链接依然需要CCO账号,与上面AnyConnect下载是同一个链接。
- 安装成功后AnyConnect UI多出一个
System Scan
模块。
- 拨号成功后,Posure会下载ISE提供的Windows合规扫描模块。
5.3、客户端合规性检测
5.3.1 合规性监测失败页面展示
- 客户端未开启防火墙提示页面。
- 客户端C盘根目录下没有
test.txt
这个文件提示页面。
- 客户端C盘未开启
BitLocker
提示页面。
- 当Window Update未通过时,因为配置了
Remediation
,所以系统会尝试下载最新的Patch文件。这里一定要确认客户端能访问Window Update服务器,在前面配置检测策略时已经详细说过了。
5.3.2 客户端进行合规检查时授权信息
- 此时客户端正在检查BitLocker是否开启,一共有5分钟的监测时间,在此期间内客户端状态为
Unknow
,此时客户端流量受到重定向列表管控。
- 查看用户获取的具体授权信息,最后一行可以看到用户获取的重定向列表。
asa# show vpn-sessiondb detail anyconnect
filter Filter criteria
sort Sort Criteria
| Output modifiers
<cr>
asa# show vpn-sessiondb detail anyconnect
Session Type: AnyConnect Detailed
Username : ssluser Index : 36
Assigned IP : 192.168.100.101 Public IP : 52.94.8.10
Protocol : AnyConnect-Parent SSL-Tunnel DTLS-Tunnel
License : AnyConnect Premium
Encryption : AnyConnect-Parent: (1)none SSL-Tunnel: (1)AES-GCM-256 DTLS-Tunnel: (1)AES256
Hashing : AnyConnect-Parent: (1)none SSL-Tunnel: (1)SHA384 DTLS-Tunnel: (1)SHA1
Bytes Tx : 63439 Bytes Rx : 21404
Pkts Tx : 128 Pkts Rx : 174
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Group Policy : employee-group-policy Tunnel Group : DefaultWEBVPNGroup
Login Time : 10:13:17 UTC Wed Feb 3 2021
Duration : 0h:00m:46s
Inactivity : 0h:00m:00s
VLAN Mapping : N/A VLAN : none
Audt Sess ID : ac141d9100024000601a773d
Security Grp : none
AnyConnect-Parent Tunnels: 1
SSL-Tunnel Tunnels: 1
DTLS-Tunnel Tunnels: 1
AnyConnect-Parent:
Tunnel ID : 36.1
Public IP : 52.94.8.10
Encryption : none Hashing : none
TCP Src Port : 49367 TCP Dst Port : 443
Auth Mode : userPassword
Idle Time Out: 30 Minutes Idle TO Left : 29 Minutes
Client OS : win
Client OS Ver: 10.0.19041
Client Type : AnyConnect
Client Ver : Cisco AnyConnect VPN Agent for Windows 4.9.05042
Bytes Tx : 7699 Bytes Rx : 0
Pkts Tx : 5 Pkts Rx : 0
Pkts Tx Drop : 0 Pkts Rx Drop : 0
SSL-Tunnel:
Tunnel ID : 36.2
Assigned IP : 192.168.100.101 Public IP : 52.94.8.10
Encryption : AES-GCM-256 Hashing : SHA384
Ciphersuite : ECDHE-ECDSA-AES256-GCM-SHA384
Encapsulation: TLSv1.2 TCP Src Port : 49379
TCP Dst Port : 443 Auth Mode : userPassword
Idle Time Out: 30 Minutes Idle TO Left : 29 Minutes
Client OS : Windows
Client Type : SSL VPN Client
Client Ver : Cisco AnyConnect VPN Agent for Windows 4.9.05042
Bytes Tx : 16382 Bytes Rx : 7801
Pkts Tx : 39 Pkts Rx : 67
Pkts Tx Drop : 0 Pkts Rx Drop : 0
DTLS-Tunnel:
Tunnel ID : 36.3
Assigned IP : 192.168.100.101 Public IP : 52.94.8.10
Encryption : AES256 Hashing : SHA1
Ciphersuite : AES256-SHA
Encapsulation: DTLSv1.0 UDP Src Port : 58772
UDP Dst Port : 443 Auth Mode : userPassword
Idle Time Out: 30 Minutes Idle TO Left : 29 Minutes
Client OS : Windows
Client Type : DTLS VPN Client
Client Ver : Cisco AnyConnect VPN Agent for Windows 4.9.05042
Bytes Tx : 39358 Bytes Rx : 13603
Pkts Tx : 84 Pkts Rx : 107
Pkts Tx Drop : 0 Pkts Rx Drop : 0
ISE Posture:
Redirect URL : https://ise26.liuqianglong.com:8443/portal/gateway?sessionId=ac141d9100024000601a773d&portal=27b1bc30-...
Redirect ACL : Posture_Redirect_ACL
- 可以查看重定向列表的流量匹配情况。
asa# show access-list
access-list cached ACL log flows: total 0, denied 0 (deny-flow-max 4096)
alert-interval 300
access-list Posture_Redirect_ACL; 4 elements; name hash: 0xcadb04ea
access-list Posture_Redirect_ACL line 1 extended deny udp any any eq domain (hitcnt=4294) 0x99c9a32c
access-list Posture_Redirect_ACL line 2 extended deny ip any host 172.20.29.140 (hitcnt=2184) 0x2bb72c86
access-list Posture_Redirect_ACL line 3 extended deny ip any host 172.20.29.150 (hitcnt=0) 0xaf71d144
access-list Posture_Redirect_ACL line 4 extended permit ip any any (hitcnt=5) 0xd1910f22
- 在客户端上测试网络连通性,此时客户端只能访问DNS、172.20.29.140、172.20.29.150的流量,除此之外的HTTP流量都会被重定向到ISE上。也就是只能访问重定向列表
deny
的流量。
5.3.3 客户端未通过合规性检测时的授权信息
- 此时合规性检测失败。
- ASA上查看用户授权信息,最后一行可以看到DACL信息,此时客户端访问网络受到DACL的限制。
asa# show vpn-sessiondb detail anyconnect
Session Type: AnyConnect Detailed
Username : ssluser Index : 36
Assigned IP : 192.168.100.101 Public IP : 52.94.8.10
Protocol : AnyConnect-Parent SSL-Tunnel DTLS-Tunnel
License : AnyConnect Premium
Encryption : AnyConnect-Parent: (1)none SSL-Tunnel: (1)AES-GCM-256 DTLS-Tunnel: (1)AES256
Hashing : AnyConnect-Parent: (1)none SSL-Tunnel: (1)SHA384 DTLS-Tunnel: (1)SHA1
Bytes Tx : 69643 Bytes Rx : 34502
Pkts Tx : 172 Pkts Rx : 240
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Group Policy : employee-group-policy Tunnel Group : DefaultWEBVPNGroup
Login Time : 10:13:17 UTC Wed Feb 3 2021
Duration : 0h:02m:44s
Inactivity : 0h:00m:00s
VLAN Mapping : N/A VLAN : none
Audt Sess ID : ac141d9100024000601a773d
Security Grp : none
AnyConnect-Parent Tunnels: 1
SSL-Tunnel Tunnels: 1
DTLS-Tunnel Tunnels: 1
AnyConnect-Parent:
Tunnel ID : 36.1
Public IP : 52.94.8.10
Encryption : none Hashing : none
TCP Src Port : 49367 TCP Dst Port : 443
Auth Mode : userPassword
Idle Time Out: 30 Minutes Idle TO Left : 27 Minutes
Client OS : win
Client OS Ver: 10.0.19041
Client Type : AnyConnect
Client Ver : Cisco AnyConnect VPN Agent for Windows 4.9.05042
Bytes Tx : 7699 Bytes Rx : 0
Pkts Tx : 5 Pkts Rx : 0
Pkts Tx Drop : 0 Pkts Rx Drop : 0
SSL-Tunnel:
Tunnel ID : 36.2
Assigned IP : 192.168.100.101 Public IP : 52.94.8.10
Encryption : AES-GCM-256 Hashing : SHA384
Ciphersuite : ECDHE-ECDSA-AES256-GCM-SHA384
Encapsulation: TLSv1.2 TCP Src Port : 49379
TCP Dst Port : 443 Auth Mode : userPassword
Idle Time Out: 30 Minutes Idle TO Left : 27 Minutes
Client OS : Windows
Client Type : SSL VPN Client
Client Ver : Cisco AnyConnect VPN Agent for Windows 4.9.05042
Bytes Tx : 16382 Bytes Rx : 7801
Pkts Tx : 39 Pkts Rx : 67
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Filter Name : #ACSACL#-IP-Posture_NonCompliant_ACL-601a74eb
DTLS-Tunnel:
Tunnel ID : 36.3
Assigned IP : 192.168.100.101 Public IP : 52.94.8.10
Encryption : AES256 Hashing : SHA1
Ciphersuite : AES256-SHA
Encapsulation: DTLSv1.0 UDP Src Port : 58772
UDP Dst Port : 443 Auth Mode : userPassword
Idle Time Out: 30 Minutes Idle TO Left : 29 Minutes
Client OS : Windows
Client Type : DTLS VPN Client
Client Ver : Cisco AnyConnect VPN Agent for Windows 4.9.05042
Bytes Tx : 45562 Bytes Rx : 26701
Pkts Tx : 128 Pkts Rx : 173
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Filter Name : #ACSACL#-IP-Posture_NonCompliant_ACL-601a74eb
- 在ISE上可以看到通过CoA机制下发的DACL信息。
- 此时DACL未放行的流量,客户端无法通信。
5.3.4 客户端通过合规性检测后的授权
- 这里我在测试时,关闭了检测Patch,因为客户端通过ASA100k的速度下载Windows更新的速度太慢,很难出效果(我在生产环境测试可以正常工作)。同时也关闭了BitLocker检测,Window开启BitLocker是一个漫长的过程(同样在生产环境测试过可以正常工作)。这2项我都在生产环境中成功部署了,检测和修复是没有问题的。因为我们生产环境中部署了SCCM,我测试了
SCCM Client
检测方式也可以正常工作。 - 这里ISE只授权了group-policy,所以客户端会受到group-policy的权限控制。
5.3.5 ISE查看客户端合规日志
- 这里可以看到客户端Posture检测是否通过。
- Posture检测通过。
- 未通过Posture检测。
六、参考资料
-
ISE Posture部署指南:https://community.cisco.com/t5/security-documents/ise-posture-prescriptive-deployment-guide/ta-p/3680273
-
ISE Posture结合AnyConnect配置:https://community.cisco.com/t5/security-documents/how-to-configure-posture-with-anyconnect-compliance-module-and/ta-p/3647768
-
ISE Posture配置实例:https://www.youtube.com/watch?v=xrAdpdfBZgg