请注意:我对将其变成火焰战争不感兴趣!我了解许多人对此主题抱有坚定的信念,这在很大程度上是因为他们在防火墙解决方案上付出了很多努力,还因为他们被灌输了对他们的必要性的信念。

但是,我正在寻找安全专家的答案。我相信这是一个重要的问题,答案不仅会给我自己和我所工作的公司带来更多好处。我运行服务器网络已经有好几年了,没有任何妥协,也没有任何防火墙。防火墙无法阻止我们曾经遇到过的安全性折衷。公开”,而不是“秘密内部帐单数据库”。因此,我们在任何防火墙中所拥有的任何规则都必须允许访问整个Internet。另外,我们的公共访问服务器都位于与办公室分开的专用数据中心中。这使我相信,投票否决的人并没有真正理解我的回答,或者我对安全性的理解不足以做我目前正在做的事情。服务器安全性:


将服务器连接到Internet之前,请遵循操作系统的安全准则。
使用TCP包装程序将对SSH(及其他管理服务)的访问限制为IP地址数量少。
使用Munin监视此服务器的状态。并在默认配置中修复Munin节点固有的严重安全问题。
对新服务器进行映射(也在将服务器连接到Internet之前)。如果要对这台服务器进行防火墙保护,则这应该是传入连接应限制的确切端口集。
将服务器安装在服务器机房中,并为其提供公共IP地址。
通过使用操作系统的安全更新功能来确保系统的安全。基于主机的强大安全性消除了防火墙的必要性。总体安全性原则认为,即使您具有防火墙,也仍然需要基于主机的强大安全性(请参阅安全性准则)。其原因是,将公共服务转发到服务器的防火墙使攻击者几乎没有防火墙。服务本身是易受攻击的,并且由于向整个Internet提供该服务是其操作的要求,因此限制对它的访问不是重点。不需要整个Internet进行访问,则需要在步骤1中关闭该软件,并通过步骤4进行验证。如果攻击者通过易受攻击的软件成功闯入服务器并自己打开端口,则攻击者通过在随机端口上建立出站连接,可以(并且确实)轻松击败任何防火墙。安全性不是要在成功的攻击后为自己辩护-这已经被证明是不可能的-首先是将攻击者拒之门外。有人建议,除开放港口外,还有其他安全方面的考虑-但对我来说,这听起来像是捍卫自己的信仰。基于端口直接转发到该操作系统/ TCP堆栈这一事实,无论是否存在防火墙,任何操作系统/ TCP堆栈漏洞都应同样容易受到攻击。同样,在服务器本身上运行防火墙而不是在路由器上运行防火墙(或者更糟糕的是在两个地方)都似乎增加了不必要的复杂性。我理解“安全性成层”的理念,但有一点类似于通过将X层胶合板彼此堆叠,然后在所有层上钻一个洞来建造屋顶。另一层胶合板并不能阻止您故意在该孔上形成泄漏。动态规则阻止已知攻击者与所有服务器的所有连接-例如垃圾邮件的RBL(巧合的是,这几乎是我们的邮件服务器所做的事情)。不幸的是,我找不到能做到这一点的防火墙。下一个最好的事情是IDS服务器,但是它假定攻击者没有首先攻击您的真实服务器,并且攻击者在进行攻击之前不费心思来探测整个网络。此外,已知这些会产生大量误报。

评论

那么,在服务器之间传递的所有流量都是加密的吗?

爱它。本地防火墙规则几乎总是仅限伏都教。

您的网络中也有台式机/员工吗?您如何处理他们?

这个问题非常适合security.stackexchange.com

@routeNpingme:好像我没有在原始帖子中包含那个花絮。我们所有的服务器都必须对公众开放,并位于专用的数据中心中。如果您的办公室是您的数据中心,我想您的服务器网络和办公室网络之间必须有防火墙。在这种情况下,我说的是服务器网络-为什么要对具有完全公共访问权限的防火墙进行防火墙?

#1 楼

防火墙的优点:


您可以过滤出站流量。
第7层防火墙(IPS)可以防御已知的应用程序漏洞。
您可以阻止某些IP地址范围和/或端口集中放置,而不是尝试确保没有服务在每台计算机上的该端口上侦听或拒绝使用TCP Wrappers进行访问。因为它们将提供第二道防线。如果没有它们,则必须绝对确定主机的安全性,这需要所有管理员充分了解安全性。
防火墙日志将提供中央日志并有助于检测垂直扫描。防火墙日志可以帮助确定某些用户/客户端是否正在尝试定期连接到所有服务器的同一端口。要在没有防火墙的情况下执行此操作,必须将来自不同服务器/主机的日志组合起来以获得集中的视图。
防火墙还带有反垃圾邮件/反病毒模块,它们也可以增强保护。
OS独立的安全性。基于主机操作系统,需要使用不同的技术/方法来使主机安全。例如,Windows机器上可能不提供TCP包装器。尝试在本地系统上运行某些命令“ ps”,“ netstat”等无法信任,因为可以替换这些二进制文件。不能保证来自远程系统的“ nmap”保护,因为攻击者可以确保root-kit仅在选定时间接受来自选定源IP地址的连接。

硬件防火墙在以下情况下有帮助与主机OS /文件相比,更改防火墙OS /文件极其困难。

防火墙的缺点:


