搜索
缓存时间01 现在时间01 缓存数据 那些表面上看起来很洒脱的人,心里都曾有一个角落,碎的很彻底。晚安!
查看: 137|回复: 0

Docker安全运行设置:新手向

[复制链接]
发表于 2024-10-13 12:14:23 来自手机 | 显示全部楼层 |阅读模式

厌倦了滚动浏览相同的帖子?当您创建帐户后,您将始终回到您离开的地方。使用帐户,不仅可以享受无广告的清爽界面!

您需要 登录 才可以下载或查看,没有账号?注册

×
我们创建运行Docker很多情况下是直接在线拉取然后配置参数或参数文件运行。这种方式非常方便快捷,但是多数Docker默认采用root运行,并且有权限挂载宿主机目录,攻击者可以对宿主机文件进行操作,也违背最小授权原则。要加强安全设置最佳实践是修改dockerfile,创建appuser,指定appuser运行docker。但实际操作比较麻烦。退而求其次的方式是限制docker运行用户权限范围,即使是root用户运行,限制权限后也可以一定程度防止对宿主机的攻击。

具体配置方式。
给予当前用户docker组权限,避免每次运行需要sudo提权。
sudo usermod -aG docker $USER

修改当前运行docker,增加权限限制。
查看当前运行docker名称和运行情况
docker ps

停止目标docker运行,以最常见的watchtower为例:
docker stop watchtower

删除当前docker
docker rm watchtower

重新运行docker,通过cap-drop参数限制所有权限,仅赋予绑定网络权限。
docker run -d --restart=always --cap-drop=ALL --cap-add=NET_BIND_SERVICE -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower

查看docker运行情况
docker ps

通过以上设置可以大大提升运行docker的宿主机安全。而且无需做大的修改和繁琐设置。当然最安全的做法还是添加和指定appuser这样的普通用户运行docker,但需要处理相关的各种权限问题。另外配置了watchtower的情况下检查到版本更新,会继承初始创建时的运行参数,保持对docker内运行用户的权限限制。
爱生活,爱奶昔~

Powered by Nyarime. Licensed

GMT+8, 2024-11-22 01:06 , Processed in 0.026301 second(s), 9 queries , Gzip On, Redis On
发帖际遇 ·手机版 ·小黑屋 ·RSS ·奶昔网

登录切换风格
快速回复 返回顶部 返回列表