我们即将为用户发布一款 Web 应用程序,并试图弄清楚其他人是否将他们的服务器放在 DMZ 中,或者只是将其置于防火墙后面的域之外,并通过防火墙规则严格限制访问?这里有人发现仅通过防火墙规则和操作系统权限限制访问有什么弊端吗?
请注意,该站点是带有 SQL Server 后端的 ASP.NET MVC 前端。
还- 这是一个人力资源/财务应用程序,数据库后端包含我们最有价值的数据。从安全角度来看,我宁愿让所有人拥有对内联网的根访问权限,也不愿允许访问数据库服务器。因此,我最初的计划是跳过使用 DMZ,只向 Web 服务器开放防火墙上的端口 443……这似乎并不比将数据库服务器与 Web 服务器一起放在 DMZ 上更糟糕。
答案1
通常,配置如下:
Internet facing servers connected to Firewall's DMZ Port
Trusted servers (SQL, AD, etc) connected to Firewall's Trusted/LAN Port
Internet connected to Firewall's WAN port
然后,将防火墙配置为在这些子网之间路由,并根据您定义的 ACL 允许访问。
答案2
我通常不使用 DMZ,而只使用防火墙。运行 IIS 应用程序池的帐户已受到限制。
答案3
您想问的是最好的做法是什么?
东西放在哪里并不重要,重要的是一件事,即你如何保护它。
一条防火墙规则可以打开一切,也可以关闭一切。也许你需要从不同的角度来看待它。
您是否足够信任您的员工,让他们可以直接访问这些服务器,而无需防火墙限制它们之间的访问?互联网也是如此。如果是这样,请将它们都放在 DMZ 中。
我个人喜欢将它们放在同一个子网上,中间不加防火墙,因为这样可以确保最大性能。但是,如果 Web 服务器受到攻击,那么 DB 服务器就会比在安全的 LAN 端更加开放。它们的其他服务是否需要从 LAN 端在 DB 服务器上提供,例如 RDP?根据服务器所在的位置,您可能必须打开从 LAN 到 DMZ 的端口以允许访问等。
答案4
黄金法则:如果可以通过互联网访问,并且没有实际理由不这样做 - 则将其放入 DMZ。这个想法是,如果机器受到威胁,它就不可能访问内部网络。实际上,它有点像双重防火墙。