人们认为防火墙可以解决安全,不要定期更新系统并停止不需要的服务。
他们花费。有时需要每年支付许可费。特别是如果防火墙具有防病毒和防垃圾邮件模块。
其他单点故障。如果所有流量都通过防火墙,并且防火墙发生故障,则网络将停止。我们可以有冗余的防火墙,但是以前的成本点会进一步放大。
状态跟踪对于接受所有传入连接的面向公众的系统没有任何价值。
状态防火墙是DDoS攻击期间的巨大瓶颈并且通常是失败的第一件事,因为它们试图保持状态并检查所有传入的连接。
防火墙无法看到内部加密的流量。由于应该对所有流量进行端到端加密,因此大多数防火墙在公共服务器之前几乎没有增加任何价值。可以为某些下一代防火墙提供私钥以终止TLS并查看流量内部,但这进一步增加了防火墙对DDoS的敏感性,并破坏了TLS的端到端安全模型。
操作系统和应用程序比防火墙更快速地修复漏洞。防火墙供应商通常会在已知问题上坐很多年而不打补丁,而打补丁防火墙集群通常会导致许多服务和出站连接停机。防火墙只是在某种形式的操作系统上运行的软件,除了(通常是较慢的)CPU外,可能还带有额外的ASIC或FPGA。防火墙具有错误,但是它们似乎提供很少的工具来解决它们。因此,防火墙为应用程序堆栈增加了复杂性,并增加了难以诊断的错误的来源。


评论


最重要的是,如果您没有防火墙并且系统受到威胁,那么您将如何检测到它?入侵检测不是防火墙的工作。该作业由独立于防火墙的HIDS(基于主机的入侵检测系统)更适当地处理。

–周一星期一
2010-11-13 17:54

Syslog服务器不需要第5项。如果有的话,最好将防火墙日志发送到syslog服务器,以防攻击者设法破坏防火墙并删除其日志。然后,攻击者必须破坏两个系统才能删除日志,并且它们可能没有为此做好准备(尤其是使用自动攻击)。同样,如果所有系统都具有集中式日志记录,则与防火墙日志相比,您可以获得有关攻击的详细信息。

–Ernie
2010年11月15日17:19

我的观点是,由于HIDS驻留在主机上,我们无法信任其输出。例如,即使我们使用加密安全的“ tripwire”作为基于主机的IDS,攻击者也始终可以将其所有tripwire二进制文件(twadmin,tripwire,twprint等)替换为不会报告入侵的受感染版本。即使我们尝试从其他系统复制库/二进制文件,也可能会运行一个进程来监视这些受损的二进制文件,并在替换或更新的情况下再次用损坏的版本替换它们。在这种情况下,可以信任与主机无关的防火墙。

– Saurabh Barjatiya
10 Nov 17'3:04

之所以会接受这个答案,是因为它提供了更好,更全面的使用防火墙的理由,因此受到了更广泛的欢迎。并非如此。

–Ernie
2011年1月17日17:46

有状态的数据包检查防火墙不属于服务器的前面。它们是DDoS攻击的巨大责任,通常是遭受攻击时首先失败的东西。

– rmalayter
2015年8月9日,1:16

#2 楼

可以将TCP Wrappers称为基于主机的防火墙实现。您正在过滤网络流量。

针对攻击者在任意端口上建立出站连接的观点,防火墙也将提供一种控制出站流量的方法;正确配置的防火墙以适合于与系统相关的风险的方式管理入口和出口。

关于防火墙如何无法缓解任何TCP漏洞的观点,熟悉防火墙的工作原理。思科提供了大量可供下载的规则,这些规则可识别以可能导致特定操作系统问题的方式构造的数据包。如果抓住Snort并以正确的规则集开始运行它,您也会在这种情况下收到警报。当然,Linux iptables可以过滤出恶意数据包。

基本上,防火墙是一种主动保护。您离主动性越远,很可能会发现自己在对问题做出反应而不是预防问题的情况下。像专用防火墙一样,将保护集中在边界上,使事情变得更容易管理,因为您拥有中心瓶颈,而不是在各处重复制定规则。

但是,没有一件事情必然是最终的解决方案。一个好的安全解决方案通常是多层的,其中您在边界处有防火墙,在设备处有TCP包装程序,并且还可能在内部路由器上有一些规则。通常,您应该保护网络免受Internet的侵害,并保护节点之间的相互保护。这种多层方法不像是在多层胶合板上打一个洞,它更像是盖上一扇门,这样入侵者就有两个可以打破的锁,而不仅仅是一个。这被称为人身安全陷阱,大多数建筑物都有一个原因。 :)

评论


同样,如果他们偷偷溜进建筑物并为外面的朋友打开内门,那么他们还必须解锁并打开外门。 (即没有外部防火墙,进入您的服务器的人可以立即打开它,而外部防火墙仍会阻止来自外部的开放端口)

–Ricket
2010-11-13 15:23

@Ricket:也许可以,但是现代的攻击者不会为这样的事情而烦恼。除了将服务器添加到僵尸服务器场之外,攻击者还必须特别感兴趣您的站点。

–Ernie
2010-11-15在17:14

@Ernie-不,它只需要存在即可自动探测以获取Warez,客户数据库,财务信息,密码以及被添加到僵尸网络的可用空间-但这甚至可能会很糟糕-有些管理员会很乐意对您的IP进行黑洞如果您看起来像是僵尸。

–Rory Alsop
2010-12-10 21:17

可以将TCP Wrappers称为基于主机的防火墙实现+1,这是一个很好的答案。

– sjas
15年8月8日在22:53

#3 楼

(您可能要阅读“没有防火墙的生活”)

现在:拥有一个不再发布补丁程序的旧系统怎么样?如果无法在需要的时候将补丁应用到N机器,而同时又可以在网络中的更少节点(防火墙)中应用补丁呢?

讨论防火墙的存在或需求毫无意义。真正重要的是,您必须实施安全策略。为此,您将使用将实现它的任何工具,并帮助您管理,扩展和发展它。如果需要防火墙,那就很好。如果不需要它们,那也很好。真正重要的是有效并可验证地实施您的安全策略。

评论


嘿。在过去的8年中,我一直在没有防火墙的情况下运行我们的服务器网络。我本可以写成“没有防火墙的生活”,但无论如何,他做得比我更好,并且运行的网络比我大。

–Ernie
2010年11月12日在22:01

@Ernie-我想你可能很幸运。您怎么知道自己没有受到损害?对我的许多客户进行取证调查的结果发现了妥协,有时可以追溯到几个月前,而攻击者发现了个人和财务信息,客户详细信息,知识产权,商业计划等。

–Rory Alsop
2010-12-10 21:26



实际上,除了我们的服务器网络与办公室网络在物理上是分开的(因此,即使从每台服务器上进行root访问)也无法从中收集到真正敏感的数据之后,我才能发现我们所遇到的每一个妥协自从我从这里开始以来。我可以继续讲述我开始时曾发生过的恐怖表演,但我没有足够的空间。 :)可以说大多数攻击不是很细微的,这些细微的攻击也是可以发现的。哦,是的,用户权限分离是您的朋友。

–Ernie
2011年1月17日下午17:51

#4 楼

您的大多数解释似乎都驳斥了对防火墙的需求,但我认为没有防火墙的弊端,只是花费了很少的时间来建立防火墙。

很少有一件事情是“必要性”一词的严格含义。安全性更多地在于设置所有可以的封锁。入侵服务器所需的工作更多,意味着成功攻击的机会更少。您想要使闯入您的机器比在其他任何地方都要花费更多的工作。添加防火墙可以使工作更加繁琐。

我认为关键的用途是安全性上的冗余。防火墙的另一个优点是,您可以简单地放弃尝试连接到任何端口,而不是响应被拒绝的请求-这将使对攻击者的映射更加不便。您的问题是,您可以将SSH,ICMP和其他内部服务锁定到本地子网,并限制传入连接的速率,以帮助缓解DOS攻击。

”攻击成功后自己解决-已经证明是不可能的-首先将攻击者拒之门外。”

我不同意。限制损害赔偿同样重要。 (在这种理想情况下,为什么要使用哈希密码?还是将数据库软件粘贴在与Web应用程序不同的服务器上??)我认为老话“不要把所有鸡蛋都放在一个篮子里”。

评论


好吧,你是对的,我没有在那儿放任何弊端。缺点:网络复杂性增加,单点故障,带宽瓶颈的单个网络接口。同样,在一个防火墙上犯的管理错误可能会杀死整个网络。而且,在20分钟到服务器机房的旅程中,上帝禁止您将自己锁在其中。

–Ernie
2010年11月12日在21:40

这可能纯粹是夸夸其谈,但是当您说“安全性更多是关于设置所有可以设置的封锁”时,我宁愿听到“安全性更多是在默认情况下阻止所有内容,并仔细打开严格的最低要求进行操作”。

– MatthieuP
10 Nov 13 '13:59

+1全面的安全计划涵盖了预防,检测和响应。

–吉姆·奥洛兰(Jim OHalloran)
10 Nov 14'2:50

#5 楼

Should I firewall my server?好问题。似乎没有什么必要将防火墙拍在网络堆栈之上,该网络堆栈已经拒绝了对除合法开放的少数端口以外的所有端口的连接尝试。如果操作系统中存在一个漏洞,该漏洞允许恶意制作的数据包破坏/利用主机,那么在同一主机上运行的防火墙是否可以阻止利用?好吧,也许...

这可能是在每个主机上运行防火墙的最强烈的理由:防火墙可能会阻止网络堆栈漏洞被利用。这有足够的理由吗?我不知道,但我想有人会说:“没有人因为安装防火墙而被解雇。”

在服务器上运行防火墙的另一个原因是将这两个原本密切相关的应用程序解耦关注的问题:


我可以从何处以及到哪些端口接受连接?
哪些服务正在运行并正在监听连接?

没有如果是防火墙,则正在运行的服务集(以及tcpwrapper的配置等)将完全确定服务器将打开的端口集以及将接受其连接的端口。基于主机的防火墙为管理员提供了更大的灵活性,使其可以在更广泛地使用之前以受控方式安装和测试新服务。如果不需要这种灵活性,那么就没有必要在服务器上安装防火墙了。

最后一点,我经常添加的一项在安全性检查清单中没有提到,并且是基于主机的入侵检测系统(HIDS),例如AIDE或samhain。良好的HIDS会使入侵者极难对系统进行不必要的更改并保持未被检测到的状态。我相信所有服务器都应运行某种HIDS。

评论


+1表示HIDS系统。

–山姆·哈利克(Sam Halicke)
10-11-13在4:48

