CentOS 8 禁用 Apache 服务器签名

如果我们使用 Apache 网络服务器在生产环境中托管我们的应用程序,则建议禁用 Apache 服务器签名以隐藏 Apache 版本号。 攻击者可以在执行攻击之前使用 Nmap 或其他工具查找 Apache 版本号。 攻击者检测到 Apache 版本号后,发现特定 Apache 版本的漏洞并进行攻击。

在这篇文章中,我们将向我们展示 CentOS 8 上禁用 Apache 服务器签名。

先决条件

  • 云平台上的全新 CentOS 8 服务器
  • 在我们的服务器上配置的 root 密码

第 1 步 – 创建 云服务器

首先,登录到我们的 云服务器。 创建一个新服务器,选择 CentOS 8 作为至少 2GB RAM 的操作系统。 通过 SSH 连接到我们的云服务器并使用页面顶部突出显示的凭据登录。

登录到 CentOS 8 服务器后,运行以下命令以使用最新的可用软件包更新基本系统。

dnf update -y

第 2 步 – 安装 Apache 服务器

在开始之前,必须在我们的服务器上安装 Apache 网络服务器。 如果没有安装,可以使用以下命令安装:

dnf install httpd -y

安装后,启动 Apache 服务并使其在系统重新启动时启动:

systemctl start httpd
systemctl enable httpd

第 3 步 – 验证 Apache 服务器签名

接下来,我们需要检查 Apache 签名是打开还是关闭。 我们可以通过运行以下命令来检查它:

curl --head http://localhost

我们应该看到以下输出:

HTTP/1.1 403 Forbidden
Date: Wed, 24 Mar 2021 12:24:45 GMT
Server: Apache/2.4.37 (centos)
Content-Location: index.html.zh-CN
Vary: negotiate,accept-language
TCN: choice
Last-Modified: Fri, 14 Jun 2019 03:37:43 GMT
ETag: "fa6-58b405e7d6fc0;5be475f323d62"
Accept-Ranges: bytes
Content-Length: 4006
Content-Type: text/html; charset=UTF-8
Content-Language: zh-cn

上面的输出显示了 Apache 版本号,这意味着我们的系统中启用了 Apache 签名。

第 4 步 – 禁用 Apache 签名

我们可以通过编辑 Apache 主配置文件来禁用 Apache 签名:

nano /etc/httpd/conf/httpd.conf

在文件末尾添加以下行:

ServerTokens Prod

完成后保存并关闭文件。 然后,重新启动 Apache 服务以应用更改:

systemctl restart httpd

第 5 步 – 验证 Apache 签名

此时,我们的系统上已禁用 Apache 签名。 接下来,我们需要验证 Apache 签名是否被禁用。

要检查它,请运行以下命令:

curl --head http://localhost

我们应该看到以下输出:

HTTP/1.1 403 Forbidden
Date: Wed, 24 Mar 2021 12:26:25 GMT
Server: Apache
Content-Location: index.html.zh-CN
Vary: negotiate,accept-language
TCN: choice
Last-Modified: Fri, 14 Jun 2019 03:37:43 GMT
ETag: "fa6-58b405e7d6fc0;5be475f323d62"
Accept-Ranges: bytes
Content-Length: 4006
Content-Type: text/html; charset=UTF-8
Content-Language: zh-cn

上面的输出没有显示 Apache 版本,这意味着 Apache 签名在我们的系统中被禁用。

在上面的指南中,我们学习了 CentOS 8 上禁用 Apache 签名。理想情况下,这将提高我们的 Apache Web 服务器的安全性; 今天就在 的专用服务器上试试吧。

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发

请登录后发表评论