-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Request: Please make FIPS 140-2 compliant images available #7649
Comments
I'm more inclined to leave such enhancement downstream. |
It's a widely followed government compliance requirement. I would propose if we were to do this, we do it using boringcrypto flag during build time.
Per their readme,
This mean that velero project will not be officially certifying the project as FIPS 140 compliant. User will have to do their own verification. |
We would use |
Exactly as mentioned above. The two minimum required changes would be to:
The portion that needs to be in this repo is very small and could be the defacto release or a different image tag. Either way, for any consumer that wishes to use velero in their clusters this step being in the upstream leads to MUCH less toil. |
Hi, any update for this requirement? |
ATM I don't think there's commitment to delivering the FIPS images. I know re-compiling it is relatively easy, but it would be a continuous effort to maintain and keep it compliant, IMO we need to discuss with other maintainers before making any public decision. |
FYI added PR to #8412 for discussion etc. |
We might want to use base images from https://github.com/microsoft/go/tree/microsoft/main/eng/doc/fips They produces a bookworm 1.22 images which should slot right in for our Dockerfile. |
From initial experiments it seems to require more changes than just dropping in ENV when go building. Or perhaps it is because I am on GOOS=darwin which may not be able to (cross) compile this. Tried compiling with GOOS=linux and resulting is still standard crypto lib. Either I need to install a new go CLI that is fips enabled or following quotes do not apply on macOS
If cross compiling on darwin is the issue then |
But at least IIUC darwin devs should still be able to build |
Probably doing something wrong here.
Details
|
rh toolset works. opened issue with MSFT
|
Closed PR for now until there's clarity on if there's a less complex way to drop-in changes. |
Per microsoft/go#1412 (comment) it looks like microsoft bookworm images would be capable of producing fips complaint binaries.. but I'm not sure if that's enough for a complaint container image. If folks really want it to be upstreamed here and are more aware of the needed changes, a PR is always welcome. For now, the maintainers have agreement that it is out of scope of our priorities. If there's anything blocking your downstream FIPS build that need changes here, please let us know. |
Thanks @kaovilai I'm putting this in "icebox" |
@reasonerjt thanks. Another thing that would help simplify is if we can keep producing one kind of image. If we can do FIPS image here, can it be the only image we publish? |
Describe the solution you'd like
At Acquia we’re currently using this component as part of our globally distributed Kubernetes infrastructure.
Like most providers, we expend a lot of effort ensuring that we remain compliant with varied regulatory regimes across different localities. Currently we're working towards FIPS compliance which is required by federal institutions like healthcare, banking, and defense organizations to set cryptographic standards for highly sensitive data.
The FIPS 140-2 encryption compliance requirement poses a common problem that is likely to be shared by any organizations looking to obtain a FEDRAMP certification and which use a myriad of OSS Kubernetes components under the hood.
FIPS compliance stands as a barrier to entry for smaller organizations. Accepting our contribution would take a small step towards lowering that barrier for the general public and other open source projects.
We, and any other cloud based software providers that are building atop Kubernetes, would benefit from the availability of off-the-shelf FIPS-compliant variants of this project’s images.
While many tools exist to tweak deployment manifests, it can be complex and fragile to rebuild upstream images with constraints placed on encryption libraries. This type of change would be far easier to make inside the originating repo.
Internally, we have explored several paths forward to achieve our compliance objectives. We are hoping to be able to contribute the required changes upstream in a way that benefits the community at large and minimizes toil.
Initially, we are requesting that the current maintainers and community consider supporting FIPS images. We have a notional approach to contribute and would like to collaborate.
Please let us know your thoughts in this Issue or by reaching out directly.
At this time, we have an internal approach that we are using on our internal Go-based controllers and other container images. There are some basic requirements that we’d ask to be built into a
-fips
variant including assertions that could live in the upstream build steps or in later CI steps.What we do internally is:
Thank you for your time considering this request as well as your efforts supporting this project!
Acquia KaaS Core Services team
Anything else you would like to add:
Similar to #5284.
The changes would be very minor, don't add toil, and wouldn't break things. We can't add this later because the change has to be at the step where the binary is built.
Environment:
velero version
):kubectl version
):/etc/os-release
):Vote on this issue!
This is an invitation to the Velero community to vote on issues, you can see the project's top voted issues listed here.
Use the "reaction smiley face" up to the right of this comment to vote.
The text was updated successfully, but these errors were encountered: