Web服务器的防火墙是否应该阻止端口80上的出站HTTP流量?

时间:2009-04-03 16:13:05

标签: security http sysadmin firewall

我理解需要将Web服务器放在DMZ中并阻止除80和443之外的所有端口的入站流量。我还可以看到为什么在服务器受到威胁的情况下你也应该阻止大多数出站流量。

但是有必要阻止端口80上的出站HTTP流量吗?如果是这样,为什么?如今,许多Web应用程序依赖于从外部Web服务和API发送/检索数据,因此阻止端口80上的出站流量将阻止此功能。是否存在一个足以证明其合理性的安全问题?

7 个答案:

答案 0 :(得分:7)

我能想到的唯一原因是,如果你的机器远程被某种方式妥协,那么就无法通过80端口的DDoS另一个网站。但这并不是我通常做的事情。

答案 1 :(得分:0)

而不是阻止它,扼杀它。使用iptables -m limit。

答案 2 :(得分:0)

我有几个调用外部Web服务的Web应用程序,所以我想说阻止输出HTTP流量是个坏主意。如果您担心安全性,可以阻止它并仅允许某些目的地。

答案 3 :(得分:0)

根据您的SQL版本,SQL Server 2005可能会出现证书身份验证超时问题。

答案 4 :(得分:0)

首先 - 我同意@vartec关于限制"而不是阻止它,限制它。使用iptables -m limit"至少是解决方案的一部分。

但是,我可以提供另一个不阻止端口80出站的原因。如果您启用了自动安全更新,则服务器无法通过端口80与PPA建立联系以启动安全更新。因此,如果您设置了自动安全更新,则无法运行。在ubuntu上,自动安全更新在14.04 LTS中启用:

 sudo apt-get install unattended-upgrades update-notifier-common && \
 sudo dpkg-reconfigure -plow unattended-upgrades
 (then select "YES")

更优雅的解决方案是自动打开端口的脚本,如果您在AWS,除了iptables之外,还可能通过CLI修改AWS安全组规则。我更喜欢通过隐藏盒启动的AWS CLI临时修改出站规则。这会强制在我的AWS S3日志存储桶中记录更新,但永远不会显示在服务器本身的日志中。此外,启动更新的服务器甚至不必位于私有子网ACL中。

也许两者兼而有之?你必须要确定攻击是否会在子网中的内部IP中断,因此在保留自动备份和安全更新的能力的同时,有必要加倍。

我希望这会有所帮助。如果不回复并提供更多代码示例以更具体和准确。 #staysafe!

答案 5 :(得分:0)

如果机器受到攻击并且允许端口80上的出站流量,则入侵者可以更轻松地将收获的数据发送回自己。允许出站流量意味着您可以启动从计算机到外部世界的连接。更好的方法是允许出站流量仅限于您信任的某些网站/地址(即Microsoft Windows Update,Google reCAPTCHA),而不是世界上任何目的地。

答案 6 :(得分:-2)

阻止端口80上的出站流量是什么意思。

你有两种可能性。 Gernerate Dynamic Rules,允许从客户端到您的Web服务器进行此会话的通信。搜索状态防火墙规则。

或者您通常允许已建立的连接相互通信和传出。

如果您通常阻止通过端口80的所有出站流量,则您的Web服务器无法回复任何客户端。

反过来说,如果你的Web服务器需要获得一些API,例如一个jquery库,他不会使用端口80作为他的端口来与持有API的Web服务器进行通信。

您的网络服务器通常会选择一个端口> 1024并将其用于从远程服务器获取API的请求。

因此阻止端口80上的所有流量(作为您连接的端口)不会阻止您的服务器发送任何apis请求等。因为当他充当客户时他不使用80端口。