下载
中文
注册

Docker容器运行安全加固

Docker 容器运行安全加固为保证容器安全运行,建议用户根据业务,配置如下加固项,具体操作方法请参考官方说明:

  • 启用apparmor能力:运行容器时可指定apparmor文件,apparmor能够提供安全策略,保护Linux系统和应用程序。启用apparmor能力前需要先开启Linux内核的apparmor功能。
  • 启用SELinux能力:运行容器时可指定SELinux配置,提高安全性。启用SELinux能力前需要使用“--selinux-enabled”配置在Docker守护进程中生效。
  • 为容器设置系统资源的配额,避免容器占用过多的系统资源,导致资源耗尽。系统资源包括但不限于CPU、内存。
  • 避免在容器中运行不可信的应用。
  • 避免在容器中侦听不必要的端口。
  • 为容器配置适当的CPU优先级。
  • 将容器的根文件系统挂载为只读模式。
  • 将传入的容器流量绑定到特定的主机接口,为容器的端口映射配置指定IP地址。
  • 限制容器运行使用的文件句柄和fork进程数量。
  • 容器服务对外侦听的业务接口启用认证和加密传输机制,保证业务数据不被窃取。
  • 避免在容器中运行SSH服务端。
  • 避免共享命名空间,包括:网络命名空间、UTS命名空间、user命名空间。
  • 避免在容器中挂载docker.sock。
  • 确保没有任何用户加入Docker用户组。
  • 用户在使用创建容器或模板、更新容器或模板相关接口时,需谨慎配置环境变量、ConfigMap等参数,并确保使用安全镜像。避免通过环境变量、ConfigMap等传递敏感信息,以防止敏感数据泄露,或因配置不当而存在提权风险。建议用户结合自身业务,在使用数据前做好充分校验。
  • 在基础镜像中创建非root用户,并且以非root用户启动镜像、启动进程,同时仅授予用户必要的capability,避免高权限用户造成容器逃逸等安全风险。
  • 合理控制镜像中文件的属主和权限,避免不必要的越权访问造成容器逃逸等安全风险。
  • 及时修复基础镜像中的漏洞。
  • 分发镜像时,建议开启Docker的Content trust功能。
  • 使用最新的Docker版本。建议及时更新Docker的版本,规避Docker软件的已知漏洞,Docker主机必须进行加固。建议对运行Docker容器的主机进行安全加固,并定期进行漏洞扫描。