OpenSearch Install · 28 min read · Oct 12, 2025
Come installare OpenSearch su Debian 12

OpenSearch è un fork open-source di Elasticsearch e Kibana sviluppato da Amazon. È un motore di ricerca distribuito, scalabile e in tempo reale che consente la ricerca full-text e l’analisi. Viene utilizzato per indicizzare e cercare grandi quantità di dati. È comunemente distribuito insieme a OpenSearch Dashboards (un fork di Kibana), un potente cruscotto di visualizzazione dei dati per OpenSearch. OpenSearch Dashboards ti consente di esplorare i dati di log di OpenSearch e di costruire cruscotti e query per ottenere informazioni sulla tua applicazione.
Questo tutorial ti mostrerà come installare OpenSearch su un server Debian 12. Imparerai anche come proteggere la tua installazione con certificati TLS personalizzati e abilitare l’autenticazione su OpenSearch.
Prerequisiti
Un server che esegue Debian 12 con un minimo di 4 GB di RAM.
Un utente non root con privilegi sudo.
Il firewall Uncomplicated Firewall (UFW) è abilitato e in esecuzione.
Un nome di dominio completamente qualificato (FQDN) come
opensearch.example.comche punta al tuo server. Questo è utile se desideri servire OpenSearch Dashboards tramite SSL utilizzando un server proxy.Tutto è aggiornato.
$ sudo apt update && sudo apt upgradeSono necessari alcuni pacchetti essenziali per il tutorial e per il funzionamento di Craft CMS. Alcuni di questi saranno già presenti sul tuo server.
$ sudo apt install curl wget nano software-properties-common dirmngr apt-transport-https ca-certificates lsb-release debian-archive-keyring gnupg2 ufw unzip -y
Passo 1 - Configura il Firewall
Il primo passo prima di installare qualsiasi pacchetto è configurare il firewall per consentire le connessioni HTTP e HTTPS.
Controlla lo stato del firewall.
$ sudo ufw statusDovresti vedere qualcosa di simile al seguente.
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)Consenti le porte HTTP e HTTPS.
$ sudo ufw allow http
$ sudo ufw allow httpsControlla di nuovo lo stato per confermare.
$ 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)Passo 2 - Prepara il Sistema
Prima di installare OpenSearch, dobbiamo preparare e ottimizzare il nostro sistema per esso. Ci sono diversi passaggi coinvolti che includono la disabilitazione di qualsiasi memoria swap se ce l’hai, impostare il numero di mappe di memoria per il tuo sistema e configurare il nome host del sistema.
Innanzitutto, controlla se hai la memoria swap abilitata.
$ free -mSe hai la swap abilitata, dovresti vedere un output simile.
total used free shared buff/cache available
Mem: 7945 1083 6492 34 636 6861
Swap: 4242 0 4242Esegui i seguenti comandi per disabilitare permanentemente lo spazio swap.
$ sudo swapoff -a
$ sudo sed -i '/ swap / s/^\(.*\)$/#
1/g' /etc/fstabControlla di nuovo la memoria swap e dovrebbe mostrare quanto segue.
total used free shared buff/cache available
Mem: 7945 1113 6449 37 651 6831
Swap: 0 0 0OpenSearch utilizza una directory mapfs per impostazione predefinita per memorizzare i suoi indici. I limiti predefiniti del sistema operativo sui conteggi nmap sono troppo bassi, il che può causare errori di memoria esaurita.
Controlla il valore esistente per la variabile vm.max_map_count.
$ sysctl -n vm.max_map_count
65530Per aumentare il numero di mappe di memoria utilizzate da ciascun processo, esegui il seguente comando.
$ sudo sysctl -w vm.max_map_count=262144Questo funzionerà solo fino al riavvio del sistema. Per rendere questo valore permanente, aggiungi la riga vm.max_map_count=262144 nel file /etc/sysctl.conf utilizzando il seguente comando.
$ echo "vm.max_map_count=262144" | sudo tee -a /etc/sysctl.confPuoi rendere la modifica permanente riavviando il sistema o eseguendo il seguente comando.
$ sudo sysctl -pL’ultimo passo è impostare il nome host. A seconda di dove stai ospitando il tuo server, alcune aziende cloud ti consentono di impostare il tuo nome host direttamente tramite il loro pannello di controllo. Tuttavia, è meglio farlo tramite il terminale.
Esegui il seguente comando per impostare il nome host.
$ sudo hostnamectl set-hostname opensearchAggiungi il FQDN (Fully qualified domain name) al file /etc/hosts. Qui, mappiamo il nome host opensearch al nome di dominio opensearch.example.com e lo puntiamo all’indirizzo IP del server. Sostituisci nel comando qui sotto con l’indirizzo IP del tuo server.
$ echo " opensearch.example.com opensearch" | sudo tee -a /etc/hosts Controlla il nome host e il FQDN utilizzando i seguenti comandi.
$ hostname
opensearch
$ hostname -f
opensearch.example.comQuesto conclude il processo di ottimizzazione del nostro sistema per lavorare con OpenSearch.
Passo 3 - Installa OpenSearch
Importa la chiave GPG di OpenSearch utilizzata per firmare il pacchetto di installazione.
$ curl -o- https://artifacts.opensearch.org/publickeys/opensearch.pgp | sudo gpg --dearmor --batch --yes -o /usr/share/keyrings/opensearch-keyringCrea il file del repository APT di 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.listAggiorna l’elenco dei repository di sistema.
$ sudo apt updateControlla tutte le versioni disponibili di 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 amd64L’ultima versione di OpenSearch v2.12.0 richiede di impostare la password demo dell’amministratore prima dell’installazione o fallirà.
Puoi installare l’ultima versione di OpenSearch utilizzando il seguente comando. Possiamo impostare la password demo dell’amministratore utilizzando la variabile di ambiente nel comando di installazione stesso. Scegli una password forte.
$ sudo env OPENSEARCH_INITIAL_ADMIN_PASSWORD= apt install opensearch Se vedi il seguente avviso durante l’installazione, puoi ignorarlo in sicurezza.
......
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’
......Oppure puoi installare una versione specifica.
$ sudo apt install opensearch=2.11.1Ricarica il demone del servizio.
$ sudo systemctl daemon-reloadAbilita il servizio OpenSearch.
$ sudo systemctl enable opensearchAvvia il servizio OpenSearch.
$ sudo systemctl start opensearchVerifica lo stato del servizio OpenSearch.
$ sudo systemctl status opensearchDovresti ottenere il seguente output.
? 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...Passo 4 - Testa OpenSearch
Prima di procedere oltre, controlliamo se l’installazione funziona correttamente. Esegui il seguente comando per verificare se OpenSearch sta funzionando come previsto.
$ curl -X GET https://localhost:9200 -u 'admin:' --insecure Dovresti ottenere un output simile.
{
"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" : "Il progetto OpenSearch: https://opensearch.org/"
}Interroga l’endpoint dei plugin di OpenSearch per vedere l’elenco dei plugin disponibili.
$ curl -X GET https://localhost:9200/_cat/plugins?v -u 'admin:' --insecure Puoi anche usare il seguente comando per lo stesso.
$ /usr/share/opensearch/bin/opensearch-plugin listDovresti ottenere un output simile.
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.0Puoi installare plugin aggiuntivi utilizzando il seguente comando.
$ /usr/share/opensearch/bin/opensearch-plugin install Puoi trovare l’elenco dei plugin OpenSearch disponibili sul loro sito ufficiale.
Passo 5 - Configura OpenSearch
Le impostazioni predefinite di OpenSearch non sono adatte per un ambiente di produzione. Per impostazione predefinita, OpenSearch non è legato a un’interfaccia di rete ed è irraggiungibile dall’esterno. Inoltre, vengono utilizzati nomi utente e password predefiniti che possono causare problemi di sicurezza se utilizzati direttamente in un ambiente di produzione.
OpenSearch memorizza la sua configurazione nel file /etc/opensearch/opensearch.yml. Aprilo per la modifica.
$ sudo nano /etc/opensearch/opensearch.ymlTrova la riga #network.host: 192.168.0.1 e decommentala rimuovendo l’hash (#) davanti ad essa e cambiando il suo valore come mostrato. Questo lega OpenSearch a tutte le interfacce disponibili. Puoi anche scegliere di inserire un IP specifico per legarlo a un’interfaccia specifica.
# Imposta l'indirizzo di binding su un IP specifico (IPv4 o IPv6):
#
network.host: 0.0.0.0Aggiungi le seguenti righe in fondo al file.
# A meno che tu non abbia già configurato un cluster, dovresti impostare
# discovery.type su single-node, altrimenti i controlli di avvio falliranno
# quando provi a avviare il servizio.
discovery.type: single-node
# Se in precedenza hai disabilitato il plugin di sicurezza in opensearch.yml,
# assicurati di riattivarlo. Altrimenti puoi saltare questa impostazione.
plugins.security.disabled: falsePoiché stiamo installando su un singolo server, abbiamo impostato discovery.type su single-node. Impostare plugins.security.disabled su false abilita il plugin di sicurezza di OpenSearch.
Salva il file premendo Ctrl + X e inserendo Y quando richiesto.
Dobbiamo anche specificare le dimensioni iniziali e massime dell’heap JVM (Java Virtual Memory). Questa impostazione dipende dalla dimensione della RAM del tuo server. Ad esempio, stiamo utilizzando un server con 4 GB di RAM, quindi impostiamo la dimensione dell’heap a 3 GB.
Crea e apri il file heapsize.options nella directory /etc/opensearch/jvm.options.d per la modifica. Sovrascriverà il valore predefinito impostato nel file /etc/opensearch/jvm.options.
$ sudo nano /etc/opensearch/jvm.options.d/heapsize.optionsAggiungi le seguenti righe ad esso.
-Xms3g
-Xmx3gSalva il file premendo Ctrl + X e inserendo Y quando richiesto.
Riavvia il servizio OpenSearch per implementare le modifiche.
$ sudo systemctl restart opensearchPuoi controllare la dimensione attuale dell’heap e la memoria massima utilizzando il seguente comando.
$ curl -sS "https://localhost:9200/_cat/nodes?h=heap*&v" -u 'admin:' --insecure Dovresti ottenere il seguente output.
heap.current heap.percent heap.max
345.5mb 11 3gbPasso 6 - Configura TLS per OpenSearch
Qui genereremo certificati per proteggere OpenSearch. I certificati TLS forniscono sicurezza consentendo ai client di confermare l’identità degli host e crittografare il traffico tra un client e l’host. Genereremo i seguenti certificati:
- Certificati CA Root - Questi sono i certificati principali che firmeranno tutti gli altri certificati.
- Certificati Admin - Questi certificati vengono utilizzati per ottenere diritti elevati per eseguire attività amministrative relative al plugin di sicurezza.
- Certificati Node - Questi certificati vengono utilizzati per la comunicazione tra un nodo e il client.
Tutti i certificati OpenSearch sono memorizzati nella directory /etc/opensearch. Il primo passo è rimuovere i certificati predefiniti impostati durante l’installazione di OpenSearch.
Passa alla directory di OpenSearch.
$ cd /etc/opensearchRimuovi i certificati predefiniti.
$ sudo rm -f *.pemApri il file di configurazione di OpenSearch per la modifica.
$ sudo nano opensearch.ymlCommenta il seguente codice in fondo al file mettendo un hash davanti a ciascuna riga all’interno della sezione OpenSearch Security Demo Configuration come mostrato di seguito.
######## Inizio configurazione demo di sicurezza OpenSearch ########
# ATTENZIONE: rivedi tutte le righe sottostanti prima di andare in produzione
#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
######## Fine configurazione demo di sicurezza OpenSearch ########Salva il file premendo Ctrl + X e inserendo Y quando richiesto.
Successivamente, crea una directory per memorizzare i certificati all’interno della directory /etc/opensearch.
$ sudo mkdir /etc/opensearch/certsCambia il permesso della directory all’utente attualmente connesso per evitare di utilizzare sudo durante la generazione dei certificati.
$ sudo chown $USER:$USER /etc/opensearch/certs -RPassa alla directory dei certificati.
$ cd /etc/opensearch/certsGenera Certificati Root
Genera una chiave privata per il certificato root.
$ openssl genrsa -out root-ca-key.pem 2048Genera un certificato CA root autofirmato. Stiamo utilizzando il parametro -subj per fornire informazioni che sono incorporate nel certificato. Se non utilizzi il flag -subj, ti verrà chiesto di fornire tutte queste informazioni.
$ 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 730Puoi cambiare le informazioni per adattarle al tuo host specifico.
Le variabili nel parametro -subj significano quanto segue.
C = Nome del paese (codice di 2 lettere), ST = Nome dello stato o della provincia (nome completo), L = Nome della località (ad es., città), O = Nome dell’organizzazione, OU = Nome dell’unità organizzativa (ad es., sezione), CN = Nome comune (ad es., FQDN del server)
Il tuo certificato root è ora attivo.
Genera Certificati Admin
Genera la chiave privata per il certificato Admin utilizzando il seguente comando.
$ openssl genrsa -out admin-key-temp.pem 2048Converti la chiave privata nel formato PKCS#8 per l’uso in Java utilizzando un algoritmo compatibile con PKCS#12 (3DES).
$ openssl pkcs8 -inform PEM -outform PEM -in admin-key-temp.pem -topk8 -nocrypt -v1 PBE-SHA1-3DES -out admin-key.pemGenera il CSR (Certificate Signing Request) Admin dalla chiave privata. Poiché questo certificato non è legato a nessun host ed è utilizzato per autenticare l’accesso elevato, stiamo utilizzando un valore di A per il Nome Comune (CN).
$ openssl req -new -key admin-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=A" -out admin.csrFirma il CSR Admin con il certificato root e la chiave privata che hai appena creato.
$ 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 = AGenera Certificati Node
Genera una chiave privata per il certificato node.
$ openssl genrsa -out node1-key-temp.pem 2048Converti la chiave privata del nodo nel formato PKCS#8.
$ openssl pkcs8 -inform PEM -outform PEM -in node1-key-temp.pem -topk8 -nocrypt -v1 PBE-SHA1-3DES -out node1-key.pemCrea un nuovo CSR per il certificato Node dalla chiave privata. Assicurati di cambiare il valore della variabile CN con il nome host del tuo nodo. Questo certificato è legato ai tuoi host e deve corrispondere al nome host o all’indirizzo IP del nodo.
$ openssl req -new -key node1-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=opensearch.example.com" -out node1.csrCrea un file di estensione SAN (Subject Alternative Name) che contiene il nome host del nodo o FQDN o indirizzo IP.
$ sh -c 'echo subjectAltName=DNS:opensearch.example.com > node1.ext'Firma il CSR del certificato node con il certificato root e la chiave privata che hai appena creato.
$ 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.comPreparazione dei Certificati per l’Installazione
Rimuovi eventuali certificati temporanei, CSR e il file di estensione SAN.
$ rm -f *temp.pem *csr *extSuccessivamente, installeremo il certificato CA root sul server. Per farlo, converti il certificato CA root nel formato .crt.
$ openssl x509 -outform der -in root-ca.pem -out root-ca.crtCopia il file root-ca.crt nella directory /usr/local/share/ca-certificates/.
$ sudo cp root-ca.crt /usr/local/share/ca-certificates/Aggiungi il certificato CA root al tuo server Debian utilizzando il seguente comando.
$ sudo update-ca-certificatesDovresti vedere il seguente output ( 1 added) che conferma che il certificato CA root è stato aggiunto al tuo sistema.
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.Cambia la proprietà della directory di nuovo all’utente opensearch.
$ sudo chown opensearch:opensearch /etc/opensearch/certs -RCambia il permesso sulla directory in 0700.
$ sudo chmod 0700 /etc/opensearch/certsCambia il permesso sui certificati in 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.crtPasso 7 - Installa TLS in OpenSearch
Ora che tutti i certificati sono stati generati e configurati, è tempo di installare e aggiungere i certificati alla tua installazione di OpenSearch.
Il primo passo è creare uno script bash che aggiungerà tutti i certificati creati e le impostazioni del plugin di sicurezza TLS al file di configurazione di OpenSearch (/etc/opensearch/opensearch.yml).
Crea un file chiamato add-opensearch-tls.sh e aprilo per la modifica.
$ cd ~
$ nano add-opensearch-tls.shIncolla il seguente codice in esso.
#! /bin/bash
# Prima di eseguire questo script, assicurati di sostituire il CN nel
# nome distinto del nodo con un vero record DNS A.
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.ymlSalva il file premendo Ctrl + X e inserendo Y quando richiesto.
Rendi il file eseguibile.
$ chmod +x add-opensearch-tls.shEsegui lo script.
$ ./add-opensearch-tls.shDovresti ottenere il seguente output.
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"]Apri il file /etc/opensearch/opensearch.yml per controllare se le tue impostazioni sono state applicate.
$ sudo nano /etc/opensearch/opensearch.ymlScorri fino in fondo al file e dovresti vedere quanto segue.
# Se in precedenza hai disabilitato il plugin di sicurezza in opensearch.yml,
# assicurati di riattivarlo. Altrimenti puoi saltare questa impostazione.
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"]Una volta soddisfatto, salva il file premendo Ctrl + X.
Passo 8 - Creazione Utente OpenSearch
In questo passo, rimuoveremo tutti gli utenti demo tranne l’utente admin e sostituiremo la password predefinita admin utilizzando uno script.
Passa alla directory degli strumenti del plugin di sicurezza di OpenSearch.
$ cd /usr/share/opensearch/plugins/opensearch-security/toolsEsegui lo script hash.sh per generare una nuova password.
$ ./hashLo script fallirà e riceverai il seguente errore perché il percorso all’eseguibile Java (JDK) non è stato definito.
************************************************************************
Questo strumento sarà deprecato nella prossima versione principale di 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 foundEsegui di nuovo il comando dichiarando la variabile di ambiente OPENSEARCH_JAVA_HOME con la posizione del JDK.
$ OPENSEARCH_JAVA_HOME=/usr/share/opensearch/jdk ./hash.shOtterrai un output simile.
********************************************************************** Questo strumento sarà deprecato nella prossima versione principale di OpenSearch https://github.com/opensearch-project/security/issues/1755 ********************************************************************** [Password:] $2y$12$4NL0LqEnN4FXaUdQQC.gOupeCQT2IuMo9gN0b5d3nxdMVbLX088f2
Genererà l’hash della password di cui avremo bisogno in seguito.
Apri il file di configurazione degli utenti OpenSearch internal_users.yml nella directory /etc/opensearch/opensearch-security/ per la modifica.
$ sudo nano /etc/opensearch/opensearch-security/internal_users.ymlCommenta tutti gli utenti demo aggiungendo un hash davanti a loro come mostrato.
---
# Questo è il database utenti interni
# Il valore hash è un hash bcrypt e può essere generato con plugin/tools/hash.sh
_meta:
type: "internalusers"
config_version: 2
# Definisci i tuoi utenti interni qui
## Utenti demo
#admin:
# hash: "$2y$12$Twy84uxOX0SQ1QMQ68og8O/i1MvqWItt/phZX3DiJMjpBoT9u9KX6"
# reserved: true
# backend_roles:
# - "admin"
# description: "Utente admin demo"
#anomalyadmin:Aggiungi l’utente admin con l’hash che hai generato sopra come mostrato.
---
# Questo è il database utenti interni
# Il valore hash è un hash bcrypt e può essere generato con plugin/tools/hash.sh
_meta:
type: "internalusers"
config_version: 2
# Definisci i tuoi utenti interni qui
admin:
hash: "$2y$12$4NL0LqEnN4FXaUdQQC.gOupeCQT2IuMo9gN0b5d3nxdMVbLX088f2"
reserved: true
backend_roles:
- "admin"
description: "Utente admin"
## Utenti demo
#admin:Una volta terminato, salva il file premendo Ctrl + X e inserendo Y quando richiesto.
Ora che i certificati TLS sono installati e gli utenti demo rimossi o assegnati nuove password, è tempo di applicare le modifiche di configurazione. Per applicare le modifiche, invocheremo lo script securityadmin.sh all’interno della directory /usr/share/opensearch/plugins/opensearch-security/tools. Lo script richiede che il servizio OpenSearch sia in esecuzione.
Riavvia il servizio OpenSearch.
$ sudo systemctl restart opensearchPassa alla directory /usr/share/opensearch/plugins/opensearch-security/tools.
$ cd /usr/share/opensearch/plugins/opensearch-security/toolsEsegui lo script utilizzando il seguente comando.
$ 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 -nhnvIl plugin di sicurezza memorizza la sua configurazione - inclusi utenti, permessi, ruoli e impostazioni di backend in un indice di sistema sul cluster OpenSearch. Memorizzare queste impostazioni nel cluster ti consente di modificare le impostazioni senza riavviare il cluster ed elimina la necessità di modificare il file di configurazione su ogni nodo. Questo viene realizzato eseguendo lo script securityadmin.sh.
- L’opzione
-cdspecifica dove si trovano i file di configurazione del plugin di sicurezza. - L’opzione
-icl(--ignore-clustername) dice al plugin di sicurezza di caricare la configurazione indipendentemente dal nome del cluster. Puoi anche specificare il nome del cluster invece di utilizzare l’opzione-cn(--clustername). - Poiché i certificati sono autofirmati, utilizziamo l’opzione
-nhnv(--disable-host-name-verification). - Le opzioni
--cacert,--certe--keydefiniscono la posizione del certificato root, del certificato admin e della chiave privata per il certificato admin. Se la chiave privata ha una password, puoi definirla utilizzando l’opzione-keypass.
Puoi saperne di più sulla configurazione del plugin di sicurezza nella documentazione di OpenSearch.
Dovresti aver ottenuto un output simile a quello mostrato di seguito con il comando sopra.
********************************************************************** Questo strumento sarà deprecato nella prossima versione principale di 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
Verifica le nuove credenziali utilizzando il seguente comando.
Durante il test precedente, abbiamo diretto le richieste a localhost. Ora che i certificati TLS sono stati configurati e i nuovi certificati si riferiscono al record DNS effettivo dell’host, le richieste a localhost falliranno il controllo CN e il certificato sarà considerato non valido. Pertanto, aggiungi il tuo record DNS effettivo nel comando qui sotto per verificare.
$ curl https://your.host.address:9200 -u admin:yournewpassword -kDovresti vedere la seguente risposta.
{
"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" : "Il progetto OpenSearch: https://opensearch.org/"
}Passo 9 - Installa OpenSearch Dashboards
Poiché abbiamo già installato OpenSearch, possiamo saltare il passaggio di importazione della chiave GPG di OpenSearch.
Per installare i cruscotti OpenSearch, esegui il seguente comando per creare un repository APT per esso.
$ 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.listAggiorna l’elenco dei repository di sistema.
$ sudo apt updateElenca tutte le versioni disponibili di OpenSearch Dashboards.
$ sudo apt list -a opensearch-dashboardsDovresti vedere un output simile.
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 amd64Installa l’ultima versione di OpenSearch Dashboard.
$ sudo apt install opensearch-dashboardsOppure installa una versione specifica di OpenSearch Dashboard.
$ sudo apt install opensearch-dashboards=2.12.0La versione di OpenSearch Dashboards e OpenSearch dovrebbe essere la stessa, altrimenti potresti affrontare diversi problemi.
Ricarica il demone del servizio.
$ sudo systemctl daemon-reloadAbilita il servizio OpenSearch Dashboards.
$ sudo systemctl enable opensearch-dashboardsAvvia il servizio OpenSearch Dashboards.
$ sudo systemctl start opensearch-dashboardsVerifica lo stato del servizio OpenSearch Dashboards.
$ sudo systemctl status opensearch-dashboardsDovresti vedere il seguente output.
? 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".Passo 10 - Configura OpenSearch Dashboards
OpenSearch Dashboards memorizza la sua configurazione nel file /etc/opensearch-dashboards/opensearch_dashboards.yml. Aprilo per la modifica.
$ sudo nano /etc/opensearch-dashboards/opensearch_dashboards.ymlTrova la riga # server.host: "localhost" e decommentala rimuovendo l’hash davanti ad essa e cambiando il suo valore come mostrato.
# Specifica l'indirizzo a cui il server OpenSearch Dashboards si binderà. Gli indirizzi IP e i nomi host sono entrambi valori validi.
# Il valore predefinito è 'localhost', il che significa che di solito le macchine remote non saranno in grado di connettersi.
# Per consentire connessioni da utenti remoti, imposta questo parametro su un indirizzo non loopback.
server.host: 0.0.0.0Impostare il valore di server.host su 0.0.0.0 lega OpenSearch Dashboard a qualsiasi IP esterno, rendendolo accessibile su Internet. Se desideri servire i cruscotti tramite SSL utilizzando un proxy inverso, lascia questo valore invariato.
Scorri verso il basso per trovare la seguente sezione.
opensearch.hosts: [https://localhost:9200]
opensearch.ssl.verificationMode: none
opensearch.username: kibanaserver
opensearch.password: kibanaserver
opensearch.requestHeadersWhitelist: [authorization, securitytenant]Cambia i valori come configurato per la nostra installazione di OpenSearch.
opensearch.hosts: [https://opensearch:9200]
opensearch.ssl.verificationMode: none
opensearch.username: admin
opensearch.password:
opensearch.requestHeadersWhitelist: [authorization, securitytenant] Una volta terminato, salva il file premendo Ctrl + X e inserendo Y quando richiesto.
Riavvia il servizio OpenDashboards.
$ sudo systemctl restart opensearch-dashboardsApri la porta 5601 nel firewall UFW.
$ sudo ufw allow 5601Apri l’URL http:// o http://opensearch.example.com:5601 per avviare il sito web di OpenSearch Dashboards.

Se sei contento di accedere a OpenSearch Dashboards tramite HTTP e con un numero di porta nell’URL, puoi fermarti qui. Tuttavia, è meglio servire i cruscotti tramite SSL. Per questo, installeremo Nginx come proxy inverso e serviremo SSL tramite esso.
Passo 11 - Installa Nginx
Debian 12 viene fornito con una versione più vecchia di Nginx. Devi scaricare il repository ufficiale di Nginx per installare l’ultima versione.
Importa la chiave di firma di Nginx.
$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/nullAggiungi il repository per la versione principale di 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.listAggiorna i repository di sistema.
$ sudo apt updateInstalla Nginx.
$ sudo apt install nginxVerifica l’installazione. Nei sistemi Debian, il seguente comando funzionerà solo con sudo.
$ sudo nginx -v
nginx version: nginx/1.25.4Avvia il server Nginx.
$ sudo systemctl start nginxControlla lo stato del servizio.
$ sudo systemctl status nginx
? nginx.service - nginx - server web ad alte prestazioni
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 - server web ad alte prestazioni...
Mar 02 12:53:57 opensearch systemd[1]: Started nginx.service - nginx - server web ad alte prestazioni.Passo 12 - Installa SSL
Dobbiamo installare Certbot per generare il certificato SSL. Puoi installare Certbot utilizzando il repository di Debian o scaricare l’ultima versione utilizzando lo strumento Snapd. Utilizzeremo la versione Snapd.
Debian 12 non viene fornito con Snapd installato. Installa il pacchetto Snapd.
$ sudo apt install snapdEsegui i seguenti comandi per assicurarti che la tua versione di Snapd sia aggiornata.
$ sudo snap install core && sudo snap refresh coreInstalla Certbot.
$ sudo snap install --classic certbotUsa il seguente comando per assicurarti che il comando Certbot possa essere eseguito creando un collegamento simbolico alla directory /usr/bin.
$ sudo ln -s /snap/bin/certbot /usr/bin/certbotVerifica se Certbot funziona correttamente.
$ certbot --version
certbot 2.9.0Esegui il seguente comando per generare un certificato SSL.
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d craftcms.example.comIl comando sopra scaricherà un certificato nella directory /etc/letsencrypt/live/craftcms.example.com sul tuo server.
Genera un certificato di gruppo Diffie-Hellman.
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096Controlla il servizio di pianificazione del rinnovo di Certbot.
$ sudo systemctl list-timersTroverai snap.certbot.renew.service come uno dei servizi programmati per essere eseguiti.
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
.....Fai un tentativo di prova del processo per controllare se il rinnovo SSL funziona correttamente.
$ sudo certbot renew --dry-runSe non vedi errori, sei a posto. Il tuo certificato si rinnoverà automaticamente.
Passo 13 - Configura Nginx
Apri il file /etc/nginx/nginx.conf per la modifica.
$ sudo nano /etc/nginx/nginx.confAggiungi la seguente riga prima della riga include /etc/nginx/conf.d/*.conf;.
server_names_hash_bucket_size 64;Salva il file premendo Ctrl + X e inserendo Y quando richiesto.
Crea e apri il file /etc/nginx/conf.d/opensearch.conf per la modifica.
$ sudo nano /etc/nginx/conf.d/opensearch.confIncolla il seguente codice in esso. Sostituisci opensearch.example.com con il tuo nome di dominio.
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;
}
}
# forzare HTTPS
server {
listen 80;
listen [::]:80;
server_name opensearch.example.com;
return 301 https://$host$request_uri;
}Salva il file premendo Ctrl + X e inserendo Y quando richiesto.
Verifica la tua configurazione Nginx.
$ sudo nginx -tRiavvia il server Nginx.
$ sudo systemctl restart nginxVisita https://opensearch.example.com nel tuo browser per avviare OpenSearch Dashboards.
Passo 14 - Accedi e utilizza OpenSearch Dashboards
Se hai utilizzato Nginx, accedi ai cruscotti tramite l’URL https://opensearch.example.com oppure utilizza http://opensearch.example.com:5601 e dovresti ottenere la pagina di accesso.

Inserisci admin e la password admin personalizzata che hai configurato per OpenSearch nel passo 4 e fai clic sul pulsante Accedi per procedere.

Fai clic sul pulsante Aggiungi dati per iniziare ad aggiungere dati direttamente o fai clic sul link Esplora da solo se desideri navigare prima. Navigheremo prima e dovrebbe portarti a un popup che parla della modalità scura di OpenSearch Dashboards.

Fai clic sul pulsante Ignora per procedere. Successivamente, ti verrà chiesto di scegliere un inquilino.

Gli inquilini in OpenSearch Dashboards sono spazi per salvare modelli di indice, visualizzazioni, cruscotti e altri oggetti di OpenSearch Dashboards. Ogni utente può creare più inquilini per usi multipli. Gli inquilini sono utili per condividere in modo sicuro il tuo lavoro con altri utenti di OpenSearch Dashboards. OpenSearch ti offre l’opzione di scegliere tra tre opzioni.
- Globale - Questo inquilino è condiviso tra tutti gli utenti di OpenSearch Dashboards.
- Privato - Questo inquilino è esclusivo per ogni utente e non può essere condiviso.
- Personalizzato - Gli amministratori possono creare inquilini personalizzati e assegnarli a ruoli specifici. Una volta creati, puoi utilizzare questi inquilini per fornire spazi a un insieme specifico di utenti.
Per ora, ci atteniamo all’opzione predefinita di un inquilino privato. Fai clic sul pulsante Conferma per procedere. Sarai accolto con la seguente pagina.

Successivamente, verificheremo la connessione tra OpenSearch e OpenSearch Dashboards.
Fai clic sul pulsante Strumenti di sviluppo nell’angolo in alto a destra e ti verrà mostrato un mini popup sull’interfaccia della console per OpenSearch Dashboards.

Fai clic sul pulsante Ignora, inserisci la query GET / nella console a sinistra e fai clic sul piccolo pulsante di riproduzione al centro. Dovresti vedere il seguente output a destra.

Questo conferma che OpenSearch Dashboards sta ricevendo dati da OpenSearch e entrambi funzionano correttamente. Puoi iniziare ad aggiungere dati da qui in poi.
Conclusione
Questo conclude il tutorial su come installare OpenSearch su un server Debian 12. Se hai domande, pubblicale nei commenti qui sotto.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.