Come configurare SSL/TLS in Elasticsearch

13 feb 2024 3 min di lettura
Come configurare SSL/TLS in Elasticsearch
Indice dei contenuti

Introduzione

Nell'era digitale, la protezione dei dati in transito e inattivi è fondamentale per qualsiasi organizzazione. Elasticsearch, un popolare motore di ricerca e analisi open source, non fa eccezione. È ampiamente utilizzato per l'analisi dei dati di log o eventi, per la ricerca full-text e per query complesse. Tuttavia, senza adeguate misure di sicurezza, i dati sensibili possono essere vulnerabili all’intercettazione e all’accesso non autorizzato. Abilitare SSL/TLS ( Transport Layer Security ) in Elasticsearch è un passaggio cruciale per salvaguardare i tuoi dati.

Questa guida completa descrive i passaggi per configurare SSL/TLS, garantendo una maggiore sicurezza per il tuo cluster Elasticsearch.

Prerequisiti

Prima di iniziare, assicurati di avere quanto segue:

  • Un cluster Elasticsearch configurato e funzionante.
  • Accesso amministrativo ai file di configurazione Elasticsearch.
  • Un certificato SSL/TLS valido. È possibile ottenere un certificato da un'autorità di certificazione (CA) o generare un certificato autofirmato a scopo di test.

Passaggio 1: genera certificati SSL/TLS

Il primo passaggio è generare certificati SSL/TLS per i tuoi nodi Elasticsearch. Se utilizzi certificati autofirmati per i test, lo strumento elasticsearch-certutil di Elasticsearch può semplificare questo processo. Per gli ambienti di produzione, si consiglia di utilizzare certificati emessi da una CA attendibile.

Crea un'autorità di certificazione (CA) : questo passaggio è fondamentale in quanto ti consente di firmare i tuoi certificati Elasticsearch. Elasticsearch fornisce uno strumento chiamato elasticsearch-certutil a questo scopo.

./bin/elasticsearch-certutil ca

Quando viene richiesto il nome del file CA, premere Invio per utilizzare l'impostazione predefinita o impostare un nuovo nome.

Genera certificato SSL per Elasticsearch : utilizzando la CA creata, ora genera un certificato specifico per i tuoi nodi Elasticsearch.


./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12

Sostituisci elastic-stack-ca.p12 con il percorso effettivo in cui è archiviato il certificato CA. Questo comando produce un file .p12 (PKCS#12), che incapsula il certificato del nodo, la chiave privata e il certificato CA. Potrebbe essere necessario generare certificati specifici per ciascun nodo nel cluster, a seconda della configurazione.

Passaggio 2: configura Elasticsearch per utilizzare il certificato SSL

Una volta ottenuti i certificati SSL/TLS, devi configurare Elasticsearch per utilizzarli. Ciò comporta la modifica del file di configurazione elasticsearch.yml su ciascun nodo del cluster.

Aggiungi le seguenti configurazioni a elasticsearch.yml su ciascun nodo:

xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate 
xpack.security.transport.ssl.client_authentication: required
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.keystore.path: elastic-certificates.p12
xpack.security.http.ssl.truststore.path: elastic-certificates.p12

Sostituisci "elastic-certificates.p12" con il nome del file del certificato creato nel passaggio precedente.

Passaggio 3: riavvia Elasticsearch

Dopo aver configurato tutti i nodi, riavvia il cluster Elasticsearch per applicare le modifiche. Assicurati che il cluster venga avviato senza errori e che tutti i nodi possano comunicare tra loro tramite SSL/TLS.

Passaggio 4: verifica la configurazione SSL/TLS

Per verificare che SSL/TLS sia abilitato e funzioni correttamente, utilizza uno strumento come curl per effettuare una richiesta all'API HTTP Elasticsearch:

curl -k  https://localhost:9200

L'opzione -k consente a curl di connettersi senza verifica del certificato, utile per i test iniziali con certificati autofirmati. Se tutto è configurato correttamente, dovresti ricevere una risposta JSON da Elasticsearch.

Conclusione

Proteggere il tuo cluster Elasticsearch con SSL/TLS è un passaggio fondamentale nella protezione dei tuoi dati. Seguendo i passaggi descritti in questa guida, puoi garantire che i tuoi dati rimangano sicuri durante il trasporto, mitigando i potenziali rischi di intercettazione o manomissione dei dati. Ricorda sempre di utilizzare certificati di CA attendibili per ambienti di produzione per garantire il massimo livello di sicurezza e affidabilità.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.