HIDS很棒-如果您打算设置它而忘记它。永远不要添加或删除帐户。否则,绝大多数的HIDS日志将成为您今天所做的工作的一长串,并且很快将最终一直被忽略。

–Ernie
2010-11-15 17:23

正如他们所说,没有痛苦就没有收获。在变化很大的服务器上,可以过滤掉预期的噪声,使您可以专注于意外的事情。

–周一星期一
2010-11-15 18:56

#6 楼

防火墙是一种工具。它本身并不能使事物变得安全,但是可以作为安全网络中的一层来做出贡献。那并不意味着您需要一个防火墙,我当然担心那些盲目地说“我必须要有防火墙”的人却不理解他们为什么这么想以及不了解防火墙的优缺点。 />
我们可以说有很多不需要的工具...是否可以在没有防病毒软件的情况下运行Windows计算机?是的,但是。。。有一个保险是很好的保险。

关于防火墙我也要说同样的话-无论您怎么说,它们都是很好的保险。它们不能替代修补程序,锁定计算机,禁用您不使用的服务,进行日志记录等,但是它们可以作为有用的补充。

我还建议该方程式会有所不同,具体取决于您是在谈论将防火墙放在似乎经过精心维护的服务器组之前,还是在工作站和服务器混合在一起的典型LAN中,其中一些可能尽管IT团队尽了最大的努力和愿望,但仍要运行一些繁琐的工作。

还需要考虑的另一件事是创建明显硬化的目标的好处。可见的安全性,无论是明亮的灯光,沉重的锁和建筑物上明显的警报盒;或企业IP地址范围内的明显防火墙可以阻止临时入侵者-他们会寻找更容易的猎物。这不会阻止坚定的入侵者知道您有他们想要的信息并决心获取信息,但是阻止临时入侵者仍然值得-尤其是如果您知道任何其侦查持续进行超过阻止者的入侵者都需要特别注意。

评论


因此,为什么我说“服务器”而不是“办公室网络”? :)特别是在我们的情况下,数据中心和办公室是两个物理上分离的实体。

–Ernie
2010-11-12 22:38

我了解Ernie,但这是值得强调的一点,所以我做到了。

–罗布·莫尔
2010-11-12 22:42

#7 楼

所有伟大的问题。但是-令我惊讶的是,性能并未出现在表中。尝试进行负载测试,看看。我看到了无数次。关闭防火墙可使性能(每秒请求数)提高70%或更多。

必须考虑这一折衷。

评论


这在很大程度上取决于适当的防火墙规则。防火墙规则按顺序在每个数据包上运行,因此,您不必查看数百个规则。去年冬天,当我们管理一个在超级碗上做广告的网站时,例如,防火墙规则就不成问题。但我确实同意您需要了解防火墙规则对性能的影响。

– Sean Reifschneider
2010年11月14日10:23



#8 楼

防火墙是附加保护。它可以防止的三种特殊情况是网络堆栈攻击(即,您的服务器操作系统容易受到攻击而无法达到端口级别的特制数据包),成功入侵到“电话回家”(或发送垃圾邮件) ),成功入侵服务器端口或(较难检测到)打开端口之前请注意端口敲接顺序。当然,最后两个与减轻入侵造成的损害有关,而不是防止入侵造成的损害,但这并不意味着它没有用。请记住,安全性不是一无所有的主张。一个采用分层方法(皮带和吊带)来达到足以满足您需要的安全级别。

评论


+1绝对,深度防御是关键。

–吉姆·奥洛兰(Jim OHalloran)
10 Nov 14'2:46

我看不到如何能阻止出站流量产生任何效果,特别是当我们的客户希望我们的许多服务器将邮件发送到Internet上的随机主机时(垃圾邮件就是这种情况)。 “ Phoning home”仅是连接到网络上其他随机主机的问题-我怀疑阻止所有出站连接节省几下会根本没有帮助-也就是说,如果您想在Internet上做任何事情。封锁几个港口就像在沙漠中间建立一个收费站。

–Ernie
2010-11-15 17:35

#9 楼

无论如何,我都不是安全专家,但是听起来好像您已经被防火墙保护了。似乎您已经采用了防火墙的某些核心功能,并将其作为策略和过程的一部分。不,如果您要自己做与防火墙相同的工作,则不需要防火墙。至于我自己,我宁愿尽我所能保持安全性,但要让防火墙高高在上,但是在某个时候,当您可以做防火墙正在做的所有事情时,它就变得无关紧要了。

#10 楼


Blockquote
好吧,你是对的,我没有在其中放置任何弊端。缺点:网络复杂性增加,单点故障,带宽瓶颈的单个网络接口。同样,在一个防火墙上犯的管理错误可能会杀死整个网络。而且,众神禁止您在进入服务器机房20分钟的途中将自己锁定在此范围之外。


首先,通过网络最多添加一个额外的路由跃点是不可行的复杂。其次,没有实现任何单点故障的防火墙解决方案都是完全没有用的。就像将重要的服务器或服务群集在一起并使用绑定的NIC一样,您也可以实现高可用性防火墙。不这样做,或者不认识并知道自己会这样做是很短视的。简单地说只有一个接口并不会自动使某些瓶颈。该断言表明,您不知道如何正确规划和部署大小足以处理通过网络的流量的防火墙。正确地说,策略错误可能会损害整个网络,但是我认为,在所有服务器上维护单个策略比单个位置更容易出错。

