我试图理解Docker的秘密功能,只有一个查询。假设我们的容器正在运行一个易受RCE影响的易受攻击的微服务(如PHP服务器)。有人能通过IP地址攻击我的容器并获取到我的容器的外壳吗?如果是,攻击者可以禁止安装的秘密文件的内容吗?
发布于 2017-11-16 06:06:09
发布于 2017-11-16 16:38:44
如果攻击者访问了您的容器,我会说他能够看到文件中的内容,因为根据文档,该文件是未加密的安装在容器上的:
当您授予新创建或正在运行的服务访问某个秘密时,解密的秘密将被装入内存中的文件系统中的容器中。容器中挂载点的位置默认为/run/保密/在Linux容器中,或者在Windows容器中的C:\ProgramData\Docker\保密。您可以在Docker 17.06及更高版本中指定自定义位置。
它还说:
您可以更新一个服务,以授予它对其他秘密的访问权,或者在任何时候撤销它对给定秘密的访问。
也许您可以在进程将秘密加载到内存中之后撤销访问,这样文件就不再附加到容器了。
链接到17.09 https://docs.docker.com/engine/swarm/secrets/#how-docker-manages-secrets的文档
发布于 2020-07-28 23:13:49
使用您自己的技术对秘密进行盐分,从坞元数据、环境、参数或环境变量等获取输入,然后使用md5和docker检查来收集本地存储它所需的信息,将其保存为本地的盐渍秘密,在容器上只有知道无盐技术的人才能破坏它,理论上只有使用md5本身运行命令才能破坏它。有时候,应用程序中嵌入了md5算法(想到了数据库),这意味着您可以从OS层卸载md5工具,而且它应该仍然是可用的。总之,让它变得更具挑战性和不可预知性。
https://security.stackexchange.com/questions/173574
复制相似问题