许多自动安全扫描程序内置了警告软件版本存在的规则,并且在许多安全列表中,任意人访问系统的版本暴露被称为安全问题之一。
所以我的问题是——这是一个真正的问题吗?隐藏版本是否会增加安全性?
支持它的论点是,隐藏版本使目标漏洞更难使用,但是大多数攻击者现在拥有自动漏洞利用工具包,可以立即对目标运行数百次漏洞利用尝试,因此对于知情的攻击者而言,差异几乎为零。没有被告知的人将不知道如何使用版本信息。隐藏版本还使得自我扫描遗留的易受攻击的安装变得更加困难。
我还看到这种做法被广泛忽略 - 例如,将其描述为安全技术的 OWASP 页面公开显示服务器软件(OS、Apache、PHP)和 Wiki 软件的版本。但即使你试图隐藏它,大多数 Web 应用程序——尤其是复杂的应用程序——很容易通过对它们生成的各种内容进行指纹识别来进行版本控制。
那么是否值得为 Web 应用程序隐藏版本?或者对于任何应用程序/操作系统/平台?