72

容器秘密管理的8个优秀实践

 5 years ago
source link: http://developer.51cto.com/art/201904/595595.htm?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

【51CTO.com快译】秘密管理是容器安全的重要组成部分。我们在本文中介绍管理秘密(即密码、API密钥和令牌等)的几个优秀实践,以便缓解容器安全风险和漏洞。

qUvErm2.jpg!web

1. 区别秘密和标识符

在容器环境下,秘密是指一旦暴露在未经授权的个人或实体面前,贵公司、客户或应用程序将面临风险的任何信息。随着系统变得更复杂,涉及的秘密信息量随之增加,涉及的风险也随之加大。系统中的不定因素越多,面临的风险就越大。

值得一提的是,并非所有信息都是秘密信息。一些信息(比如用户名和TLS证书)是标识符,需要有选择地加以共享。标识符并非完全没有风险,但其风险远低于秘密。然而,与标识符有关的密码和密钥应被视为秘密。

2. 建立信任圈

系统的某些部分可以完全信任(比如CPU、RAM、root用户或拥有适当安全策略的秘密管理工具)。系统的一些部分只能选择性地信任(比如被授予明确权限,以访问受保护的某些秘密或S3等云服务的员工)。最后,外部实体默认情况下不可信任。它们包括随机用户或WiFi热点。透露给这些实体的秘密会泄密,因此导致风险。

3. 深入了解信任链

秘密流经系统时,它们触及这些不同的实体。秘密所走的路径是决定秘密是安全还是已泄密的关键。每一步都是“一环”,全部环连起来就组成了“一条链”。全面深入了解整条链很重要。这样一来,你就可以建立信任链,确保只有信任圈内的实体才能访问秘密。

4. 使用KMS加密数据

对机密数据而言,光使用防火墙不够安全;受密码保护的数据库也不够安全。它们离完全泄密只有一步之遥。相反,需要的是可以在多个层面加密数据的密钥管理服务(KMS)。你应该能够使用加密密钥加密整个文件,并使用不同的加密密钥加密该文件中的部分数据。

这样一来,你只能共享数据的特定部分,而不必让其余数据面临风险。这限制了潜在攻击的影响范围。然而,在本地环境创建和管理加密密钥很繁琐。如果使用云原生容器应用程序,有必要使用基于云的加密服务,比如AWS KMS或类似的替代方案。它们拥有高级功能,可以自动化并极大地控制加密密钥的创建和管理。

5. 经常轮换秘密

长期保持不变的秘密更有可能泄密。随着更多的用户访问秘密,某人有可能处理不当,泄露给未经授权的实体。秘密可以通过日志和缓存数据泄露出去。它们可以共享用于调试;一旦调试完成,就不可更改或撤销。它们可能被黑客破解。由于所有这些原因,秘密应经常轮换。

6. 自动创建密码

创建密码和访问密钥的方式对其安全性至关重要。人们手动创建密码会带来灾难。据Troy Hunt声称,85%的密码都不安全。消除糟糕密码的唯一方法是,使用机器自动生成的密码,这些密码具有独特性,不易被破解。今天,大多数秘密管理工具都拥有密码自动生成这项默认功能。

7. 负责任地存储秘密

秘密管理工具对容器安全而言已变得不可或缺。它们的首要重心是防止秘密被保存在磁盘上、嵌入代码中,或者嵌入到秘密管理器本身之外的系统的任何部分。这是个文化问题,很难在大团队中实施。然而有必要使用秘密工具来创建密码,并借助到期失效的令牌,使用同样的工具共享密码。

8. 发现未经授权的访问

尽管你尽了最大的努力,但在某个时候,秘密还是可能会泄密。在这种情况下,你的所有先前计划将经受测试。第一步是尽早发现事件(这是你需要部署安全监控工具的原因)。

你还应准备好制定计划,一旦发现泄密就迅速响应。假设你在泄密发生一小时后发现了情况。你能多快地禁止访问恶意用户或实体?在这里,全面控制系统中每个点的密码和经过深思熟虑的架构必不可少。最后,需要更改系统中的所有密码,作为预防措施。这可以轻松实现吗?一旦所有密码更改,能不能通知合法用户、能不能立即为他们授予访问权限?万一系统宕机,密码管理器是否仍正常运行?

确保你能够发现泄密,并已制定了管理上面列出的所有考量因素的计划。

结论

容器为IT管理员和DevSecOps团队带来了新的安全挑战。然而,如果了解潜在风险以及减轻这些风险的方法,你可以建立起更可靠、几乎万无一失的安全机制。

原文标题:8 Best Practices for Container Secrets Management,作者:Twain Taylor

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK