express refine

This commit is contained in:
Baohua Yang
2014-09-11 22:52:28 +08:00
parent 1f5fb2d521
commit 1d101330fd
16 changed files with 122 additions and 96 deletions

View File

@@ -2,4 +2,4 @@
评估docker的安全性时主要考虑3个方面:
* 由内核中namespace和cgruoups提供的容器的内在安全
* docker程序本身的抗攻击性
加固内核安全性来影响容器的安全性
加固内核安全性来影响容器的安全性

View File

@@ -8,10 +8,10 @@
这意味这大部分情况下容器完全不需要“真正的”root权限。因此容器可以运行一个减少的capabilities集容器中的root也比“真正的root"拥有更少的capabilities,比如:
* 完全禁止任何mount操作
* 禁止直接访问宿主主机的socket
* 禁止直接访问宿主主机的socket
* 禁止访问一些文件系统的操作比如创建新的设备node等等
* 禁止模块加载
* 还有一些其他的
就算攻击者在容器中取得了root权限他能做的破坏也少了也不能获得主机的更高权限。
然而这不会影响普通的web apps恶意的用户会想各种办法来对你默认情况下docker丢弃了它需要的功能之外的其余部分。这里有一个白名单和黑名单在 Linux manpages可以看到完整的清单列表。当然你还可以启用你需要的额外capabilities。默认docker容器仅使用白名单的内capabilities。
然而这不会影响普通的web apps恶意的用户会想各种办法来对你默认情况下docker丢弃了它需要的功能之外的其余部分。这里有一个白名单和黑名单在 Linux manpages可以看到完整的清单列表。当然你还可以启用你需要的额外capabilities。默认docker容器仅使用白名单的内capabilities。

View File

@@ -1,2 +1,2 @@
##结论
docker容器默认还是比较安全的特别是你如果注意在容器中使用非root权限来允许进程的话。你还可以添加额外的比如Apparmor, SELinux, GRSEC等你熟悉的加固方法。最后如果你对其他容器系统中的安全特性感兴趣你也可以在docker中实现它毕竟所有的东西都已经在内核中了。
docker容器默认还是比较安全的特别是你如果注意在容器中使用非root权限来允许进程的话。你还可以添加额外的比如Apparmor, SELinux, GRSEC等你熟悉的加固方法。最后如果你对其他容器系统中的安全特性感兴趣你也可以在docker中实现它毕竟所有的东西都已经在内核中了。