以下是Docker在Ubuntu上的安全设置要点:
- 用户权限管理
- 避免以root用户运行容器,使用
--user
参数指定非特权用户。
- 启用用户命名空间隔离,将容器用户映射到宿主机非特权用户。
- 系统级安全加固
- 定期更新系统和Docker软件包,修复漏洞。
- 配置防火墙(如UFW)限制Docker相关端口(默认2375/2376)的访问。
- 容器运行时安全
- 使用官方最小化基础镜像,减少攻击面。
- 禁止特权容器(
--privileged
),限制容器权限。
- 通过
--cap-drop
移除不必要的Linux内核能力。
- 镜像与数据安全
- 扫描镜像漏洞(如使用Trivy、Clair)。
- 避免在容器中硬编码敏感信息,使用Docker Secrets管理密钥。
- 挂载主机目录时,禁止访问系统关键目录(如
/boot
、/etc
)。
- 网络隔离与加密
- 使用Docker自定义网络隔离容器,避免默认桥接网络的横向攻击风险。
- 启用TLS加密守护进程与客户端通信。
- 安全模块集成
- 配置AppArmor或SELinux限制容器对宿主机资源的访问。
- 监控与审计
- 启用容器日志记录,定期审计系统日志。
- 使用工具(如auditd)监控可疑活动。
参考来源: