【ZTA】零信任架构(Zero Trust Architecture)在内网环境的初步应用升级

ZTA(零信任架构)简述

零信任架构的提出是因为内网逐渐成为和互联网一样,被认为是不安全的网络安全环境而提出的新网络安全思想,核心在于:永不信任,始终验证

与传统安全模型(信任内网)不同,它假设所有网络都可能被攻击

所以对于任何请求:

  1. 每次访问都需验证身份
  2. 授予最小必要权限
  3. 动态评估访问风险
  4. 所有通信加密

问题背景及解决方案

当前内网之间调用,比如A服务调用B服务获取数据是通过在请求头中添加自定义header实现

比如

httpPost.setHeader("username", "woshizhangsan");
httpPost.setHeader("password", "zhangsanshiwo");

目前暂时无法做到完全符合原教旨主义的零信任架构

 

但改进思路是

1、每次访问验证身份

这里,选择取消username和password这种长期凭证

取而代之的是使用JWT,放入Header中,实现短期访问(时间暂定为3分钟)

然后由Interceptor或者AOP进行访问鉴权

2、最小必要权限

此处暂时无法实现动态配置,解决方案是将访问的路径以AES256加密,将其放入JWT的Claim中

然后在验证token时,获取后与请求URL进行比对

代价是解密会需要CPU资源因此请求时间会延长,但在to B业务中,尤其是to B管理端业务的开发对于请求即时性要求并不高,这是可以接受的

3、动态评估访问风险

这里使用IP白名单机制,但也不是完全实现了动态评估访问风险,只是一种很粗糙的解决办法。

如果某一台内网服务器被入侵,则标记为高危IP,所有此IP发出请求均予以拒绝。

但这中间存在不小的时间差,因此在标记为高危IP之前,该被入侵的服务器已经可以发出较多高危请求,这点还是没办法根本解决。

4、所有通信加密

如果是基于HTTPS实现,则是最好。但目前没有办法为服务器写入证书。暂时不搞了。

 

posted @ 2025-07-05 10:02  onejay  阅读(27)  评论(0)    收藏  举报