Skip to content
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

Machine ID FIPS support #23563

Merged
merged 2 commits into from Mar 30, 2023
Merged

Machine ID FIPS support #23563

merged 2 commits into from Mar 30, 2023

Conversation

strideynet
Copy link
Contributor

@strideynet strideynet commented Mar 24, 2023

Closes #22448

Goals:

  • Refuse to run if not compiled with boringcrypto
  • Use FIPS relevant endpoints for cloud providers (e.g AWS)
  • Restrict TLS / SSH cipher suites and TLS version to the good-listed sets
  • RSA2048 should be used for private key generation

lib/tbot/tbot.go Outdated Show resolved Hide resolved
@strideynet
Copy link
Contributor Author

Investigation into our existing FIPS releases reveals that tbot is already being built with boringcrypto, this means the build elements of this task are not necessary.

@strideynet
Copy link
Contributor Author

TODO:

  • Double check private key generation for certificates is correct
  • Stand up a FIPS enterprise cluster w/ machine ID using AWS IAM joining to completely test this story.

@strideynet
Copy link
Contributor Author

strideynet commented Mar 27, 2023

Can confirm RSA 2048 is used for all private key generation in tbot for impersonated and bot identity.

@strideynet
Copy link
Contributor Author

strideynet commented Mar 28, 2023

Set up FIPS teleport enterprise cluster on AWS and tested:

  • Machine ID joining with IAM joining
  • Machine ID identity file used by tsh to list hosts
  • Machine ID identity file used by tsh to ssh to host
  • Machine ID ssd_config used with openssh to ssh to host

Enterprise auth server was running build from same version as tbot. Default Teleport config with only change being fips enabled and ACME enabled.

@GavinFrazar
Copy link
Contributor

Use FIPS relevant endpoints for cloud providers (e.g AWS)

Is that supposed to be included in this PR? I don't see that

@strideynet
Copy link
Contributor Author

Use FIPS relevant endpoints for cloud providers (e.g AWS)

Is that supposed to be included in this PR? I don't see that

It's easy to miss - it literally just required passing the boolean into the registration parameters https://github.com/gravitational/teleport/pull/23563/files#diff-ada93b8988e691f20b53943cf8d5cb35f29c1502d7639766f6f4b43dcd3eb6c8R476

lib/tbot/config/config.go Show resolved Hide resolved
@strideynet strideynet added this pull request to the merge queue Mar 30, 2023
Merged via the queue into master with commit 46ff29f Mar 30, 2023
25 checks passed
@strideynet strideynet deleted the strideynet/tbot-fips-mode branch March 30, 2023 16:58
@public-teleport-github-review-bot

@strideynet See the table below for backport results.

Branch Result
branch/v12 Failed

strideynet added a commit that referenced this pull request Mar 30, 2023
* Machine ID `tbot` FIPS support

* Add GoDoc for bot CLI
strideynet added a commit that referenced this pull request Mar 30, 2023
* Machine ID `tbot` FIPS support

* Add GoDoc for bot CLI
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Machine ID: FIPS support
3 participants