谈谈 docker 的安全性
作为开发人员我很少关注服务器环境的安全性问题,我一般会比较关注我自身代码的安全问题。 现在整站上了docker容器后,其实也会比较关注服务器的安全性,我个人觉得应该是比较安全的,毕竟是在容器中运行,就算我某个服务挂了,也威胁不到我宿主机的安全。
直到某次我在网上看到了一个文章,说可以越过容器,修改宿主机文件,当下一惊,还有这种操作?后面仔细看了下,发现只要权限控制住,也不怕,具体可以看这里-Docker逃逸初探。
总结该文章讲的三种情况会导致docker逃逸: 一、 配置特权模式时的逃逸情况
- —privileged(特权模式)这种我完全不考虑,因为我肯定不会给特权,要修改文件,我会人工确认给予权限。
- —cap-add与SYS_ADMIN 本身docker就是运行在root用户下了。。不过容器没有那么高权限,这种应该也不会让我环境受威胁。
二、 挂载配置不当时的逃逸情况
- 不要让容器挂载:
/var/run/
目录就可以了
三、 内核级漏洞
- 脏牛漏洞(CVE-2016-5195)与VDSO(虚拟动态共享对象)
- PoC&验证环境 这两种通过修复,以及不随便运行不明的docker镜像就可以避免,生产环境一般不会,测试环境。。。
话说回来,CIS列了一个列表,说docker虽然挺安全(其实很安全),但是默认的环境下,还是需要做一些安全配置。点这里看原文- a step-by-step checklist for securing Docker 所以docker就搞了一个工具,可以检测docker中的问题(漏洞)这就是大名鼎鼎的Docker Bench
,这个工具能够很快速的检测出当前docker环境的问题。 审查结束,会有三种提示信息:[info],[warn],[note],[warn]是我们要关注的。
综合这些内容看下来,好像也没啥大不了,我觉得主要控制住以下几点,即可高枕无忧:
- 自己做dockerfile,并且自己编译并且运行
- 容器只给予最小的权限,挂载最少的目录。
- 容器中运行的程序尽量只有一个,如果要运行多个,那就开多个容器分别运行。
- 设置CPU,内存,网络使用额度限制。
- 宿主机安全配置(SSH换端口,使用证书登录,关闭不需要的端口)
当然,我这篇文章属于闲扯,大家可以参看这篇文章,了解安全审计出现的问题,要怎么处理。点击这里-【报告解读系列二】容器环境脆弱性分析
参考来源:
本文来自:谈谈 docker 的安全性-小码农,转载请保留本条链接,感谢!
温馨提示:
本文最后更新于 2021年01月09日,已超过 1,424 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我。
正文到此结束
- 本文标签: 安全 docker 闲扯
- 本文链接: https://djc8.cn/archives/talking-about-the-security-of-docker.html
- 版权声明: 本文由小码农原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权
热门推荐
相关文章
该篇文章的评论功能已被站长关闭