Ubuntu 提高Docker安全性
我正在对一个web应用程序进行最后润色,该应用程序允许用户运行承载各种不同应用程序的Docker会话。在我回顾安全性时,我想到的一个想法是,用户只需向文件系统写入太多数据,就可以让整个系统——所有用户的所有托管会话——陷入瘫痪 为了避免这种情况,我采取的措施之一是使用有限的空间设置虚拟驱动器,用于映射(通过Docker)用户可能访问的文件夹。映射的精确文件夹取决于Docker容器中承载的内容。例如,在托管MySQL数据库时,我映射Ubuntu 提高Docker安全性,ubuntu,docker,Ubuntu,Docker,我正在对一个web应用程序进行最后润色,该应用程序允许用户运行承载各种不同应用程序的Docker会话。在我回顾安全性时,我想到的一个想法是,用户只需向文件系统写入太多数据,就可以让整个系统——所有用户的所有托管会话——陷入瘫痪 为了避免这种情况,我采取的措施之一是使用有限的空间设置虚拟驱动器,用于映射(通过Docker)用户可能访问的文件夹。映射的精确文件夹取决于Docker容器中承载的内容。例如,在托管MySQL数据库时,我映射/var/lib/MySQL文件夹以防止数据库以不受控制的方式增长
/var/lib/MySQL
文件夹以防止数据库以不受控制的方式增长
到目前为止一切都很好——然而,就在几个小时前,我意识到另一个普遍的薄弱环节是/tmp
文件夹。因此,我也尝试将该文件夹映射到虚拟驱动器。一开始很幼稚——由www数据所有,并且chmod'd
到775:这很快让一切都停止了。我无法运行包含php5、mysql、memcached或大多数内容的容器
在我的“真实”服务器上翻找之后,我将映射的/tmp
文件夹更改为root所有,并将chmod'd
文件夹更改为777,使所有内容都重新工作
在这个过程中,我发现了一些别的东西:
- Docker使用文件系统。因此,例如,Docker会话中的“普通”
文件夹将位于AUFS上/tmp
- 你可能会说没问题。然而,AUF并没有与EXT4一样的所有功能李>
- 仅举一个例子:我想在我的
文件夹中的一些文件上使用扩展文件系统属性/tmp
,然后使用apt get install attr
setfattr-n.
/tmp
,则会话中的/tmp
文件夹将是EXT4
然而,所有这些提出的问题比它回答的问题还多
”/tmp
文件夹的正确所有权和权限是什么李>
/tmp
、更改其所有者和chmod'ing
的其他问题- 所有这些冒险都是在Ubuntu14.10上进行的李>
- 当虚拟驱动器的磁盘空间不足时会发生什么情况?-我运行了一个每分钟一次的CRON作业,当用户的磁盘空间不足时会发出警报
在过去的几个月里,我对Docker和Linux有了很多了解,但我远不是一个专家。我非常感谢任何能够填补这里空白并回答其中一些问题的人。您帖子中的一些答案
/tmp
,将为每个人提供正确的读写权限/bin/tmp/boot/proc
我对你的问题没有确切的答案,因为我自己仍在学习这些细节,但我来这里是想说一些我认为可能有用的东西。阅读以下文档有助于我了解运行docker守护程序及其配置以及主机配置的风险:显然,应用程序代码也应该没有漏洞。