🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
当远程请求发送到你的 Apache Web 服务器时,Apache服务器默认的缺省设置会返回服务器上一些有价值的信息,如 Apache的版本号、服务器操作系统详细信息、服务器端口号、已安装的 Apache 模块等等,会随服务器生成的文档发回客户端。 这给攻击者利用漏洞并获取对 Web 服务器的访问提供了很多有用的信息。为了避免显示 web 服务器信息,我们需要配置 Apache 隐藏 Apache Web 服务器的信息。 两个重要的指令是: ~~~ ServerSignature ~~~ 这允许在服务器生成的文档(如错误消息、modproxy 的 ftp 目录列表、modinfo 输出等等)下添加一个显示服务器名称和版本号的页脚行。 它有三个可能的值: ~~~ On - 允许在服务器生成的文档中添加尾部页脚行, Off - 禁用页脚行 EMail - 创建一个 “mailto:” 引用;用于将邮件发送到所引用文档的 ServerAdmin。 ~~~ ~~~ ServerTokens ~~~ 它决定了发送回客户端的服务器响应头字段是否包含服务器操作系统类型的描述和有关已启用的 Apache 模块的信息。 此指令具有以下可能的值(以及在设置特定值时发送到客户端的示例信息): ~~~ ServerTokens Full (或者不指定) 发送给客户端的信息: Server: Apache/2.4.2 (Unix) PHP/4.2.2 MyMod/1.2 ServerTokens Prod[uctOnly] 发送给客户端的信息: Server: Apache ServerTokens Major 发送给客户端的信息: Server: Apache/2 ServerTokens Minor 发送给客户端的信息: Server: Apache/2.4 ServerTokens Min[imal] 发送给客户端的信息:Server: Apache/2.4.2 ServerTokens OS 发送给客户端的信息: Server: Apache/2.4.2 (Unix) ~~~ > 注意:在 Apache 2.0.44 之后,ServerTokens 也控制由 ServerSignature 指令提供的信息。 推荐阅读: 5 个加速 Apache Web 服务器的贴士。 为了隐藏 web 服务器版本号、服务器操作系统细节、已安装的 Apache 模块等等,使用你最喜欢的编辑器打开 Apache 配置文件: ~~~ $ sudo vi /etc/apache2/apache2.conf #Debian/Ubuntu systems $ sudo vi /etc/httpd/conf/httpd.conf #RHEL/CentOS systems 添加/修改/附加下面的行: ServerTokens Prod ServerSignature Off ~~~ 保存并退出文件,重启你的 Apache 服务器: ~~~ $ sudo systemctl apache2 restart #SystemD $ sudo sevice apache2 restart #SysVInit ~~~ 以上就是通过修改Apache 配置隐藏Apache web 服务器版本号及其他信息。 如果你在 Apache 中运行 PHP,建议隐藏 PHP 版本号。