security - 是否可以在网络级别严格限制前端和后端 Azure IaaS VM 之间的入口和导出流量?

标签 security networking azure dmz

我想创建一个格外偏执的中心辐射型 DMZ使用 IaaS VMs 在 Azure 上进行设置.

我有一个面向公共(public)互联网的前端服务器(即 IIS Web 服务器),我想对其进行严格锁定。然而,前端需要访问一些后端服务器(即数据库、域 Controller 等)。我想确保:

  1. 只有前端服务器可以与后端服务器通信,并且只能在商定的端口上进行通信。
  2. 后端服务器无法从公共(public)互联网接收发送流量。
  3. 后端服务器无法相互通信。
  4. 这些规则在虚拟机操作系统层之外强制执行,以提供深度防御。

这似乎是一个合理的场景,但我似乎无法在 Azure 上实现它。我能做的最接近的是:

  • 创建 IaaS 虚拟机前端并适当限制其端点
  • 创建 Azure Virtual Network具有“前端”和“后端”子网,将每台计算机放置在适当的子网上。
  • 阻止 RDP 访问后端虚拟机。如果我想通过 RDP 连接到后端计算机,我必须通过前端虚拟机来完成。
  • 在每台计算机上设置 Windows 防火墙规则,以强制执行这些中心辐射型规则。

这工作正常,但它没有我想要的那么锁定。我真的很想拥有深度防御,这样我就不必依赖每台计算机上的 Windows/Linux 防火墙设置。例如,假设后端服务器必须使用管理员凭据运行应用程序(假设没有其他选择)。我想要一个额外的保护层,这样后端服务器上的错误(或恶意查询)就不会:

  • 重新配置后端防火墙以减少限制。
  • 与前端机器以外的任何人交谈(这包括公共(public)互联网)。

据我所知,在使用虚拟网络的 Azure 上这是不可能的,因为:

  • Azure 虚拟网络似乎没有公开 ACL 或任何其他高级筛选支持。
  • Azure IaaS 虚拟机仅支持单个 NIC,因此前端无法在前端和后端子网上同时实现多宿主。

我错过了什么吗?看起来我也许可以使用多个虚拟网络将某些东西一起破解,并将它们作为一组/30 子网 VPN 在一起,但这看起来非常糟糕。如果我无法在 Azure 上解决这个问题,似乎我唯一合理的选择是尝试在 AWS 上设置类似的东西使用Virtual Private Cloud (VPC) 。任何帮助/指导将不胜感激。

最佳答案

截至 2015 年 11 月,现在可以满足您的要求,尽管是在 IaaS v2 中。

类似于防火墙的规则,仅限于地址范围、端口和协议(protocol),可以通过网络安全组 (NSG) 提供。 Microsoft 网站对此进行了详细记录:What is a Network Security Group (NSG)?

您现在还可以创建具有多个 NIC 的虚拟机(同样是 IaaS v2),但请注意,您可能需要增加虚拟机大小才能添加多个 NIC。同样,这里有一篇合理的文章详细解释了它:Create a VM with multiple NICs

关于security - 是否可以在网络级别严格限制前端和后端 Azure IaaS VM 之间的入口和导出流量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14160514/

相关文章:

python - RabbitMQ - 游戏室和安全注意事项

linux - Socket编程send()返回值

c - 错误已弃用

Java循环退出条件

Azure AD B2C,unauthorized_client 错误

.net - 从预先存在的 MVC2 应用程序启动 Windows Azure

Azure Kubernetes服务将docker root更改为/mnt(/dev/sdb1临时存储)

c# - 适合在沙箱中运行客户端代码的语言

security - ssl多域名网站

php - 使用 php 的安全系统调用,用于在线代码检查器