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

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

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

[[263604]]

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】

 

责任编辑:未丽燕 来源: 51CTO.com
相关推荐

2022-04-20 12:08:17

容器安全漏洞网络安全

2020-03-17 10:28:00

CIO首席信息官IT

2020-02-07 10:46:43

多云云计算混合云

2022-07-25 14:24:53

Docker容器安全

2021-03-14 09:37:45

Git仓库管理代码

2019-12-16 12:11:53

Docker容器Kubernetes

2022-06-28 05:54:10

机器身份网络攻击网络安全

2024-04-08 14:33:18

2022-03-13 10:48:52

容器Docker容器管理软件

2021-06-08 10:26:10

云计算云计算产业云应用

2021-06-30 10:10:01

企业攻击漏洞网络安全

2021-05-07 16:45:40

服务器虚拟机企业管理

2019-09-16 14:18:21

Docker中央处理器软件

2020-11-23 18:39:54

容器Kubernetes架构

2020-12-16 08:23:06

DevOps容器安全容器

2018-06-22 15:25:31

LinuxDocker容器管理

2022-07-13 08:00:29

安全风险管理IT

2023-11-03 15:24:39

2022-08-01 07:27:36

JavaDocker容器

2019-11-24 23:39:01

漏洞管理漏洞风险
点赞
收藏

51CTO技术栈公众号