-
Notifications
You must be signed in to change notification settings - Fork 62
Modifies container to run in FIPS mode #721
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
Conversation
|
@jeremytourville Thanks for the PR! What is the outcome you would like to see? Are you able to build your own FIPS enabled images and this contribution is just an example for other users? Or would you like for us to build and publish this FIPs image? I'm averse to accepting new images to maintain and publish (I'm actually on a crusade to simplify and reduce the amount we currently maintain). The changes needed to add FIPS seem simple enough to add as an example in the docs and that's were I am currently leaning in the direction this PR should take. |
|
@gerrod3 I am NOT a developer! (Just a devops guy who know enough to be dangerous and write a little code) I hope you can review this image for correctness. It seems to work but you might find issues. I was hoping your team could build and publish a FIPS enabled image as a base standard. (Then leave it up to the person deploying to determine if the host OS should run FIPS or not. I am unable to use the Pulp project as a whole unless I can run a FIPS enabled image - see the issue I posted. It is mandated for many of us who support Gov't sector work. |
|
@gerrod3 @ggainey @mikedep333 @git-hyagi As hyagi has commented below, there is a module that is preventing a build from happening that would allow FIPS to be run. I have been having limited success on getting an image that contains all components. I can't speak to how challenging this may be to get fixed. I do hope you will all give this issue some consideration for the near future and put it on the road map. This would certainly increase the user base as more of us could use the images in either Podman, Docker or Kubernetes/Openshift. Thank you! @git-hyagi Thank you for the email. (It is copied here for posterity's sake)
|
|
This PR should make |
|
@jeremytourville Can you try running the latest images in FIPS mode and see if they work? |
|
I still encounter the same issue - crypto/fips/fips.c:154: OpenSSL internal
error: FATAL FIPS SELFTEST FAILURE
This is from the multiprocess image with :latest tag.
I also tried running the single process images with the compose file and
run into issues with that as well.
…On Thu, Mar 20, 2025 at 2:22 PM Gerrod ***@***.***> wrote:
@jeremytourville <https://github.com/jeremytourville> Can you try running
the latest images in FIPS mode and see if they work?
—
Reply to this email directly, view it on GitHub
<#721 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AJMQSL5ETQEKIBVJVFQVDZ32VMIOXAVCNFSM6AAAAABX5XV2W2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDONBRGQ2TCMZQGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
[image: gerrod3]*gerrod3* left a comment (pulp/pulp-oci-images#721)
<#721 (comment)>
@jeremytourville <https://github.com/jeremytourville> Can you try running
the latest images in FIPS mode and see if they work?
—
Reply to this email directly, view it on GitHub
<#721 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AJMQSL5ETQEKIBVJVFQVDZ32VMIOXAVCNFSM6AAAAABX5XV2W2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDONBRGQ2TCMZQGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
|
Which version of createrepo_c is installed in your image? |
|
Whatever version your image is providing.
>> Can you try running the latest images in FIPS mode and see if they work?
I saw your comments earlier about createrepo_c. I don't have the knowledge
to build that module. As I previously stated, I am not a developer.
My presumption is that some changes were made in code if I am being asked
to run the "latest". Do I have a misunderstanding?
…On Mon, Mar 24, 2025 at 12:49 PM Daniel Alley ***@***.***> wrote:
Which version of createrepo_c is installed in your image?
—
Reply to this email directly, view it on GitHub
<#721 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AJMQSLZIECGPJQCTL53GMOL2WBARZAVCNFSM6AAAAABX5XV2W2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDONBYHE2TQNJSHE>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
[image: dralley]*dralley* left a comment (pulp/pulp-oci-images#721)
<#721 (comment)>
Which version of createrepo_c is installed in your image?
—
Reply to this email directly, view it on GitHub
<#721 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AJMQSLZIECGPJQCTL53GMOL2WBARZAVCNFSM6AAAAABX5XV2W2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDONBYHE2TQNJSHE>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
|
Can you run |
|
pulp/pulp-minimal:latest pulp/pulp:latest So, it looks like both the single process and multi-process images both run the same version. Logs for pulp/pulp:latest still show Attempting to run pulp/pulp-minimal:latest as part of a compose file fails. I get a bunch of exit code 125 & 127 errors. The only way I could run the pulp image was in debug mode as just a single image. I have not modified the compose file in any way. I am using exactly what is published Github. [root@sgsir-podman01 compose]# |
|
Well, it's the correct (new) version at least, so that's not the issue. And the openssl errors raise when you try to import the createrepo_c package? |
The openssl errors happen when I simply try to run either the:
I'm not doing anything to specifically import those. If there's an import happening, the code must be doing it. |
|
This pull request has been marked 'stale' due to lack of recent activity. If there is no further activity, the PR will be closed in another 30 days. Thank you for your contribution! |
So, I think this is the real key detail. I've had a couple of discussions with folks and it seems like this pinpoints the point of failure as being the self-integrity check which openssl performs when running in FIPS mode. Since the package is installed via PyPI, it's pulling a pre-built binary wheel package processed with If that's the case then building createrepo_c from source inside of the container so that system libraries are used instead of bundled ones should probably work, though it's an unfortunate thing to need to do. Otherwise maybe using an image based off of Katello's RPM packages might work. |
|
This issue is no longer marked for closure. |
|
Alternatively maybe something along these lines works: https://stackoverflow.com/questions/70788681/pyinstaller-fatal-fips-selftest-failure
That might work if it's failing because the fingerprints of the bundled openssl are straight up missing. In that case obviously re-bundling the fingerprints would potentially help. With that said I can't find those hmac files anywhere on the CentOS Stream 9 system in the first place |
|
This pull request has been marked 'stale' due to lack of recent activity. If there is no further activity, the PR will be closed in another 30 days. Thank you for your contribution! |
|
This pull request has been closed due to inactivity. If you feel this is in error, please reopen the pull request or file a new PR with the relevant details. |
Fixes #716