translate security into traditional chinese

This commit is contained in:
a504082002
2014-11-19 01:01:35 +08:00
parent 47d4f30697
commit cb4963b8fa
7 changed files with 56 additions and 56 deletions

View File

@@ -1,5 +1,5 @@
# 安全
估 Docker 的安全性,主要考虑三个方面:
*核的名字空和控制组机制提供的容器在安全
* Docker程序是服端)本身的抗攻
* 核安全性的加强机制对容器安全性的影
估 Docker 的安全性,主要考慮三個方面:
*核的名字空和控制組機制提供的容器在安全
* Docker程序是服端)本身的抗攻
* 核安全性的加強機制對容器安全性的影

View File

@@ -1,8 +1,8 @@
## 控制
控制是 Linux 容器制的另外一个关键组件,负责实现资源的审计和限制。
## 控制
控制是 Linux 容器制的另外一個關鍵組件,負責實現資源的審計和限制。
它提供了很多有用的特性;以及保各容器可以公平地分享主机的内存、CPU、磁 IO 等源;然,更重要的是,控制组确保了容器内的资源使用产生压力时不会连累主机系统
它提供了很多有用的特性;以及保各容器可以公平地分享主機的內存、CPU、磁 IO 等源;然,更重要的是,控制組確保了容器內的資源使用產生壓力時不會連累主機系統
管控制组不负责隔离容器之相互访问、处理数据和进程,它在防止拒绝服务DDOS方面是必不可少的。尤其是在多用的平(比如公有或私有的 PaaS控制十分重要。例如,某些用程序表现异常的候,可以保一致地正常行和性能。
管控制組不負責隔離容器之相互訪問、處理數據和進程,它在防止拒絕服務DDOS方面是必不可少的。尤其是在多用的平(比如公有或私有的 PaaS控制十分重要。例如,某些用程序表現異常的候,可以保一致地正常行和性能。
控制组机制始 2006 年,内核从 2.6.24 版本始被引入。
控制組機制始 2006 年,內核從 2.6.24 版本始被引入。

View File

@@ -1,18 +1,18 @@
## Docker服端的防
行一容器或用程序的核心是通 Docker 服端。Docker 服务的运行目前需要 root 限,因此其安全性十分关键
## Docker服端的防
行一容器或用程序的核心是通 Docker 服端。Docker 服務的運行目前需要 root 限,因此其安全性十分關鍵
首先,保只有可信的用才可以访问 Docker 服。Docker 允许用户在主和容器共享文件,同不需要限制容器的访问权限,就容易容器突破源限制。例如,意用户启动容器的时候将主机的根目`/`映射到容器的 `/host`中,那容器理上就可以对主机的文件系统进行任意修改了。这听起来很疯狂?但是事实上几乎所有虚拟化系都允许类似的源共享,而法禁止用共享主根文件系统到虚拟机系统
首先,保只有可信的用才可以訪問 Docker 服。Docker 允許用戶在主和容器共享文件,同不需要限制容器的訪問權限,就容易容器突破源限制。例如,意用戶啟動容器的時候將主機的根目`/`映射到容器的 `/host`中,那容器理上就可以對主機的文件系統進行任意修改了。這聽起來很瘋狂?但是事實上幾乎所有虛擬化系都允許類似的源共享,而法禁止用共享主根文件系統到虛擬機系統
这将会造成很重的安全果。因此,提供容器建服务时(例如通过一个 web 服器),要更加注意进行参数的安全查,防止意的用用特定参数来创建一些破性的容器
這將會造成很重的安全果。因此,提供容器建服務時(例如通過一個 web 服器),要更加註意進行參數的安全查,防止意的用用特定參數來創建一些破性的容器
了加强对服务端的保Docker 的 REST API端用跟服端通信)在 0.5.2 之使用本地的 Unix 套接字制替代了原先定在 127.0.0.1 上的 TCP 套接字,因为后者容易遭受跨站本攻击。现在用使用 Unix 权限检查来加强套接字的访问安全。
了加強對服務端的保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 和證書來加強保護
最近改的 Linux 名字空间机制将可以实现使用非 root 用户来运行全功能的容器。这将从根本上解了容器和主机之间共享文件系而引起的安全问题
最近改的 Linux 名字空間機制將可以實現使用非 root 用戶來運行全功能的容器。這將從根本上解了容器和主機之間共享文件系而引起的安全問題
终极目标是改 2 重要的安全特性:
* 容器的 root 用映射到本地主上的非 root 用户,减轻容器和主机之间因权限提升而引起的安全问题
* Docker 服端在非 root 限下行,利用安全可靠的子进程来代理行需要特权权限的操作。些子进程将只允在限定范围内进行操作,例如仅仅负责虚拟网络设定或文件系管理、配置操作等。
終極目標是改 2 重要的安全特性:
* 容器的 root 用映射到本地主上的非 root 用戶,減輕容器和主機之間因權限提升而引起的安全問題
* Docker 服端在非 root 限下行,利用安全可靠的子進程來代理行需要特權權限的操作。些子進程將只允在限定範圍內進行操作,例如僅僅負責虛擬網絡設定或文件系管理、配置操作等。
,建采用用的服务器来运行 Docker 和相的管理服(例如管理服比如 ssh 控和进程监控、管理工具 nrpe、collectd 等)。其它的业务服务都放到容器中去行。
,建采用用的服務器來運行 Docker 和相的管理服(例如管理服比如 ssh 控和進程監控、管理工具 nrpe、collectd 等)。其它的業務服務都放到容器中去行。

View File

@@ -1,26 +1,26 @@
## 核能力
## 核能力
能力Capability是 Linux 核一个强大的特性,可以提供粒度的权限访问控制。
Linux 核自 2.2 版本起就支持能力制,它将权限划分为更加粒度的操作能力,既可以作用在程上,也可以作用在文件上。
能力Capability是 Linux 核一個強大的特性,可以提供粒度的權限訪問控制。
Linux 核自 2.2 版本起就支持能力制,它將權限劃分為更加粒度的操作能力,既可以作用在程上,也可以作用在文件上。
例如,一 Web 服务进程只需要定一个低于 1024 的端口的限,不需要 root 限。那它只需要被授 `net_bind_service` 能力即可。此外,有很多其他的似能力避免进程获取 root 限。
例如,一 Web 服務進程只需要定一個低於 1024 的端口的限,不需要 root 限。那它只需要被授 `net_bind_service` 能力即可。此外,有很多其他的似能力避免進程獲取 root 限。
认情况Docker 启动的容器被格限制只允使用核的一部分能力。
認情況Docker 啟動的容器被格限制只允使用核的一部分能力。
使用能力机制对加强 Docker 容器的安全有很多好。通常,在服器上会运行一堆需要特权权限的程,包括有 ssh、cron、syslogd、硬件管理工具模(例如负载模块)、网络配置工具等等。容器跟这些进程是不同的,因为几乎所有的特权进程都由容器以外的支持系统来进行管理。
* ssh 访问被主上ssh服务来管理;
* cron 通常应该作为用户进程执行,限交使用它服务的应用来处理;
*志系统可由 Docker 或第三方服管理;
* 硬件管理无关紧要,容器中也就无需执行 udevd 以及似服
* 网络管理也都在主机上设置,除非特殊需求,容器不需要对网络进行配置。
使用能力機制對加強 Docker 容器的安全有很多好。通常,在服器上會運行一堆需要特權權限的程,包括有 ssh、cron、syslogd、硬件管理工具模(例如負載模塊)、網絡配置工具等等。容器跟這些進程是不同的,因為幾乎所有的特權進程都由容器以外的支持系統來進行管理。
* ssh 訪問被主上ssh服務來管理;
* cron 通常應該作為用戶進程執行,限交使用它服務的應用來處理;
*誌系統可由 Docker 或第三方服管理;
* 硬件管理無關緊要,容器中也就無需執行 udevd 以及似服
* 網絡管理也都在主機上設置,除非特殊需求,容器不需要對網絡進行配置。
上面的例子可以看出,大部分情下,容器不需要“真正的” root 限,容器只需要少的能力即可。了加安全,容器可以禁用一些必要的限。
上面的例子可以看出,大部分情下,容器不需要“真正的” root 限,容器只需要少的能力即可。了加安全,容器可以禁用一些必要的限。
* 完全禁止任何 mount 操作;
* 禁止直接访问本地主的套接字;
* 禁止访问一些文件系的操作,比如建新的设备、修改文件性等;
* 禁止模块加载
* 禁止直接訪問本地主的套接字;
* 禁止訪問一些文件系的操作,比如建新的設備、修改文件性等;
* 禁止模塊加載
这样,就算攻者在容器中取得了 root 限,也不能得本地主机的较高权限,能行的破也有限。
這樣,就算攻者在容器中取得了 root 限,也不能得本地主機的較高權限,能行的破也有限。
认情况Docker采用 [白名](https://github.com/docker/docker/blob/master/daemon/execdriver/native/template/default_template.go) 制,禁用 [必需功能](https://github.com/docker/docker/blob/master/daemon/execdriver/native/template/default_template.go) 之外的其它限。
然,用也可以根自身需求来为 Docker 容器启用额外的限。
認情況Docker采用 [白名](https://github.com/docker/docker/blob/master/daemon/execdriver/native/template/default_template.go) 制,禁用 [必需功能](https://github.com/docker/docker/blob/master/daemon/execdriver/native/template/default_template.go) 之外的其它限。
然,用也可以根自身需求來為 Docker 容器啟用額外的限。

View File

@@ -1,15 +1,15 @@
## 核名字空
Docker 容器和 LXC 容器很相似,所提供的安全特性也差不多。`docker run` 启动一个容器,在后台 Docker 容器建了一个独立的名字空和控制集合。
## 核名字空
Docker 容器和 LXC 容器很相似,所提供的安全特性也差不多。`docker run` 啟動一個容器,在後臺 Docker 容器建了一個獨立的名字空和控制集合。
名字空提供了最基也是最直接的隔,在容器中行的程不会被运行在主上的程和其它容器发现和作用。
名字空提供了最基也是最直接的隔,在容器中行的程不會被運行在主上的程和其它容器發現和作用。
容器都有自己有的网络栈,意味着它们不能访问其他容器的 sockets 或接口。不,如果主机系统上做了相应的设置,容器可以像跟主交互一的和其他容器交互。指定公共端口或使用 links 来连接 2 容器,容器就可以相互通信了(可以根配置限制通信的策略)。
容器都有自己有的網絡棧,意味著它們不能訪問其他容器的 sockets 或接口。不,如果主機系統上做了相應的設置,容器可以像跟主交互一的和其他容器交互。指定公共端口或使用 links 來連接 2 容器,容器就可以相互通信了(可以根配置限制通信的策略)。
从网络架构的角度看,所有的容器通本地主机的网桥接口相互通信,就像物理器通物理交换机通信一
從網絡架構的角度看,所有的容器通本地主機的網橋接口相互通信,就像物理器通物理交換機通信一
么,内核中实现名字空和私有网络的代是否足成熟?
麽,內核中實現名字空和私有網絡的代是否足成熟?
核名字空间从 2.6.15 版本2008 年 7 月布)之被引入,数年间,这些机制的可靠性在多大型生产系统中被实践验证
核名字空間從 2.6.15 版本2008 年 7 月布)之被引入,數年間,這些機制的可靠性在多大型生產系統中被實踐驗證
实际上,名字空的想法和设计提出的时间要更早,最初是了在核中引入一种机制来实现 [OpenVZ](http://en.wikipedia.org/wiki/OpenVZ) 的特性。
而 OpenVZ 目早在 2005 年就布了,其设计和实现都已十分成熟。
實際上,名字空的想法和設計提出的時間要更早,最初是了在核中引入一種機制來實現 [OpenVZ](http://en.wikipedia.org/wiki/OpenVZ) 的特性。
而 OpenVZ 目早在 2005 年就布了,其設計和實現都已十分成熟。

View File

@@ -1,9 +1,9 @@
## 其它安全特性
除了能力制之外,可以利用一些有的安全机制来增强使用 Docker 的安全性,例如 TOMOYO, AppArmor, SELinux, GRSEC 等。
除了能力制之外,可以利用一些有的安全機制來增強使用 Docker 的安全性,例如 TOMOYO, AppArmor, SELinux, GRSEC 等。
Docker 前默认只启用了能力制。用可以采用多方案来加强 Docker 主的安全,例如:
*核中用 GRSEC 和 PAX这将增加很多编译和运行时的安全查;通地址随机化避免意探等。且,启用该特性不需要 Docker 行任何配置。
* 使用一些有增安全特性的容器模板,比如 AppArmor 的模板和 Redhat SELinux 策略的模板。些模板提供了外的安全特性。
*可以自定义访问控制机制来定制安全策略。
Docker 前默認只啟用了能力制。用可以采用多方案來加強 Docker 主的安全,例如:
*核中用 GRSEC 和 PAX這將增加很多編譯和運行時的安全查;通地址隨機化避免意探等。且,啟用該特性不需要 Docker 行任何配置。
* 使用一些有增安全特性的容器模板,比如 AppArmor 的模板和 Redhat SELinux 策略的模板。些模板提供了外的安全特性。
*可以自定義訪問控制機制來定制安全策略。
跟其它添加到 Docker 容器的第三方工具一(比如网络拓扑和文件系共享),有很多似的制,在不改 Docker 核情下就可以加固有的容器。
跟其它添加到 Docker 容器的第三方工具一(比如網絡拓撲和文件系共享),有很多似的制,在不改 Docker 核情下就可以加固有的容器。

View File

@@ -1,4 +1,4 @@
## 总结
总体来Docker 容器是十分安全的,特是在容器不使用 root 权限来运行进程的
## 總結
總體來Docker 容器是十分安全的,特是在容器不使用 root 權限來運行進程的
另外,用可以使用有工具,比如 Apparmor, SELinux, GRSEC 来增强安全性;甚至自己在核中实现更复杂的安全制。
另外,用可以使用有工具,比如 Apparmor, SELinux, GRSEC 來增強安全性;甚至自己在核中實現更復雜的安全制。