服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

我为什么要防火墙服务器?

请注意:我没有兴趣把它变成一场火焰战争! 我知道很多人对这个问题持有强烈的信念,其中很大一部分是因为他们在防火墙解决scheme上付出了很多的努力,也因为他们已经灌输了相信他们的必要性。 但是,我正在寻找安全专家的答案。 我相信这是一个重要的问题,答案不仅仅是我自己和我工作的公司。 我一直在运行我们的服务器networking几年没有妥协,没有任何防火墙。 我们所拥有的安全妥协都不能通过防火墙来防止。 我想我在这里工作太久了,因为当我说“服务器”时,我一直是指“提供给公众的服务”,而不是“秘密的内部计费数据库”。 因此,任何防火墙的规则都必须允许访问整个互联网。 另外,我们的公共访问服务器都在独立于我们办公室的专用数据中心。 其他人问了一个类似的问题,我的答案被投入负数。 这使我相信,投票的人不是真正理解我的答案,或者我不了解安全性,足以做我现在正在做的事情。 这是我的服务器安全方法: 在将我的服务器连接到Internet 之前,请遵循我的操作系统的安全指南 。 使用TCP包装器将对SSH(和其他pipe理服务)的访问限制为less量的IP地址。 用Munin监视这个服务器的状态。 并修复默认configuration中Munin-node固有的极端安全问题。 Nmap我的新服务器(也将我的服务器连接到Internet之前)。 如果我要防火墙这个服务器,这应该是传入连接应该限制到的端口的确切集合。 在服务器房间安装服务器,并给它一个公共IP地址。 使用我的操作系统的安全更新function保证系统的安全。 我的哲学(和问题的基础)是强大的基于主机的安全性消除了防火墙的必要性。 总体安全理念指出,即使您有防火墙,仍然需要强大的基于主机的安全性(请参阅安全指导原则 )。 这样做的原因是,将公共服务转发到服务器的防火墙使攻击者可以根本就没有防火墙。 服务本身是脆弱的,而且由于向整个互联网提供服务是其运营的一个要求,限制访问它并不是重点。 如果服务器上有不需要整个Internet访问的端口,则需要在步骤1中closures该软件,并通过步骤4进行validation。如果攻击者通过易受攻击的软件成功入侵服务器并自己打开一个端口,攻击者可以(也可以)通过在一个随机端口上build立一个出站连接来轻松击败任何防火墙。 安全的关键不是在成功的攻击之后为自己辩护 – 这已经被certificate是不可能的 – 那就是把攻击者放在首位。 有人build议,除开放端口之外,还有其他的安全考虑 – 但对我来说,这听起来像是捍卫自己的信仰。 无论是否存在防火墙,任何操作系统/ TCP堆栈漏洞都应该同样易受攻击 – 基于端口直接转发到该操作系统/ TCP堆栈的事实。 同样,在服务器本身上运行防火墙,而不是在路由器上(或者更糟糕的是,在两个地方)运行防火墙似乎会增加不必要的复杂层次。 我了解“安全层出不穷”的理念,但是有一个问题就像build造一个屋顶,把多个胶合板层叠在一起,然后在它们上面钻一个洞。 另一层胶合板不会阻止你故意制造的漏洞。 说实话,我认为防火墙只能用于服务器,如果它有dynamic的规则阻止所有服务器连接到已知的攻击者 – 比如垃圾邮件的RBL(这恰好与我们的邮件服务器差不多) 。 不幸的是,我找不到任何防火墙。 第二好的是IDS服务器,但是假设攻击者不首先攻击你的真实服务器,而攻击者在攻击之前费力地探测你的整个networking。 此外,这些已知会产生大量的误报。