关于您必须遵循安全补丁并遵循安全指南的说法;充其量是个摇摇欲坠的争论。通常,直到发现漏洞后,安全修补程序才可用。这意味着在您运行可公开寻址服务器的整个过程中,它们都容易受到攻击,直到对其进行修补为止。正如其他人指出的那样,IPS系统可以帮助防止此类漏洞造成的危害。但是,我建议您对网络进行一次专业的安全审核。它可能只是睁开你的眼睛。

评论


它可能只是睁开你的眼睛。 +1,因为它将是棺材中的最后一个钉子。

– sjas
15年8月8日在22:50

#11 楼

对于较小的设置,当然不需要防火墙。如果您有一台或两台服务器,则可以维护软件防火墙。话虽如此,我们并非没有专用的防火墙,我维持这一理念的原因有几个:

角色分离

服务器用于应用程序。防火墙用于数据包检查,过滤和策略。 Web服务器应该担心要提供网页,仅此而已。将这两种角色都放在一台设备中,就像要求您的会计师也要担任安全保护一样。

软件是一个不断发展的目标

主机上的软件总是在变化。应用程序可以创建自己的防火墙例外。操作系统已更新并打补丁。服务器是高流量的“管理”区域,并且防火墙策略/安全策略通常比应用程序配置对安全更重要。在Windows环境中,假设有人在某个组策略级别上犯了一个错误,并在台式机PC上关闭了Windows防火墙,却没有意识到它将被应用到服务器上。只需单击一下,您就可以敞开大门。
可重用的服务/策略/规则,可管理性

如果我一次设置了一个称为“ Web Server”的服务/策略(例如TCP 80和TCP 443),并将其应用于“ web服务器组”在防火墙级别,与在10个盒子上设置防火墙服务并打开2个端口x 10次相比,效率更高(几次配置更改),并且指数级地减少了人为错误的发生。当该策略需要更改时,它是10更改为10。

在攻击过程中或在受到威胁之后,我仍然可以管理防火墙

假设我的基于主机的防火墙+应用程序服务器受到攻击,而CPU不在计划之列。为了什至开始弄清发生了什么,我受尽了减轻攻击者负担的责任,什至没有进去看看它。

实际经验-我曾经弄乱过防火墙规则(左端口为ANY而不是特定端口,并且服务器具有易受攻击的服务),并且攻击者实际上具有实时的远程桌面会话。每当我开始进行会话时,攻击者都会杀死/断开我的会话。如果不是能够通过独立的防火墙设备阻止这种攻击,那可能会更糟。通常,这些单元要远远优于基于主机的软件防火墙。有些足够好,甚至不需要外部SNMP / NetFlow监视软件即可获得准确的图像。

IPv4保护

没有理由拥有两个IP地址如果一种用于网络,一种用于邮件。将服务放在单独的盒子上,并通过为此目的设计的设备适当地路由端口。

#12 楼

如前所述,安全性通常是洋葱。存在防火墙的原因有很多,而不仅仅是其他所有的笨蛋也变得愚蠢。因此,如果我将其他内容加倍,请忍受。并且请原谅,如果我有点,我会提供简单的经验,因为这可能对其他人很方便。 :)

网络方面的考虑因素,本地与外部的比较。外部防火墙与适当的网络结构紧密结合,通常还会考虑其他安全因素。您要么知道这里的隐含含义,要么可能不需要此帖子。或者您不读,就继续读下去。但是,这也使规则可以转向外部规则,而不会损害位于其后的所有其他主机的安全性。可能是由于调试原因引起的,也可能是因为有人刚做完了。在“自适应全局防火墙”部分中还有另一个用例,对于该用例,您还将需要全局和本地防火墙。

成本和可用性始终存在着相同的故事:

防火墙只是适当的安全系统的一方面。不要安装防火墙,因为这会“花钱”,引入SPOF或仅仅是胡说八道,请原谅我的法语。只需设置一个集群。哦,但是如果火室停电了怎么办?然后,将群集设置为跨越两个或多个防火分区。

但是,如果整个数据中心都无法访问,因为两个外部运营商都停业了(挖掘机杀死了您的光纤),该怎么办?然后,只需使您的集群跨越多个数据中心即可。

那很贵吗?集群太复杂了吗?好吧,偏执必须要付出。

只是抱怨SPOF,但不想花更多的钱或创建一些更复杂的设置就是双重标准的明显例子,或者只是公司或客户方面的一个小钱包。

这种模式适用于所有这些讨论,无论哪种服务是当前的日常事务。不管是VPN网关,仅用于防火墙的Cisco ASA,MySQL或PostgreSQL数据库,虚拟系统或服务器硬件,存储后端,交换机/路由器,...现在,

您应该了解一下。

为什么要烦恼防火墙?

从理论上讲,您的推理是正确的。 (只能利用正在运行的服务。)但这仅是事实的一半。防火墙,尤其是有状态防火墙可以为您做更多的事情。无状态防火墙仅在遇到类似上述其他性能问题时才很重要。您的。为了论证,我们假设某人不了解tcpd,并且喜欢使用鼠标?可能会想到fwbuilder

应该启用从管理网络进行完全访问的权限,这是基于主机的防火墙的第一个用例。

如何进行多服务器设置,在该数据库中其他地方运行数据库,并且无论出于何种原因都不能将两台/所有计算机都放在共享(专用)子网中?使用防火墙允许MySQL仅在另一台服务器的给定IP地址上允许对端口3306的MySQL访问,简单易行。

