
Introduction
Nous installerons Elasticsearch et Kibana et les sécuriserons avec des certificats SSL auto-signés.
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 [02:30]
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 [02:50]
Les deux installations d'Ubuntu ont besoin de ces dépendances, alors exécutez ces commandes sur les deux :
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.
Étape 3 – Créer un certificat auto-signé pour Elasticsearch [04:50]
Créons des certificats SSL auto-signés pour elastic.evermight.net
et kibana.evermight.net
.
Aller à la elastic.evermight.net
coquille.
Créez l'autorité de certification avec cette commande :
/usr/share/elasticsearch/bin/elasticsearch-certutil ca --pem --out /etc/elasticsearch/certs/ca.zip
cd /etc/elasticsearch/certs/
unzip ca.zip
Créons maintenant un certificat auto-signé pour elastic.evermight.net
et signez-le avec notre ca.crt
:
/usr/share/elasticsearch/bin/elasticsearch-certutil cert \
--out /etc/elasticsearch/certs/elastic.zip \
--name elastic \
--ca-cert /etc/elasticsearch/certs/ca/ca.crt \
--ca-key /etc/elasticsearch/certs/ca/ca.key \
--dns elastic.evermight.net \
--pem;
cd /etc/elasticsearch/certs/;
unzip elastic.zip
En option, si vous utilisez également une adresse IP, vous pouvez transmettre l'adresse IP.--ip
option et indiquez votre adresse IP.
Étape 4 - Configurer Elasticsearch [03:50]
Modifier elasticsearch.yml
Aller à la /etc/elasticsearch/elasticsearch.yml
fichier. Modifiez les champs suivants :
...etc...
cluster.name: <anything you want>
...etc...
network.host: elastic.evermight.net
...etc...
http.port: 9200
...etc...
xpack.security.http.ssl:
enabled: true
key: certs/elastic/elastickey.
certificate: certs/elastic/elastic.crt
certificate_authorities: certs/ca/ca.crt
...etc...
Changer de propriétaire
chown -R elasticsearch:elasticsearch /etc/elasticsearch
Étape 5 - Démarrer Elasticsearch [12:45]
Démarrez elasticsearch avec ces commandes :
systemctl enable elasticsearch;
systemctl start elasticsearch;
Confirmez qu'Elasticsearch fonctionne avec cette commande :
curl -X GET -u elastic:<password from step 2> https://elastic.evermight.net:9200 --cacert /etc/elasticsearc/cert/ca/ca.crt
Et vous devriez voir quelque chose comme ceci :
Étape 6 - Installer Kibana [16:10]
Exécutez cette commande sur le kibana.evermight.net
machine:
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 7 : Créer un certificat auto-signé pour Kibana
Créons maintenant un certificat auto-signé pour kibana.evermight.net
et signez-le avec notre ca.crt
. Allez à votre elastic.evermight.net
machine et exécutez cette commande :
/usr/share/elasticsearch/bin/elasticsearch-certutil cert \
--out /etc/elasticsearch/certs/kibana.zip \
--name elastic \
--ca-cert /etc/elasticsearch/certs/ca/ca.crt \
--ca-key /etc/elasticsearch/certs/ca/ca.key \
--dns kibana.evermight.net \
--pem;
cd /etc/elasticsearch/certs/;
unzip kibana.zip
Nous allons copier le /etc/elasticsearch/certs/kibana/*
vers le kibana.evermight.net
sous peu.
Étape 8 - Configurer Kibana [15:26]
Copier les certificats SSL :
Allez à votre kibana.evermight.net
serveur et exécutez cette commande :
mkdir /etc/kibana/certs/kibana
Copiez ensuite vos certificats SSL de l’étape 7 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/kibana.key
server.ssl.certificate: /etc/kibana/certs/kibana/kibana.crt
server.ssl.certificateAuthorities: /etc/kibana/certs/ca/ca.crt
elasticsearch.hosts: ["https://elastic.evermight.net:9200"]
elasticsearch.ssl.verificationMode: full
elasticsearch.ssl.certificateAuthorities: ["/etc/kibana/certs/ca/ca.crt"]
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 9 - Démarrer Kibana [27:50]
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.