如何隐藏 Apache 版本号和其它敏感信息-阿里云开发者社区

开发者社区> 开发与运维> 正文

如何隐藏 Apache 版本号和其它敏感信息

简介:

ServerSignature

这允许在服务器生成的文档(如错误消息、modproxy 的 ftp 目录列表、modinfo 输出等等)下添加一个显示服务器名称和版本号的页脚行。

它有三个可能的值:

  • On - 允许在服务器生成的文档中添加尾部页脚行,
  • Off - 禁用页脚行
  • EMail - 创建一个 “mailto:” 引用;用于将邮件发送到所引用文档的 ServerAdmin。

ServerTokens

它决定了发送回客户端的服务器响应头字段是否包含服务器操作系统类型的描述和有关已启用的 Apache 模块的信息。

此指令具有以下可能的值(以及在设置特定值时发送到客户端的示例信息):


  1. ServerTokens Full (或者不指定)

发送给客户端的信息: Server: Apache/2.4.2 (Unix) PHP/4.2.2 MyMod/1.2


  1. ServerTokens Prod[uctOnly]

发送给客户端的信息: Server: Apache


  1. ServerTokens Major

发送给客户端的信息: Server: Apache/2


  1. ServerTokens Minor

发送给客户端的信息: Server: Apache/2.4


  1. ServerTokens Min[imal]

发送给客户端的信息:Server: Apache/2.4.2


  1. ServerTokens OS

发送给客户端的信息: Server: Apache/2.4.2 (Unix)

注意:在 Apache 2.0.44 之后,ServerTokens 也控制由 ServerSignature 指令提供的信息。

推荐阅读: 5 个加速 Apache Web 服务器的贴士

为了隐藏 web 服务器版本号、服务器操作系统细节、已安装的 Apache 模块等等,使用你最喜欢的编辑器打开 Apache 配置文件:


  1. $ sudo vi /etc/apache2/apache2.conf #Debian/Ubuntu systems
  2. $ sudo vi /etc/httpd/conf/httpd.conf #RHEL/CentOS systems

添加/修改/附加下面的行:


  1. ServerTokens Prod
  2. ServerSignature Off

保存并退出文件,重启你的 Apache 服务器:


  1. $ sudo systemctl apache2 restart #SystemD
  2. $ sudo sevice apache2 restart #SysVInit

本篇中,我们解释了如何使用特定的 Apache 指令隐藏Apache web 服务器版本号及其他信息。

如果你在 Apache 中运行 PHP,我建议你隐藏 PHP 版本号

原文发布时间为:2017-02-05

本文来自云栖社区合作伙伴“Linux中国”

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章