对于UDP也可以完美地工作。或任何协议。防火墙是如此灵活。 ;)

Portscan缓解措施

此外,有了防火墙,由于可以通过内核及其网络堆栈监视每个时间跨度的连接量,因此防火墙可以检测并缓解常规的端口扫描,防火墙可以对此采取行动。

也无效或晦涩数据包可以在到达您的应用程序之前进行处理。

出站流量限制

过滤出站流量通常是一件麻烦事。但这可能是必须的,具体取决于合同。

统计信息

防火墙可以为您提供的另一件事是统计信息。 (考虑到watch -n1 -d iptables -vnxL INPUT在顶部添加了一些特殊IP地址规则,以查看数据包是否通过。)

您可以在白天查看是否有效。在对连接进行故障排除并能够告诉电话上的其他人您没有收到数据包而不必诉诸于闲聊tcpdump时,这非常有用。联网很有趣,大多数人现在才知道他们在做什么,而且通常只是简单的路由错误。天哪,即使我并不总是知道我在做什么。尽管到目前为止,我实际上已经使用了数十种复杂的系统和设备,但通常也使用隧道技术。

IDS / IPS

Layer7防火墙通常是无用的(IPS) / IDS),如果没有正确参加并定期更新。再加上许可证真是太贵了,所以如果您没有真正的金钱需要可以买到的东西,我将不遗余力地获得一份。

Masqerading

简单,只需使用包装器即可尝试。 :D

本地端口转发

请参见伪装。

使用动态IP地址保护密码访问通道

关于客户是否具有动态IP地址并且没有部署VPN设置?还是其他动态防火墙方法?这个问题已经暗示了这一点,这里将提供一个用例,不幸的是,我找不到能做到这一点的防火墙。部分。

必须禁用通过密码访问根帐户。即使访问仅限于某些IP地址。

此外,如果ssh密钥丢失或部署失败,仍然可以使用密码登录的另一个Blanko帐户也很方便,如果出了问题的话(用户有对机器的管理访问权限和“发生的事情”?)。网络访问的想法相同,因为它在Linux上具有单用户模式,或者通过init=/bin/bash使用grub进行本地访问确实非常糟糕,并且由于任何原因都无法使用活动磁盘。别笑,有虚拟化产品禁止这样做。即使该功能存在,但如果运行的旧版本软件缺少该功能,该怎么办?

无论如何,即使您未在某些深奥的端口上运行ssh守护程序,也未在22上运行ssh守护程序,端口敲除(甚至可以打开另一个端口,从而减轻portcans的影响,在不太实际的情况下会慢慢靠近),端口扫描最终将检测到您的服务。出于效率考虑,使用相同的端口和服务。您不能将ssh设置为每台计算机上的其他端口。另外,您每次都认为它是“公开”信息时,就无法在所有计算机上进行更改,因为它已经在扫描之后。当您拥有可支配的Wi-Fi连接时,nmap是否合法的问题不是问题。

如果此帐户未命名为“ root”,则人们可能无法猜测您“后门”的用户帐户名。但是他们会知道,如果他们从您的公司购买另一台服务器,或者只是购买了一些网站空间,并且对/etc/passwd拥有不受约束的/不受约束的/不受约束的外观。

现在仅是理论上的说明,他们可以使用那里的可黑客攻击的网站来访问您的服务器,并查看通常在您所在位置运行的方式。您的hack搜索工具可能无法24/7全天候运行(通常是出于文件系统扫描的磁盘性能原因而在夜间运行),并且病毒扫描程序不会在新的零日检查到第二天时更新,因此它将不能立即检测到这些事件,并且如果没有其他保护措施,您甚至可能都不知道发生了什么。回到现实,如果某人可以使用零时差攻击,则很可能他始终不会以您的服务器为目标,因为这些服务器很昂贵。这仅是为了说明如果出现“需求”,总有进入系统的方法。

但是在这个话题上,请不要使用额外的密码帐户,也不要打扰?请继续阅读。

即使攻击者获得了这个额外帐户的名称和端口,即使您仅使用了八个字母的密码,fail2ban + iptables的组合也会使它们简短。再加上fail2ban也可以用于其他服务,从而扩大了监视范围!

对于您自己的服务,如果需要的话:基本上,每个服务记录到文件的失败都可以通过提供服务来获得fail2ban支持。文件,匹配的正则表达式以及允许的失败次数,防火墙将愉快地禁止告诉它的每个IP地址。但是,如果由于五次错误的密码尝试而被禁止使用24小时,那么即使在安全性如此差的情况下,如果他们没有可使用的僵尸网络,也可以猜测他们将不得不尝试多长时间。您会惊讶于客户倾向于使用什么密码,而不仅仅是ssh。通过Plesk查看人们的邮件密码,可以告诉您所有您不希望知道的信息,如果您愿意的话,但是我在这里不想暗示的内容。 :)

自适应全局防火墙

fail2ban只是一个使用与iptables -I <chain_name> 1 -s <IP> -j DROP类似的东西的应用程序,但是您可以使用Bash魔术师快速轻松地构建自己的东西。网络中的服务器在额外的服务器上,该服务器管理所有列表并将其依次传递到您的核心防火墙,以阻止网络边缘已经存在的所有流量。

