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

Validate proxy peer identity #23392

Merged
merged 1 commit into from
Mar 23, 2023
Merged

Validate proxy peer identity #23392

merged 1 commit into from
Mar 23, 2023

Conversation

rosstimothy
Copy link
Contributor

Closes #23230

Proxy peer clients now validate that any connections established to a peer have the expected UUID. This prevents clients from connecting to incorrect peers if the peer_public_addr is shared by multiple proxies, or is a load balancer.

In the event that a connection is established to an incorrect peer the connection is closed and a error is written to the logs. The gRPC connection should be attempted multiple times and eventually land on the correct peer. However there may be some degradation of service until the peer connections are all properly established.

@rosstimothy rosstimothy force-pushed the tross/peer_id_validation branch 2 times, most recently from c81a94c to 2d05221 Compare March 21, 2023 19:25
@rosstimothy rosstimothy marked this pull request as ready for review March 21, 2023 19:50
lib/proxy/peer/credentials_test.go Show resolved Hide resolved
lib/proxy/peer/credentials.go Show resolved Hide resolved
lib/proxy/peer/credentials.go Outdated Show resolved Hide resolved
lib/proxy/peer/credentials.go Outdated Show resolved Hide resolved
lib/proxy/peer/client.go Outdated Show resolved Hide resolved
Closes #23230

Proxy peer clients now validate that any connections established to
a peer have the expected UUID. This prevents clients from connecting
to incorrect peers if the `peer_public_addr` is shared by multiple
proxies, or is a load balancer.

In the event that a connection is established to an incorrect peer
the connection is closed and a error is written to the logs. The
gRPC connection should be attempted multiple times and eventually
land on the correct peer. However there may be some degradation
of service until the peer connections are all properly established.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Using a load balancer address for peer_public_addr leads to inconsistent state
4 participants