【问题标题】:AWS Secrets Manager and database authentication securityAWS Secrets Manager 和数据库身份验证安全性
【发布时间】:2019-04-16 19:25:24
【问题描述】:

我正在尝试找出将服务身份验证器移至机密存储的安全优势。

将数据库身份验证器保留在代码或应用服务器配置中显然是个坏主意。

AWS Secrets Manager 可以轻松加密密钥并让 AWS 自动轮换凭证,这是一件好事。显然,轮换 db 身份验证器具有安全优势。如果有人以某种方式窃取数据库身份验证器,Secrets Manager 可能会每天或更频繁地轮换它,如果它是旧的,那么你就不走运了。

但是,如果您的应用服务器遭到入侵,它是否没有查询 Secrets Manager 所需的 AWS 密钥?您的源代码也是如此(即,某种通向 db u/p 的凭证存储在某处)。当然,该应用程序服务器附加了一个 IAM 角色,允许此查询以及访问数据库的网络流量授权。

这与将数据库身份验证器存储在应用服务器上有何不同?是否仅仅是通过您的代码(通过 SDK)以编程方式访问 Secrets Manager,有人必须同时破坏您的源代码和应用服务器才能获得 VPC 中的密码和正确路径(例如,入站安全组规则、路由表等)来获取数据?

我想我在这里遗漏了一些东西!

【问题讨论】:

    标签: database amazon-web-services aws-sdk aws-secrets-manager


    【解决方案1】:

    简短的回答是,Secrets Manager 允许您不必将密码存储在源代码或必须分发到服务器的配置文件中。但是,正如您所指出的,如果您的主机被入侵,所有的赌注都将被取消,没有什么能阻止攻击者从内存中读取您的秘密。

    关于 AWS 凭证,如果这是一个 EC2 实例,您还需要使用 roles for EC2 以便 AWS 自动轮换并将您的凭证传送到主机。

    【讨论】:

      猜你喜欢
      • 2019-02-07
      • 1970-01-01
      • 2015-12-18
      • 2012-06-20
      • 1970-01-01
      • 2014-04-30
      • 2015-09-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多