gpt4 book ai didi

apache - 如何在 AWS 负载均衡器响应中禁用 Apache HTTP header 信息?

转载 作者:行者123 更新时间:2023-12-02 03:26:20 26 4
gpt4 key购买 nike

我在 Apache 服务器上使用 AWS Elastic Beanstalk 部署了一个 node.js 环境。我对环境运行了 PCI 扫描,但遇到了 2 次失败:

  • Apache ServerTokens 信息披露
  • Web 服务器 HTTP header 信息泄露

当然,我想我需要使用以下内容更新 httpd.conf 文件:

ServerSignature Off
ServerTokens Prod

但是,考虑到 Elastic Beanstalk 和 Elastic Load Balancer 的性质,一旦环境扩展、添加新服务器、重启等,实例配置就会被覆盖。

我还尝试将以下内容放入 .htaccess 文件中:

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule .* https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent]

# Security hardening for PCI
Options -Indexes
ServerSignature Off

# Dissallow iFrame usage outside of loylap.com for PCI Security Scan
Header set X-Frame-Options SAMEORIGIN

在节点 js 端,我使用“helmet”包来应用一些安全措施,我还使用“express-force-https”包来确保应用程序强制执行 https。然而,这些似乎只有在启动 Express 应用程序和重定向后才会生效。

我为 HTTP(端口 80)和 HTTPS(端口 443)设置了 Elastic Load Balancer 监听器,但是 HTTP 请求会立即路由到 HTTPS。

当我运行以下 curl 命令时:

curl -I https://myenvironment.com --head

我得到一个可接受的响应,包含以下行:

Server: Apache

然而,当我在 http 端点上运行相同的请求时(即在重定向之前等):

curl -I http://myenvironment.com --head

我收到的响应披露了比应有的更多关于我的服务器的信息,因此出现了 PCI 故障:

Server: Apache/2.4.34 (Amazon)

如何强制我的环境限制 HTTP 和 HTTPS 上的 http header 响应?

最佳答案

感谢@stdunbar 引导我使用 ebextensions 找到正确的解决方案。

解决方案对我来说如下:

  1. 在项目根目录中创建一个名为 .ebextensions/01_server_hardening.config 的文件>
  2. 在文件中添加以下内容:
files:
"/etc/httpd/conf.d/03_server_hardening.conf":
mode: "000644"
owner: root
group: root
content: |
ServerSignature Off
ServerTokens Prod

container_commands:
01_reload_httpd:
command: "sudo service httpd reload"

(注意:缩进在此 YAML 文件中很重要 - 上面代码中的缩进是 2 个空格而不是制表符)。

在 elastic beanstalk 部署期间,这将在/etc/httpd/conf.d 文件夹中创建一个新的 conf 文件,该文件默认设置为扩展 ELB 中的 httpd.conf 设置。

内容手动关闭ServerSignature,设置ServerTokens为Prod,达到PCI标准。

运行容器命令强制重新启动 httpd(对于这个特定版本的 Amazon linux - ubuntu 和其他版本需要它们自己的标准 reload)。

将新命令部署到我的 EB 环境后,我的 curl 命令在 HTTP 和 HTTPS 上按预期运行。

关于apache - 如何在 AWS 负载均衡器响应中禁用 Apache HTTP header 信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53287356/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com