Ajout section Erreur Failed to authenticate user 'elastic' avec elasticsearch-setup-passwords

This commit is contained in:
whirigoyen 2023-09-29 15:28:13 +02:00
parent ad17773fa5
commit ed9c4c1b3e

View file

@ -350,9 +350,8 @@ non_heap_used.value 175388648
heap_committed.value 2130051072 heap_committed.value 2130051072
~~~ ~~~
## Sécurisation
Par défaut, Elasticsearch n'est absolument pas sécurisé. Il a donc plusieurs opérations à faire pour sécuriser un nœud ou un cluster. ## Sécurisation
Elastic définit 3 niveaux de sécurisation : Elastic définit 3 niveaux de sécurisation :
@ -418,6 +417,7 @@ On pourra ainsi créer des comptes applicatifs, avec
On ajoutera l'argument suivant à la commande de check_http pour s'authentifier `--authorization 'remote_monitoring_user:PASSWORD'` On ajoutera l'argument suivant à la commande de check_http pour s'authentifier `--authorization 'remote_monitoring_user:PASSWORD'`
#### Ajustement configuration Kibana #### Ajustement configuration Kibana
Dans `/etc/kibana/kibana.yml`, on spécifie le compte a utiliser : Dans `/etc/kibana/kibana.yml`, on spécifie le compte a utiliser :
@ -445,10 +445,12 @@ Enter value for elasticsearch.password: PASSWORD
Puis redémarrer Kibana `systemctl restart kibana` Puis redémarrer Kibana `systemctl restart kibana`
### Passage en HTTPS ### Passage en HTTPS
Il y a plusieurs options pour. Le plus simple est de générer une PKI spéciale au cluster Elasticsearch avec les outils proposés. Il y a plusieurs options pour. Le plus simple est de générer une PKI spéciale au cluster Elasticsearch avec les outils proposés.
#### Amorce de la PKI #### Amorce de la PKI
~~~ ~~~
@ -481,6 +483,7 @@ Comme ce n'est pas un dossier conventionnel, on peut choisir de le déplacer dan
# mv /usr/share/elasticsearch/elastic-stack-ca.p12 /etc/elasticsearch/elastic-stack-ca.p12 # mv /usr/share/elasticsearch/elastic-stack-ca.p12 /etc/elasticsearch/elastic-stack-ca.p12
~~~ ~~~
#### Communication inter-nœuds #### Communication inter-nœuds
Pour chaque nœud Elasticsearch, il faut générer un certificat avec l'outil `/usr/share/elasticsearch/bin/elasticsearch-certutil` Pour chaque nœud Elasticsearch, il faut générer un certificat avec l'outil `/usr/share/elasticsearch/bin/elasticsearch-certutil`
@ -1694,3 +1697,40 @@ On peut rencontrer ce problème sur un cluster.
L'explication donnée par Elastic est : « cannot allocate because a previous copy of the primary shard existed but can no longer be found on the nodes in the cluster » (sortie de `curl '127.0.0.1:9200/_cluster/allocation/explain?pretty'`). L'explication donnée par Elastic est : « cannot allocate because a previous copy of the primary shard existed but can no longer be found on the nodes in the cluster » (sortie de `curl '127.0.0.1:9200/_cluster/allocation/explain?pretty'`).
Il est possible que le shard se trouvait sur un noeud du cluster inaccessible ou mal enlevé du cluster, ou qu'il y ait eu un problème matériel là ou se trouvait le shard. Il est possible que le shard se trouvait sur un noeud du cluster inaccessible ou mal enlevé du cluster, ou qu'il y ait eu un problème matériel là ou se trouvait le shard.
### Erreur `Failed to authenticate user 'elastic'` avec `elasticsearch-setup-passwords`
Si en exécutant [`elasticsearch-setup-passwords`](https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-passwords.html) vous rencontrez cette erreur :
~~~
# /usr/share/elasticsearch/bin/elasticsearch-setup-passwords auto
Failed to authenticate user 'elastic' against https://172.20.3.233:9200/_security/_authenticate?pretty
Possible causes include:
* The password for the 'elastic' user has already been changed on this cluster
* Your elasticsearch node is running against a different keystore
This tool used the keystore at /etc/elasticsearch/elasticsearch.keystore
You can use the `elasticsearch-reset-password` CLI tool to reset the password of the 'elastic' user
ERROR: Failed to verify bootstrap password, with exit code 78
~~~
D'abord, if faut savoir que l'utilisation de `elasticsearch-setup-passwords` est dépréciée à partir d'Elasticsearch 8 en faveur de [`elasticsearch-setup-passwords`](https://www.elastic.co/guide/en/elasticsearch/reference/current/reset-password.html).
Cet utilitaire utilise le mot de passe « boostrap » créé à l'installation d'Elasticseach. S'il a été changé ou que vous ne l'avez pas (installation via Ansible par exemple), alors **vous ne pouvez pas utiliser cet utilitaire**.
Alternativement, vous pouvez changer les mots de passe via via [`elasticsearch-setup-passwords`](https://www.elastic.co/guide/en/elasticsearch/reference/current/reset-password.html), [Kibana](/HowtoKibana) ou l'[API de changement des mots de passe](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-change-password.html).
Par exemple, avec [`elasticsearch-setup-passwords`](https://www.elastic.co/guide/en/elasticsearch/reference/current/reset-password.html) :
~~~
# /usr/share/elasticsearch/bin/elasticsearch-reset-password --auto --user <USER>
This tool will reset the password of the [<USER>] user to an autogenerated value.
The password will be printed in the console.
Please confirm that you would like to continue [y/N] y
Password for the [<USER>] user successfully reset.
New value: <PASSWORD>
~~~