美文网首页Docker容器安全
容器安全之Dockerfile指定USER

容器安全之Dockerfile指定USER

作者: 微凉哇 | 来源:发表于2021-11-15 10:47 被阅读0次

描述

为容器镜像的Dockerfile中的容器创建非root用户

隐患分析

如果可能,指定非root用户身份运行容器是个很好的做法。
虽然用户命名空间映射可用,但是如果用户在容器镜像中指定了用户,则默认情况下容器将作为该用户运行,并且不需要特定的用户命名空间重新映射。

审计方式

[root@localhost ~]# docker ps |grep ccc|awk '{print $1}'|xargs -n1 docker inspect --format='{{.Id}}:User={{.Config.User}}'
4e53c86daf89a1bac0ed178d043663d2af162ca813ff17864ebdb964d8233459:User=

上述命令应该返回容器用户名或用户ID。 如果为空,则表示容器以root身份运行

修复建议

确保容器镜像的Dockerfile包含以下指令:USER <用户名或 ID>
其中用户名或ID是指可以在容器基础镜像中找到的用户。 如果在容器基础镜像中没有创建特定用户,则在USER指令之前添加useradd命令以添加特定用户。
例如,在Dockerfile中创建用户:

RUN useradd -d /home/username -m -s /bin/bash username USER username

注意: 如果镜像中有容器不需要的用户,请考虑删除它们。
删除这些用户后,提交镜像,然后生成新的容器实例以供使用。

参考文档

相关文章

网友评论

    本文标题:容器安全之Dockerfile指定USER

    本文链接:https://www.haomeiwen.com/subject/xdtmaltx.html