此类功能无法出售(当然可以出售,但它只是一个脆弱的系统,很糟糕),而必须与您的基础结构相结合。

同时,您也可以使用黑名单IP地址或其他来源的列表,无论是您自己还是外部的汇总。

#13 楼

在物理世界中,人们通过将贵重物品放在保险箱中来保护他们。但是,没有任何安全不能被破解。保险箱或安全容器的等级取决于强制进入的时间。安全的目的是将攻击者延迟足够长的时间,以便检测到它们并采取主动措施,然后停止攻击。

类似地,正确的安全性假设是,最终暴露的计算机将受到威胁。防火墙和堡垒主机的设置不是为了防止您的服务器(使用您的宝贵数据)受到破坏,而是要迫使攻击者首先对其进行破坏,并允许您在丢失贵重物品之前检测(并阻止)攻击。 >
请注意,防火墙和银行保险库均无法抵御内部威胁。这是银行会计师连续请假两周的原因之一,并且即使受到堡垒主机的保护,服务器也要具有完整的内部安全防范措施。外部”数据包通过防火墙直接发送到您的服务器。在那种情况下,是的,您的防火墙没有做很多事情。使用两个防火墙和一个堡垒主机可以实现更好的外围防御,其中没有从外部到内部的直接逻辑连接-每个连接都在DMZ堡垒主机中终止;在转发之前,将对每个数据包进行适当的检查(并可能解析出)。

评论


“这是银行会计师连续请假两周的原因之一”您能对此澄清一下吗?在这里可能并不重要,但我对此很感兴趣。

– Per Wiklander
2010-11-13 18:41

-1,因为我已经介绍了在进入服务器之前不必先进入防火墙的事实-防火墙必须允许公众访问您提供给公众的服务,因此服务器本身对公众开放。我们不希望公众访问的任何服务器上都没有服务。

–Ernie
2010-11-15 17:42

@Ernie-你错过了重点。堡垒主机设计DMZ通过两侧的防火墙隔离主机。该主机会受到攻击,最终将被颠覆。但是,该主机不是您的服务器,因此适当地,它将具有少量的关键信息。 DMZ(主机+防火墙)足够长地减慢了对服务器的攻击,以至于您可以响应并阻止其成功。

–mpez0
2010-11-18 20:56

@Per Wiklander-GAAP包括定期检查审核。贪污的会计师可能会发现这些数字,并防止在进行检查检查时发现问题,但如果要求连续两个星期离开工作,其他人将报告并发现他们的渎职行为。这是两人控制的一种形式。

–mpez0
2010-11-18 20:59

堡垒主机如何保护服务器上的任何内容?例如:端口80、25和110是服务器上唯一打开的端口。防火墙允许从整个Internet到这些端口的流量。因此,防火墙无法保护任何内容。如果您的服务器与办公室位于不同的位置,则除了办公室的防火墙外,您无需其他保护。

–Ernie
2010年11月18日在22:01

#14 楼

漏洞很难预测。几乎不可能预测您的基础架构将被利用的方式。对于想要利用漏洞的攻击者而言,拥有防火墙可以“提高标准”,这是重要的部分,在您知道该漏洞是什么之前。此外,防火墙的后果可以事先很容易地理解,因此,您不太可能引起防火墙问题,该问题比您可能避免的问题更为严重。

这就是为什么“没人曾经因为安装防火墙而被解雇”。它们的实施风险非常低,并且很有可能预防或缓解漏洞利用。此外,大多数真正令人讨厌的漏洞最终都会被自动化利用,因此任何“不寻常的”事情都将最终破坏机器人,或者至少会让它跳过以支持更轻松的目标。 ;防火墙不仅用于互联网。您的会计部门。不需要ldsh服务器使用ssh / whatever,因此不要将其提供给他们。如果某些事情确实破坏了城堡的墙壁,则对内部服务进行分区可以对清理工作产生很大的影响。

评论


当您需要防火墙规则将端口80、53、25、110、143、443、993、995以及更多端口开放到整个Internet时,拥有防火墙并不会提高标准。如果您需要类似的规则,那么这些服务器与没有防火墙一样容易受到防火墙的攻击。

–Ernie
2010-11-15 18:07

没错,但是同一台服务器可能具有端口3306(mysql)和各种其他协议,这些协议可能会受益于防火墙。这并不是说您不应再受到其他保护。只是防火墙不会受到伤害。另外,我认为您错过了我的观点,即不必为所有用户打开所有流量。端口22可能需要开放,但不能在所有主机上开放,当然也不能开放到整个Internet(或会计和HR)。例如,关闭25以进行计费(如果应该在465以上运行)可能会缓解某些垃圾邮件恶意软件。

–恩基
2011年1月19日在5:53



#15 楼

不得不说Ernie,尽管您似乎在加固服务器和减轻攻击和漏洞方面做了很多工作,但我不同意您对防火墙的立场。

我将安全性看成是安全问题。理想情况下,在到达核心之前,您必须先经过一些层,而且我个人认为在网络外围不安装某种形式的硬件防火墙是一个严重的误导。

我承认我是从“我习惯了”的角度来解决这个问题的,但是我知道每个月我都会收到Microsoft提供的那几个月补丁的小清单,其中许多都是在野外被利用的。我想您会想到的几乎所有操作系统和应用程序集都会发生同样的情况。

