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