Installation OpenSearch · 30 min read · Oct 12, 2025
Comment installer OpenSearch sur Debian 12

OpenSearch est un fork open-source d’Elasticsearch et de Kibana développé par Amazon. C’est un moteur de recherche distribué, évolutif et en temps réel qui permet la recherche en texte intégral ainsi que l’analyse. Il est utilisé pour indexer et rechercher de grandes quantités de données. Il est couramment déployé aux côtés d’OpenSearch Dashboards (un fork de Kibana), un puissant tableau de bord de visualisation de données pour OpenSearch. OpenSearch Dashboards vous permet d’explorer les données de journalisation d’OpenSearch et de créer des tableaux de bord et des requêtes pour obtenir des informations sur votre application.
Ce tutoriel vous montrera comment installer OpenSearch sur un serveur Debian 12. Vous apprendrez également à sécuriser votre installation avec des certificats TLS personnalisés et à activer l’authentification sur OpenSearch.
Prérequis
Un serveur exécutant Debian 12 avec un minimum de 4 Go de RAM.
Un utilisateur non-root avec des privilèges sudo.
Le pare-feu uncomplicated (UFW) est activé et en cours d’exécution.
Un nom de domaine entièrement qualifié (FQDN) comme
opensearch.example.compointant vers votre serveur. Cela est bénéfique si vous souhaitez servir OpenSearch Dashboards via SSL en utilisant un serveur proxy.Tout est à jour.
$ sudo apt update && sudo apt upgradeQuelques paquets essentiels sont nécessaires pour le tutoriel et Craft CMS. Certains d’entre eux seront déjà sur votre serveur.
$ sudo apt install curl wget nano software-properties-common dirmngr apt-transport-https ca-certificates lsb-release debian-archive-keyring gnupg2 ufw unzip -y
Étape 1 - Configurer le pare-feu
La première étape avant d’installer des paquets est de configurer le pare-feu pour autoriser les connexions HTTP et HTTPS.
Vérifiez l’état du pare-feu.
$ sudo ufw statusVous devriez voir quelque chose comme ce qui suit.
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)Autorisez les ports HTTP et HTTPS.
$ sudo ufw allow http
$ sudo ufw allow httpsVérifiez à nouveau l’état pour confirmer.
$ sudo ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
443/tcp (v6) ALLOW Anywhere (v6)Étape 2 - Préparer le système
Avant d’installer OpenSearch, nous devons préparer et optimiser notre système pour cela. Plusieurs étapes sont impliquées, y compris la désactivation de toute mémoire d’échange si vous en avez, la définition du nombre de cartes mémoire pour votre système et la configuration du nom d’hôte du système.
Tout d’abord, vérifiez si vous avez de la mémoire d’échange activée.
$ free -mSi vous avez de la mémoire d’échange activée, vous devriez voir une sortie similaire.
total used free shared buff/cache available
Mem: 7945 1083 6492 34 636 6861
Swap: 4242 0 4242Exécutez les commandes suivantes pour désactiver l’espace d’échange de manière permanente.
$ sudo swapoff -a
$ sudo sed -i '/ swap / s/^\(.*\)$/#
1/g' /etc/fstabVérifiez à nouveau la mémoire d’échange et cela devrait afficher ce qui suit.
total used free shared buff/cache available
Mem: 7945 1113 6449 37 651 6831
Swap: 0 0 0OpenSearch utilise un répertoire mapfs par défaut pour stocker ses indices. Les limites par défaut du système d’exploitation sur les comptes nmap sont trop basses, ce qui peut provoquer des erreurs de mémoire.
Vérifiez la valeur existante pour la variable vm.max_map_count.
$ sysctl -n vm.max_map_count
65530Pour augmenter le nombre de cartes mémoire utilisées par chaque processus, exécutez la commande suivante.
$ sudo sysctl -w vm.max_map_count=262144Cela ne fonctionnera que jusqu’à ce que le système soit redémarré. Pour rendre cette valeur permanente, ajoutez la ligne vm.max_map_count=262144 dans le fichier /etc/sysctl.conf en utilisant la commande suivante.
$ echo "vm.max_map_count=262144" | sudo tee -a /etc/sysctl.confVous pouvez rendre le changement permanent en redémarrant le système ou en exécutant la commande suivante.
$ sudo sysctl -pLa dernière étape consiste à configurer le nom d’hôte. Selon l’endroit où vous hébergez votre serveur, certaines entreprises de cloud vous permettent de définir votre nom d’hôte directement via leur panneau de contrôle. Cependant, il est préférable de le faire via le terminal.
Exécutez la commande suivante pour définir le nom d’hôte.
$ sudo hostnamectl set-hostname opensearchAjoutez le FQDN (nom de domaine entièrement qualifié) au fichier /etc/hosts. Ici, nous associons le nom d’hôte opensearch au nom de domaine opensearch.example.com et le pointons vers l’adresse IP du serveur. Remplacez dans la commande ci-dessous par l’adresse IP de votre serveur.
$ echo " opensearch.example.com opensearch" | sudo tee -a /etc/hosts Vérifiez le nom d’hôte et le FQDN en utilisant les commandes suivantes.
$ hostname
opensearch
$ hostname -f
opensearch.example.comCela termine le processus d’optimisation de notre système pour fonctionner avec OpenSearch.
Étape 3 - Installer OpenSearch
Importez la clé GPG d’OpenSearch utilisée pour signer le paquet d’installation.
$ curl -o- https://artifacts.opensearch.org/publickeys/opensearch.pgp | sudo gpg --dearmor --batch --yes -o /usr/share/keyrings/opensearch-keyringCréez le fichier de dépôt APT d’OpenSearch.
$ echo "deb [signed-by=/usr/share/keyrings/opensearch-keyring] https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable main" | sudo tee /etc/apt/sources.list.d/opensearch-2.x.listMettez à jour la liste des dépôts du système.
$ sudo apt updateVérifiez toutes les versions disponibles d’OpenSearch.
$ sudo apt list -a opensearch
Listing... Done
opensearch/stable 2.12.0 amd64
opensearch/stable 2.11.1 amd64
opensearch/stable 2.11.0 amd64
opensearch/stable 2.10.0 amd64
opensearch/stable 2.9.0 amd64
opensearch/stable 2.8.0 amd64
opensearch/stable 2.7.0 amd64
opensearch/stable 2.6.0 amd64
opensearch/stable 2.5.0 amd64La dernière version d’OpenSearch v2.12.0 nécessite que vous définissiez le mot de passe de démonstration de l’administrateur avant l’installation, sinon elle échouera.
Vous pouvez installer la dernière version d’OpenSearch en utilisant la commande suivante. Nous pouvons définir le mot de passe de démonstration de l’administrateur en utilisant la variable d’environnement dans la commande d’installation elle-même. Choisissez un mot de passe fort.
$ sudo env OPENSEARCH_INITIAL_ADMIN_PASSWORD= apt install opensearch Si vous voyez l’avertissement suivant pendant l’installation, vous pouvez l’ignorer en toute sécurité.
......
chown: warning: '.' should be ':': ‘opensearch.opensearch’
chown: warning: '.' should be ':': ‘opensearch.opensearch’
chown: warning: '.' should be ':': ‘opensearch.opensearch’
chown: warning: '.' should be ':': ‘opensearch.opensearch’
chown: warning: '.' should be ':': ‘opensearch.opensearch’
......Ou vous pouvez installer une version spécifique.
$ sudo apt install opensearch=2.11.1Rechargez le démon de service.
$ sudo systemctl daemon-reloadActivez le service OpenSearch.
$ sudo systemctl enable opensearchDémarrez le service OpenSearch.
$ sudo systemctl start opensearchVérifiez l’état du service OpenSearch.
$ sudo systemctl status opensearchVous devriez obtenir la sortie suivante.
? opensearch.service - OpenSearch
Loaded: loaded (/lib/systemd/system/opensearch.service; enabled; preset: enabled)
Active: active (running) since Sat 2024-03-02 06:37:01 UTC; 5s ago
Docs: https://opensearch.org/
Main PID: 31109 (java)
Tasks: 75 (limit: 4652)
Memory: 1.3G
CPU: 1min 3.128s
CGroup: /system.slice/opensearch.service
??31109 /usr/share/opensearch/jdk/bin/java -Xshare:auto -Dopensearch.networkaddress.cache.ttl=60 -Dopensearch.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=true...Étape 4 - Tester OpenSearch
Avant de continuer, vérifions si l’installation fonctionne correctement. Exécutez la commande suivante pour vérifier si OpenSearch fonctionne comme prévu.
$ curl -X GET https://localhost:9200 -u 'admin:' --insecure Vous devriez obtenir une sortie similaire.
{
"name" : "opensearch",
"cluster_name" : "opensearch",
"cluster_uuid" : "3oFvYn96St2MOpDP3Sf29g",
"version" : {
"distribution" : "opensearch",
"number" : "2.12.0",
"build_type" : "deb",
"build_hash" : "2c355ce1a427e4a528778d4054436b5c4b756221",
"build_date" : "2024-02-20T02:18:31.541484890Z",
"build_snapshot" : false,
"lucene_version" : "9.9.2",
"minimum_wire_compatibility_version" : "7.10.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "Le projet OpenSearch : https://opensearch.org/"
}Interrogez le point de terminaison des plugins OpenSearch pour voir la liste des plugins disponibles.
$ curl -X GET https://localhost:9200/_cat/plugins?v -u 'admin:' --insecure Vous pouvez également utiliser la commande suivante pour la même chose.
$ /usr/share/opensearch/bin/opensearch-plugin listVous devriez obtenir une sortie similaire.
name component version
opensearch opensearch-alerting 2.12.0.0
opensearch opensearch-anomaly-detection 2.12.0.0
opensearch opensearch-asynchronous-search 2.12.0.0
opensearch opensearch-cross-cluster-replication 2.12.0.0
opensearch opensearch-custom-codecs 2.12.0.0
opensearch opensearch-flow-framework 2.12.0.0
opensearch opensearch-geospatial 2.12.0.0
opensearch opensearch-index-management 2.12.0.0
opensearch opensearch-job-scheduler 2.12.0.0
opensearch opensearch-knn 2.12.0.0
opensearch opensearch-ml 2.12.0.0
opensearch opensearch-neural-search 2.12.0.0
opensearch opensearch-notifications 2.12.0.0
opensearch opensearch-notifications-core 2.12.0.0
opensearch opensearch-observability 2.12.0.0
opensearch opensearch-performance-analyzer 2.12.0.0
opensearch opensearch-reports-scheduler 2.12.0.0
opensearch opensearch-security 2.12.0.0
opensearch opensearch-security-analytics 2.12.0.0
opensearch opensearch-skills 2.12.0.0
opensearch opensearch-sql 2.12.0.0Vous pouvez installer des plugins supplémentaires en utilisant la commande suivante.
$ /usr/share/opensearch/bin/opensearch-plugin install Vous pouvez trouver la liste des plugins OpenSearch disponibles sur leur site officiel.
Étape 5 - Configurer OpenSearch
Les paramètres par défaut d’OpenSearch ne sont pas adaptés à un environnement de production. Par défaut, OpenSearch n’est pas lié à une interface réseau et est inaccessible de l’extérieur. De plus, des noms d’utilisateur et mots de passe par défaut sont utilisés, ce qui peut poser des problèmes de sécurité s’ils sont utilisés directement dans un environnement de production.
OpenSearch stocke sa configuration dans le fichier /etc/opensearch/opensearch.yml. Ouvrez-le pour l’éditer.
$ sudo nano /etc/opensearch/opensearch.ymlTrouvez la ligne #network.host: 192.168.0.1 et décommentez-la en supprimant le dièse (#) devant elle et en changeant sa valeur comme indiqué. Cela lie OpenSearch à toutes les interfaces disponibles. Vous pouvez également choisir d’entrer une IP spécifique pour le lier à une interface spécifique.
# Set the bind address to a specific IP (IPv4 or IPv6):
#
network.host: 0.0.0.0Ajoutez les lignes suivantes en bas du fichier.
# Unless you have already configured a cluster, you should set
# discovery.type to single-node, or the bootstrap checks will
# fail when you try to start the service.
discovery.type: single-node
# If you previously disabled the Security plugin in opensearch.yml,
# be sure to re-enable it. Otherwise you can skip this setting.
plugins.security.disabled: falsePuisque nous installons sur un seul serveur, nous avons défini discovery.type sur single-node. Définir plugins.security.disabled sur false active le plugin de sécurité d’OpenSearch.
Enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.
Nous devons également spécifier les tailles de tas JVM (Java Virtual Memory) initiales et maximales. Ce paramètre dépend de la taille de la RAM de votre serveur. Par exemple, nous utilisons un serveur avec 4 Go de RAM, donc nous définissons la taille du tas à 3 Go.
Créez et ouvrez le fichier heapsize.options dans le répertoire /etc/opensearch/jvm.options.d pour l’éditer. Cela écrasera la valeur par défaut définie dans le fichier /etc/opensearch/jvm.options.
$ sudo nano /etc/opensearch/jvm.options.d/heapsize.optionsAjoutez les lignes suivantes.
-Xms3g
-Xmx3gEnregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.
Redémarrez le service OpenSearch pour appliquer les changements.
$ sudo systemctl restart opensearchVous pouvez vérifier la taille actuelle du tas et la mémoire maximale en utilisant la commande suivante.
$ curl -sS "https://localhost:9200/_cat/nodes?h=heap*&v" -u 'admin:' --insecure Vous devriez obtenir la sortie suivante.
heap.current heap.percent heap.max
345.5mb 11 3gbÉtape 6 - Configurer TLS pour OpenSearch
Ici, nous allons générer des certificats pour sécuriser OpenSearch. Les certificats TLS fournissent une sécurité en permettant aux clients de confirmer l’identité des hôtes et de chiffrer le trafic entre un client et l’hôte. Nous allons générer les certificats suivants
- Certificats CA racine - Ce sont les certificats principaux qui signeront tous les autres certificats.
- Certificats administratifs - Ces certificats sont utilisés pour obtenir des droits élevés pour effectuer des tâches administratives liées au plugin de sécurité.
- Certificats de nœud - Ces certificats sont utilisés pour la communication entre un nœud et le client.
Tous les certificats OpenSearch sont stockés dans le répertoire /etc/opensearch. La première étape consiste à supprimer les certificats par défaut définis lors de l’installation d’OpenSearch.
Passez au répertoire OpenSearch.
$ cd /etc/opensearchSupprimez les certificats par défaut.
$ sudo rm -f *.pemOuvrez le fichier de configuration OpenSearch pour l’éditer.
$ sudo nano opensearch.ymlCommentez le code suivant en bas du fichier en mettant un dièse devant chaque ligne dans la section Configuration de démonstration de sécurité OpenSearch comme indiqué ci-dessous.
######## Start OpenSearch Security Demo Configuration ########
# WARNING: revise all the lines below before you go into production
#plugins.security.ssl.transport.pemcert_filepath: esnode.pem
#plugins.security.ssl.transport.pemkey_filepath: esnode-key.pem
#plugins.security.ssl.transport.pemtrustedcas_filepath: root-ca.pem
#plugins.security.ssl.transport.enforce_hostname_verification: false
#plugins.security.ssl.http.enabled: true
#plugins.security.ssl.http.pemcert_filepath: esnode.pem
#plugins.security.ssl.http.pemkey_filepath: esnode-key.pem
#plugins.security.ssl.http.pemtrustedcas_filepath: root-ca.pem
#plugins.security.allow_unsafe_democertificates: true
#plugins.security.allow_default_init_securityindex: true
#plugins.security.authcz.admin_dn: ['CN=kirk,OU=client,O=client,L=test,C=de']
#plugins.security.audit.type: internal_opensearch
#plugins.security.enable_snapshot_restore_privilege: true
#plugins.security.check_snapshot_restore_write_privileges: true
#plugins.security.restapi.roles_enabled: [all_access, security_rest_api_access]
#plugins.security.system_indices.enabled: true
#plugins.security.system_indices.indices: [.plugins-ml-config, .plugins-ml-connector,
# .plugins-ml-model-group, .plugins-ml-model, .plugins-ml-task, .plugins-ml-conversation-meta,
# .plugins-ml-conversation-interactions, .plugins-ml-memory-meta, .plugins-ml-memory-message,
# .opendistro-alerting-config, .opendistro-alerting-alert*, .opendistro-anomaly-results*,
# .opendistro-anomaly-detector*, .opendistro-anomaly-checkpoints, .opendistro-anomaly-detection-state,
# .opendistro-reports-*, .opensearch-notifications-*, .opensearch-notebooks, .opensearch-observability,
# .ql-datasources, .opendistro-asynchronous-search-response*, .replication-metadata-store,
# .opensearch-knn-models, .geospatial-ip2geo-data*, .plugins-flow-framework-config,
# .plugins-flow-framework-templates, .plugins-flow-framework-state]
#node.max_local_storage_nodes: 3
######## End OpenSearch Security Demo Configuration ########Enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.
Ensuite, créez un répertoire pour stocker les certificats à l’intérieur du répertoire /etc/opensearch.
$ sudo mkdir /etc/opensearch/certsChangez la permission du répertoire à l’utilisateur actuellement connecté pour éviter d’utiliser sudo lors de la génération des certificats.
$ sudo chown $USER:$USER /etc/opensearch/certs -RPassez au répertoire des certificats.
$ cd /etc/opensearch/certsGénérer des certificats racines
Générez une clé privée pour le certificat racine.
$ openssl genrsa -out root-ca-key.pem 2048Générez un certificat CA racine auto-signé. Nous utilisons le paramètre -subj pour fournir des informations qui sont intégrées dans le certificat. Si vous n’utilisez pas le drapeau -subj, vous serez invité à fournir toutes ces informations.
$ openssl req -new -x509 -sha256 -key root-ca-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=ROOT" -out root-ca.pem -days 730Vous pouvez changer les informations pour convenir à votre hôte spécifique.
Les variables dans le paramètre -subj signifient ce qui suit.
C = Nom du pays (code à 2 lettres), ST = Nom de l’état ou de la province (nom complet), L = Nom de la localité (par exemple, ville), O = Nom de l’organisation, OU = Nom de l’unité organisationnelle (par exemple, section), CN = Nom commun (par exemple, FQDN du serveur)
Votre certificat racine est maintenant actif.
Générer des certificats administratifs
Générez la clé privée pour le certificat administrateur en utilisant la commande suivante.
$ openssl genrsa -out admin-key-temp.pem 2048Convertissez la clé privée au format PKCS#8 pour une utilisation en Java en utilisant un algorithme compatible PKCS#12 (3DES).
$ openssl pkcs8 -inform PEM -outform PEM -in admin-key-temp.pem -topk8 -nocrypt -v1 PBE-SHA1-3DES -out admin-key.pemGénérez la CSR (demande de signature de certificat) administrateur à partir de la clé privée. Puisque ce certificat n’est pas lié à des hôtes et est utilisé pour authentifier un accès élevé, nous utilisons une valeur de A pour le nom commun (CN).
$ openssl req -new -key admin-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=A" -out admin.csrSignez la CSR administrateur avec le certificat racine et la clé privée que vous venez de créer.
$ openssl x509 -req -in admin.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out admin.pem -days 730
Certificate request self-signature ok
subject=C = CA, ST = ONTARIO, L = TORONTO, O = ORG, OU = UNIT, CN = AGénérer des certificats de nœud
Générez une clé privée pour le certificat de nœud.
$ openssl genrsa -out node1-key-temp.pem 2048Convertissez la clé privée du nœud au format PKCS#8.
$ openssl pkcs8 -inform PEM -outform PEM -in node1-key-temp.pem -topk8 -nocrypt -v1 PBE-SHA1-3DES -out node1-key.pemCréez une nouvelle CSR pour le certificat de nœud à partir de la clé privée. Assurez-vous de changer la valeur de la variable CN avec le nom d’hôte de votre nœud. Ce certificat est lié à vos hôtes et doit correspondre au nom d’hôte ou à l’adresse IP du nœud.
$ openssl req -new -key node1-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=opensearch.example.com" -out node1.csrCréez un fichier d’extension SAN (Subject Alternative Name) qui contient le nom d’hôte du nœud ou le FQDN ou l’adresse IP.
$ sh -c 'echo subjectAltName=DNS:opensearch.example.com > node1.ext'Signez la CSR du certificat de nœud avec le certificat racine et la clé privée que vous venez de créer.
$ openssl x509 -req -in node1.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out node1.pem -days 730 -extfile node1.ext
Certificate request self-signature ok
subject=C = CA, ST = ONTARIO, L = TORONTO, O = ORG, OU = UNIT, CN = opensearch.example.comPréparer les certificats pour l’installation
Supprimez tous les certificats temporaires, CSR et le fichier d’extension SAN.
$ rm -f *temp.pem *csr *extEnsuite, nous allons installer le certificat CA racine sur le serveur. Pour cela, convertissez le certificat CA racine au format .crt.
$ openssl x509 -outform der -in root-ca.pem -out root-ca.crtCopiez le fichier root-ca.crt dans le répertoire /usr/local/share/ca-certificates/.
$ sudo cp root-ca.crt /usr/local/share/ca-certificates/Ajoutez le certificat CA racine à votre serveur Debian en utilisant la commande suivante.
$ sudo update-ca-certificatesVous devriez voir la sortie suivante ( 1 added) confirmant que le certificat CA racine a été ajouté à votre système.
Updating certificates in /etc/ssl/certs...
rehash: warning: skipping ca-certificates.crt,it does not contain exactly one certificate or CRL
rehash: warning: skipping root-ca.pem,it does not contain exactly one certificate or CRL
1 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.Changez la propriété du répertoire de nouveau à l’utilisateur opensearch.
$ sudo chown opensearch:opensearch /etc/opensearch/certs -RChangez la permission sur le répertoire à 0700.
$ sudo chmod 0700 /etc/opensearch/certsChangez la permission sur les certificats à 0600.
$ sudo chmod 0600 /etc/opensearch/certs/{admin-key,admin,node1-key,node1,root-ca-key,root-ca}.pem
$ sudo chmod 0600 /etc/opensearch/certs/root-ca.crtÉtape 7 - Installer TLS sur OpenSearch
Maintenant que tous les certificats sont générés et configurés, il est temps d’installer et d’ajouter les certificats à votre installation OpenSearch.
La première étape consiste à créer un script bash qui ajoutera tous les certificats créés et les paramètres de sécurité TLS au fichier de configuration OpenSearch (/etc/opensearch/opensearch.yml).
Créez un fichier nommé add-opensearch-tls.sh et ouvrez-le pour l’éditer.
$ cd ~
$ nano add-opensearch-tls.shCollez le code suivant dedans.
#! /bin/bash
# Before running this script, make sure to replace the CN in the
# node's distinguished name with a real DNS A record.
echo "plugins.security.ssl.transport.pemcert_filepath: /etc/opensearch/certs/node1.pem" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.ssl.transport.pemkey_filepath: /etc/opensearch/certs/node1-key.pem" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.ssl.transport.pemtrustedcas_filepath: /etc/opensearch/certs/root-ca.pem" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.ssl.http.enabled: true" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.ssl.http.pemcert_filepath: /etc/opensearch/certs/node1.pem" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.ssl.http.pemkey_filepath: /etc/opensearch/certs/node1-key.pem" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.ssl.http.pemtrustedcas_filepath: /etc/opensearch/certs/root-ca.pem" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.allow_default_init_securityindex: true" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.authcz.admin_dn:" | sudo tee -a /etc/opensearch/opensearch.yml
echo " - 'CN=A,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA'" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.nodes_dn:" | sudo tee -a /etc/opensearch/opensearch.yml
echo " - 'CN=opensearch.example.com,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA'" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.audit.type: internal_opensearch" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.enable_snapshot_restore_privilege: true" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.check_snapshot_restore_write_privileges: true" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.restapi.roles_enabled: [\"all_access\", \"security_rest_api_access\"]" | sudo tee -a /etc/opensearch/opensearch.ymlEnregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.
Rendez le fichier exécutable.
$ chmod +x add-opensearch-tls.shExécutez le script.
$ ./add-opensearch-tls.shVous devriez obtenir la sortie suivante.
plugins.security.ssl.transport.pemcert_filepath: /etc/opensearch/certs/node1.pem
plugins.security.ssl.transport.pemkey_filepath: /etc/opensearch/certs/node1-key.pem
plugins.security.ssl.transport.pemtrustedcas_filepath: /etc/opensearch/certs/root-ca.pem
plugins.security.ssl.http.enabled: true
plugins.security.ssl.http.pemcert_filepath: /etc/opensearch/certs/node1.pem
plugins.security.ssl.http.pemkey_filepath: /etc/opensearch/certs/node1-key.pem
plugins.security.ssl.http.pemtrustedcas_filepath: /etc/opensearch/certs/root-ca.pem
plugins.security.allow_default_init_securityindex: true
plugins.security.authcz.admin_dn:
- 'CN=A,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA'
plugins.security.nodes_dn:
- 'CN=opensearch.example.com,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA'
plugins.security.audit.type: internal_opensearch
plugins.security.enable_snapshot_restore_privilege: true
plugins.security.check_snapshot_restore_write_privileges: true
plugins.security.restapi.roles_enabled: ["all_access", "security_rest_api_access"]Ouvrez le fichier /etc/opensearch/opensearch.yml pour vérifier si vos paramètres ont été appliqués.
$ sudo nano /etc/opensearch/opensearch.ymlFaites défiler jusqu’en bas du fichier et vous devriez voir ce qui suit.
# If you previously disabled the Security plugin in opensearch.yml,
# be sure to re-enable it. Otherwise you can skip this setting.
plugins.security.disabled: false
....
plugins.security.ssl.transport.pemcert_filepath: /etc/opensearch/certs/node1.pem
plugins.security.ssl.transport.pemkey_filepath: /etc/opensearch/certs/node1-key.pem
plugins.security.ssl.transport.pemtrustedcas_filepath: /etc/opensearch/certs/root-ca.pem
plugins.security.ssl.http.enabled: true
plugins.security.ssl.http.pemcert_filepath: /etc/opensearch/certs/node1.pem
plugins.security.ssl.http.pemkey_filepath: /etc/opensearch/certs/node1-key.pem
plugins.security.ssl.http.pemtrustedcas_filepath: /etc/opensearch/certs/root-ca.pem
plugins.security.allow_default_init_securityindex: true
plugins.security.authcz.admin_dn:
- 'CN=A,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA'
plugins.security.nodes_dn:
- 'CN=opensearch.example.com,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA'
plugins.security.audit.type: internal_opensearch
plugins.security.enable_snapshot_restore_privilege: true
plugins.security.check_snapshot_restore_write_privileges: true
plugins.security.restapi.roles_enabled: ["all_access", "security_rest_api_access"]Une fois que vous êtes satisfait, enregistrez le fichier en appuyant sur Ctrl + X.
Étape 8 - Créer un utilisateur OpenSearch
Dans cette étape, nous allons supprimer tous les utilisateurs de démonstration sauf l’utilisateur admin et remplacer le mot de passe par défaut de admin à l’aide d’un script.
Passez au répertoire des outils des plugins de sécurité OpenSearch.
$ cd /usr/share/opensearch/plugins/opensearch-security/toolsExécutez le script hash.sh pour générer un nouveau mot de passe.
$ ./hashLe script échouera et vous obtiendrez l’erreur suivante car le chemin vers l’exécutable Java (JDK) n’a pas été défini.
************************************************************************
Cet outil sera obsolète dans la prochaine version majeure d'OpenSearch
https://github.com/opensearch-project/security/issues/1755
**********************************************************************
WARNING: nor OPENSEARCH_JAVA_HOME nor JAVA_HOME is set, will use
./hash.sh: line 35: java: command not foundExécutez à nouveau la commande en déclarant la variable d’environnement OPENSEARCH_JAVA_HOME avec l’emplacement du JDK.
$ OPENSEARCH_JAVA_HOME=/usr/share/opensearch/jdk ./hash.shVous obtiendrez une sortie similaire.
********************************************************************** Cet outil sera obsolète dans la prochaine version majeure d'OpenSearch https://github.com/opensearch-project/security/issues/1755 ********************************************************************** [Password:] $2y$12$4NL0LqEnN4FXaUdQQC.gOupeCQT2IuMo9gN0b5d3nxdMVbLX088f2
Cela générera le hachage du mot de passe dont nous aurons besoin plus tard.
Ouvrez le fichier de configuration des utilisateurs OpenSearch internal_users.yml dans le répertoire /etc/opensearch/opensearch-security/ pour l’éditer.
$ sudo nano /etc/opensearch/opensearch-security/internal_users.ymlCommentez tous les utilisateurs de démonstration en ajoutant un dièse devant eux comme indiqué.
---
# This is the internal user database
# The hash value is a bcrypt hash and can be generated with plugin/tools/hash.sh
_meta:
type: "internalusers"
config_version: 2
# Define your internal users here
## Demo users
#admin:
# hash: "$2y$12$Twy84uxOX0SQ1QMQ68og8O/i1MvqWItt/phZX3DiJMjpBoT9u9KX6"
# reserved: true
# backend_roles:
# - "admin"
# description: "Demo admin user"
#anomalyadmin:Ajoutez l’utilisateur administrateur avec le hachage que vous avez généré ci-dessus comme suit.
---
# This is the internal user database
# The hash value is a bcrypt hash and can be generated with plugin/tools/hash.sh
_meta:
type: "internalusers"
config_version: 2
# Define your internal users here
admin:
hash: "$2y$12$4NL0LqEnN4FXaUdQQC.gOupeCQT2IuMo9gN0b5d3nxdMVbLX088f2"
reserved: true
backend_roles:
- "admin"
description: "Admin user"
## Demo users
#admin:Une fois terminé, enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.
Maintenant que les certificats TLS sont installés et que les utilisateurs de démonstration ont été supprimés ou ont reçu de nouveaux mots de passe, il est temps d’appliquer les modifications de configuration. Pour appliquer les modifications, nous invoquerons le script securityadmin.sh dans le répertoire /usr/share/opensearch/plugins/opensearch-security/tools. Le script nécessite que le service OpenSearch soit en cours d’exécution.
Redémarrez le service OpenSearch.
$ sudo systemctl restart opensearchPassez au répertoire /usr/share/opensearch/plugins/opensearch-security/tools.
$ cd /usr/share/opensearch/plugins/opensearch-security/toolsExécutez le script en utilisant la commande suivante.
$ sudo OPENSEARCH_JAVA_HOME=/usr/share/opensearch/jdk ./securityadmin.sh -h opensearch.nspeaks.com -p 9200 -cd /etc/opensearch/opensearch-security/ -cacert /etc/opensearch/certs/root-ca.pem -cert /etc/opensearch/certs/admin.pem -key /etc/opensearch/certs/admin-key.pem -icl -nhnvLe plugin de sécurité stocke sa configuration - y compris les utilisateurs, les autorisations, les rôles et les paramètres de backend dans un index système sur le cluster OpenSearch. Stocker ces paramètres dans le cluster vous permet de modifier les paramètres sans redémarrer le cluster et élimine le besoin d’éditer le fichier de configuration sur chaque nœud. Cela est accompli en exécutant le script securityadmin.sh.
- L’option
-cdspécifie où se trouvent les fichiers de configuration du plugin de sécurité. - L’option
-icl(--ignore-clustername) indique au plugin de sécurité de télécharger la configuration indépendamment du nom du cluster. Vous pouvez également spécifier le nom du cluster au lieu d’utiliser l’option-cn(--clustername). - Étant donné que les certificats sont auto-signés, nous utilisons l’option
-nhnv(--disable-host-name-verification). - Les options
--cacert,--certet--keydéfinissent l’emplacement du certificat racine, du certificat administrateur et de la clé privée pour le certificat administrateur. Si la clé privée a un mot de passe, vous pouvez le définir en utilisant l’option-keypass.
Vous pouvez en savoir plus sur la configuration du plugin de sécurité dans la documentation d’OpenSearch.
Vous devriez avoir obtenu une sortie similaire à celle ci-dessous avec la commande ci-dessus.
********************************************************************** Cet outil sera obsolète dans la prochaine version majeure d'OpenSearch https://github.com/opensearch-project/security/issues/1755 ************************************************************************ Security Admin v7 Will connect to opensearch:9200 ... done Connected as "CN=A,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA" OpenSearch Version: 2.12.0 Contacting opensearch cluster 'opensearch' and wait for YELLOW clusterstate ... Clustername: opensearch Clusterstate: GREEN Number of nodes: 1 Number of data nodes: 1 .opendistro_security index already exists, so we do not need to create one. Populate config from /etc/opensearch/opensearch-security/ Will update '/config' with /etc/opensearch/opensearch-security/config.yml SUCC: Configuration for 'config' created or updated Will update '/roles' with /etc/opensearch/opensearch-security/roles.yml SUCC: Configuration for 'roles' created or updated Will update '/rolesmapping' with /etc/opensearch/opensearch-security/roles_mapping.yml SUCC: Configuration for 'rolesmapping' created or updated Will update '/internalusers' with /etc/opensearch/opensearch-security/internal_users.yml SUCC: Configuration for 'internalusers' created or updated Will update '/actiongroups' with /etc/opensearch/opensearch-security/action_groups.yml SUCC: Configuration for 'actiongroups' created or updated Will update '/tenants' with /etc/opensearch/opensearch-security/tenants.yml SUCC: Configuration for 'tenants' created or updated Will update '/nodesdn' with /etc/opensearch/opensearch-security/nodes_dn.yml SUCC: Configuration for 'nodesdn' created or updated Will update '/whitelist' with /etc/opensearch/opensearch-security/whitelist.yml SUCC: Configuration for 'whitelist' created or updated Will update '/audit' with /etc/opensearch/opensearch-security/audit.yml SUCC: Configuration for 'audit' created or updated Will update '/allowlist' with /etc/opensearch/opensearch-security/allowlist.yml SUCC: Configuration for 'allowlist' created or updated SUCC: Expected 10 config types for node {"updated_config_types":["allowlist","tenants","rolesmapping","nodesdn","audit","roles","whitelist","internalusers","actiongroups","config"],"updated_config_size":10,"message":null} is 10 (["allowlist","tenants","rolesmapping","nodesdn","audit","roles","whitelist","internalusers","actiongroups","config"]) due to: null Done with success
Vérifiez les nouvelles informations d’identification en utilisant la commande suivante.
Lors du test précédent, nous avons dirigé les requêtes vers localhost. Maintenant que les certificats TLS sont configurés et que les nouveaux certificats font référence à l’enregistrement DNS réel de l’hôte, les requêtes vers localhost échoueront lors de la vérification CN, et le certificat sera considéré comme invalide. Par conséquent, ajoutez votre enregistrement DNS réel dans la commande ci-dessous pour vérifier.
$ curl https://your.host.address:9200 -u admin:yournewpassword -kVous devriez voir la réponse suivante.
{
"name" : "opensearch",
"cluster_name" : "opensearch",
"cluster_uuid" : "3oFvYn96St2MOpDP3Sf29g",
"version" : {
"distribution" : "opensearch",
"number" : "2.12.0",
"build_type" : "deb",
"build_hash" : "2c355ce1a427e4a528778d4054436b5c4b756221",
"build_date" : "2024-02-20T02:18:31.541484890Z",
"build_snapshot" : false,
"lucene_version" : "9.9.2",
"minimum_wire_compatibility_version" : "7.10.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "Le projet OpenSearch : https://opensearch.org/"
}Étape 9 - Installer OpenSearch Dashboards
Puisque nous avons déjà installé OpenSearch, nous pouvons sauter l’étape d’importation de la clé GPG d’OpenSearch.
Pour installer les tableaux de bord OpenSearch, exécutez la commande suivante pour créer un dépôt APT pour cela.
$ echo "deb [signed-by=/usr/share/keyrings/opensearch-keyring] https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/2.x/apt stable main" | sudo tee /etc/apt/sources.list.d/opensearch-dashboards-2.x.listMettez à jour la liste des dépôts du système.
$ sudo apt updateListez toutes les versions disponibles des tableaux de bord OpenSearch.
$ sudo apt list -a opensearch-dashboardsVous devriez voir une sortie similaire.
Listing... Done
opensearch-dashboards/stable 2.12.0 amd64
opensearch-dashboards/stable 2.11.1 amd64
opensearch-dashboards/stable 2.11.0 amd64
opensearch-dashboards/stable 2.10.0 amd64
opensearch-dashboards/stable 2.9.0 amd64
opensearch-dashboards/stable 2.8.0 amd64
opensearch-dashboards/stable 2.7.0 amd64
opensearch-dashboards/stable 2.6.0 amd64
opensearch-dashboards/stable 2.5.0 amd64Installez la dernière version des tableaux de bord OpenSearch.
$ sudo apt install opensearch-dashboardsOu installez une version spécifique des tableaux de bord OpenSearch.
$ sudo apt install opensearch-dashboards=2.12.0La version des tableaux de bord OpenSearch et d’OpenSearch doit être la même, sinon vous pouvez rencontrer plusieurs problèmes.
Rechargez le démon de service.
$ sudo systemctl daemon-reloadActivez le service OpenSearch Dashboards.
$ sudo systemctl enable opensearch-dashboardsDémarrez le service OpenSearch Dashboards.
$ sudo systemctl start opensearch-dashboardsVérifiez l’état du service OpenSearch Dashboards.
$ sudo systemctl status opensearch-dashboardsVous devriez voir la sortie suivante.
? opensearch-dashboards.service - "OpenSearch Dashboards"
Loaded: loaded (/lib/systemd/system/opensearch-dashboards.service; enabled; preset: enabled)
Active: active (running) since Sat 2024-03-02 16:01:25 UTC; 4s ago
Main PID: 7098 (node)
Tasks: 11 (limit: 9484)
Memory: 175.4M
CPU: 5.389s
CGroup: /system.slice/opensearch-dashboards.service
??7098 /usr/share/opensearch-dashboards/node/bin/node /usr/share/opensearch-dashboards/src/cli/dist
Mar 02 16:01:25 opensearch systemd[1]: Started opensearch-dashboards.service - "OpenSearch Dashboards".Étape 10 - Configurer OpenSearch Dashboards
OpenSearch Dashboards stocke sa configuration dans le fichier /etc/opensearch-dashboards/opensearch_dashboards.yml. Ouvrez-le pour l’éditer.
$ sudo nano /etc/opensearch-dashboards/opensearch_dashboards.ymlTrouvez la ligne # server.host: "localhost" et décommentez-la en supprimant le dièse devant elle et en changeant sa valeur comme indiqué.
# Specifies the address to which the OpenSearch Dashboards server will bind. IP addresses and host names are both valid values.
# The default is 'localhost', which usually means remote machines will not be able to connect.
# To allow connections from remote users, set this parameter to a non-loopback address.
server.host: 0.0.0.0Définir la valeur de server.host sur 0.0.0.0 lie OpenSearch Dashboard à n’importe quelle IP externe, ce qui le rend accessible sur le Web. Si vous souhaitez servir les tableaux de bord via SSL en utilisant un proxy inverse, laissez cette valeur inchangée.
Faites défiler vers le bas pour trouver la section suivante.
opensearch.hosts: [https://localhost:9200]
opensearch.ssl.verificationMode: none
opensearch.username: kibanaserver
opensearch.password: kibanaserver
opensearch.requestHeadersWhitelist: [authorization, securitytenant]Changez les valeurs comme configuré pour notre installation OpenSearch.
opensearch.hosts: [https://opensearch:9200]
opensearch.ssl.verificationMode: none
opensearch.username: admin
opensearch.password:
opensearch.requestHeadersWhitelist: [authorization, securitytenant] Une fois terminé, enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.
Redémarrez le service OpenDashboards.
$ sudo systemctl restart opensearch-dashboardsOuvrez le port 5601 dans le pare-feu UFW.
$ sudo ufw allow 5601Ouvrez l’URL http:// ou http://opensearch.example.com:5601 pour lancer le site Web OpenSearch Dashboards.

Si vous êtes content d’accéder à OpenSearch Dashboards via HTTP et avec un numéro de port dans l’URL, vous pouvez vous arrêter ici. Cependant, il est préférable de servir les tableaux de bord via SSL. Pour cela, nous allons installer Nginx en tant que proxy inverse et servir SSL via celui-ci.
Étape 11 - Installer Nginx
Debian 12 est livré avec une version plus ancienne de Nginx. Vous devez télécharger le dépôt officiel de Nginx pour installer la dernière version.
Importez la clé de signature de Nginx.
$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/nullAjoutez le dépôt pour la version principale de Nginx.
$ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/mainline/debian `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.listMettez à jour les dépôts du système.
$ sudo apt updateInstallez Nginx.
$ sudo apt install nginxVérifiez l’installation. Sur les systèmes Debian, la commande suivante ne fonctionnera qu’avec sudo.
$ sudo nginx -v
nginx version: nginx/1.25.4Démarrez le serveur Nginx.
$ sudo systemctl start nginxVérifiez l’état du service.
$ sudo systemctl status nginx
? nginx.service - nginx - serveur web haute performance
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; preset: enabled)
Active: active (running) since Sat 2024-03-02 12:53:57 UTC; 4s ago
Docs: https://nginx.org/en/docs/
Process: 3976 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
Main PID: 3977 (nginx)
Tasks: 3 (limit: 9484)
Memory: 2.7M
CPU: 9ms
CGroup: /system.slice/nginx.service
??3977 "nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf"
??3978 "nginx: worker process"
??3979 "nginx: worker process"
Mar 02 12:53:57 opensearch systemd[1]: Starting nginx.service - nginx - serveur web haute performance...
Mar 02 12:53:57 opensearch systemd[1]: Started nginx.service - nginx - serveur web haute performance.Étape 12 - Installer SSL
Nous devons installer Certbot pour générer le certificat SSL. Vous pouvez soit installer Certbot en utilisant le dépôt de Debian, soit obtenir la dernière version en utilisant l’outil Snapd. Nous utiliserons la version Snapd.
Debian 12 ne vient pas avec Snapd installé. Installez le paquet Snapd.
$ sudo apt install snapdExécutez les commandes suivantes pour vous assurer que votre version de Snapd est à jour.
$ sudo snap install core && sudo snap refresh coreInstallez Certbot.
$ sudo snap install --classic certbotUtilisez la commande suivante pour vous assurer que la commande Certbot peut être exécutée en créant un lien symbolique vers le répertoire /usr/bin.
$ sudo ln -s /snap/bin/certbot /usr/bin/certbotVérifiez si Certbot fonctionne correctement.
$ certbot --version
certbot 2.9.0Exécutez la commande suivante pour générer un certificat SSL.
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d craftcms.example.comLa commande ci-dessus téléchargera un certificat dans le répertoire /etc/letsencrypt/live/craftcms.example.com sur votre serveur.
Générez un certificat de groupe Diffie-Hellman.
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096Vérifiez le service de planification de renouvellement de Certbot.
$ sudo systemctl list-timersVous trouverez snap.certbot.renew.service comme l’un des services programmés pour s’exécuter.
NEXT LEFT LAST PASSED UNIT ACTIVATES ---------------------------------------------------------------------------------------------------------------------------------------
Sat 2024-03-02 16:25:00 UTC 3h 27min left - - snap.certbot.renew.timer snap.certbot.renew.service
Sat 2024-03-02 23:00:51 UTC 10h left Sat 2024-03-02 06:29:02 UTC 6h ago apt-daily.timer apt-daily.service
Sun 2024-03-03 00:00:00 UTC 11h left - - dpkg-db-backup.timer dpkg-db-backup.service
.....Faites un essai à sec du processus pour vérifier si le renouvellement SSL fonctionne correctement.
$ sudo certbot renew --dry-runSi vous ne voyez aucune erreur, vous êtes prêt. Votre certificat se renouvellera automatiquement.
Étape 13 - Configurer Nginx
Ouvrez le fichier /etc/nginx/nginx.conf pour l’éditer.
$ sudo nano /etc/nginx/nginx.confAjoutez la ligne suivante avant la ligne include /etc/nginx/conf.d/*.conf;.
server_names_hash_bucket_size 64;Enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.
Créez et ouvrez le fichier /etc/nginx/conf.d/opensearch.conf pour l’éditer.
$ sudo nano /etc/nginx/conf.d/opensearch.confCollez le code suivant dedans. Remplacez opensearch.example.com par votre nom de domaine.
server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
http3 on;
quic_retry on;
server_name opensearch.example.com;
access_log /var/log/nginx/opensearch.access.log;
error_log /var/log/nginx/opensearch.error.log;
ssl_certificate /etc/letsencrypt/live/opensearch.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/opensearch.example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/opensearch.example.com/chain.pem;
ssl_session_timeout 5m;
ssl_session_cache shared:MozSSL:10m;
ssl_session_tickets off;
ssl_early_data on;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1;
ssl_stapling on;
ssl_stapling_verify on;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
location / {
proxy_pass http://localhost:5601;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
# enforce HTTPS
server {
listen 80;
listen [::]:80;
server_name opensearch.example.com;
return 301 https://$host$request_uri;
}Enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.
Vérifiez votre configuration Nginx.
$ sudo nginx -tRedémarrez le serveur Nginx.
$ sudo systemctl restart nginxVisitez https://opensearch.example.com dans votre navigateur pour lancer OpenSearch Dashboards.
Étape 14 - Accéder et utiliser OpenSearch Dashboards
Si vous avez utilisé Nginx, accédez aux tableaux de bord via l’URL https://opensearch.example.com ou utilisez http://opensearch.example.com:5601 et vous devriez obtenir la page de connexion.

Entrez admin et le mot de passe administrateur personnalisé que vous avez configuré pour OpenSearch à l’étape 4 et cliquez sur le bouton Se connecter pour continuer.

Cliquez sur le bouton Ajouter des données pour commencer à ajouter des données directement ou cliquez sur le lien Explorer par moi-même si vous souhaitez d’abord naviguer. Nous allons d’abord naviguer et cela devrait vous amener à une fenêtre contextuelle qui parle du mode sombre d’OpenSearch Dashboards.

Cliquez sur le bouton Ignorer pour continuer. Ensuite, vous serez invité à choisir un locataire.

Les locataires dans OpenSearch Dashboards sont des espaces pour enregistrer des modèles d’index, des visualisations, des tableaux de bord et d’autres objets OpenSearch Dashboards. Chaque utilisateur peut créer plusieurs locataires pour plusieurs usages. Les locataires sont utiles pour partager en toute sécurité votre travail avec d’autres utilisateurs d’OpenSearch Dashboards. OpenSearch vous donne la possibilité de choisir entre trois options.
- Global - Ce locataire est partagé entre tous les utilisateurs d’OpenSearch Dashboards.
- Privé - Ce locataire est exclusif à chaque utilisateur et ne peut pas être partagé.
- Personnalisé - Les administrateurs peuvent créer des locataires personnalisés et les attribuer à des rôles spécifiques. Une fois créés, vous pouvez utiliser ces locataires pour fournir des espaces à un ensemble spécifique d’utilisateurs.
Pour l’instant, nous allons nous en tenir à l’option par défaut d’un locataire privé. Cliquez sur le bouton Confirmer pour continuer. Vous serez accueilli avec la page suivante.

Ensuite, nous allons vérifier la connexion entre OpenSearch et les tableaux de bord OpenSearch.
Cliquez sur le bouton Outils de développement en haut à droite et vous verrez une mini fenêtre contextuelle sur l’interface de console pour les tableaux de bord OpenSearch.

Cliquez sur le bouton Ignorer, saisissez la requête GET / dans la console à gauche et cliquez sur le petit bouton de lecture au milieu. Vous devriez voir la sortie suivante à droite.

Cela confirme qu’OpenSearch Dashboards reçoit des données d’OpenSearch et que les deux fonctionnent correctement. Vous pouvez commencer à ajouter des données à partir de ce moment.
Conclusion
Cela conclut le tutoriel sur l’installation d’OpenSearch sur un serveur Debian 12. Si vous avez des questions, postez-les dans les commentaires ci-dessous.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.