-
Notifications
You must be signed in to change notification settings - Fork 40
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
Finalize sprockets integration #1161
Comments
After chatting with @andrewjstone about a different but related issue (described below), we're inclined to go with option 4 and use sprockets session directly as a wrapped TCP stream, eschewing dropshot and progenitor for bootstrap-agent-to-bootstrap-agent communications. As described in RFD 238 § 4, during rack unlock, sleds must not only mutually authenticate via sprockets, but must additionally verify that the peer they're communicating with is in the set of |
Removes sprockets proxies, fixing #1161.
Removes sprockets proxies, fixing #1161.
Removes sprockets proxies, fixing #1161.
Option 4 implented in #1173 |
As of #1128, bootstrap-agent to bootstrap-agent communications may (if an SP is present) take place in sprockets sessions, providing authentication and confidentiality. However, the current mechanism by which sprockets is integrated is as a TCP proxy sitting between the bootstrap-agent dropshot server and its client (see #1128 for more details). The dropshot server itself listens on localhost and implicitly trusts all incoming connections, expecting them to only be coming from the sprockets proxy. This needs to be locked down to guarantee requests to the dropshot server can only take place if the client has connected via sprockets. (A similar problem exists on the client side, where the sprockets proxy implicitly trusts all connections made to it before forwarding them to the corresponding serverside sprockets proxy.) Some possible options:
My preference is the first, but it requires a currently-unknown amount of work; probably more on the progenitor side than dropshot due to progenitor's use of reqwest, which currently does not support custom clients.
CC @smklein @andrewjstone @ahl
The text was updated successfully, but these errors were encountered: