最佳安全实践
监控和保护容器环境所需的最佳实践包括:
主机作系统强化
强化作系统包括:
-
确保主机作系统和 docker 软件都使用最新的安全修补程序进行更新。
-
从 下载下载中下载图像。
-
在没有 root 权限的情况下以非 root 用户身份运行 docker。这称为无根模式。在此模式下,docker 和容器在用户命名空间中运行。以非 root 用户身份运行容器和 Docker 引擎服务,可以在发生违规事件时提高安全性。
-
通过配置运行容器所需的指定内存和 CPU 量来防止 DoS 攻击。
-
避免在容器中使用 sshd。
-
避免使用默认网桥
docker0来抵御 ARP 欺骗和 MAC 泛洪攻击。 -
将容器的根文件系统设置为只读,以防止恶意攻击。
-
设置进程标识符 (PID) 限制。内核中的每个进程都带有唯一的 PID,容器利用 Linux PID 命名空间为每个容器提供 PID 层次结构的单独视图。限制容器中的进程数可防止过多生成新进程和潜在的恶意横向移动。
补丁管理
修补程序管理包括确定可以改进或修复的系统功能、发布更新包以及验证更新的安装。通过软件更新和系统重新配置进行修补是漏洞管理的一部分。
安全端口
可供使用的特权服务端口有:
-
确保每个系统仅运行经批准的端口和协议。其中包括 BGP (TCP 179)、SSH (TCP 22)、Netconf over SSH (TCP 830) 和用于遥测的 gRPC (TCP 50051)。验证所有服务的业务需求。例如,HTTP 和 HTTPS 负载均衡器必须分别绑定 (TCP 80) 和 (TCP 443)。
-
低于 1024 的 TCP/IP 端口号被视为特权端口。避免在容器中映射 1024 以下的任何端口,因为它们传输敏感数据。默认情况下,Docker 将容器端口映射到 49153–65525 范围内的端口,但它允许将容器映射到特权端口。