ProHoster > Блог > Administrado > Elasto sub ŝlosilo: ebligante sekurecajn opciojn de Elasticsearch-grupo por aliro de interne kaj ekstere
Elasto sub ŝlosilo: ebligante sekurecajn opciojn de Elasticsearch-grupo por aliro de interne kaj ekstere
Elastic Stack estas konata ilo en la SIEM-sistema merkato (fakte, ne nur ili). Ĝi povas kolekti multajn diversgrandajn datumojn, ambaŭ sentemajn kaj ne tre sentemajn. Ĝi ne estas tute ĝusta se aliro al la Elastic Stack-elementoj mem ne estas protektita. Defaŭlte, ĉiuj Elastic-eksterelaj elementoj (Elasticsearch, Logstash, Kibana, kaj Beats-kolektantoj) funkcias per malfermitaj protokoloj. Kaj en Kibana mem, aŭtentigo estas malŝaltita. Ĉiuj ĉi tiuj interagoj povas esti sekurigitaj kaj en ĉi tiu artikolo ni diros al vi kiel fari tion. Por oportuno, ni dividis la rakonton en 3 semantikajn blokojn:
Rol-bazita datuma alirmodelo
Sekureco de datumoj ene de Elasticsearch-areto
Sekurigi datumojn ekstere de Elasticsearch-areto
Detaloj sub la tranĉo.
Rol-bazita datuma alirmodelo
Se vi instalas Elasticsearch kaj neniel agordas ĝin, aliro al ĉiuj indeksoj estos malfermita al ĉiuj. Nu, aŭ tiuj, kiuj povas uzi buklon. Por eviti ĉi tion, Elasticsearch havas rolmodelon, kiu disponeblas ekde Baza abono (kiu estas senpaga). Skeme ĝi aspektas kiel ĉi tio:
Kio estas en la bildo
Uzantoj estas ĉiuj, kiuj povas ensaluti uzante siajn akreditaĵojn.
Rimedoj estas indeksoj, dokumentoj, kampoj, uzantoj kaj aliaj stokaj estaĵoj (la rolmodelo por iuj rimedoj disponeblas nur per pagitaj abonoj).
Defaŭlte Elasticsearch havas skatoluzantoj, al kiu ili estas alkroĉitaj kestoroloj. Post kiam vi ebligas sekurecajn agordojn, vi povas tuj uzi ilin.
Por ebligi sekurecon en Elasticsearch-agordoj, vi devas aldoni ĝin al la agorda dosiero (defaŭlte tio estas elasticsearch/config/elasticsearch.yml) nova linio:
xpack.security.enabled: true
Post ŝanĝi la agordan dosieron, lanĉu aŭ rekomencu Elasticsearch por ke la ŝanĝoj efektiviĝu. La sekva paŝo estas atribui pasvortojn al skatoluzantoj. Ni faru tion interage uzante la komandon sube:
[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]
Ni kontrolas:
[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
Vi povas frapeti vin sur la dorso - la agordoj ĉe la flanko de Elasticsearch estas finitaj. Nun estas tempo agordi Kibana. Se vi rulas ĝin nun, eraroj aperos, do gravas krei ŝlosilan vendejon. Ĉi tio estas farita en du komandoj (uzanto kibana kaj la pasvorto enigita ĉe la pasvorta krea paŝo en Elasticsearch):
Se ĉio estas ĝusta, Kibana komencos peti ensaluton kaj pasvorton. La Baza abono inkluzivas modelon bazitan sur internaj uzantoj. Komencante per Gold, vi povas konekti eksterajn aŭtentikajn sistemojn - LDAP, PKI, Active Directory kaj Ununuran ensalutsistemojn.
Alirrajtoj al objektoj ene de Elasticsearch ankaŭ povas esti limigitaj. Tamen, por fari la samon por dokumentoj aŭ kampoj, vi bezonos pagitan abonon (ĉi tiu lukso komenciĝas per la Platena nivelo). Ĉi tiuj agordoj haveblas en la interfaco de Kibana aŭ per Sekureca API. Vi povas kontroli per la jam konata menuo de Dev Tools:
Kiam Elasticsearch funkcias en areto (kio estas ofta), sekurecaj agordoj ene de la areto fariĝas gravaj. Por sekura komunikado inter nodoj, Elasticsearch uzas la TLS-protokolon. Por agordi sekuran interagadon inter ili, vi bezonas atestilon. Ni generas atestilon kaj privatan ŝlosilon en PEM-formato:
[elastic@node1 ~]$ ./elasticsearch/bin/elasticsearch-certutil ca --pem
Post ekzekuti la komandon supre, en la dosierujo /../elasticsearch arkivo aperos elasta-stako-ca.zip. Ene de ĝi vi trovos atestilon kaj privatan ŝlosilon kun etendaĵoj krt и ŝlosilo respektive. Estas konsilinde meti ilin sur komunan rimedon, kiu devus esti alirebla de ĉiuj nodoj en la areto.
Ĉiu nodo nun bezonas siajn proprajn atestilojn kaj privatajn ŝlosilojn bazitajn sur tiuj en la komuna dosierujo. Kiam vi plenumas la komandon, oni petos vin agordi pasvorton. Vi povas aldoni pliajn opciojn -ip kaj -dns por kompleta kontrolo de interrilatantaj nodoj.
Kiel rezulto de ekzekuto de la komando, ni ricevos atestilon kaj privatan ŝlosilon en formato PKCS#12, protektitaj per pasvorto. Restas nur movi la generitan dosieron p12 al la agorda dosierujo:
Estas alia sekureca opcio - IP-adresfiltrado (disponebla en abonoj de la Ora nivelo). Permesas al vi krei blankajn listojn de IP-adresoj de kiuj vi rajtas aliri nodojn.
Sekurigi datumojn ekstere de Elasticsearch-areto
Ekster la areto signifas konekti eksterajn ilojn: Kibana, Logstash, Beats aŭ aliaj eksteraj klientoj.
Por agordi subtenon por https (anstataŭ http), aldonu novajn liniojn al elasticsearch.yml:
Post aldoni la ŝlosilojn, Elasticsearch-nodoj estas pretaj konektiĝi per https. Nun ili povas esti lanĉitaj.
La sekva paŝo estas krei ŝlosilon por konekti Kibana kaj aldoni ĝin al la agordo. Surbaze de la atestilo, kiu jam troviĝas en la komuna dosierujo, ni generos atestilon en formato PEM (PKCS#12 Kibana, Logstash kaj Beats ankoraŭ ne subtenas):
La ŝlosiloj estas tie, do restas nur ŝanĝi la agordon de Kibana por ke ĝi ekuzi ilin. En la agorda dosiero kibana.yml, ŝanĝu http al https kaj aldonu liniojn kun SSL-konekto-agordoj. La lastaj tri linioj agordas sekuran komunikadon inter la retumilo de la uzanto kaj Kibana.
Tiel, la agordoj estas kompletigitaj kaj aliro al datumoj en la Elasticsearch-areto estas ĉifrita.
Se vi havas demandojn pri la kapabloj de Elastic Stack pri senpagaj aŭ pagitaj abonoj, monitorado de taskoj aŭ kreado de SIEM-sistemo, lasu peton al reago formularo en nia retejo.
Pli da niaj artikoloj pri Elastic Stack sur Habré: