【问题标题】:How do I enable perfect forward secrecy on heroku using custom domain?如何使用自定义域在 heroku 上启用完美的前向保密?
【发布时间】:2022-07-12 17:43:25
【问题描述】:
我有一个 PHP 应用程序,Apache 托管在 Heroku 上。 APP 正在使用自定义域和 ACM。当我提交我的网站进行 ISO 认证时,他们提到您的网站不支持 ssllabs 上的“前向保密”并要求修复它。由于 Heroku 不允许应用程序开发人员更改服务器配置(在我的情况下为 apache),因此我无法进行开发人员建议的更改以启用“前向保密”。是否还有其他人实施了前向保密? Heroku 遇到过类似的情况吗?
【问题讨论】:
标签:
apache
ssl
heroku
cryptography
【解决方案1】:
正如 Heroku 开发中心文章 HTTP 路由中所述,Common Runtime 中的 Heroku 应用程序支持以下密码套件。该列表经过优化,可提供合理级别的安全性,同时支持广泛的客户端软件,并且无法配置。
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_RSA_WITH_AES_128_GCM_SHA256
在密码套装中,最后两个不提供前向保密,被 SSL Labs 评为“B”。这些适用于浏览器供应商仍支持的旧版浏览器。
我尝试使用代理服务(通过 Heroku 插件)Fastly、Edge 或 Expedited CDN(测试版),它们提供一组不同的密码套件,Edge 运行良好,设置非常简单明了。
Heroku 支持确认如果有人使用 Cloudflare,则不需要该插件,但我没有测试 Cloudflare,因为我没有使用它。