最近有一些关于在服务器前部署防火墙的利弊的讨论(大方一点)。缺点主要是在 DDoS 的情况下它是一个故障点。微软一直在谈论取消独立防火墙,而是基于 PKI 和 IPsec 的安全性,这意味着如果你没有适当的证书,你就不能与服务器通信(没有来源,这是我参加的一次谈话)。
那么,假设您有一个简单的场景,例如,一个 Web 服务器、一个邮件服务器和一个支持 Web 服务器的数据库服务器,那么您认为当前的最佳实践防火墙/网络设计是什么?我很清楚大多数部署并不是这么直接的,但我认为这个例子运行良好,可以作为讨论的基础。
我也知道,传统的理论上的最佳实践是添加尽可能多的防御层——但这是导致最大可用性的设计,所有事情都考虑到了吗?
(假设服务器经过适当加固并且不暴露任何它们不应该运行的服务,交换机不会在安全方程式中添加任何内容,并且管理是带外的或来自云部分图纸的。你喜欢哪个,因为它增加了它自己的复杂性......)
场景#1,简单路由
清晰、路由、无防火墙的设计。边缘路由器可能会应用 ACL,一些速率限制。数据库服务器可能位于无法从 Internet 路由的私有地址上。每个主机都将运行防火墙,例如 Windows 内置iptables
等。运行主机的管理员应考虑主机周围的环境是敌对的。
场景#2,传统防火墙
路由器可能提供也可能不提供任何简单转发数据包以上的功能。防火墙实施完整的策略和分段。主机可以选择具有某种防火墙,但可能不会。运行主机的管理员可能会认为环境安全。
场景#3,我们真的很喜欢防火墙
与 #2 一样,但更加细分。
传统上,我一直在建造 #2 或 #1,而且我越来越倾向于 #1。我可能被设计的“简单性”和希望宿主能够在敌对环境中生存的“纯粹性”所吸引。我知道这与纵深防御相反。:)