现在,我并不是在建议防火墙消除这种情况,也不是说防火墙也不会对存在错误/漏洞,显然,“硬件”防火墙只是在硬件堆栈上运行的软件。

,如果我拥有一台仅需要从服务器访问443端口的服务器,我就睡得更香。 Web,我的外围Juniper确保只能从Web访问端口443。不仅如此,我的帕洛阿尔托(Palo Alto)还确保对进入的流量进行解密,检查,记录和扫描,以进行IPS / IDS扫描-但这并没有消除保持服务器安全和最新的需求,但是,为什么它可以减轻零时差攻击和良好的人为错误,却为什么没有带来任何好处呢?

#16 楼

首先,通过谈论端口转​​发,我认为您正在将防火墙与NATing混合在一起。尽管近来NAT通常充当事实上的防火墙,但这并不是其设计目的。 NAT是路由工具。防火墙用于调节访问。为了使思想清晰,保持这些概念的区别很重要。将服务器直接放在Internet上。我不认为会有人对此提出质疑。

类似地,配置为允许所有流量的防火墙根本不是防火墙。

,但是“允许所有流量”真的是您想要的政策吗?是否有人需要从俄语IP地址SSH到您的任何服务器?在修改一些新的实验性网络守护程序的配置时,整个世界是否真的需要访问它?知道需要开放并维持实施此政策的单一控制点。

评论


我的问题已经解决了您的所有观点。是的,“允许所有流量”实际上是我们想要的非管理服务(如SSH或某些服务器的管理端口)的策略。否则,人们将无法查看我们的网页并向我们发送邮件!

–Ernie
2010年11月12日在22:32

至于只开放那些需要的服务,这就是步骤1和4的目的。

–Ernie
2010-11-12 22:44

#17 楼

有状态的数据包检查防火墙不属于公共服务器的前面。您正在接受所有连接,因此状态跟踪非常无用。传统防火墙在DDoS攻击中承担巨大责任,并且即使在链路带宽或服务器资源完全耗尽之前,通常也是在DDoS攻击下首先要失败的防火墙。

路由器上的无状态数据包筛选器在公共服务器之前确实有意义,但前提是它们可以处理所有进出口流量的线速(例如路由器中的硬件ACL)。

Google,Facebook,甚至Microsoft都没有将传统的“防火墙”放在公共服务器的前面。任何以“多个服务器”规模运行公共Web服务的人都应该知道这一点。

传统防火墙(如Cisco ASA)中发现的其他功能,或者最好在主机本身上实现的任何功能有效地进行横向扩展。无论如何,日志记录,IDS等都是防火墙中的所有软件功能,因此如果放在可公开访问的服务器前面,它们将成为巨大的瓶颈和DDoS目标。

评论


我认为背景很重要。 OP可能不是在谈论Web规模的系统,在该系统中,负载均衡和防火墙的实现方式与SMB的后台技术堆栈完全不同。

–ewwhite
2015年8月9日,下午1:51

即使在单个服务器的前面,如果您接受来自任何地方的连接,状态防火墙也无济于事。无论如何,您都需要对所有内容使用TLS或其他加密,因此防火墙可以做的就是说“嘿,在端口443上还有更多数据通过我”。防火墙几乎已经死了:etherealmind.com/why-firewalls-wont-matter-in-a-fear-years

– rmalayter
2015年8月9日在3:27



#18 楼

为什么所有服务器都需要公用地址?


在服务器机房中安装服务器
并为其提供公用IP地址。


在我定期运行的14台左右服务器中,只有2台具有可公开访问的界面。我们有能力随意关闭/打开服务,而我们无权管理防火墙。我什至无法开始告诉您,无意间打开并关闭了不需要的服务(SMTP)的次数,而唯一使我们避免成为垃圾邮件转储并在此过程中被列入黑名单的事情是防火墙。 br />
另外,服务器之间传递的所有流量是否都经过完全加密?你会吗?

评论


因为它们可能都具有需要“从Internet”访问的服务

– adamo
2010年11月12日在22:31

不。更像是以70英里/小时的速度驾驶带有安全带和安全气囊的汽车,同时注意自己在做什么。但是无需锁好门。制定了安全策略,并且服务器保持安全,但是没有防火墙。众所周知,防火墙并不是安全的全部和全部。

–Ernie
2010年11月12日23:16

我从来没有说过,防火墙是安全的全部或全部。我不再重复这里已经说过的话。它们只是安全的许多层中的一层。我已经问过你两次了,但你还没有回答。局域网上的服务器都是闲话。您所有的服务器是否仅通过加密通道相互通信?

– GregD
10-11-13在0:22



#19 楼

防火墙可以阻止系统用户打开管理员不知道的网络可访问服务,或者将端口转发到其他计算机。通过使用hashlimit模块,防火墙还可以基于远程IP对滥用者进行速率限制。

防火墙是确保您的策略得到遵守的另一安全网。当然,不要运行您不希望的服务。例如,我绝对建议及时应用软件更新,但我也建议在所有计算机上安装防火墙。就像我开车时一样:当然,我会尽量避开障碍物和其他车辆,但我也系好安全带并系上安全气囊,以防万一发生意外情况。

#20 楼

您可能不会仅仅因为其他所有人都在使用防火墙而意识到从防火墙中受益匪浅。在几乎每个人每天都有家庭防火墙的地方,端口嗅探已被视为可行的攻击手段而被放弃。体面的黑客不会浪费时间检查这些东西。