update: 标题审核
近期データ漏洩の讨论, 矽谷企業データ機密保護的云安全技术
刘宝瑞: 今天我说个事情, 并不是本朝的事情, 说的是有很多很多个人数据遭到泄漏的事情 , ,传来传去呢,说是因为某网站上的教程泄漏了访问的accessKey。
具体的原因按下不表,以笔者所在厂为例子,且说在硅谷大厂们是如何防止此类事件发生的呢?
1. 用spiffe/spire做workload identity
spire:https://github.com/spiffe/spire
这一步的作用是root of trust,每个workload自己有自己的cert/jwt token,来作为internal service account来使用,每一个container/workload只有在允许运行的地方才能拿到svid/cert package
2. 使用hashicorp vault做secrets manager
centralized的好处是容易配合spire来做authn,配合上游的LDAP数据,来做secrets access的ACL,还有auditing
比如service在运行的时候,只有read权限,可以通过auditing的数据来随时查看访问记录
这一步的作用是 对敏感数据,和代码,配置进行严格分离
3. 在container/app运行时,通过host上的operator injects credential into container
比如service需要访问aws的资源,并不需要直接知道accessKey和accessID
pseudocode:
import configSDK # internal SDK, read injected credential yaml or json.
key=configSDK.get("myS3keyName")
id=cofnigSDK.get("myS3KeyID")
这里的name和id,是存放在secrets manager的时候给随意起的名字
这一步的作用是 在runtime的时候才需要load credential
4. Key management + KDF
Root key --> KEK (key encryption key) --> DEK (data encryption key)来对敏感信息进行机密,满足compliance要求.
比如可以对host 的LVM整个进行加密:Understanding of Logical Volume Encryption
或者对部分数据进行加密。
KDF(key derivation function)简单示例:
GitHub - hixichen/kdf-golang: kdf usage example with Golang
aws KMS: AWS KMS concepts - AWS Key Management Service
这一步的作用是 对KEK集中管理,方便rotation,同时保护KEK的安全
5. ABAC model for authz
数据访问是一定要通过内网或者VPN进行访问.
目前,很多公司已经在使用open policy agent搭建 ABAC policy service了:
OPA Ecosystem: Open Policy Agent | Ecosystem
这一步的作用是:保证基本的trust/verify的网络环境。
6. Cloud config scan
跟synk的云安全态势感知很类似:
Cloud Security Posture Management (CSPM) Explained | Snyk
Cloud Security Posture Management (CSPM) Explained | Snyk
比如对S3的数据,不能公开链接,必须有ip based的policy,data classification,同时级别高的数据,默认必须在server端加密,已经相应的data owner,和不同的其他tag
7. Least access permission control
periodic scan group-based access policy.
可以设置一些warning的规则,同时要求有tier2以上的service owner去resolve执行的compliance要求。
hixichen个人原创文章,联系我本人: hixichen (Chen Xi) · GitHub