ProHoster > Blog > administrasie > Elastic Locked Up: Aktiveer Elasticsearch Cluster Sekuriteitsopsies vir binne- en buitetoegang
Elastic Locked Up: Aktiveer Elasticsearch Cluster Sekuriteitsopsies vir binne- en buitetoegang
Elastic Stack is 'n bekende hulpmiddel in die SIEM-stelselmark (eintlik nie net hulle nie). Dit kan baie verskillende grootte data versamel, beide sensitief en nie baie sensitief nie. Dit is nie heeltemal korrek as toegang tot die Elastic Stack-elemente self nie beskerm word nie. By verstek werk alle Elastic-bokselemente (Elasticsearch-, Logstash-, Kibana- en Beats-versamelaars) op oop protokolle. En in Kibana self is verifikasie gedeaktiveer. Al hierdie interaksies kan verseker word, en in hierdie artikel sal ons jou vertel hoe om dit te doen. Gerieflikheidshalwe is die storie in 3 semantiese blokke verdeel:
Rolmodel van datatoegang
Datasekuriteit binne 'n Elasticsearch-groepering
Datasekuriteit buite 'n Elasticsearch-kluster
Besonderhede onder die snit.
Rolmodel van datatoegang
As jy Elasticsearch installeer en dit op geen manier instel nie, sal toegang tot alle indekse vir almal oop wees. Wel, of diegene wat krul kan gebruik. Om dit te vermy, het Elasticsearch 'n rolmodel wat beskikbaar is vanaf 'n basiese vlak-intekening (wat gratis is). Skematies lyk dit so:
Wat is in die prentjie
Gebruikers is almal wat kan aanmeld met geloofsbriewe.
Hulpbronne is indekse, dokumente, velde, gebruikers en ander bergingsentiteite (die rolmodel vir sommige hulpbronne is slegs beskikbaar in betaalde intekeninge).
Elasticsearch het by verstek gebruikers in bokswaaraan geheg is boks rolle. Nadat u sekuriteitinstellings geaktiveer het, kan u dit onmiddellik begin gebruik.
Om sekuriteit in die Elasticsearch-instellings te aktiveer, moet jy dit by die konfigurasielêer voeg (dit is by verstek elasticsearch/config/elasticsearch.yml) nuwe lyn:
xpack.security.enabled: true
Nadat u die konfigurasielêer verander het, begin of herbegin Elasticsearch vir die veranderinge om in werking te tree. Die volgende stap is om wagwoorde aan boks gebruikers toe te ken. Kom ons doen dit interaktief met die opdrag hieronder:
[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]
Ons kyk na:
[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
Jy kan jouself op die skouer klap – die instellings aan die Elasticsearch-kant is gedoen. Nou is dit die beurt om Kibana op te rig. As jy dit nou laat loop, sal foute val, daarom is dit belangrik om 'n sleutelstoor te skep. Dit word gedoen in twee opdragte (gebruiker kibana en die wagwoord wat ingevoer is in die stap van die skep van wagwoorde in Elasticsearch):
As alles reg is, sal Kibana vir 'n gebruikersnaam en wagwoord begin vra. In 'n Basiese intekening is 'n rolmodel gebaseer op interne gebruikers beskikbaar. Begin met Gold, jy kan eksterne stawingstelsels koppel - LDAP, PKI, Active Directory en enkelaanmeldingstelsels.
Toegangsregte tot voorwerpe binne Elasticsearch kan ook beperk word. Om dieselfde vir dokumente of velde te doen, benodig u weliswaar 'n betaalde intekening (hierdie luukse begin met die Platinum-vlak). Hierdie instellings is beskikbaar in die Kibana-koppelvlak of via Sekuriteit API. U kan deur die reeds bekende Dev Tools-kieslys kyk:
Wanneer Elasticsearch in 'n groep werk (wat algemeen is), word sekuriteitinstellings binne die groep belangrik. Vir veilige kommunikasie tussen nodusse gebruik Elasticsearch die TLS-protokol. Om veilige kommunikasie tussen hulle op te stel, benodig jy 'n sertifikaat. Ons genereer 'n sertifikaat en 'n privaat sleutel in PEM-formaat:
[elastic@node1 ~]$ ./elasticsearch/bin/elasticsearch-certutil ca --pem
Nadat u die opdrag hierbo uitgevoer het, in die gids /../elasticsearch die argief sal verskyn elastiese-stapel-ca.zip. Binne dit sal jy 'n sertifikaat en 'n private sleutel met uitbreidings vind crt и sleutel onderskeidelik. Dit is wenslik om hulle uit te lê op 'n gedeelde hulpbron, waartoe toegang moet wees vanaf alle nodusse van die groepering.
Elke nodus benodig nou sy eie sertifikate en private sleutels gebaseer op dié in die gedeelde gids. Wanneer die opdrag uitgevoer word, sal jy gevra word om 'n wagwoord in te stel. Bykomende opsies -ip en -dns kan bygevoeg word om kommunikerende nodusse volledig te verifieer.
As gevolg van die uitvoering van die opdrag, sal ons 'n sertifikaat en 'n private sleutel in die PKCS # 12-formaat ontvang, beskerm deur 'n wagwoord. Dit bly om die gegenereerde lêer te skuif p12 na die konfigurasiegids:
Daar is nog 'n sekuriteitsopsie - IP-adresfiltrering (beskikbaar in intekeninge vanaf die Goud-vlak). Laat jou toe om witlyste van IP-adresse te skep waarvandaan nodusse toegelaat word om toegang te verkry.
Datasekuriteit buite 'n Elasticsearch-kluster
Buite die groep beteken om eksterne instrumente te koppel: Kibana, Logstash, Beats of ander eksterne kliënte.
Om ondersteuning vir https (in plaas van http) op te stel, voeg nuwe reëls by elasticsearch.yml:
Nadat die sleutels bygevoeg is, is die Elasticsearch-nodes gereed om via https te koppel. Nou kan hulle van stapel gestuur word.
Die volgende stap is om 'n Kibana-verbindingsleutel te skep en dit by die konfigurasie te voeg. Gebaseer op die sertifikaat, wat reeds in die gedeelde gids geleë is, sal ons 'n sertifikaat in PEM-formaat genereer (PKCS # 12 Kibana, Logstash en Beats ondersteun nog nie):
Die sleutels is daar, so dit bly om die Kibana-konfigurasie te verander sodat dit dit begin gebruik. In die kibana.yml-konfigurasielêer, verander http na https en voeg reëls by met SSL-verbindingsinstellings. Die laaste drie reëls stel 'n veilige interaksie tussen die gebruiker se blaaier en Kibana op.
Die instellings word dus voltooi en toegang tot data in die Elasticsearch-kluster word geïnkripteer.
As jy vrae het oor die Elastic Stack-kenmerke oor gratis of betaalde intekeninge, take om 'n SIEM-stelsel te monitor of te skep, laat 'n versoek in terugvoervorm op ons webwerf.