Skip to content

Auth enforces FIPS STS endpoints for IAM join method when in FIPS mode#16124

Merged
nklaassen merged 10 commits intomasterfrom
nklaassen/sts-fips-auth
Sep 19, 2022
Merged

Auth enforces FIPS STS endpoints for IAM join method when in FIPS mode#16124
nklaassen merged 10 commits intomasterfrom
nklaassen/sts-fips-auth

Conversation

@nklaassen
Copy link
Copy Markdown
Contributor

@nklaassen nklaassen commented Sep 2, 2022

This PR builds on the previous PR #16123 which enables nodes to select FIPS STS endpoints for the IAM join method. With this PR, the when the Auth server is running in FIPS mode it will enforce that FIPS endpoints are used by all nodes joining the cluster.

This will be a backward-incompatible change, as nodes which do not use FIPS endpoints will not be able to join. For this reason, this change will not be backported and will only go to master and be released in 11.0.

re: #15927

@strideynet
Copy link
Copy Markdown
Contributor

To play the devil's advocate on release version here, does this not need to be introduced in v12 ? Our versioning promise is 1 major version either way, do we insist that they need to be running the newest version of the previous major version for it to be compatible with a release of the next major version (or, in the interest of getting this released soon, perhaps we just bite the bullet on customers potentially having issues onboarding older v10 nodes and just tell them to update to a newer version of v10 for it to work with a v11 auth server when using FIPS?)

Comment thread lib/auth/join_iam.go Outdated
@nklaassen
Copy link
Copy Markdown
Contributor Author

To play the devil's advocate on release version here, does this not need to be introduced in v12?

Yeah, that's a good point, I've updated the code to check teleport.Version and only enforce fips endpoints on v12 or greater

@nklaassen
Copy link
Copy Markdown
Contributor Author

@fspmarshall @ravicious can one of you guys take another look at this one?

@nklaassen nklaassen changed the base branch from nklaassen/sts-fips-client to master September 15, 2022 16:24
@gravitational gravitational deleted a comment from github-actions Bot Sep 15, 2022
Comment thread lib/auth/join_iam.go
Comment on lines +94 to +98
log.Warnf("Non-FIPS STS endpoint (%s) was used by a node joining "+
"the cluster with the IAM join method. "+
"Ensure that all nodes joining the cluster are up to date and also run in FIPS mode. "+
"This will be an error in Teleport 12.0.0.",
stsHost)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Kinda unfortunate that this will only be shown in the logs but there doesn't seem to be any place closer to the actual user interaction where we could show this. As far as I understand the Joining Nodes via AWS IAM Role guide, this code path will be triggered only when a Teleport agent tries to join the cluster, won't it?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

That is correct. I'm not sure there's any better place to warn about it, but in theory nothing should break as long as everything is within 1 major version.

@github-actions github-actions Bot removed the request for review from fspmarshall September 19, 2022 15:00
@nklaassen nklaassen merged commit 2d141b3 into master Sep 19, 2022
@github-actions
Copy link
Copy Markdown
Contributor

@nklaassen See the table below for backport results.

Branch Result
branch/v10 Failed

@nklaassen nklaassen deleted the nklaassen/sts-fips-auth branch September 27, 2022 17:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants