In questa guida rapida, esamineremo come abilitare le funzionalità di sicurezza di Elasticsearch Xpack e come utilizzare l'API di sicurezza per creare utenti e ruoli.
Cominciamo!
NOTA: Supponiamo che tu abbia già installato Elasticsearch e sia in esecuzione sul tuo sistema. In caso contrario, considera i seguenti tutorial per installare Elasticsearch.
https://linuxhint.com/visualize_apache_logs_with_elk_stack/
https://linuxhint.com/install-elasticsearch-ubuntu/
Come abilitare le funzionalità di sicurezza di Elasticsearch?
Per impostazione predefinita, le funzionalità Elasticsearch, Xpack, sono disabilitate e dovrai abilitarle. Innanzitutto, interrompi Elasticsearch e Kibana, così puoi modificare la configurazione.
Nel file di configurazione di Elasticsearch, modifica l'xpack.sicurezza.voce abilitata e impostala su true.
Per impostazione predefinita, troverai l'elasticsearch.yml che si trova in /etc/elasticsearch.
xpack.sicurezza.abilitato: veroSalva il file e riavvia Elasticsearch e Kibana.
NOTA: A seconda della licenza che possiedi, una volta attivato xpack, dovrai eseguire il comando seguente per impostare password e autenticazione:
password-setup-elasticsearchCome creare utenti utilizzando Kibana?
Se hai Elasticsearch e Kibana accoppiati, puoi facilmente creare utenti nella gestione dello stack Kibana.
Inizia avviando Kibana, quindi accedi. Usa le password che hai usato durante la configurazione.
Una volta effettuato l'accesso, seleziona Kibana Dock e vai a Gestione stack e alla sezione sicurezza.
Ora vai agli utenti e fai clic su "crea utente"."Quando crei un utente, Kibana ti chiederà di assegnare un ruolo. Puoi visualizzare tutti i ruoli disponibili in Gestione stack - Sicurezza - Ruoli.
Fornisci nome utente, password e nome completo.
Oltre a questo modo semplice per creare utenti Elasticsearch, puoi utilizzare il metodo più potente discusso di seguito:
Come creare utenti con l'API Elasticsearch?
Un altro modo per creare utenti nativi in Elasticsearch è utilizzare l'API, utilizzando security come endpoint, possiamo aggiungere, aggiornare e rimuovere utenti in Elasticsearch.
Vediamo come eseguire queste operazioni.
Per interagire con l'API di sicurezza, utilizziamo richieste HTTP POST e PUT, assicurandoci di avere le informazioni dell'utente nel corpo della richiesta.
Quando si crea un nuovo utente, è necessario passare il nome utente e la password dell'utente; entrambi sono parametri obbligatori. I nomi utente di Elasticsearch non devono contenere più di 1024 caratteri e possono essere alfanumerici. I nomi utente non consentono spazi bianchi.
Le informazioni che puoi fornire nel corpo della richiesta includono:
- Parola d'ordine: Questo è un parametro obbligatorio di tipo stringa. Le password in Elasticsearch devono essere lunghe almeno sei caratteri.
- Nome e cognome: Specifica il nome completo dell'utente (Stringa).
- E-mail: Imposta l'email dell'utente specificato.
- Ruoli: Questo è un altro parametro obbligatorio dell'elenco dei tipi. Specifica i ruoli che l'utente specificato detiene. Puoi creare un elenco vuoto [] se l'utente non ha ruoli assegnati.
- Abilitato: Il parametro abilitato (booleano) specifica se l'utente è attivo o meno.
Una volta che hai il corpo della richiesta che lo contiene, invia la richiesta di posta a _security/user/
Considera la richiesta di seguito che mostra come creare un utente utilizzando l'API.
POST /_security/user/linuxhint"password": "linuxhint",
"abilitato": vero,
"ruoli": [ "superutente", "kibana_admin" ],
"full_name": "Suggerimento Linux",
"e-mail": "[email protetta]",
"metadati":
"intelligenza": 7
Se stai utilizzando cURL, inserisci il comando seguente:
curl -XPOST "http://localhost:9200/_security/user/linuxhint" -H 'Content-Type: application/json' -d' "password" : "linuxhint", "enabled": true, "roles" : [ "superuser", "kibana_admin" ], "full_name" : "Linux Hint", "email" : "[email protected]", "metadati" : "intelligence" : 1 'Questo dovrebbe restituire create: true come oggetto JSON.
"creato": vero
Come abilitare l'utente Informazione?
Se crei un utente in Elasticsearch e imposti il parametro abilitato come falso, dovrai abilitare l'account prima di utilizzarlo. Per fare ciò, possiamo utilizzare l'API _enable.
Dovresti assicurarti di passare il nome utente che desideri abilitare nella richiesta PUT. La sintassi generale è la seguente:
PUT /_sicurezza/utente/Ad esempio, la richiesta seguente abilita l'utente linuxhint:
PUT /_security/user/linuxhint/_enableIl comando cURL è:
curl -XPUT "http://localhost:9200 /_security/user/linuxhint/_enable"È vero anche il contrario; per disabilitare un utente, usa l'endpoint _disable:
PUT /_security/user/linuxhint/_disableIl comando cURL è:
curl -XPUT "http://localhost:9200/_security/user/linuxhint/_disable"Come visualizzare Utenti?
Per visualizzare le informazioni dell'utente, utilizzare la richiesta GET seguita dal nome utente che si desidera visualizzare. Per esempio:
GET /_security/user/linuxhintIl comando cURL è:
curl -XGET “http://localhost:9200/_security/user/linuxhint”Ciò dovrebbe visualizzare le informazioni sul nome utente specificato, come mostrato di seguito:
"linuxhint":
"nome utente": "linuxhint",
"ruoli": [
"superutente",
“kibana_admin”
],
"full_name": "Suggerimento Linux",
"e-mail": "[email protetta]",
"metadati":
"intelligenza": 7
,
"abilitato": falso
Per visualizzare le informazioni su tutti gli utenti nel cluster Elasticsearch, ometti il nome utente e invia la richiesta GET come:
OTTIENI /_sicurezza/utente/Come eliminare gli utenti?
Se puoi creare utenti, puoi anche eliminarli. Per utilizzare l'API per rimuovere un utente, invia semplicemente la richiesta DELETE a _security/user/
Esempio:
DELETE /_security/user/linuxhintIl comando cURL è:
curl -XDELETE “http://localhost:9200/_security/user/linuxhint”Dovrebbe restituire un oggetto JSON con found:true come:
"trovato": vero
Conclusione
Questo tutorial ti ha insegnato come abilitare le funzionalità di Elasticsearch Security. Abbiamo anche discusso su come utilizzare Kibana Stack Management per gestire gli utenti. Infine, abbiamo discusso su come creare utenti, visualizzare le informazioni sugli utenti ed eliminare gli utenti.
Queste informazioni dovrebbero aiutarti a iniziare, ma ricorda che la maestria deriva dalla pratica.
Grazie per aver letto.