Security 是否应该使用web服务器';s防火墙阻止端口80上的出站HTTP流量?

Security 是否应该使用web服务器';s防火墙阻止端口80上的出站HTTP流量?,security,http,sysadmin,firewall,Security,Http,Sysadmin,Firewall,我理解在DMZ中放置web服务器并阻止除80和443之外的所有端口的入站流量的必要性。我也明白了为什么在服务器受损的情况下,您可能还应该阻止大多数出站流量 但是有必要阻止端口80上的出站HTTP通信吗?若然,原因为何?如今,许多web应用程序依赖于从外部web服务和API发送/检索数据,因此阻止端口80上的出站流量将阻止此功能。是否存在足以证明这一点的安全问题?我能想到的唯一原因是,如果您的计算机以某种方式被远程压缩,那么它将无法对端口80上的另一个网站进行DDoS攻击。这不是我通常会做的事。你

我理解在DMZ中放置web服务器并阻止除80和443之外的所有端口的入站流量的必要性。我也明白了为什么在服务器受损的情况下,您可能还应该阻止大多数出站流量


但是有必要阻止端口80上的出站HTTP通信吗?若然,原因为何?如今,许多web应用程序依赖于从外部web服务和API发送/检索数据,因此阻止端口80上的出站流量将阻止此功能。是否存在足以证明这一点的安全问题?

我能想到的唯一原因是,如果您的计算机以某种方式被远程压缩,那么它将无法对端口80上的另一个网站进行DDoS攻击。这不是我通常会做的事。

你在端口80上阻止出站流量是什么意思

你有两种可能。生成允许在此会话中从客户端到Web服务器进行通信的动态规则。搜索有状态防火墙规则

或者,您通常允许已建立的连接相互通信

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

另一方面,如果您的Web服务器需要获取一些API,例如jquery库,那么他不会使用端口80作为与持有API的Web服务器通信的端口

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


因此,阻止端口80(您连接的端口)上的所有通信不会阻止服务器发送任何API请求等。因为他作为客户机时不使用端口80。

与其阻塞端口,不如对其进行节流。使用iptables-m limit。

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

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

首先-我同意@vartec的节流“而不是阻止它,而是限制它。使用iptables-m limit”至少作为解决方案的一部分

不过,我可以提供另一个理由,不阻止端口80在任何时候出站。如果已打开自动安全更新,服务器将无法通过端口80联系PPAs以启动安全更新。因此,如果设置了自动安全更新,它们将不会运行。在ubuntu上,自动安全更新在14.04 LTS中启用,包括:

 sudo apt-get install unattended-upgrades update-notifier-common && \
 sudo dpkg-reconfigure -plow unattended-upgrades
 (then select "YES")
更优雅的解决方案是ansible脚本自动打开端口,如果您在AWS,除了iptables之外,还可能通过CLI修改AWS安全组规则。我更喜欢通过由隐藏框启动的AWS CLI临时修改出站规则。这将强制在我的AWS S3日志存储桶中记录更新,但不会显示在服务器本身的日志中。此外,发起更新的服务器甚至不必位于私有子网ACL中

也许两者都做?您必须考虑到有时攻击会从子网中的内部IP中继出去,因此在保持自动备份和安全更新的能力的同时,加倍攻击是有好处的


我希望这有帮助。如果没有,请回复并提供更多代码示例,使其更加具体和准确#斯泰萨夫

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

我指的是允许web服务器启动到internet上其他服务器的出站HTTP连接(端口80)。例如,您可能有一个PHP页面,上面有一个天气小部件。该脚本需要从外部web服务请求天气数据。啊,好的,我想你的意思是阻止端口80作为起始端口。如果您阻止了这一点,那么您就不能从其他页面加载API之类的东西。您可能可以将一些您信任的站点添加到您的规则中。但我想说,封锁80端口通常没有多大意义。从另一个角度看,如果你的服务器遭到黑客攻击,你封锁了流量,它就无法从其他网站加载实时代码。但谁能保证黑客/机器人/任何正在使用端口80进行请求的人:)白名单是一个好建议,但它不适用于OpenID,这要求web服务器能够请求任何用作OpenID的URL。不仅如此,它不适用于任何更改IP地址的网站。这就是我需要请求更改的防火墙的工作原理-在IP级别,而不是域级别(我认为这是为了提高效率?)。这是一个真正的痛苦,因为一些IP变化很大。此外,是否总是会有一些服务,可以想象,可以用于DDOS攻击另一个主机?例如,在我的出站HTTP锁定主机上,ping仍然可以联系任何主机。