如何解决AWS DynamoDB使用多个区域来提高安全性?
我们经常听到有关公司被黑客入侵并且用户详细信息被盗的消息,但是信用卡信息是安全的,因为它们“存储在另一个数据库(在另一个区域)”。
以前,对于现场数据库(如SQL Server
),我本来会设计为这样一种方式:将与用户相关的数据存储在北美的SQL Server位置,并且所有信用卡信息都会存储在欧洲的另一个SQL Server位置。
但是,在DynamoDB
中是否仍需要这种设计?例如。在us-west-1
中存储用户数据,在eu-north-1
中存储信用卡信息。
DynamoDB已经具有如此复杂的安全控制和合规性-带有IAM和详细的细粒度访问控制-是否仍需要这种多区域设计(在安全范围内)?
有什么想法吗?
解决方法
单个AWS帐户中的多区域架构 不会显着提高安全性。
基本上有两种方法可以访问数据:
- 应用程序内部的漏洞利用,允许不受信任的代码执行。
- 公开的凭据。
在AWS中,凭证位于帐户级别。因此,如果您对所有表(dynamodb:Scan
都有Resource: "*"
权限,那么它们位于哪个区域都没关系。如果您具有仅限于表Foo
的“扫描”权限,则不会表Bar
是否在同一区域中;您无法访问它。
起作用的一些做法:
- 请勿将您的应用程序公开到Internet。将安全组锁定到最低限度的必要访问权限,并使用负载平衡器限制应用服务器上的攻击面。
- 在专用子网中运行您的应用程序,以免任何利用都无法泄露数据。
- 保持您的应用程序依赖关系为最新!请注意可能会影响您的CERT alerts。
- 限制IAM权限,以便应用程序或用户只能访问完成工作所需的资源(没有通配资源!)。
- 使用实例角色而不是长期凭证。它们的生命周期极其有限,因此即使它们被泄露,攻击者也无能为力。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。