gpt4 book ai didi

ruby-on-rails - 如何验证我的应用程序是否使用 Amazon RDS 的最新 rds-ca 证书

转载 作者:行者123 更新时间:2023-12-05 07:16:41 25 4
gpt4 key购买 nike

我正在开发一个托管在 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 证书?

最佳答案

  1. RDS 使用自签名证书,因此您需要在您的客户端中明确信任它。不确定您正在运行哪个客户端设置(我猜 RoR 给出了问题的标签),但基本上您需要研究如何将私有(private)根 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

关于ruby-on-rails - 如何验证我的应用程序是否使用 Amazon RDS 的最新 rds-ca 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59154459/

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