我可以仅为某些选定的 Docker (podman) 容器启用 FIPS 140-2 吗?仅用于自动化测试目的

问题描述 投票:0回答:2

为了在 FIPS 140-2 环境下测试我的应用程序,我想到运行 fipsed 容器。

这是否可以做到,无需将整个主机置于 FIPS 模式,并且所有容器都在 FIPS 限制下运行?

docker automated-tests fedora fips podman
2个回答
1
投票

我不相信这是可能的。某些库(如 openssl)不仅期望从(FIPS 模式)主机绑定安装“神奇”文件,而且它们还会检查

/proc/sys/crypto/fips_enabled
。 前者可能可以在容器中伪造,但使用后者(proc 文件)这样做听起来很危险。

参考此评论:https://github.com/containers/podman/issues/9193#issuecomment-791928427


0
投票

事实上,要让容器使用 FIPS,容器主机也需要使用 FIPS。其他任何事情都不是供应商批准的程序。

对于快速开发人员测试,另一个答案中描述的安装技巧是一个非常好的技巧。可以这样做

创建一个包含“1”的本地文件

echo 1 > ~/one

将该文件安装到您的容器中,突然 OpenSSL 检测到它位于 FIPS 上并启用 FIPS 模式

% podman run \
  -v ~/one:/proc/sys/crypto/fips_enabled \
  --platform linux/amd64 \
  --rm -it registry.access.redhat.com/ubi8/nodejs-18:1-102 node \
    -p 'crypto.getFips()'
1
© www.soinside.com 2019 - 2024. All rights reserved.