Installer Elasticsearch et Kibana 8.x avec TLS/SSL signé publiquement

Publié le 08/10/2022

« Voir toutes les conférences Contactez-nous
Install Elasticsearch and Kibana 8.x with Publicly Signed TLS/SSL

Introduction

Code sur Github: Installer Elasticsearch avec des certificats publics

Nous installerons Elasticsearch et Kibana et les sécuriserons avec des certificats SSL signés publiquement. Nous partons du principe que vous avez déjà créé des certificats SSL signés publiquement (par exemple, Let's Encrypt). Si vous n'en possédez pas encore, merci de les vérifier.suivez ces instructions pour générer des certificats SSL Let's Encrypt gratuits.

Exigences

Dans la vidéo, nous avons utilisé deux instances d’Ubuntu 20.04 exécutées sur une machine virtuelle dans un service cloud.

Nous supposons que votre DNS contient également des enregistrements A qui associent un domaine à la machine virtuelle Elasticsearch et un autre à la machine virtuelle Kibana. Pour la démonstration ci-dessous, nous utiliserons elastic.evermight.net et kibana.evermight.net.

Mesures

Étape 1 - Mettre à jour Ubuntu [01:10]

Les deux installations d'Ubuntu sont neuves. Nous mettons à jour la distribution et installons certains outils que nous utilisons habituellement sur les deux machines.

apt-get update && apt dist-upgrade -y && apt-get install -y vim curl gnupg gpg

Étape 2 - Installer Elasticsearch [01:53]

Exécutez ces commandes sur elastic.evermight.net pour installer Elasticsearch :

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg; echo 'deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main' | sudo tee /etc/apt/sources.list.d/elastic-8.x.list; apt-get update; apt-get install -y apt-transport-https; apt-get install -y elasticsearch;

Une fois l’installation terminée, assurez-vous de noter le mot de passe.

Copy password for Elasticsearch

Étape 3 - Configurer Elasticsearch [05:00]

Exécutez cette commande sur notre elastic.evermight.net machine:

Copier les certificats SSL :

mkdir /etc/elasticsearch/certs/elastic.evermight.net

Copiez ensuite vos certificats SSL dans le répertoire ci-dessus.

Modifier elasticsearch.yml

Aller à la /etc/elasticsearch/elasticsearch.yml fichier. Modifiez les champs suivants :

cluster.name: <anything you want> network.host: elastic.evermight.net http.port: 9200 xpack.security.http.ssl: enabled: true key: certs/elastic.everimght.net/privkey1.pem certificate: certs/elastic.everimght.net/fullchain1.pem

Voici notre version terminée de elasticsearch.yml

Changer de propriétaire

chown -R elasticsearch:elasticsearch /etc/elasticsearch

Étape 4 - Démarrer Elasticsearch [10:40]

Démarrez elasticsearch avec ces commandes :

systemctl enable elasticsearch; systemctl start elasticsearch;

Confirmez qu'Elasticsearch fonctionne avec cette commande :

curl -v -u elastic:<password from Step 2> https://elastic.everimght.net:9200

Et vous devriez voir quelque chose comme ceci :

Confirm Elasticsearch Success

Étape 5 - Installer Kibana [15:26]

Exécutez cette commande sur le kibana.evermight.net machine pour installer Kibana :

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg; echo 'deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main' | sudo tee /etc/apt/sources.list.d/elastic-8.x.list; apt-get install -y apt-transport-https; apt-get install -y kibana;

Étape 6 - Configurer Kibana [15:26]

Copier les certificats SSL :

Exécutez cette commande sur votre kibana.evermight.net serveur:

mkdir /etc/kibana/certs/kibana.evermight.net/

Copiez ensuite vos certificats SSL dans le répertoire ci-dessus.

Modifier kibana.yml

Aller à la /etc/kibana/kibana.yml fichier. Modifiez les champs suivants :

server.port: 5601 server.host: 0.0.0.0 server.publicBaseUrl: "https://kibana.evermight.net:5601" server.ssl.enabled: true server.ssl.key: /etc/kibana/certs/kibana.evermight.net/privkey1.pem server.ssl.certificate: /etc/kibana/certs/kibana.evermight.net/fullchain1.pem elasticsearch.hosts: ["https://elastic.evermight.net:9200"] elasticsearch.ssl.verificationMode: full

Voici notre version terminée de kibana.yml

Créer un jeton de service

Exécutez cette commande sur le serveur Elasticsearch : /usr/share/elasticsearch/bin/elasticsearch-service-tokens create elastic/kibana kibana-token chown -R elasticsearch:elasticsearch /etc/elasticsearch Copiez le jeton que vous voyez.

Exécutez cette commande sur le serveur Kibana : /usr/share/kibana/bin/kibana add elasticsearch.serviceAccountToken Collez le jeton après l’invite.

Étape 7 - Démarrer Kibana [27:32]

systemctl enable kibana; systemctl start kibana;

Vous pouvez désormais visiter https://kibana.evermight.net:5601/ et connectez-vous avec elastic et le mot de passe de l'étape 3.