目前的现状似乎是配置防火墙以丢弃任何不是发往专门打开的端口的数据包。许多防御性端口扫描器(例如ShieldsUP!)似乎对每个具有 DROP 策略的端口都赞不绝口。如果您要对世界上任何一个顶级域进行端口扫描,几乎所有这些域都会显示其默认策略是 DROP,但需要的端口(例如 80 和 443)除外。
这背后的心理是什么?它不能用于隐身,因为如果端口 80 和 443 响应,那么看到主机已启动将是极其微不足道的。它也不能用于防御 SYN 泛洪,因为您可以将数据包定向到打开的端口。我唯一能想到的是,在向外的界面上运行着其他服务,但是管理员没有花时间正确配置这些服务,而是在它前面扔了一个防火墙。尽管如此,人们仍会认为世界上的顶级网站将齐心协力,足以正确配置其服务器。
我在这里错过了什么吗?设置默认的 DROP 策略真的可以提高正确配置服务器的安全性吗?
编辑:
我只是想稍微澄清一下我的问题。我不明白的是为什么人们觉得需要放置一个层来丢弃数据包而不是让它们通过并让网络堆栈完成它的工作。(建立一个用 RST 人为响应的层本质上是一样的,它提出了同样的问题。)
我并不是要暗示防火墙是无用的,但似乎人们不信任网络堆栈,以至于他们禁止直接接触它,除非在允许的端口上。暴露它并尽可能少地干扰它的真正危害是什么?