容器安全涉及问题很多,有许多“唾手可得”的方案能用来降低风险。不过,一个好的开始是编写Dockerfile文件时遵循一些规则。
在本文,我列出了一些常见的安全问题和如何规避它们。对于每一个问题,我还写了一个开放策略代理(Open Policy Agent,OPA)规则来使用conftest静态分析你的Dockerfile文件。
你可以在这个库找到.rego
规则集。
不要在环境变量中存放密钥
密钥部署是一个很棘手的问题,而且很容易出错。对于容器化的应用程序,可以通过挂载卷从文件系统中显示它们,也可以更方便地通过环境变量显示。
使用ENV
来存储密钥通常是不好的,因为Dockerfile文件通常与应用程序一起部署,因此这与在代码中硬编码密钥没有什么差别。
Comments