Signed-off-by: Kang Huaishuai <khs1994@khs1994.com>
This commit is contained in:
Kang Huaishuai 2020-09-06 21:04:01 +08:00
parent cbaa24c48f
commit 58c09788f6
No known key found for this signature in database
GPG Key ID: 5E515022F565DA09
2 changed files with 5 additions and 5 deletions

View File

@ -7,12 +7,12 @@
为了加强对服务端的保护Docker REST API客户端用来跟服务端通信 0.5.2 之后使用本地的 Unix 套接字机制替代了原先绑定在 127.0.0.1 上的 TCP 套接字因为后者容易遭受跨站脚本攻击现在用户使用 Unix 权限检查来加强套接字的访问安全
用户仍可以利用 HTTP 提供 REST API 访问建议使用安全机制确保只有可信的网络或 VPN或证书保护机制例如受保护的 stunnel ssl 认证下的访问可以进行此外还可以使用 HTTPS 和证书来加强保护
用户仍可以利用 HTTP 提供 REST API 访问建议使用安全机制确保只有可信的网络或 VPN或证书保护机制例如受保护的 stunnel ssl 认证下的访问可以进行此外还可以使用 [ HTTPS 和证书](https://docs.docker.com/engine/security/https/) 来加强保护。
最近改进的 Linux 命名空间机制将可以实现使用非 root 用户来运行全功能的容器这将从根本上解决了容器和主机之间共享文件系统而引起的安全问题
终极目标是改进 2 个重要的安全特性
* 将容器的 root 用户映射到本地主机上的非 root 用户减轻容器和主机之间因权限提升而引起的安全问题
* 允许 Docker 服务端在 [ root 权限](https://docs.docker.com/engine/security/rootless/) 下运行,利用安全可靠的子进程来代理执行需要特权权限的操作。这些子进程将只允许在限定范围内进行操作,例如仅仅负责虚拟网络设定或文件系统管理、配置操作等。
* 将容器的 root 用户 [映射到本地主机上的非 root 用户](https://docs.docker.com/engine/security/userns-remap/)减轻容器和主机之间因权限提升而引起的安全问题;
* 允许 Docker 服务端在 [ root 权限(rootless 模式)](https://docs.docker.com/engine/security/rootless/) 下运行,利用安全可靠的子进程来代理执行需要特权权限的操作。这些子进程将只允许在限定范围内进行操作,例如仅仅负责虚拟网络设定或文件系统管理、配置操作等。
最后建议采用专用的服务器来运行 Docker 和相关的管理服务例如管理服务比如 ssh 监控和进程监控管理工具 nrpecollectd 其它的业务服务都放到容器中去运行

View File

@ -1,6 +1,6 @@
# 内核能力机制
能力机制Capability Linux 内核一个强大的特性可以提供细粒度的权限访问控制
[能力机制Capability](https://man7.org/linux/man-pages/man7/capabilities.7.html) 是 Linux 内核一个强大的特性,可以提供细粒度的权限访问控制。
Linux 内核自 2.2 版本起就支持能力机制它将权限划分为更加细粒度的操作能力既可以作用在进程上也可以作用在文件上
例如一个 Web 服务进程只需要绑定一个低于 1024 的端口的权限并不需要 root 权限那么它只需要被授权 `net_bind_service` 能力即可此外还有很多其他的类似能力来避免进程获取 root 权限
@ -22,5 +22,5 @@ Linux 内核自 2.2 版本起就支持能力机制,它将权限划分为更加
这样就算攻击者在容器中取得了 root 权限也不能获得本地主机的较高权限能进行的破坏也有限
默认情况下Docker采用白名单机制禁用必需功能之外的其它权限
默认情况下Docker采用 [白名单](https://github.com/moby/moby/blob/master/oci/caps/defaults.go) 机制,禁用必需功能之外的其它权限。
当然用户也可以根据自身需求来为 Docker 容器启用额外的权限