40 | 如何实现零信任网络下安全的服务访问?
建立信任
- 深入了解
- 翻译
- 解释
- 总结
在零信任网络下实现安全的服务访问是一项关键挑战。本文深入探讨了在这一背景下的安全传输、认证和授权方法。作者首先强调了零信任网络中不存在默认的信任关系,因此所有服务调用和资源访问都需要建立在已有的信任关系基础上。文章着重讨论了TLS在零信任网络中的重要性,以及在实际操作中部署和轮换根证书的挑战。此外,还介绍了单向TLS认证和双向TLS认证的区别,以及围绕TLS的密钥生成、证书分发、更新轮换等操作的复杂性。作者还结合实际代码示例,重点讨论了认证和授权在微服务架构下的实现方式,包括服务认证和请求认证两种类型的认证机制。总的来说,本文深入浅出地介绍了在零信任网络下实现安全服务访问的挑战和解决方案,对于需要了解零信任网络安全的读者具有很高的参考价值。 在实现零信任网络下的安全服务访问中,本文重点介绍了TLS在此背景下的重要性,以及部署和轮换根证书的挑战。此外,还探讨了单向TLS认证和双向TLS认证的区别,以及围绕TLS的密钥生成、证书分发、更新轮换等操作的复杂性。作者还结合实际代码示例,重点讨论了认证和授权在微服务架构下的实现方式,包括服务认证和请求认证两种类型的认证机制。总的来说,本文深入浅出地介绍了在零信任网络下实现安全服务访问的挑战和解决方案,对于需要了解零信任网络安全的读者具有很高的参考价值。
请先领取课程
全部留言(9)
- 最新
- 精选
- 丁小明基于springcloud的认证授权,资源服务器是不是就必须要将每次请求携带的jwt信息,去类似auth的鉴权服务中进行鉴权,这样是不是就多了一次网络调用?
作者回复: 使用HMAC的对称加密需要多一次交互,非对称加密不需要,直接使用公钥验证即可。
2021-04-201 - 丁乐洪老师好,Spring Security 授权方法有两种 同时实现,是否可行?没有annotation就用集中配置的?
作者回复: 可以同时使用的。
2021-03-011 - Free①学习Spring Cloud版本的Fenix's Bookstore时发现,请求认证过程中使用的是Get、用户名和密码在Get请求的url中(url:http://localhost:8080/oauth/token?username=icyfenix&password=MFfTW3uNI4eqhwDkG7HP9p2mzEUu%2Fr2&grant_type=password&client_id=bookstore_frontend&client_secret=bookstore_secret),不开启Https的情况下这是不安全的,而开启Https后由于Https也会加密Url中的参数,所以开启Https的情况是安全的。 可以参考这里:https://https.cio.gov/faq/ ②Spring Cloud版本的Fenix's Bookstore中,注册新用户会报「不允许访问」的错。原因是AccountResource的createUser方法被@PreAuthorize("#oauth2.hasAnyScope('BROWSER')")修饰,在注册场景中一般并不会登录,而对前端服务的认证授权是在用户登录过程中完成的,所以在未登录的情况下也不会有BROWSER Scope。对应的处理方式是删掉这个注解就可以,不知道理解的对不对?
作者回复: 关于1:在27节“保密”中,我提到了自己的看法,如果要考虑MitM的话,上HTTPS几乎是唯一可行的手段。如果没有HTTPS,无论是GET还是POST,在安全性上其实并没有区别。 关于2:这就是个代码bug,没有注册的用户不会有Token,自然取不到scope,已经在代码库中删除掉了。
2021-05-22 - zhanyd用代码去保证服务之间的安全通讯问题现在还是主流,原因之一可能是因为灵活性比较高吧,每个系统的定位和需求不一样,自己用代码可以根据实际情况随时调整。 用基础设施的话,可能会造成额外的负担,增加了系统的复杂度,多了很多用不到的功能。2021-02-248
- neohope我认为边界安全模型和零信任模型会长期共存,边界安全模型毕竟更成熟,而且在资源隔离程度上,远高于零信任模型。istio们并没有提供边界模型的一些组件,比如杀毒,比如入侵检测,比如蜜罐,比如上帝视角的规则控制等。而且istio们本身也有被入侵的可能,所以不能只依赖这一个层面的安全管控,而是立体的安全管控。2021-04-143
- walkingonair又学到了,给老师点赞!实际使用中,我经历过的都是使用边界安全模型,最细粒度也是在区分内外网之后,对应用相互访问的网络安全控制精确到服务器+端口的程度,这些全部可以交给运维同学,开发同学可以只关注业务,以及业务层面的安全控制。2021-02-241
- 守望_Wilbur这个可能要取决于安全性相关的基础设施和服务应用层面关于增强安全性方面的工作是否会越来越完善。2023-01-13归属地:广东
- Sruby在 Istio 版本的 Fenix's Bookstore 中,通过以下文稿这里给出的配置,就限制了来自 bookstore-servicemesh 名空间的内部流量,只允许访问 accounts、products、pay 和 settlements 四个端点的 GET、POST、PUT、PATCH 方法,而对于来自 istio-system 名空间(Istio Ingress Gateway 所在的名空间)的外部流量就不作限制,直接放行。 -------------- namespace维度对于endpoint的授权,service维度对于endpoint授权需要怎么做?2021-07-29
- Sruby前面我提到,在零信任网络中面对可能的中间人攻击,TLS 是唯一可行的办法。其实我的言下之意是,即使应用层的认证能在一定程度上,保护服务不被身份不明的客户端越权调用,但是如果内容在传输途中被监听、篡改,或者被攻击者拿到了 JWT 令牌之后,冒认调用者的身份去调用其他服务,应用层的认证就无法防御了。 --------------- 如果某个容器内的服务被攻击成为了肉鸡,依然还是存在安全问题。2021-07-29