需要 AWS Windows EC2 实例的有效证书。 Amazon Certificate manager 是不是为 EC2 提供证书?
Posted
技术标签:
【中文标题】需要 AWS Windows EC2 实例的有效证书。 Amazon Certificate manager 是不是为 EC2 提供证书?【英文标题】:Need a valid certificate for AWS Windows EC2 instance. Does Amazon Certificate manager provide certificates for EC2?需要 AWS Windows EC2 实例的有效证书。 Amazon Certificate manager 是否为 EC2 提供证书? 【发布时间】:2018-08-20 03:56:38 【问题描述】:我正在 Windows EC2 实例上运行 Qualys 扫描,它报告了一些漏洞。其中之一是“SSL 证书 - 主题公用名与服务器 FQDN 不匹配”。
根据 Qualys 的建议,对此的解决方案是“请安装其 Subject commonName 或 subjectAltName 与服务器 FQDN 匹配的服务器证书。”
现在的问题是未经第三方验证的自签名证书。 我如何获得这种情况的有效证书,这样 Qualys 不会报告错误。 我查看了 ACM,但我猜它没有为 EC2 提供证书。
谁能提供有关如何解决此问题的见解? 我在哪里获得有效证书以及如何将其添加到实例中。 我正在使用 Cloudformation 模板使用使用打包程序创建的自定义 AMI 创建实例。我之所以提到这一点,是因为了解添加证书的步骤是否需要添加到 AMI 创建阶段会很有帮助。
【问题讨论】:
“现在的问题是 AWS 提供了未经第三方验证的自签名证书。” 不……我不相信它是“AWS”提供这样的证书。不幸的是,您无意中从问题中遗漏了一些可能有用的细节。如果您的服务器没有有效的证书,为什么它甚至会暴露在 Internet 上?相关证书的主题 CN/AN 是什么? 我已经启动了一个 AWS EC2 Windows 实例。尝试 RDP 进入机器时,它会抛出以下错误:“无法将证书验证回根证书。”证书名称是实例的主机名。此证书也没有主题 CN/AN。我这里没有提供任何证书,所以我假设它是一个自签名证书。 【参考方案1】:很遗憾,您不能直接在 EC2 上直接使用 AWS Certificate Manager 颁发的证书。
您可以在负载均衡器、Cloudfront 和 API 网关上使用它,Refer this。
但一种解决方法是,如果您有单个 EC2,请将其放在 Classic LB 后面并终止 ssl 到 LB,以便当您尝试访问 ec2 上的内容时,它是通过 HTTPS。
谢谢
【讨论】:
【参考方案2】:通过此类扫描的最简单方法是限制对您的实例的访问,以便您只公开公共服务(如 HTTP 或 HTTPS),然后“强化”每个所需公共服务的配置。所有非公共服务/端口都应仅限于您的 IP 地址(/es)。这可能会解决扫描报告的一些问题。
RDP 和许多其他服务(MSSQL、MSDeploy、POSH Remoting 等等)仅供管理员使用,不应被 Qualys 扫描(或漫游互联网的黑客和机器人...)看到。
正如 Kush 上面所建议的,添加负载均衡器将允许您将 ACM 证书用于 Web 流量,但它还在互联网和您的实例之间增加了额外的安全层。这意味着您可以进一步限制对您的实例的访问仅限于您的 VPC - 因为公共 Web 流量将通过您的 VPC 中的负载均衡器,而不是直接访问您的实例。
如果您在没有负载平衡器的情况下通过 HTTPS 托管网站,您还需要编辑 SChannel 设置(Windows 中负责 SSL/TLS 的组件)以通过扫描并为网站安装有效证书。
您可以在此处的注册表中手动编辑 SChannel:
HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\
(需要重新启动 - 在开始之前拍摄快照;)
警告 - 错误配置 SChannel 可能会破坏 RPD 或限制哪些网络浏览器可以访问您的网站等。请仔细测试!
仅供参考,我发现使用名为 IIS Crypto 的工具来配置 SChannel (https://www.nartac.com/Products/IISCrypto) 更容易——它具有 GUI 和 CLI 界面,用于对 SChannel 进行脚本更改。 (不过,您仍然可以使用此工具破坏您的服务器!)
如果您想通过 CloudFormation 查看使用 ACM 和负载均衡器,我建议您通过 aws 控制台注册和批准证书,并记下证书的 ARN。在 CloudFormation 模板中创建负载平衡器时可以使用此 ARN。
注意:以上将解决您的扫描问题,但实际上并不能解决它。可以使用您自己的 RDP 证书(从未尝试过),但遗憾的是不能使用 ACM 证书。您还可以查看 LetsEncrypt 之类的服务来获取免费/基本证书。避免此错误的另一个选项是您可以从实例中导出自签名证书并将其导入您的计算机(或域?)的证书存储中。
【讨论】:
以上是关于需要 AWS Windows EC2 实例的有效证书。 Amazon Certificate manager 是不是为 EC2 提供证书?的主要内容,如果未能解决你的问题,请参考以下文章
使用 SSH 连接到AWS EC2 Linux 实例(Windows可用SSH)