我们的平台托管在 Google Cloud 上。这是一家初创公司,其设置相当精简,
1 X Nginx | 充当 Web 服务器 | 面向公共的子网 1 x 数据库服务器 | 内部子网
我 100% 肯定这不是推荐的做法,因为在传统的本地部署中,我们从不将我们的 Web 服务器面向公众,它始终位于防火墙后面。但我很困惑,我有什么选择可以保护我的 Web 服务器
有人可以指导我实现以下目标吗?
互联网用户 <-------> 防火墙(托管在 GCP 上)<-------> Nginx Web 服务器 <-------> DB。
由于这是一家没有资金的初创公司,请帮我提供一些低成本/开源选项。
欢呼 AJ
答案1
默认情况下,您的 VPC(网络)已受到 Google Cloud Firewall 的保护,除非您打开比实际需要更多的端口。
首先,有两个默认和隐含规则,允许出口和拒绝入口只能被覆盖但不能被删除。
第二个重要特征是规则有状态的,其中允许通过防火墙回复授权连接。
另一个重要因素是规则是允许还是拒绝。规则不能简单地记录为操作。在这里您可以找到所有规格。
这里有一个防火墙规则教程,其中包括一些配置示例页
考虑到你的情况,我可以提出以下建议:
1)WebServer与DB在同一个VPC(内部网络)中
2) 使用附加到标签的防火墙规则,例如:http-server 或 https-server,并允许端口 80 和 443 中的一个或两个。
3) 设置您的数据库并删除与其关联的外部 IP 以增强保护。
4) 给两个虚拟机附加一个标签,只有 Web 服务器才能与数据库通信,反之亦然。
5)提前考虑(并希望你的项目成功),再多一点投资,你就可以增加HTTP(S) 负载均衡器这将提供更多的保护(例如 DDOS 缓解)并平衡多个 Web 服务器的负载(提供冗余和水平扩展)。