如何隐藏Apache和PHP版本的HTTP头
网站安全是虚拟主机最重要、最关键的组成部分。
网络攻击可能会损坏应用程序。
本教程将对最终用户隐藏Apache/PHP版本的详细信息。
在进行更改之前,首先使用下面的命令查看发送HTTP头的信息服务器。
步骤1 -检查HTTP头信息
我们可以使用curl或wget命令来通过命令行获取任何网站的详细信息。
wget --server-response --spider http://example.com/index.php
注意上面的信息,以便之后比较。
让我们按照以下步骤隐藏HTTP头信息。
步骤2 -隐藏Apache服务器信息
首先,在系统上查找和编辑Apache配置文件。
Apache配置文件可以在以下位置找到。
配置文件位置
CentOS Fedora / Redhat - /etc/httpd/conf/httpd.conf
Ubuntu Debian / Linux - /etc/apache2/conf-enabled/security.conf
设置服务器令牌指令
servertoken指令控制发送回客户端的服务器响应头字段是否包含通用的操作系统细节。
在使用响应值时,可以配置以下选项。
ServerTokens Prod
安装服务器签名指令
ServerSignature在服务器生成的文档上配置页脚。
编辑Apache配置文件,搜索ServerSignature指令并关闭它。
ServerSignature Off
步骤3 -隐藏PHP版本
默认情况下,PHP安装向外界公开PHP已经安装在服务器上,其中包括HTTP头中的PHP版本(例如:,X-Powered-By: PHP/7.2.0-2+ubuntu16.04.1+deb.sury.org+2)。
配置文件-
CentOS Fedora / Redhat - /etc/php.ini
Ubuntu Debian - /etc/php/7.2/apache2/php.ini
编辑php.ini,使用下面指令,在HTTP头中隐藏这些值
expose_php = Off
步骤4 -重新加载Apache并验证设置
重新启动Apache服务器以重新加载更改。
sudo sytemctl restart httpd.service ## Redhat systems sudo sytemctl restart apache2.service ## Debian systems
我们已经对服务器进行了必要的更改。
在完成所有更改之后,再次使用下面的命令,并将输出与之前的结果进行比较。
wget --server-response --spider http://example.com/index.php