显然这是开放,各种各样的解释,例如密码我们都同意一个秘密与硬编码的密码是一个CVE后门,但应用程序的默认密码,然后被迫改变一旦你登录吗?什么必须暴露在网络应用程序(引入种族攻击者可能会在第一次)?一般来说我们有一个好主意的界限的密码(记录?多变的吗?有一个现实的安全的方法来部署这个产品?)。
首先一个小故事:我的儿子玩"我很多,所以我要设置一个服务器。我发现了一些软件,设置当然是恼人的(有些奇怪的依赖关系不打包我的平台选择的)。所以我想“嘿,让我们找到一个集装箱码头工人!”,幸运的是有几个:
你会注意它的线:
用户pocketmine
声明,这意味着该命令运行作为一个用户,而不是根。但github的快速搜索显示:
例如显示:
不降级到用户,而是作为根用户运行脚本。所以点做我们在沙地上画一条线”“下载随机的东西,并运行它作为CVE值得吗?我的想法:
让它少CVE值得:
1)文件提及这是做什么,这是很危险的
2)降低到更少的特权用户
3)使用HTTPS服务内容
4)使用一个众所周知/信任的网站服务内容
使它更CVE值得:
1)没有文档/提到它在做什么
2)以特权用户身份运行命令(如根)
3)使用HTTP下载内容(和没有端到端签字/检查)
4)使用基本随机服务器没有人听说过
5)广泛应用(例如集装箱在码头工人注册表中)
例如从Nginx Dockerfile:
TL;博士:他们GPG密钥指纹作为Dockerfile env变量:
ENV GPG_KEYS B0F4253373F8F6F510D42178520A9993A1C052F8
他们后来下载键和用它来验证nginx tarball下载:
& & gpg——批量验证nginx.tar.gz。asc nginx.tar。广州\
所以他们肯定是想做正确的事(我需要确认这个会错误出在构建如果键不能使用/错误的关键是为asc签名是坏的)假设它能够正常工作(一个错误触发码头工人建立中止)然后显然是安全的,不需要反暴力极端主义。
但大多数容器没有做这样的事情,甚至没有关闭,我想我们需要开始分配CVE看起来像很多流行的集装箱Dockerfiles很没有安全感,他们如何构建软件。
- - -
Kurt Seifried——红帽产品安全——云
PGP A90B F995 7350 148 f 66高炉7554 160 d 4553 5 e26 7993
红帽产品安全联系:
secalert@redhat.com