Elastic anba fèmen ak kle: pèmèt opsyon sekirite gwoup Elasticsearch pou aksè soti andedan ak deyò

Elastic anba fèmen ak kle: pèmèt opsyon sekirite gwoup Elasticsearch pou aksè soti andedan ak deyò

Elastic Stack se yon zouti byen koni nan mache sistèm SIEM (aktyèlman, pa sèlman yo). Li ka kolekte yon anpil nan diferan gwosè done, tou de sansib ak pa trè sansib. Li pa totalman kòrèk si aksè nan eleman yo Elastic Stack tèt yo pa pwoteje. Pa default, tout eleman Elastic ki pa nan bwat la (Elasticsearch, Logstash, Kibana, ak pèseptè Beats) kouri sou pwotokòl louvri. Ak nan Kibana tèt li, otantifikasyon enfim. Tout entèraksyon sa yo ka sekirize ak nan atik sa a nou pral di w ki jan fè sa. Pou konvenyans, nou divize naratif la an 3 blòk semantik:

  • Modèl aksè done ki baze sou wòl
  • Sekirite done nan yon gwoup Elasticsearch
  • Sekirize done deyò yon gwoup Elasticsearch

Detay anba koupe a.

Modèl aksè done ki baze sou wòl

Si ou enstale Elasticsearch epi ou pa ajiste li nan okenn fason, aksè a tout endèks yo pral ouvè a tout moun. Oke, oswa moun ki ka itilize boukl. Pou evite sa, Elasticsearch gen yon modèl ki disponib kòmanse ak yon abònman Basic (ki gratis). Schematically li sanble yon bagay tankou sa a:

Elastic anba fèmen ak kle: pèmèt opsyon sekirite gwoup Elasticsearch pou aksè soti andedan ak deyò

Ki sa ki nan foto a

  • Itilizatè yo se tout moun ki ka konekte lè l sèvi avèk kalifikasyon yo.
  • Yon wòl se yon seri dwa.
  • Dwa yo se yon seri privilèj.
  • Privilèj yo se pèmisyon pou ekri, li, efase, elatriye. (Lis konplè privilèj yo)
  • Resous yo se endèks, dokiman, jaden, itilizatè, ak lòt antite depo (modèl pou kèk resous disponib sèlman ak abònman peye).

Pa default Elasticsearch gen itilizatè bwat yo, kote yo tache wòl bwat. Yon fwa ou pèmèt anviwònman sekirite yo, ou ka kòmanse sèvi ak yo imedyatman.

Pou pèmèt sekirite nan anviwònman Elasticsearch, ou bezwen ajoute li nan fichye konfigirasyon an (pa default sa a se elasticsearch/config/elasticsearch.yml) nouvo liy:

xpack.security.enabled: true

Apre w fin chanje fichye konfigirasyon an, lanse oswa rekòmanse Elasticsearch pou chanjman yo pran efè. Pwochen etap la se bay modpas itilizatè bwat yo. Ann fè sa entèaktif lè l sèvi avèk lòd ki anba a:

[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]

Nou tcheke:

[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

Ou ka tape tèt ou sou do a - anviwònman yo sou bò Elasticsearch yo fini. Koulye a, li lè yo konfigirasyon Kibana. Si ou kouri li kounye a, erè ap parèt, kidonk li enpòtan pou kreye yon magazen kle. Sa a se fè nan de kòmandman (itilizatè kibana ak modpas la te antre nan etap kreyasyon modpas la nan Elasticsearch):

[elastic@node1 ~]$ ./kibana/bin/kibana-keystore add elasticsearch.username
[elastic@node1 ~]$ ./kibana/bin/kibana-keystore add elasticsearch.password

Si tout bagay kòrèk, Kibana ap kòmanse mande yon login ak modpas. Abònman debaz la gen ladan yon modèl ki baze sou itilizatè entèn yo. Kòmanse ak Gold, ou ka konekte sistèm otantifikasyon ekstèn - LDAP, PKI, Active Directory ak Single sign-on system.

Elastic anba fèmen ak kle: pèmèt opsyon sekirite gwoup Elasticsearch pou aksè soti andedan ak deyò

Dwa aksè nan objè andedan Elasticsearch kapab limite tou. Sepandan, pou fè menm bagay la pou dokiman oswa jaden, w ap bezwen yon abònman peye (liks sa a kòmanse ak nivo Platinum). Paramèt sa yo disponib nan koòdone Kibana oswa atravè Sekirite API. Ou ka tcheke nan meni Dev Tools ki deja abitye:

Kreye yon wòl

PUT /_security/role/ruslan_i_ludmila_role
{
  "cluster": [],
  "indices": [
    {
      "names": [ "ruslan_i_ludmila" ],
      "privileges": ["read", "view_index_metadata"]
    }
  ]
}

Kreye yon itilizatè

POST /_security/user/pushkin
{
  "password" : "nataliaonelove",
  "roles" : [ "ruslan_i_ludmila_role", "kibana_user" ],
  "full_name" : "Alexander Pushkin",
  "email" : "[email protected]",
  "metadata" : {
    "hometown" : "Saint-Petersburg"
  }
}

Sekirite done nan yon gwoup Elasticsearch

Lè Elasticsearch kouri nan yon gwoup (ki komen), anviwònman sekirite nan gwoup la vin enpòtan. Pou kominikasyon an sekirite ant nœuds, Elasticsearch itilize pwotokòl TLS la. Pou mete kanpe entèraksyon an sekirite ant yo, ou bezwen yon sètifika. Nou jenere yon sètifika ak kle prive nan fòma PEM:

[elastic@node1 ~]$ ./elasticsearch/bin/elasticsearch-certutil ca --pem

Apre egzekite kòmandman an pi wo a, nan anyè a /../elasticsearch achiv yo ap parèt elastik-stack-ca.zip. Anndan li w ap jwenn yon sètifika ak yon kle prive ak ekstansyon crt и kle respektivman. Li rekòmande yo mete yo sou yon resous pataje, ki ta dwe aksesib nan tout nœuds nan gwoup la.

Chak ne kounye a bezwen pwòp sètifika li yo ak kle prive ki baze sou sa yo ki nan anyè pataje a. Lè w ap egzekite lòd la, yo pral mande w pou mete yon modpas. Ou ka ajoute opsyon adisyonèl -ip ak -dns pou verifikasyon konplè sou nœuds ki kominike yo.

[elastic@node1 ~]$ ./elasticsearch/bin/elasticsearch-certutil cert --ca-cert /shared_folder/ca/ca.crt --ca-key /shared_folder/ca/ca.key

Kòm rezilta egzekite kòmandman an, nou pral resevwa yon sètifika ak yon kle prive nan fòma PKCS#12, ki pwoteje pa yon modpas. Tout sa ki rete se deplase dosye a pwodwi p12 nan anyè konfigirasyon an:

[elastic@node1 ~]$ mv elasticsearch/elastic-certificates.p12 elasticsearch/config

Ajoute yon modpas nan sètifika a nan fòma a p12 nan keystore ak truststore sou chak ne:

[elastic@node1 ~]$ ./elasticsearch/bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password
[elastic@node1 ~]$ ./elasticsearch/bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password

Deja li te ye elasticsearch.yml Tout sa ki rete se ajoute liy ak done sètifika:

xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12

Nou lanse tout nœuds Elasticsearch epi egzekite pli. Si tout bagay te fè kòrèkteman, yo pral retounen yon repons ak plizyè nœuds:

[elastic@node1 ~]$ curl node1:9200/_cat/nodes -u elastic:password                                                                                    
172.18.0.3 43 75 4 0.00 0.05 0.05 dim * node2                                                                                                                     
172.18.0.4 21 75 3 0.00 0.05 0.05 dim - node3                                                                                                                     
172.18.0.2 39 75 4 0.00 0.05 0.05 dim - node1

Gen yon lòt opsyon sekirite - filtraj adrès IP (ki disponib nan abònman nan nivo Gold). Pèmèt ou kreye lis blan adrès IP kote ou gen dwa jwenn aksè nan nœuds.

Sekirize done deyò yon gwoup Elasticsearch

Deyò gwoup la vle di konekte zouti ekstèn: Kibana, Logstash, Beats oswa lòt kliyan ekstèn.

Elastic anba fèmen ak kle: pèmèt opsyon sekirite gwoup Elasticsearch pou aksè soti andedan ak deyò

Pou konfigirasyon sipò pou https (olye pou http), ajoute nouvo liy nan elasticsearch.yml:

xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.keystore.path: elastic-certificates.p12
xpack.security.http.ssl.truststore.path: elastic-certificates.p12

Paske Sètifika a pwoteje modpas, ajoute li nan keystore a ak truststore sou chak ne:

[elastic@node1 ~]$ ./elasticsearch/bin/elasticsearch-keystore add xpack.security.http.ssl.keystore.secure_password
[elastic@node1 ~]$ ./elasticsearch/bin/elasticsearch-keystore add xpack.security.http.ssl.truststore.secure_password

Apre yo fin ajoute kle yo, nœuds Elasticsearch yo pare pou konekte via https. Koulye a, yo ka lanse.

Pwochen etap la se kreye yon kle pou konekte Kibana epi ajoute li nan konfigirasyon an. Dapre sètifika a ki deja sitiye nan anyè pataje a, nou pral jenere yon sètifika nan fòma PEM (PKCS#12 Kibana, Logstash ak Beats poko sipòte):

[elastic@node1 ~]$ ./elasticsearch/bin/elasticsearch-certutil cert --ca-cert /shared_folder/ca/ca.crt --ca-key /shared_folder/ca/ca.key --pem

Tout sa ki rete se depake kle yo kreye nan katab la ak konfigirasyon Kibana:

[elastic@node1 ~]$ unzip elasticsearch/certificate-bundle.zip -d kibana/config

Kle yo la, kidonk tout sa ki rete se chanje konfigirasyon Kibana pou li kòmanse sèvi ak yo. Nan fichye konfigirasyon kibana.yml, chanje http an https epi ajoute liy ki gen paramèt koneksyon SSL. Twa dènye liy yo configured kominikasyon an sekirite ant navigatè itilizatè a ak Kibana.

elasticsearch.hosts: ["https://${HOSTNAME}:9200"]
elasticsearch.ssl.certificateAuthorities: /shared_folder/ca/ca.crt
elasticsearch.ssl.verificationMode: certificate
server.ssl.enabled: true
server.ssl.key: /../kibana/config/instance/instance.key
server.ssl.certificate: /../kibana/config/instance/instance.crt

Kidonk, paramèt yo fini epi aksè a done nan gwoup Elasticsearch la ankode.

Si w gen kesyon sou kapasite Elastic Stack sou abònman gratis oswa peye, siveyans travay oswa kreye yon sistèm SIEM, kite yon demann bay fòm fidbak sou sit entènèt nou an.

Plis nan atik nou yo sou Elastic Stack sou Habré:

Konprann aprantisaj machin nan Elastic Stack (aka Elasticsearch, aka ELK)

Elasticsearch dimensionnement

Sous: www.habr.com

Add nouvo kòmantè