隐藏服务器软件版本对安全性有显着影响吗?

信息安全 Web应用程序 网络服务器 漏洞扫描器
2021-08-16 16:06:06

Web 服务器可以将Server,X-Powered-By和类似的标头添加到 HTTP 响应中。看起来一致认为应该删除此类标头,以便自动漏洞扫描程序不会立即知道他们正在处理的软件的哪个版本,因此自动漏洞发现变得更加困难。

听起来不错,但是... 通常很容易从其他来源找到运行服务的软件。例如,众所周知 Stack Exchange 在 IIS 和 ASP.NET 上运行,那么看起来 Stack Exchange 禁止ServerX-Powered-By.

这有多重要?剥离这些标题在多大程度上有帮助?只是为了感觉更安全还是有真正显着的效果?

3个回答

问题是关于“通过默默无闻的安全” 1隐藏您的设计/实现(例如您正在运行的服务器)是否会导致更少的利用实例?这是一个长期争论的话题,双方都有合理的论据。

所有的安全实践都是成本(例如工作量、可维护性、金钱)和收益(减少利用实例,减少那些不可避免实例的影响)之间的权衡。在这种情况下,成本是更改字符串所需的努力,而好处是某种程度的模糊性。但是,(正如您所指出的)在有针对性的攻击中(我的意思是有人决心进入您的系统)还有其他方法可以抵消这种好处(例如查看默认错误页面、默认文件、像 cookie 这样的模糊内容处理和 pwning 其他东西)。非目标攻击中(我的意思是一些寻找低垂果实的小偷或扫描互联网的愚蠢的自动化软件,同样的事情),您可以避免骚扰。

然而,防止有针对性的攻击所需的行动(定期更新、访问控制、合理的配置、良好的数据卫生)将防止上述非针对性攻击。这些是迄今为止最划算的,也是你应该做的。

因此,如果您没有其他事情可做,请继续隐藏您的服务器令牌。如果您太晚应用补丁或其他失败,它会阻止人们注意到低悬的果实。但是,请注意,在这种情况下,您可能已经死在水中了。所以,如果还有什么问题,你最好花时间去解决这个问题,或者问一些像这样的好问题。

就我个人而言,我更喜欢添加幽默的服务器令牌来让攻击者发笑,或者添加错误的服务器令牌来迷惑他们。minorcrash.com(启动时)目前有 DOM 注入,可以渲染一张猫被雪球击中的图片。

由于大量攻击是自动化的,并且从扫描到识别操作系统/平台的进展,这确实产生了积极的影响。而且因为实现这一点的努力几乎为零,我们总是建议这样做。

自动扫描(不是来自专门针对您的攻击者)将首先运行一个足迹步骤,以识别平台 - 这通常就像横幅抓取一样简单,因为它很快,并且欺骗横幅将意味着您的系统不会在他们的平台||漏洞数据库中匹配。

如果您的平台已知漏洞,这将具有更高的价值,因为横幅会有效地宣布这一点!

(当然,如果他们使用 nmap 或其他各种选项,他们仍然能够识别平台,这就是为什么这不是灵丹妙药,而只是一种改进)

隐藏横幅抓取和修改服务器的响应绝对不会损害您的整体安全状况,但在我看来,它也无济于事。你在谈论“通过默默无闻的安全”。虽然修改这些横幅可能会阻止某些扫描对您进行额外的“攻击”,但它不会阻止任何半确定进入您的网络的人。但是,如果您有一些可供用户使用的 SSH 版本信息,则有一些法规(例如 PCI)会让您失望。因此,在这些情况下,即使安全增益可能很小,您也需要这样做以确保合规性。综上所述,试图向攻击者隐藏信息总是一个好主意,让他们更加努力地工作,但不要仅仅依靠它。继续为您使用的任何操作系统或应用程序使用最佳实践,专注于系统强化,并确保您只通过防火墙打开所需的端口/应用程序。安全性与层有关,试图隐藏信息是一个非常低级别的层。