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

Restrict cipher suites for Desktop Access in FIPS mode #42277

Merged
merged 23 commits into from
Jun 18, 2024

Conversation

ibeckermayer
Copy link
Contributor

@ibeckermayer ibeckermayer commented Jun 3, 2024

This PR changes the boring hash in the Cargo.toml to one which allows us to call builder.set_fips_compliance_policy()?;, which restricts cipher suites to those which are FIPS validated. To this end, it also reverts clang from 14 to 12.0.0 in the buildbox, because the boring hash we're now using is using a (actually, not soon-to-be) FIPS-validated hash for boringssl which must be built by 12.0.0.

It also removes the RDP client (and therefore Desktop Access feature) for FIPS builds on arm64. It was proving extremely difficult to get boringssl to build via the Centos 7 Docker image. Since we are unaware of paying customers who require running a FIPS-enabled Windows Desktop Service on this architecture, we've elected to just drop support for now.

Closes https://github.com/gravitational/teleport.e/issues/3065
Closes https://github.com/gravitational/customer-sensitive-requests/issues/254

Depends on

Isaiah Becker-Mayer and others added 7 commits May 12, 2024 16:02
This hash is on a branch and should be changed once that branch is merged.

It includes the `set_fips_compliance_policy` function which is used to
enforce FIPS-valid ciphers in the connection.

This commit also updates `Cargo.lock` generally by having called
`cargo update` before committing the changes.
Copy link
Contributor

@probakowski probakowski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, just one question

build.assets/Dockerfile-centos7-assets Show resolved Hide resolved
@ibeckermayer ibeckermayer requested review from camscale and r0mant and removed request for EdwardDowling June 3, 2024 18:56
Makefile Outdated Show resolved Hide resolved
Co-authored-by: Zac Bergquist <[email protected]>
@ibeckermayer
Copy link
Contributor Author

I've added this note to the documentation re: Desktop Access FIPS: ab64baa

Copy link

github-actions bot commented Jun 6, 2024

The PR changelog entry failed validation: Changelog entry not found in the PR body. Please add a "no-changelog" label to the PR, or changelog lines starting with changelog: followed by the changelog entries for the PR.

Copy link

github-actions bot commented Jun 6, 2024

🤖 Vercel preview here: https://docs-8107z7e87-goteleport.vercel.app/docs/ver/preview

Copy link

🤖 Vercel preview here: https://docs-j29wuxett-goteleport.vercel.app/docs/ver/preview

Copy link

🤖 Vercel preview here: https://docs-kvy7f9kqo-goteleport.vercel.app/docs/ver/preview

Copy link

🤖 Vercel preview here: https://docs-e9nq1972y-goteleport.vercel.app/docs/ver/preview

Copy link

🤖 Vercel preview here: https://docs-mrhfdecv1-goteleport.vercel.app/docs/ver/preview

Copy link

🤖 Vercel preview here: https://docs-hpn5owylz-goteleport.vercel.app/docs/ver/preview

Copy link

🤖 Vercel preview here: https://docs-g7bqvdmld-goteleport.vercel.app/docs/ver/preview

@ibeckermayer ibeckermayer added this pull request to the merge queue Jun 17, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Jun 17, 2024
@ibeckermayer ibeckermayer added this pull request to the merge queue Jun 17, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Jun 17, 2024
@ibeckermayer ibeckermayer added this pull request to the merge queue Jun 18, 2024
Merged via the queue into master with commit d6fe42b Jun 18, 2024
41 checks passed
@ibeckermayer ibeckermayer deleted the isaiah/enforce-fips branch June 18, 2024 00:47
@public-teleport-github-review-bot

@ibeckermayer See the table below for backport results.

Branch Result
branch/v16 Failed

ibeckermayer pushed a commit that referenced this pull request Jun 18, 2024
* Updates to the new boring fork's hash with FIPS enforcement.

This hash is on a branch and should be changed once that branch is merged.

It includes the `set_fips_compliance_policy` function which is used to
enforce FIPS-valid ciphers in the connection.

This commit also updates `Cargo.lock` generally by having called
`cargo update` before committing the changes.

* reverts previous changes such that we are again using clang 12.0.0 rather than 14.0.6

* Updates to latest boring hash

* removes rdp client for fips builds on arm64

* updates e to isaiah/enforce-fips head

* Updates boring ref

* Updates boring ref

* Update Makefile

Co-authored-by: Zac Bergquist <[email protected]>

* Adds note about desktop access fips to fedramp docs

* Updates boring hash to now-merged HEAD of the `teleport` branch

* update e to latest head

* try adding --nocheck to see if that fixes arm64 builds

* udates to latest HEAD

* latest e

* Update docs/pages/access-controls/compliance-frameworks/fedramp.mdx

Co-authored-by: Zac Bergquist <[email protected]>

* Update docs/pages/access-controls/compliance-frameworks/fedramp.mdx

Co-authored-by: Zac Bergquist <[email protected]>

* Update docs/pages/access-controls/compliance-frameworks/fedramp.mdx

Co-authored-by: Zac Bergquist <[email protected]>

* noteable --> notable

---------

Co-authored-by: Zac Bergquist <[email protected]>
github-merge-queue bot pushed a commit that referenced this pull request Jun 20, 2024
* Updates to the new boring fork's hash with FIPS enforcement.

This hash is on a branch and should be changed once that branch is merged.

It includes the `set_fips_compliance_policy` function which is used to
enforce FIPS-valid ciphers in the connection.

This commit also updates `Cargo.lock` generally by having called
`cargo update` before committing the changes.

* reverts previous changes such that we are again using clang 12.0.0 rather than 14.0.6

* Updates to latest boring hash

* removes rdp client for fips builds on arm64

* updates e to isaiah/enforce-fips head

* Updates boring ref

* Updates boring ref

* Update Makefile



* Adds note about desktop access fips to fedramp docs

* Updates boring hash to now-merged HEAD of the `teleport` branch

* update e to latest head

* try adding --nocheck to see if that fixes arm64 builds

* udates to latest HEAD

* latest e

* Update docs/pages/access-controls/compliance-frameworks/fedramp.mdx



* Update docs/pages/access-controls/compliance-frameworks/fedramp.mdx



* Update docs/pages/access-controls/compliance-frameworks/fedramp.mdx



* noteable --> notable

---------

Co-authored-by: Zac Bergquist <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport/branch/v16 desktop-access no-changelog Indicates that a PR does not require a changelog entry rdp size/sm
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants