-
Notifications
You must be signed in to change notification settings - Fork 24.9k
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
Set elastic password from stored hash for packaged installations #75704
Comments
Pinging @elastic/es-security (Team:Security) |
Moving discussion from this draft here...
I think it may be valuable (if the index was deleted by mistake for example). Also if it was a conscious decision made by a user it would be confusing, because they would expect the old bootstrap password behaviour. How can we determine that the index has been deleted? Should we try to remove the autoconfiguration.password_hash from that node's keystore once we read it to XPackSettings?
But as you suggested above we are going to prioritize autoconfiguration.password_hash over keystore seed
What would be that "something"? |
We are discussing about triggering some code paths when the security index doesn't exist. If it gets deleted, it won't exist and the behavior will be triggered.
We can't unfortunately since the file is owned by
We trigger the auto-creation of the security index when we need to index a doc into it ( see |
What meant: how we detect that we have already bootstrapped the user and the index was deleted after. I don't think we have a way to detect it, right? But if autoconfiguration.password_hash doesn't exist anymore we won't attempt to do it again. |
(( |
Checking for that a doc for |
In package installations, we will be generating the password of the elastic user on installation and we will be storing the hash of it to the elasticsearch.keystore. This change will - attempt to create the security index and elastic user document at the time of the first successful authentication using the the "promised" password - if bootstrap.password setting is detected, won’t attempt to use autoconfiguration.password_hash setting and proceed with the normal authentication path - if elastic user document exists, won't attempt to use autoconfiguration.password_hash setting and proceed with the normal authentication path - if unable to create the Security Index for any reason, returns HTTP_SERVER_ERROR to indicate that the cluster is probably not ready yet Resolves: elastic#75704
This commit introduces TLS auto-configuration for elasticsearch nodes, during the first startup. A number of heuristics are performed in order to determine if the node should get TLS auto-configuration which can also be explicitly disallowed with the use of xpack.security.autoconfiguration.enabled setting. This affects archive installations and docker. Packaged installations are handled in #75144 and #75704 . Co-authored-by: Ioannis Kakavas <[email protected]>
Closed by #78306 |
During packaged installations we will be generating and storing a new setting, named
autoconfiguration.password_hash
in theelasticsearch.keystore
. This will be the -to be- password of the elastic user and its value in the keystore will be salted and hashed using the default hashing algorithm of elasticsearch.We should
autoconfiguration.password_hash
setting in the keystoreautoconfiguration.password_hash
autoconfiguration.password_hash
even before the password is "promoted" to the security index.Out of scope / handled in other work items
The text was updated successfully, but these errors were encountered: