IaC 安全最佳实践

IaC 的重要性
我们来看看 IaC 产生的两个实际优势:
其中最明显的就是「效率提高」:
另一个是「避免手动操作导致的安全风险」:
每次见到一些开发人员为了配置环境或寻找 bug,直接登录到了生产环境的机器进行直接操作,都提心吊胆 。而 IaC 可以提供一套标准流程规范,避免人为操作失误 。
IaC 安全的挑战
下面列出了 IaC 可能存在的风险:
我们来简单举几个例子:
1. 基础镜像漏洞
2.镜像源不可信
若某一天该镜像源遭到黑客入侵,或者是镜像源维护者作恶投毒,则你自己的镜像也会遭到影响 。
3. 数据泄露/硬编码
直到今天,在搜索阿里云 AK/SK 的关键字样,还可以搜索到不少相关密钥信息 。
而以上问题都可以在一开始的 IaC 配置文件,也就是构建之前的分析就可以发现,并提醒业务进行解决 。
IaC 安全最佳实践
防止硬编码密钥渗透到 IaC 中
比如说我们在构建时为了方便,将桶的 AK/SK 硬编码到了 ENV 中,就可能导致被利用从而获取整个云上内网环境权限 。
?
配置错误问题一直是一个微小但是致命的问题,所导致的影响效果可以参考弱口令 。
?
一百个研发有一百种方式从不同的地方获取配置信息(环境变量、全局变量、-file、甚至于自带一个小的 ),也侧面说明了配置中心建设的重要性 。
理想的状态下,所有的敏感配置信息都应该从配置中心动态的进行获取,而不是以明文的形式出现在文件中 。
保证 IaC 文件的可靠性
IaC 太过于方便了,利用起来同样也很方便,只要有权限,我们不需要了解如何去部署挖矿,一键式命令即可帮助完成入侵 。
攻击者可能通过一些漏洞: (如 K8s不安全的配置)获取到 IaC 工具的控制权限,从而下发了恶意的 yml 配置 。所以保证 IaC 文件的可靠性非常重要 。
遵循IaC文件官方推荐的最佳实践
···
策略引擎:OPA
?
“OPA,来打造自己的 IaC 扫描器 。”
?

IaC 安全最佳实践

文章插图
什么是 OPA 呢?
我个人的描述:「是一个云原生时代的统一化策略引擎」 。
比如在传统互联网架构中,先不提不同厂家之间的差异,同一厂家、不同安全设备之间的规则也完全不相同 。
Waf 的过滤规则文件和 Sast/Dast 检查的规则文件,肯定完全不同的 。
而 OPA 提供一套标准化的准则引擎,可应用于整个云开发生命周期中的各个部分,标准化策略的格式 。
声明式语言:OPA 使用一种声明式语言,称为 Rego 语言,来定义策略 。Rego 是一种基于集合的语言,它允许您使用基于模式匹配和条件逻辑的规则来定义策略 。这种语言的优势在于,可以方便地描述和组合不同的策略 。
策略评估:OPA 可以在不修改应用程序代码的情况下,直接将其集成到应用程序中,并评估请求或数据是否符合定义的策略 。OPA 通过使用 Rego 语言和集成 API 来使策略评估成为可能 。
如何将 OPA 应用于我们的 IaC 检测中呢?
将OPA应用于IaC扫描的思路:
···
今天的公开课就分享到这里啦,由于文章篇幅问题不能将所讲细节一一列出,更多内容详见文末「直播录屏及PPT」 。
?
需要直播录屏、PPT的小伙伴请私信微信公众号「长亭百川云平台」:
第三期直播录屏、第三期PPT即可获取 。
?
扫码添加小助手,一起学习、共同进步!
问脉 Tools 社区版是长亭牧云团队孵化的一款开源容器安全检测工具集 。目前已支持镜像/容器漏洞、逃逸风险、恶意文件、后门、敏感信息、弱口令、资产识别等扫描功能 。