1. 除了默认启用的能力机制之外,还可以利用一些现有的安全软件或机制来增强Docker的安全性,例如GRSEC、AppArmor、SELinux等:
    • 在内核中启用GRSEC和PAX,这将增加更多的编译和运行时的安全检查;并且通过地址随机化机制来避免恶意探测等。启用该特性不需要Docker进行任何配置;
    • 使用一些增强安全特性的容器模板,比如带AppArmor的模板和RedHat带SELinux策略的模板。这些模板提供了额外的安全特性;
    • 用户可以自定义更加严格的访问控制机制来定制安全策略。
    1. 此外,在将文件系统挂载到容器内部时候,可以通过配置只读(read-only)模式来避免容器内的应用通过文件系统破坏外部环境,特别是一些系统运行状态相关的目录,包括但不限于/proc/sys、/proc/irq、/proc/bus等。这样,容器内应用进程可以获取所需要的系统信息,但无法对它们进行修改。
    2. 同时,对于应用容器场景下,Docker内启动应用的用户都应为非特权用户(可以进一步禁用用户权限,如访问Shell),避免出现故障时对容器内其他资源造成损害。