我有包含所有 docker 镜像的应用程序。我已经设置隔离服务器对于我的申请。
Web 服务器 => 应用服务器 => 数据库服务器
Web 服务器配置了 Nginx 和 SSL配置到位。应用程序和数据库服务器不直接暴露给外界,Web 服务器将访问应用程序服务器,而应用程序服务器将访问数据库服务器。
除 Web 服务器之外,所有通信均通过 HTTP 进行,但这些服务器(应用服务器和数据库服务器)不能直接访问。
怎么做Web 服务器 => 应用服务器 => 数据库服务器这次通讯安全吗?
笔记: 在应用服务器和数据库服务器上,Docker 容器正在为我的应用程序运行。
答案1
简短答案
当谈到安全时,无论是方法还是产品,都没有灵丹妙药。
长答案
正如其他人提到的,这是一个可以从多个角度来处理的问题。正确的方法是从端到端查看堆栈,并相应地减少攻击媒介。一些示例包括但不限于:
- 联网- 确保各层之间适当的网络分段和访问控制列表 (ACL),以及在边界适当实施防火墙,以确保上述应用服务器和数据库层无法从外部访问。
- 服务器- 适当的修补和合规实施,例如安全技术实施指南 (STIG) 和在可能的情况下实施公钥基础设施 (PKI/SSL)。
- 应用- 实施任何供应商和/或供应商社区接受的配置强化和最佳实践。
- 流程- 正确使用基于角色的访问控制(RBAC),并正确实施关注点分离和最小特权原则。