Docker安全技术:从机密移除到SELinux策略应用
1. Docker安全基础与攻击面缩减
在企业环境中,许多Docker安全工具会让应用运行一段时间,跟踪系统调用、文件访问和操作系统功能使用情况,以此确定应用的预期行为,并报告异常行为。例如,攻击者进入运行中的容器并启动bash二进制文件或打开意外端口时,系统会发出警报。DockerSlim可以提前控制这一过程,降低攻击者得手后的破坏能力。另外,限制应用的功能也是缩小攻击面的一种方法。
2. 移除构建过程中添加的机密
2.1 问题提出
在企业环境中构建镜像时,常需使用密钥和凭证来检索数据。使用Dockerfile构建应用时,即使使用后删除机密,它们仍可能存在于镜像历史中。若有人获取镜像,就可能获取早期层中的机密。
2.2 解决方案
可以使用docker - squash来移除镜像层。理论上有几种简单的解决方法,但都存在缺点:
- 在使用时删除机密 :
FROM ubuntu
RUN echo mysecret > secretfile && command_using_secret && rm secretfile
此方法需将机密写入Dockerfile代码,可能以明文形式存在于源代码控制中。
- 添加到.gitignore并在构建时添加 :将文件添加到.gitignore,在构建时使用ADD添
超级会员免费看
订阅专栏 解锁全文
11

被折叠的 条评论
为什么被折叠?



