security - 在 HTTP header 中隐藏 Web 服务器信息是一种好习惯吗?

标签 security http web-applications

这个问题与安全相关而不是与编程相关,如果它不应该出现在这里,我们深表歉意。

我目前正在开发一个 Web 应用程序,我很好奇为什么大多数网站不介意在 HTTP header 中显示其确切的服务器配置,例如 Apache 和 PHP 的版本,以及完整的“mod_perl、mod_python、.. ."列表等。

从安全的角度来看,我更希望无法查明我是在 Apache 上运行 PHP,在 IIS 上运行 ASP.NET,还是在 Lighttpd 上运行 Rails。

显然“隐匿不是安全”,但我是否应该担心访问者知道我的服务器运行的是什么版本的 Apache 和 PHP?隐藏此信息是好的做法还是完全没有必要?

最佳答案

普遍的智慧是删除服务器 ID 和版本;更好的是,将它们更改为另一个合法的服务器 ID 和版本 - 这样攻击者就可以尝试针对 Apache 或类似软件的 IIS 漏洞。还不如误导攻击者。

但老实说,还有很多其他线索可供引用,我想知道这是否值得。我想它可以阻止攻击者使用搜索引擎查找具有已知漏洞的服务器。

(就个人而言,我不在意我的 HTTP 服务器,但它是用 Java 编写的,并且更不容易受到典型类型的攻击。)

关于security - 在 HTTP header 中隐藏 Web 服务器信息是一种好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/339312/

相关文章:

sql - 对象的更新权限被拒绝

javascript - 有没有办法在 Ionic/Angular/Cordova 堆栈中查找以 dp(而不是 px)为单位的屏幕尺寸?

java - 从 Web 浏览器检测客户端 jre

c# - 如何在不刷新页面的情况下运行我的代码?

security - CouchDB:如何设置/获取用户的密码哈希?

php - 帮助计算(和有用性)密码熵

java - 禁用 Spring Security header 不起作用

http - 有多少个 HTTP 动词?

php - 解析 HTTP 状态码

http - 如何处理 Rails 3.1 中丢失的主机 header