如果我想获取一些不受信任的代码并在容器中运行它,只要容器作为非root非sudo用户运行,它是否可以安全地完成?做这样的事情有哪些潜在的安全隐患?
我很确定今天有生产应用程序这样做(CI系统,可运行的pastebins),但他们是否幸运没有一个坚定的攻击者或者这在生产系统中是否合理?
解决方法
>从容器内的非root用户升级到root用户
>将容器中的root用户升级到主机上的root用户
因此,如果不受信任的代码作为非root用户在Docker容器内运行,攻击者在主机上成为root就会稍微困难一些,因为我们在容器内添加了一个额外的root步骤.与使用root权限运行容器相比,这是安全性方面的唯一优势.
如果通过两个安全层进行权限提升,则以下内容应有助于限制攻击面:
>具有不同信任级别的工作负载(更具体地说,在此上下文中为docker容器)应通过使用覆盖网络遵循最小权限原则彼此隔离.
>在强制模式下启用可用的Linux安全模块(例如SELinux,AppArmor)
参考文献:
>在容器内运行非root权限:https://groups.google.com/forum/#!msg/docker-user/e9RkC4y-21E/JOZF8H-PfYsJ
>覆盖网络:https://docs.docker.com/engine/userguide/networking/get-started-overlay/
>用户名称空间:https://docs.docker.com/engine/security/security/#/other-kernel-security-features
原文地址:https://www.jb51.cc/linux/394803.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。