容器化到后端有多少抽象并符合零信任最佳实践?

问题描述 投票:0回答:1

我正在构建一个由几个容器化服务组成的 Web 服务。一些服务是用 Go 自行编写的,因此我可以自由地决定如何使它们相互通信。

简单来说,我有一个服务 A,可以读取和写入 MongoDB。它提供了一些被 AJAX 浏览器请求命中的端点。

首先,我添加了一个反向代理,它也充当负载均衡器。我的问题是,对于零信任环境中的最佳实践,单跳是否足够?我的意思是,我还可以在代理和服务 A 之间添加另一个服务,该服务接受传入连接并执行其他检查。

我想避免添加许多不必要的跃点,但我对用户直接访问具有读/写访问权限的服务/应用程序的端点感到不高兴,尽管端点中具有身份验证层。非常感谢任何帮助!

kubernetes security containers backend
1个回答
0
投票

TL;博士

只要您遵循加密、身份验证和授权实践,就应该可以开始。

数据库注意事项

确保您与数据库的连接已加密,MongoDB 支持传输中加密静态加密,尽管后者仅在企业订阅中受支持,但您可以通过一些基础设施预防措施来实现它,请参阅下面的部分.

应用注意事项

确保清理参数查询并使用不易受攻击的 JS 库。关于这一点,有很多解决方案可以静态检查代码并发现缺陷。 无论您要部署的微服务数量如何,请确保有一个进行身份验证/授权的单点。

基础设施考虑因素

一般来说,假设没有软件没有错误,向基础设施添加跃点并不会增加系统的安全性,因此我的总体想法是选择一些服务,但配置正确。您的交通流量越可预测且越精简,您遇到的麻烦就越少。 假设您在 Kubernetes 上部署了基础设施(给定您添加的标签),您可以通过以不同方式配置入口控制器来“玩”不同级别的安全性,例如,您可以将 IP CIDR 列入白名单,甚至根据具体情况添加 DDOS 保护您正在使用的 Kubernetes(AKS、EKS 等)

© www.soinside.com 2019 - 2024. All rights reserved.