采用 Docker 时的考虑要点与相关技术分析
1. 取证(Forensics)
取证类似于审计,但更具针对性。当安全事件发生时,各方都想了解事件详情。在传统的物理机和虚拟机环境中,有许多保障措施辅助事后调查,比如操作系统上可能运行着各种代理和监控进程,也可在网络甚至硬件层面进行监听。
取证团队在安全事件后可能想解答以下问题:
- 能否确定是谁运行了容器?
- 能否确定是谁构建了容器?
- 容器停止运行后,能否确定它做了什么?
- 容器停止运行后,能否推测它可能做了什么?
为确保系统活动信息在容器实例化过程中得以保留,可强制使用特定的日志记录解决方案。Sysdig 及其开源的 Falco 工具是该领域有趣且有前景的产品。若熟悉 tcpdump,会发现此工具与之类似,能查询正在执行的系统调用。例如规则:
container.id != host and proc.name = bash当在容器中运行 bash shell 时,该规则会匹配。Sysdig 的商业版不仅能监控,还能根据跟踪的行为和定义的规则集采取行动。
2. 构建和分发镜像
2.1 构建镜像
构建镜像时,有几个方面需考虑:
-标准制定:虽然 Dockerfile 是标准方式,但也存在其他构建镜像的方法。若多种方式易造成混淆或不兼容,可规定统一标准。同时,可能需将战略配置管理工具与标准操作系统部署集成。不过,实际中 Dockerfile