目前项目用到了一个第三方的软件,提供了很多命令。我们做的事情就是将这些命令开放成restful服务,供各个系统使用。
有一个需求:要将一些危险的命令过滤掉,主要都是一些"写"命令,比如Export,就是导出一个数据到某个目录。"ClearAttribute"清除某个系统属性(不是写命令)。
当用户请求中包含此类的命令,直接403
我们目前的做法是 黑/白 名单,但是太麻烦了,经常要添加新命令,也有被错杀掉的。
我在想这种场景把这个服务做到容器里面,然后对整个容器做权限控制。是不是可以解决?
从来没弄过docker,不知道适不适合这么搞。
网上有人说可以用sandbox弄,搜了下sandbox和docker区别,也没弄清。
高洛峰2017-04-24 09:14:43
在你的场景里 docker约等于vm && 约等于 物理机. 所以, 你想加几台机器来满足应用上的一些需求显然是不合理的.
docker不是万能的.
docker不是万能的.
docker不是万能的.
大家讲道理2017-04-24 09:14:43
像楼上说的 docker 不是万能的,
你可以自己写这个系统,然后由这个系统提供服务给外面,这个系统过滤权限,也由这个系统调用本机的东西,然后同样要把这个系统打包到 docker 中。