为什么有这么多的docker图像有漏洞?
我已经花了一些时间在hub.docker.com上探索docker hub,我对我想在我的项目中使用的官方图像中的一些漏洞感到震惊。
至于现在(2/27/2017)
- Nginx: https : //hub.docker.com/r/library/nginx/tags/ – 没有图像没有漏洞
- Ubuntu: https : //hub.docker.com/r/library/ubuntu/tags/ – 没有图像没有漏洞
- MySql: https : //hub.docker.com/r/library/mysql/tags/ – 没有图像没有漏洞
- Redis: https : //hub.docker.com/r/library/redis/tags/ – 相同
- Postgres: https : //hub.docker.com/r/library/postgres/tags/ – 相同
- Java: https : //hub.docker.com/r/library/java/tags/ – 相同
- Node.js: https : //hub.docker.com/r/library/node/tags/ – 只有6个图像没有已知的漏洞(我觉得幸运find他们)
所以,我的问题是:
1)如此巨大的脆弱图像的原因是什么?
2)如何决定何时可以安全地使用这种易受攻击的(根据Docker Security Scanning)映像还是等待官方修复更好?
重要更新:似乎您需要在Docker Hub上login才能看到“此映像有漏洞”消息。 下面是Nginx的回放截图:
根据https://docs.docker.com/docker-cloud/builds/image-scan/
扫描将每个组件的SHA与通用漏洞披露(CVE®)数据库进行比较
这意味着漏洞可能不在图像本身,而是在组件上(例如已知的OpenJDK漏洞)。 这可能是因为组件的版本是旧的并且还没有被更新,或者该漏洞是已知的,但在最新版本中尚未被修复。
不过,您可能不会使用具有漏洞的function。 可能最好的办法是在开发时检查您正在使用的组件中已知的漏洞,并确保您没有使用任何具有未修补漏洞的function。