In deze beknopte handleiding zullen we onderzoeken hoe u Elasticsearch Xpack-beveiligingsfuncties kunt inschakelen en hoe u de beveiligings-API kunt gebruiken om gebruikers en rollen aan te maken.
Laten we beginnen!
OPMERKING: We gaan ervan uit dat Elasticsearch al op uw systeem is geïnstalleerd en actief is. Als dit niet het geval is, overweeg dan de volgende tutorials om Elasticsearch te installeren:.
https://linuxhint.com/visualize_apache_logs_with_elk_stack/
https://linuxhint.com/install-elasticsearch-ubuntu/
Elasticsearch-beveiligingsfuncties inschakelen?
Standaard zijn Elasticsearch-functies, Xpack, uitgeschakeld en moet u ze inschakelen. Stop eerst Elasticsearch en Kibana, zodat u de configuratie kunt bewerken.
Bewerk in het Elasticsearch-configuratiebestand de xpack.veiligheid.ingeschakeld item en stel het in op true.
Standaard vindt u de elasticsearch.yml in /etc/elasticsearchastic.
xpack.veiligheid.ingeschakeld: waarSla het bestand op en herstart Elasticsearch en Kibana.
OPMERKING: Afhankelijk van de licentie die je hebt, moet je, nadat je xpack hebt geactiveerd, de onderstaande opdracht uitvoeren om wachtwoorden en authenticatie in te stellen:
elasticsearch-setup-wachtwoordenGebruikers aanmaken met Kibana?
Als je Elasticsearch en Kibana hebt gekoppeld, kun je eenvoudig gebruikers aanmaken in het Kibana-stackbeheer.
Begin met het starten van Kibana en log vervolgens in. Gebruik de wachtwoorden die je hebt gebruikt bij het instellen.
Nadat u bent ingelogd, selecteert u het Kibana-dock en navigeert u naar Stack Management en het beveiligingsgedeelte.
Navigeer nu naar gebruikers en klik op "gebruiker maken".” Bij het aanmaken van een gebruiker zal Kibana je vragen om een rol toe te wijzen. U kunt alle beschikbare rollen bekijken in Stack Management - Security -Roles.
Geef de gebruikersnaam, het wachtwoord en de volledige naam op.
Naast deze eenvoudige manier om Elasticsearch-gebruikers aan te maken, kun je de krachtigere methode gebruiken die hieronder wordt besproken:
Gebruikers maken met Elasticsearch API?
Een andere manier om native gebruikers te maken in Elasticsearch is om de API te gebruiken, met security als het eindpunt, we kunnen gebruikers toevoegen, bijwerken en verwijderen in Elasticsearch.
Laten we eens kijken hoe we deze bewerkingen kunnen uitvoeren.
Voor interactie met de beveiligings-API gebruiken we POST- en PUT HTTP-verzoeken, waarbij we ervoor zorgen dat we de gebruikersinformatie in de hoofdtekst van het verzoek hebben.
Wanneer u een nieuwe gebruiker aanmaakt, moet u de gebruikersnaam en het wachtwoord van de gebruiker doorgeven; beide zijn vereiste parameters. Elasticsearch-gebruikersnamen mogen niet langer zijn dan 1024 tekens en mogen alfanumeriek zijn. Gebruikersnamen staan geen spaties toe.
De informatie die u in de verzoekinstantie kunt verstrekken, zijn onder meer:
- Wachtwoord: Dit is een vereiste parameter van het type string. Wachtwoorden in Elasticsearch moeten minimaal zes tekens lang zijn.
- Voor-en achternaam: Dit specificeert de volledige naam van de gebruiker (String).
- E-mail: Dit stelt het e-mailadres van de opgegeven gebruiker in.
- Rollen: Dit is een andere vereiste parameter van de typelijst. Het specificeert de rollen die de opgegeven gebruiker heeft. U kunt een lege lijst [] maken als de gebruiker geen toegewezen rollen heeft.
- Ingeschakeld: De ingeschakelde parameter (Boolean) geeft aan of de gebruiker actief is of niet.
Zodra u de hoofdtekst van het verzoek hebt dat het bevat, stuurt u het postverzoek naar _security/user/
Overweeg het onderstaande verzoek dat laat zien hoe u een gebruiker kunt maken met behulp van API.
POST /_security/gebruiker/linuxhint"wachtwoord" : "linuxhint",
"ingeschakeld": waar,
"rollen" : [ "supergebruiker", "kibana_admin" ],
"full_name" : "Linux-hint",
"e-mail" : "[e-mail beveiligd]",
"metagegevens" :
"intelligentie" : 7
Als u cURL gebruikt, voert u de onderstaande opdracht in:
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]", "metadata" : "intelligence" : 1 'Dit zou moeten retourneren gemaakt: waar als een JSON-object.
"gemaakt" : waar
Gebruiker inschakelen Informatie?
Als u een gebruiker aanmaakt in Elasticsearch en de ingeschakelde parameter als onwaar instelt, moet u het account inschakelen voordat u het gebruikt. Om dit te doen, kunnen we de _enable API . gebruiken.
U moet ervoor zorgen dat u de gebruikersnaam die u wilt inschakelen in het PUT-verzoek doorgeeft. De algemene syntaxis is als:
PUT /_beveiliging/gebruiker/Het onderstaande verzoek schakelt bijvoorbeeld de gebruiker linuxhint in:
PUT /_security/user/linuxhint/_enableHet cURL-commando is:
curl -XPUT "http://localhost:9200 /_security/user/linuxhint/_enable"Het omgekeerde is ook waar; gebruik het eindpunt _disable om een gebruiker uit te schakelen:
PUT /_security/user/linuxhint/_disableHet cURL-commando is:
curl -XPUT “http://localhost:9200/_security/user/linuxhint/_disable”Hoe te bekijken Gebruikers?
Om gebruikersinformatie te bekijken, gebruikt u het GET-verzoek gevolgd door de gebruikersnaam die u wilt bekijken. Bijvoorbeeld:
GET /_security/user/linuxhintHet cURL-commando is:
curl -XGET “http://localhost:9200/_security/user/linuxhint”Dat zou informatie over de opgegeven gebruikersnaam moeten weergeven, zoals hieronder weergegeven:
"linuxhint" :
"gebruikersnaam" : "linuxhint",
"rollen" : [
"Super gebruiker",
“kibana_admin”
],
"full_name" : "Linux-hint",
"e-mail" : "[e-mail beveiligd]",
"metagegevens" :
"intelligentie" : 7
,
"ingeschakeld" : false
Als u informatie over alle gebruikers in het Elasticsearch-cluster wilt bekijken, laat u de gebruikersnaam weg en verzendt u het GET-verzoek als:
GET /_beveiliging/gebruiker/Hoe gebruikers te verwijderen?
Als u gebruikers kunt maken, kunt u ze ook verwijderen. Om de API te gebruiken om een gebruiker te verwijderen, stuurt u eenvoudig het DELETE-verzoek naar _security/user/
Voorbeeld:
VERWIJDEREN /_security/user/linuxhintHet cURL-commando is:
curl -XDELETE “http://localhost:9200/_security/user/linuxhint”Dat zou een JSON-object moeten retourneren met found:true als:
"gevonden" : waar
Conclusie
In deze zelfstudie hebt u geleerd hoe u Elasticsearch-beveiligingsfuncties inschakelt. We hebben ook besproken hoe u Kibana Stack Management kunt gebruiken om gebruikers te beheren. Ten slotte hebben we besproken hoe u gebruikers kunt maken, gebruikersinformatie kunt bekijken en gebruikers kunt verwijderen.
Deze informatie zou je op weg moeten helpen, maar onthoud dat beheersing voortkomt uit oefening.
Bedankt voor het lezen.