-
Notifications
You must be signed in to change notification settings - Fork 290
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
[META] Secure communication between OpenSearch and Extensions #2638
Comments
@cwperks I know you were looking into this space, but I figured I would file this to capture the overall effort. |
Thank you Peter. I linked this issue to the open PR in the SDK repo: opensearch-project/opensearch-sdk-java#619 The extension bootstrap process utilizes the transport layer to register the extension, settings and actions on node bootstrap and is also used for RestSentToExtensionAction to forward an action to an extension. Transport-layer communication cannot currently happen with an extension and an opensearch node with the security plugin installed and enabled. The Security plugin does not permit turning off transport-layer encryption so extensions need a way to setup TLS. The PR I opened up in the SDK repo takes a lot of the Security plugin TLS setup with the DefaultSecurityKeyStore, but removes anything having to do with One of the challenges in implementing the PR was that it started failing the handshake process with the security plugin installed. Inside of the ExtensionsInitRequestHandler it calls on The security plugin forbids this from happening because it gets a transport request from something that isn't a node in the cluster. The companion PRs I linked to in the SDK PR solve the issue of the handshake where the extension can identify itself using a threadcontext header and the security plugin can verify the header's presence and also check with the ExtensionManager that its aware of the extension based on its unique id. |
I have somewhat developer friendly view on that:
|
Thanks for your thoughts @reta |
[Triage] This issue is part of the ongoing work with the extensions project. |
When TLS is enabled, OpenSearch Core ( Sec Plugin ) should enforce a cipher suite and not downgrade based on the one provided by Extension. |
OpenSearch and Extensions are establishing connections to one another. The Security Plugin provides TLS for OpenSearch, OpenSearch <-> Extensions connections should be established via TLS. Handshaking between both endpoints need to be robust to ensure man-in-the-middle attacks are mitigated.
Open Questions:
The text was updated successfully, but these errors were encountered: