资讯专栏INFORMATION COLUMN

Flux7 Docker 系列教程(五):Docker 安全

ztyzz / 2901人阅读

摘要:本系列教程翻译自,系列共有九篇,本文译自第五篇。因此,本系列教程关键的第五章用来讨论可能面临的安全问题以及它们是如何影响到整体的安全性的。一些必要的安全措施包括使用非特权用户运行容器。本图中列举了几个用于维护和授权的安全性。

本系列教程翻译自 Flux7 Docker Tutorial Series,系列共有九篇,本文译自第五篇 Part 5: Docker Security。
该系列所有文章将参考其他学习资料翻译,也会加入自己的学习作为部分注解。如有错误,欢迎指正。

题外话:本文所讲的是传统意义上的 Docker 安全,关于未来 Docker 的安全可以 参考这篇文章。

Docker 安全

安全问题必须要被高度重视,无论是开发环境还是生产环境。如今 Docker 已经被部署在越来越多的地方,Docker 作为项目和平台的安全性也越来越要被重视。

因此,本系列教程关键的第五章用来讨论 Docker 可能面临的安全问题以及它们是如何影响到 Docker 整体的安全性的。但并不是说 Docker 本身不安全:Docker 是建立在 LXC 的基础上的,因此 Docker 继承了 LXC 绝大部分安全优势。

前文中提到 docker run 是用来运行容器的,那么 docker run 之后到底发生了什么?

docker run 命令初始化

Docker 调用 lxc-start 命令。

lxc-start 创建一系列的 namespaces 和 CGroups 进行资源限制。

namespace 是虚拟化的第一层,用于容器以及容器内之间互相隔离。所有的容器都有独立的网络栈、一个容器也无法访问到另一个容器的 Socket 端口。如果你希望容器之间通过网络互访的话,就要开启 Docker 的端口映射功能,或者为容器指定公网 IP。

CGroup 有如下的特点:

资源计数和资源控制。

限制内存、CPU、IO 和网络使用。

试图解决 Dos 攻击问题。

更适用于多用户、多进程的系统。

对于 namespace 和 CGroups 不熟悉的童鞋可以参考这么几篇文章:
Docker 基础技术:Linux Namespace(上)
Docker 基础技术:Linux Namespace(下)
Docker 基础技术:Linux CGroup

Docker Daemon 的攻击层面

Docker daemon 使用 root 权限运行,肯定需要有许多地方需要特别注意,例如:

如果 Docker 容器有权限访问宿主机的话,那么要特别小心,Docker 进程的控制权只能给授权用户。举个极端的例子:容器内部的 UID=0 如果对容器外部某个不明程序执行了 chmod +s

REST API 也支持 UNIX socket,从而避免了 XSS 攻击。

REST API 的 HTTP 端口(如果有的话)只能对可信的网络、VPN、IP 开放。

在服务器上运行 Docker 时需要与其他服务隔离。

一些必要的安全措施包括:

使用非特权用户运行容器。

Apparmor,SELinux,grsec 都可以当成是一层额外的安全加固。

可以使用其他容器系统的安全功能。

Docker.io API

本图中列举了几个用于维护和授权的安全性 Docker API。

本专栏将会在以后的文章中慢慢介绍现在的 Docker API。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/7912.html

相关文章

  • Flux7 Docker 系列教程(四):Registry & Workflows

    摘要:本系列教程翻译自,系列共有九篇,本文译自第四篇。由三个部分组成。由发布镜像的供应商提供的。通过多重安全检查进行认证的私有。用于进行和的操作,同时用于时的登录认证。收到删除信号和。通知已经删除,删除数据库中的所有相关的记录。 本系列教程翻译自 Flux7 Docker Tutorial Series,系列共有九篇,本文译自第四篇 Part 4: Registry & Workflo...

    用户83 评论0 收藏0
  • Flux7 Docker 系列教程(四):Registry & Workflows

    摘要:本系列教程翻译自,系列共有九篇,本文译自第四篇。由三个部分组成。由发布镜像的供应商提供的。通过多重安全检查进行认证的私有。用于进行和的操作,同时用于时的登录认证。收到删除信号和。通知已经删除,删除数据库中的所有相关的记录。 本系列教程翻译自 Flux7 Docker Tutorial Series,系列共有九篇,本文译自第四篇 Part 4: Registry & Workflo...

    dackel 评论0 收藏0

发表评论

0条评论

ztyzz

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<