ProHoster > Blogi > Haldamine > Elastne luku ja võtme all: võimaldab Elasticsearchi klastri turvavalikuid juurdepääsuks seest ja väljast
Elastne luku ja võtme all: võimaldab Elasticsearchi klastri turvavalikuid juurdepääsuks seest ja väljast
Elastic Stack on SIEM-süsteemide turul (tegelikult mitte ainult neil) tuntud tööriist. See võib koguda palju erineva suurusega andmeid, nii tundlikke kui ka mitte väga tundlikke. See ei ole täiesti õige, kui juurdepääs Elastic Stacki elementidele pole kaitstud. Vaikimisi töötavad kõik Elasticu kasutusel olevad elemendid (Elasticsearchi, Logstashi, Kibana ja Beatsi kogujad) avatud protokollidega. Ja Kibanas endas on autentimine keelatud. Kõiki neid suhtlusi saab kindlustada ja selles artiklis räägime teile, kuidas seda teha. Mugavuse huvides jagasime narratiivi kolmeks semantiliseks plokiks:
Rollipõhine andmetele juurdepääsu mudel
Andmete turvalisus Elasticsearchi klastris
Andmete turvamine väljaspool Elasticsearchi klastrit
Detailid lõike all.
Rollipõhine andmetele juurdepääsu mudel
Kui installite Elasticsearchi ja ei häälesta seda mingil viisil, on juurdepääs kõigile indeksitele avatud kõigile. No või need, kes oskavad lokke kasutada. Selle vältimiseks on Elasticsearchil eeskuju, mis on saadaval alates põhitellimusest (mis on tasuta). Skemaatiliselt näeb see välja umbes selline:
Mis on pildil
Kasutajad on kõik, kes saavad oma mandaati kasutades sisse logida.
Ressursid on indeksid, dokumendid, väljad, kasutajad ja muud salvestusüksused (mõne ressursi eeskuju on saadaval ainult tasuliste tellimuste korral).
Vaikimisi on Elasticsearchil kasti kasutajad, mille külge need on kinnitatud kasti rollid. Kui olete turvaseaded lubanud, saate neid kohe kasutama hakata.
Elasticsearchi sätetes turvalisuse lubamiseks peate selle konfiguratsioonifaili lisama (vaikimisi on see elasticsearch/config/elasticsearch.yml) uus rida:
xpack.security.enabled: true
Pärast konfiguratsioonifaili muutmist käivitage või taaskäivitage Elasticsearch, et muudatused jõustuksid. Järgmine samm on paroolide määramine kasti kasutajatele. Teeme seda interaktiivselt, kasutades allolevat käsku:
[elastic@node1 ~]$ ./elasticsearch/bin/elasticsearch-setup-passwords interactive
Initiating the setup of passwords for reserved users elastic,apm_system,kibana,logstash_system,beats_system,remote_monitoring_user.
You will be prompted to enter passwords as the process progresses.
Please confirm that you would like to continue [y/N]y
Enter password for [elastic]:
Reenter password for [elastic]:
Enter password for [apm_system]:
Reenter password for [apm_system]:
Enter password for [kibana]:
Reenter password for [kibana]:
Enter password for [logstash_system]:
Reenter password for [logstash_system]:
Enter password for [beats_system]:
Reenter password for [beats_system]:
Enter password for [remote_monitoring_user]:
Reenter password for [remote_monitoring_user]:
Changed password for user [apm_system]
Changed password for user [kibana]
Changed password for user [logstash_system]
Changed password for user [beats_system]
Changed password for user [remote_monitoring_user]
Changed password for user [elastic]
Kontrollime:
[elastic@node1 ~]$ curl -u elastic 'node1:9200/_cat/nodes?pretty'
Enter host password for user 'elastic':
192.168.0.2 23 46 14 0.28 0.32 0.18 dim * node1
Saate endale patsutada õlale – Elasticsearchi poolel on seadistused tehtud. Nüüd on aeg Kibana konfigureerida. Kui käivitate selle praegu, ilmuvad vead, seega on oluline luua võtmehoidla. Seda tehakse kahe käsuga (user kibana ja Elasticsearchi parooli loomise etapis sisestatud parool):
Kui kõik on õige, hakkab Kibana sisselogimist ja parooli küsima. Põhitellimus sisaldab sisekasutajatel põhinevat eeskuju. Alates Goldist saate ühendada väliseid autentimissüsteeme - LDAP, PKI, Active Directory ja Single sisselogimise süsteemid.
Samuti saab piirata juurdepääsuõigusi Elasticsearchi objektidele. Kuid selleks, et teha sama dokumentide või väljade puhul, on teil vaja tasulist tellimust (see luksus algab plaatinatasemest). Need sätted on saadaval Kibana liideses või selle kaudu Turvalisuse API. Saate kontrollida juba tuttavast Dev Tools menüüst:
Kui Elasticsearch töötab klastris (mis on tavaline), muutuvad klastri turvasätted oluliseks. Sõlmedevaheliseks turvaliseks suhtluseks kasutab Elasticsearch TLS-protokolli. Nendevahelise turvalise suhtluse seadistamiseks vajate sertifikaati. Loome sertifikaadi ja privaatvõtme PEM-vormingus:
[elastic@node1 ~]$ ./elasticsearch/bin/elasticsearch-certutil ca --pem
Pärast ülaltoodud käsu täitmist kataloogis /../elastsearch ilmub arhiiv elastne-stack-ca.zip. Selle seest leiate sertifikaadi ja laiendustega privaatvõtme crt и võti vastavalt. Soovitatav on paigutada need jagatud ressursile, mis peaks olema juurdepääsetav kõikidest klastri sõlmedest.
Iga sõlm vajab nüüd oma sertifikaate ja privaatvõtmeid, mis põhinevad jagatud kataloogis olevatel. Käsu täitmisel palutakse teil määrata parool. Interakteeruvate sõlmede täielikuks kontrollimiseks saate lisada täiendavaid valikuid -ip ja -dn.
Käsu täitmise tulemusena saame parooliga kaitstud sertifikaadi ja privaatvõtme PKCS#12 formaadis. Jääb üle vaid genereeritud fail teisaldada p12 konfiguratsioonikataloogi:
On veel üks turvavõimalus - IP-aadressi filtreerimine (saadaval tellimustes alates Gold tasemest). Võimaldab luua valgeid loendeid IP-aadressidest, millelt on lubatud sõlmedele juurde pääseda.
Andmete turvamine väljaspool Elasticsearchi klastrit
Väljaspool klastrit tähendab väliste tööriistade ühendamist: Kibana, Logstash, Beats või muud välised kliendid.
https-i toe konfigureerimiseks (http-i asemel), lisage saidile elasticsearch.yml uued read:
Pärast võtmete lisamist on Elasticsearchi sõlmed valmis https-i kaudu ühenduse loomiseks. Nüüd saab neid käivitada.
Järgmine samm on luua Kibana ühendamiseks võti ja lisada see konfiguratsiooni. Jagatud kataloogis juba asuva sertifikaadi alusel genereerime sertifikaadi PEM-vormingus (PKCS#12 Kibana, Logstash ja Beats veel ei toeta):
Võtmed on olemas, nii et jääb üle vaid Kibana konfiguratsiooni muuta, et see neid kasutama hakkaks. Muutke konfiguratsioonifailis kibana.yml HTTP väärtuseks https ja lisage read SSL-ühenduse sätetega. Viimased kolm rida konfigureerivad turvalise suhtluse kasutaja brauseri ja Kibana vahel.
Seega on sätted lõpule viidud ja juurdepääs Elasticsearchi klastri andmetele krüpteeritakse.
Kui teil on küsimusi Elastic Stacki võimaluste kohta tasuta või tasuliste tellimuste, jälgimisülesannete või SIEM-süsteemi loomise kohta, jätke päring tagasiside vorm meie veebisaidil.
Rohkem meie artikleid Elastic Stacki kohta Habré kohta: