【问题标题】:How to verify that my application uses latest rds-ca certificate for Amazon RDS如何验证我的应用程序使用 Amazon RDS 的最新 rds-ca 证书
【发布时间】:2020-03-27 23:35:49
【问题描述】:

我正在开发一个托管在 AWS-Beanstalk 上并使用 RDS Aurora - PostgreSQL 数据库的 Rails 应用程序。

我的应用程序有 3 个环境:DevStagingProduction

我在 RDS 控制台上看到这条消息:

在 2020 年 3 月 5 日之前更新您的 Amazon RDS SSL/TLS 证书 为避免使用 RDS 和 Aurora 数据库的应用程序中断,请在 2020 年 3 月 5 日之前更新这些数据库的证书颁发机构 (CA) 证书。我们强烈建议您在 2020 年 2 月 5 日之前进行更新,以便为部署、测试和验证。 2020 年 1 月 14 日之后创建的新数据库将默认使用新的 CA 证书。确保首先使用新证书更新客户端应用程序。

后来我看到 Dev 和 Staging 的 RDS 实例已经升级到最新的 SSL 证书,并且这条消息只出现在 Production 的 RDS 实例中

所以我尝试让 Dev 和 Staging 的 RDS 实例使用较旧的 SSL 证书(与生产的证书相同)-> 从 https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL.html 下载最新的证书文件,然后在我的 config/database.yml 中附加这两行:

production:
  sslmode: 'verify-full'
  sslrootcert: /path/to/cert/file

进行此更改后,我将更改部署到 Dev -> 结果:构建成功。然后,从 RDS 控制台,我尝试将 Dev 实例的 SSL 证书升级到最新版本,成功了

有几件事我想更清楚

  1. YML 文件中的这种更改以前没有。似乎添加这些行会使环境不那么灵活。这可以避免 - 但如何避免?
  2. 最初,当 Dev 和 Staging 的 RDS 实例升级到最新的 SSL 证书时,我的应用程序正在运行,但我不知道/不知道我的 Dev 和 Staging 应用程序是否使用最新的 SSL 证书!有什么方法可以确认我的应用也升级到了最新的 SSL/TSL 证书?

【问题讨论】:

  • 您好,您在这个问题上还需要其他帮助吗?或者您还好吗?
  • 嘿@big-K 我最初打算尝试您提供的专用堆栈,但无法确认这在我的情况下是否有效,因为我的应用程序环境中只有 1 个因此而受影响.yml 文件中的条目也有效。就 env 的灵活性而言,这不是问题,因为我们不会很快从 AWS 迁移到任何其他云基础设施,如 heroku。我要感谢您提供这些步骤,我将把它放在手边,因为我的一些同事可能很快(三月底之前)需要这个

标签: ruby-on-rails postgresql amazon-elastic-beanstalk amazon-aurora


【解决方案1】:
  1. RDS 使用自签名证书,因此您需要在客户端中明确信任它。不确定您正在运行哪个客户端设置(我猜 RoR 给出了问题上的标签),但基本上您需要研究如何将私有根 CA 证书添加到您的信任库中。如果您有 Java 客户端,那么您执行此操作的方式是下载 rootCA 证书文件并将其显式添加到您的 java 信任库(有多种方法可以执行此操作)。您需要找到为您的客户端堆栈执行相同操作的机制,这应该很容易找到。

  2. 使用 openssl 并从您的客户端实例与您的数据库端点对话并描述您的证书。证书详细信息应列出数据库证书的颁发日期和到期日,以及颁发者 CA 的详细信息。您需要确认 CA 是新的 2019(或 2020,不确定)RDS 根 CA。

类似:

openssl s_client -showcerts -servername endpoint.goes.here -connect endpoint.goes.here:3306 2>/dev/null | openssl x509 -inform pem -noout -text

【讨论】:

  • 感谢@big-K 提供上述信息。我将尽快处理这两项工作,如果一切正常,我会通知您!
  • @PuneetPandey 如果您对此有任何更新,请告诉我。
猜你喜欢
  • 2020-02-27
  • 2020-06-13
  • 2011-09-21
  • 2020-03-26
  • 2020-02-15
  • 2021-07-22
  • 1970-01-01
  • 1970-01-01
  • 2018-06-30
相关资源
最近更新 更多