到目前为止,在我工作过的几乎所有的公司中,我还没有看到主机实现的内部服务器或桌面防火墙(iptables)。 只是想知道这世界上有多么高贵。
此外,这是一件好事还是坏事,为什么?
DMZ和内部networking之间的防火墙很常见。 在内部networking内可能不是那么多。 Windows有它的默认防火墙,每个人都讨厌,有些人禁用。 特别是设置防火墙,可能不是很经常,因为你需要在防火墙上有这么多的漏洞来让员工工作,攻击者可能想要做的任何事情都不会花很长时间才能find一台能访问的机器。
也就是说,我曾经在一家拥有12个不同内部networking的公司工作,他们之间的所有防火墙都是由DENY所有。 完成任何事情都是一场噩梦,需要花费数小时才能获得所需的特定防火墙空间。
在我的工作地点(一所中等规模的私立文科大学),我们使用三种不同的防火墙。 首先,有一个外围防火墙来监视我们内部networking和互联网之间的所有stream量。 其次,每个VLAN都有一个防火墙。 第三,每个主机(无论是Linux还是Windows)都有自己的基于主机的防火墙。
所有的防火墙都configuration了入站stream量的默认拒绝,我们只在必要的地方打洞。 通常没有出站stream量的规则(除了阻止SMTP,DNS等)。是的,这意味着有一些额外的工作需要发生,比如打开一个新的networking服务器端口80/443(networking团队需要修改外围防火墙和VLAN防火墙,而系统团队需要修改iptables规则),但是这样做的好处是值得的。
比如说我们没有使用基于主机的防火墙,而且我们的Linux服务器VLAN中的一些设备被攻破了。 在这种情况下,受感染的主机将有权访问该VLAN中其他服务器上的所有端口,并可能允许其他主机受到攻击。 但是,使用基于主机的防火墙可以限制您的损失。 在我们的例子中,我们只允许来自需要访问的子网的特定端口的stream量。 例如,我们通常只允许从我们团队的工作站所在的子网访问我们服务器上的端口22(ssh)。
总之,我的感觉是,实施基于主机的防火墙有时是麻烦的,值得额外的努力。
现在老式的防火墙不再保护了。 常见的攻击是针对开放的http或https服务器端口 – 这些必须是开放的,以提供您的服务。
除此之外,您可以使用IP绑定为您的服务,并将必要的服务绑定到本地,所以他们不能从外部联系。 使用该设置,您不再需要防火墙。
您的内部networking中可能存在一个exception情况,您可能想要阻止外部支持访问(而不是pipe理员权限)连接到与该服务器不关联的其他服务器(出站防火墙)。 或者你也可以通过路由规则来做到这一点:默认禁止任何路由,并明确允许连接到的地方(再次:在这里没有防火墙需要)。