本帖最后由 杨童 于 2024-10-29 22:31 编辑
本文核心思想:介绍SSL VPN和零信任关于域名隧道资源、私有DNS、fake ip功能的场景效果对比、注意事项
1、SSL VPN中涉及DNS、域名的配置如下
1.1、域名资源:SSL VPN在配置资源时,可以直接填写域名,终端登录VPN后会根据SSL VPN设备本身的hosts或者内网DNS服务器解析该域名
1.2、内网DNS:设置DNS服务器,可以让终端接入vpn后优先走此DNS解析,或者指定特定的域名走此域名 解析优先级为: 设备host->内网域名解析的DNS服务器->设备接口DNS服务器
1.3、vpn设备本身的hosts功能:搭配内网DNS功能,vpn设备可以当做dns服务器,直接给终端解析对应A记录,无需再去访问内网dns服务器去解析A记录
2、零信任涉及dns解析功能的配置点: 2.1、隧道域名资源:和vpn逻辑类似,在隧道资源中将服务器地址配置成域名,用户登录零信任时,控制中心会根据本机的hosts或本机的dns解析结果,将对应隧道域名资源的A记录下发到终端,后续30分钟重新下发一次
2.2、fake ip:地址伪装,访问域名资源时使用虚拟的地址,让用户看不到真实服务器ip 开启后用户访问隧道域名资源时,终端直接将域名解析成198.18开头的ip,用户看不到域名真实的A记录 如果控制中心配置了hosts,优先根据hosts的记录解析域名,如果没有hosts配置,则由代理网关根据自身dns服务器解析域名对应地址
效果如下:在ping和浏览器抓包时,访问的目的地址都是198.18开头的虚拟IP,用户无法获取域名对应的真实服务器ip地址
2.3、内网DNS解析:开启后用户登录零信任后优先走此处配置的dns服务器解析域名,或只有特定域名走此处的DNS服务器解析。 此功能和ssl vpn的区别是:如果某域名没有配置成域名隧道资源,而只配置了内网dns解析,此时终端只能通过内网dns配置的dns服务器去解析此域名,控制中心配置的hosts不会生效。而ssl vpn可以直接使用ssl vpn本机配置的hosts作为解析结果
2.4、hosts:用于控制中心本机访问域名;或在域名隧道资源场景中,直接给终端下发域名对应的A记录,省去dns解析过程
3、零信任配置组合效果举例: 以下列举了各种配置在pc和手机端的组合使用效果,仅供参考
3.1、PC端+IP资源=用户登录零信任前后都只能基于终端本身的dns去解析域名,无法通过零信任解析域名。如果终端解析出的域名A记录属于已配置的零信任IP资源,后续访问该IP的资源时都走零信任隧道
3.2、PC端+IP资源+内网DNS=终端未登录零信任时,解析域名走终端本地的dns。登录零信任后走零信任配置的内网dns服务器,如果解析出的A记录地址属于零信任配置的IP资源,则后续访问该IP的流量走零信任
如下图,控制中心配置的内网dns服务器为114,用户登录零信任后请求域名,dns请求流量会先到代理网关,由代理网关代理去找配置的内网dns服务器
3.3、PC端+IP资源+hosts=终端的域名解析走终端本地的dns,hosts配置无效
3.4、PC端+IP资源+内网DNS+hosts=终端域名解析优先走内网DNS配置的DNS服务器,hosts配置无效
3.5、PC端+IP资源+fakeip=域名请求走终端自身的,没有任何效果,或者说没有任何开启fake ip的意义
3.6、PC端+IP资源+fakeip+hosts=域名请求走终端自身的,fakeip和hosts都没有意义
3.7、PC端+IP资源+fakeip+内网DNS=终端登录零信任后访问域名将dns请求发到代理网关,由代理网关找内网DNS服务器解析A记录,终端访问的也是实际IP,不会隐藏真实IP
3.8、PC端+IP资源+fakeip+内网DNS+hosts=和上一条一样,会走内网DNS解析,不会有fakeip的隐藏效果,hosts和fakeip的配置都没有意义
3.9、PC端+隧道域名资源=资源配置后零信任会立即找本机配置的dns服务器查询对应域名A记录,当用户登录客户端后,控制中心将提前找本机DNS服务器解析出来的A记录或者hosts配置的A记录下发到终端本地,终端访问此域名时自动走零信任隧道 如图所示,在工作台的应用详情可以看到域名资源的A记录地址
3.10、PC端+隧道域名资源+内网DNS=应用资源在零信任配置时,控制中心会主动找本机的dns服务器解析该域名,终端登录时会自动将此域名的A记录下发到终端,不会走内网dns解析,此时内网dns配置无意义
3.11、PC端+隧道域名资源+hosts=hosts配置后本机访问域名会根据hosts决定,不会再自行去解析域名,终端登录时会根据hosts收到控制中心下发的A记录
3.12、PC端+隧道域名资源+内网DNS+hosts=hosts优先级比内网dns高,终端登录零信任后会收到控制中心下发的hosts。此场景下内网dns无实际意义
3.13、PC端+隧道域名资源+fakeip=应用资源配置时开启fakeip保存后,控制中心不会主动找本机配置的dns服务器请求解析。终端登录时控制中心也不会下发A记录给终端。 当终端访问该域名时,零信任客户端会把域名解析成198.18的地址,终端把流量发到目的地址198.18,然后报文直接发到代理网关,代理网关再去找本机配置的dns服务器请求域名,解析出域名后,再代理终端流量转发到实际业务服务器,整体流程图如下
配置如下:
抓包如下:左侧是代理网关,右侧是用户终端,终端发起访问域名时,解析出来的目的地址是198.18.0.13,同时代理网关可以抓到请求解析该域名的A记录,对应的DNS服务器是代理网关本机配置的DNS服务器
3.14、PC+隧道域名资源+fakeip+hosts=用户登录后控制中心,直接下发A记录到终端,终端无需再进行dns解析,用户仍然无法看到dns解析的IP 示例如下:正常情况下找公共dns服务器解析此域名pc.domin.fakeip.hosts.ldat.xyz,对应A记录为101.42.19.106
将此域名配置到控制中心作为域名隧道资源,开启fakeip
在hosts写A记录,将地址写成和公共dns不一致的结果
用户登录零信任访问此域名,同时在代理网关抓包,可以看到用户终端解析出的地址是198.18.0.14,流量到达代理网关后,代理网关访问的是控制中心配置的hosts地址,代理网关无dns解析动作
3.15、PC端+隧道域名资源+fakeip+内网DNS=终端将流量直接转发给198.18,流量到达代理网关后,代理网关再去查询真实域名对应地址,内网DNS无意义
3.16、PC端+隧道域名资源+fakeip+内网DNS+hosts=优先走hosts,内网dns配置无意义
3.17、移动端+隧道域名资源=控制中心配置资源后会立即主动解析此域名的A记录。手机端访问时会根据fakeip的逻辑,将IP解析成198.18,流量转发到代理网关后,代理网关本身会再次解析域名,根据解析结果再代理业务流量访问
下图是代理网关代理流量前解析域名和解析后代理流量的抓包
3.18、移动端+隧道域名资源+hosts=手机端访问时会根据fakeip的逻辑。和电脑端一样,以hosts为准,控制中心和代理网关都不会重新解析对应域名
3.19、移动端+隧道域名资源+内网dns=手机端访问时会根据fakeip的逻辑。由于有fakeip能力,内网dns配置不生效,无意义
3.20、移动端+隧道域名资源+内网dns+hosts=手机端访问时会根据fakeip的逻辑。和电脑端一样,以hosts为准,控制中心和代理网关都不会重新解析对应域名,此场景下内网dns配置无意义
|