-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Feature/ssl #2584
Feature/ssl #2584
Conversation
Close #2587 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please do not directly commit some private keys and certificates to the repo, you can use scripts or Makefile to generate them as needed
The test certificates generating require interaction, and almost other open source projects like even openssl also put the test certificates to source code, so we follow them. |
src/common/ssl/SSLConfig.cpp
Outdated
DEFINE_string(ca_path, "", "Path to trusted CA file."); | ||
DEFINE_bool(enable_ssl, false, "Whether enable ssl."); | ||
DEFINE_bool(enable_graph_ssl, false, "Whether enable ssl of graph server."); | ||
DEFINE_bool(enable_meta_ssl, false, "Whether enable ssl of meta server."); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it seems that two flags is enough to cover the cases about inside and outside the nebula cluster. Do we really need to add another meta_ssl for users to make a decision?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's the suggestion from @sherman-the-tank , which to encrypt the sensitive data in meta.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I mean whether enable_ssl
and enable_graphd_ssl
can already cover the enable_meta_ssl
scenario, just like below:
* enable_graphd_ssl=true & enable_ssl=false
clients <- ssl -> graphd <- no ssl -> metad <- no ssl -> storaged
^ ^
|______________ no ssl ______________|
* enable_graphd_ssl=false & enable_ssl=true
clients <- no ssl -> graphd <- ssl -> metad <- ssl -> storaged
^ ^
|______________ ssl ______________|
* enable_graphd_ssl=true & enable_ssl=true
clients <- ssl -> graphd <- ssl -> metad <- ssl -> storaged
^ ^
|______________ ssl ______________|
* enable_graphd_ssl=false & enable_ssl=false
clients <- no ssl -> graphd <- no ssl -> metad <- no ssl -> storaged
^ ^
|______________ no ssl ______________|
Is enable_meta_ssl
just to encrypt schema information when communicating with meta? If so, make sense.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
See detail in #2556 , the client should be implemented by corresponding maintainer @vesoft-inc/graph-reviewers
The test certificates generating require interactive, and almost other open source projects like even openssl also put the test certificates to source code, so we follow them.
Close #2587