لچڪدار هيٺ لاڪ ۽ چاٻي: اندر ۽ ٻاهران رسائي لاءِ ايلسٽسٽڪ سرچ ڪلسٽر سيڪيورٽي آپشنز کي فعال ڪرڻ

لچڪدار هيٺ لاڪ ۽ چاٻي: اندر ۽ ٻاهران رسائي لاءِ ايلسٽسٽڪ سرچ ڪلسٽر سيڪيورٽي آپشنز کي فعال ڪرڻ

لچڪدار اسٽيڪ SIEM سسٽم مارڪيٽ ۾ هڪ مشهور اوزار آهي (اصل ۾، نه رڳو اهي). اهو تمام گهڻو مختلف-سائيز ڊيٽا گڏ ڪري سگهي ٿو، ٻئي حساس ۽ تمام حساس نه. اهو مڪمل طور تي درست ناهي ته لچڪدار اسٽيڪ عناصر تائين رسائي پاڻ کي محفوظ نه آهي. ڊفالٽ طور، سڀ لچڪدار آئوٽ آف دي باڪس عناصر (Elasticsearch، Logstash، Kibana، ۽ Beats ڪليڪٽر) کليل پروٽوڪول تي هلن ٿا. ۽ خود ڪبانا ۾، تصديق بند ٿيل آهي. اهي سڀئي ڳالهيون محفوظ ٿي سگهن ٿيون ۽ هن آرٽيڪل ۾ اسين توهان کي ٻڌائي سگهنداسين ته اهو ڪيئن ڪجي. سهولت لاءِ، اسان داستان کي 3 سيمينٽڪ بلاڪن ۾ ورهايو:

  • ڪردار جي بنياد تي ڊيٽا جي رسائي ماڊل
  • هڪ Elasticsearch ڪلستر جي اندر ڊيٽا سيڪيورٽي
  • هڪ Elasticsearch ڪلستر کان ٻاهر ڊيٽا کي محفوظ ڪرڻ

ڪٽ جي هيٺان تفصيل.

ڪردار جي بنياد تي ڊيٽا جي رسائي ماڊل

جيڪڏهن توهان Elasticsearch انسٽال ڪيو ۽ ان کي ڪنهن به طريقي سان ٽيون نه ڪيو، سڀني انڊيڪس تائين رسائي هر ڪنهن لاءِ کليل هوندي. خير، يا جيڪي استعمال ڪري سگهن ٿا curl. هن کان بچڻ لاء، Elasticsearch هڪ رول ماڊل آهي جيڪو دستياب آهي بنيادي سبسڪرپشن سان شروع ٿئي ٿو (جيڪو مفت آهي). Schematically اهو ڪجهه هن طرح نظر اچي ٿو:

لچڪدار هيٺ لاڪ ۽ چاٻي: اندر ۽ ٻاهران رسائي لاءِ ايلسٽسٽڪ سرچ ڪلسٽر سيڪيورٽي آپشنز کي فعال ڪرڻ

تصوير ۾ ڇا آهي

  • استعمال ڪندڙ هرڪو آهن جيڪي لاگ ان ڪري سگهن ٿا انهن جي سندون استعمال ڪندي.
  • ڪردار حقن جو هڪ سيٽ آهي.
  • حق استحقاق جو هڪ سيٽ آهن.
  • استحقاق لکڻ، پڙهڻ، حذف ڪرڻ وغيره جي اجازت آهي. (مراعات جي مڪمل فهرست)
  • وسيلا آهن انڊيڪس، دستاويز، فيلڊ، استعمال ڪندڙ، ۽ ٻيون اسٽوريج ادارا (ڪجهه وسيلن لاءِ رول ماڊل صرف ادا ڪيل سبسڪرپشن سان دستياب آهي).

ڊفالٽ طرفان Elasticsearch آهي باڪس استعمال ڪندڙ، جنهن سان اهي جڙيل آهن باڪس ڪردار. هڪ دفعو توهان سيڪيورٽي سيٽنگون چالو ڪيو، توهان انهن کي فوري طور تي استعمال ڪرڻ شروع ڪري سگهو ٿا.

Elasticsearch سيٽنگن ۾ سيڪيورٽي کي فعال ڪرڻ لاء، توهان کي ان کي ترتيب ڏيڻ واري فائل ۾ شامل ڪرڻ جي ضرورت آهي (ڊفالٽ طور تي هي آهي elasticsearch/config/elasticsearch.yml) نئين لائين:

xpack.security.enabled: true

ترتيب ڏيڻ واري فائل کي تبديل ڪرڻ کان پوء، تبديلين کي اثر انداز ڪرڻ لاء Elasticsearch لانچ يا ٻيهر شروع ڪريو. ايندڙ قدم باڪس استعمال ڪندڙن کي پاسورڊ تفويض ڪري رهيو آهي. اچو ته ھيٺ ڏنل ڪمانڊ کي استعمال ڪندي ان کي مداخلت سان ڪريون.

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

اسان پڙتال ڪريو

[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

توهان پنهنجو پاڻ کي پٺي تي پيٽ ڪري سگهو ٿا - Elasticsearch پاسي تي سيٽنگون مڪمل ڪيون ويون آهن. هاڻي اهو وقت آهي Kibana ترتيب ڏيڻ جو. جيڪڏھن توھان ھاڻي ان کي ھلايو، نقص نمودار ٿيندا، تنھنڪري اھو ضروري آھي ته ڪيئي اسٽور ٺاھيو وڃي. اهو ٻن حڪمن ۾ ڪيو ويندو آهي (user ڪٻانا ۽ پاسورڊ داخل ڪيو ويو پاسورڊ ٺاھڻ واري مرحلي ۾ Elasticsearch ۾):

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

جيڪڏهن سڀ ڪجهه صحيح آهي، Kibana هڪ لاگ ان ۽ پاسورڊ لاء پڇڻ شروع ڪندو. بنيادي سبسڪرپشن ۾ شامل آهي رول ماڊل اندروني استعمال ڪندڙن جي بنياد تي. گولڊ سان شروع ڪندي، توھان ڳنڍي سگھوٿا خارجي تصديق واري نظام - LDAP، PKI، Active Directory ۽ Single sign-on systems.

لچڪدار هيٺ لاڪ ۽ چاٻي: اندر ۽ ٻاهران رسائي لاءِ ايلسٽسٽڪ سرچ ڪلسٽر سيڪيورٽي آپشنز کي فعال ڪرڻ

Elasticsearch اندر شيون تائين رسائي جا حق پڻ محدود ٿي سگهن ٿا. بهرحال، دستاويزن يا فيلڊن لاءِ ساڳيو ڪم ڪرڻ لاءِ، توهان کي ادا ڪيل سبسڪرپشن جي ضرورت پوندي (هي عيش پلاٽينم سطح سان شروع ٿئي ٿو). اهي سيٽنگون موجود آهن Kibana انٽرفيس يا ذريعي سيڪيورٽي API. توھان چيڪ ڪري سگھوٿا اڳ ۾ ئي واقف ديو اوزار مينيو:

ڪردار ٺاهڻ

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

صارف ٺاهڻ

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

هڪ Elasticsearch ڪلستر جي اندر ڊيٽا سيڪيورٽي

جڏهن Elasticsearch هڪ ڪلستر ۾ هلندو آهي (جيڪو عام آهي)، ڪلستر جي اندر سيڪيورٽي سيٽنگون اهم ٿي وينديون آهن. نوڊس جي وچ ۾ محفوظ رابطي لاء، Elasticsearch استعمال ڪري ٿو TLS پروٽوڪول. انهن جي وچ ۾ محفوظ رابطي قائم ڪرڻ لاء، توهان کي هڪ سرٽيفڪيٽ جي ضرورت آهي. اسان PEM فارميٽ ۾ هڪ سرٽيفڪيٽ ۽ پرائيويٽ ڪيچ ٺاهيندا آهيون:

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

مٿي ڏنل حڪم تي عمل ڪرڻ کان پوء، ڊاريڪٽري ۾ /../elasticsearch archive ظاهر ٿيندو elastic-stack-ca.zip. ان جي اندر توهان کي ملندا هڪ سرٽيفڪيٽ ۽ هڪ خانگي ڪيچي ملن سان ڪرنٽ и اهم ترتيب سان. اهو مشورو ڏنو ويو آهي ته انهن کي هڪ گڏيل وسيلن تي رکڻو پوندو، جيڪو ڪلستر ۾ سڀني نوڊس کان دستياب هجڻ گهرجي.

هر نوڊ کي ھاڻي پنھنجي سرٽيفڪيٽ ۽ نجي ڪنجين جي ضرورت آھي انھن جي بنياد تي جيڪي شيئر ڊاريڪٽري ۾ آھن. جڏهن حڪم تي عمل ڪندي، توهان کي پاسورڊ سيٽ ڪرڻ لاء چيو ويندو. توھان شامل ڪري سگھوٿا اضافي اختيارات -ip ۽ -dns وچڙندڙ نوڊس جي مڪمل تصديق لاءِ.

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

حڪم تي عمل ڪرڻ جي نتيجي ۾، اسان کي PKCS#12 فارميٽ ۾ هڪ سرٽيفڪيٽ ۽ هڪ خانگي ڪيئي ملندي، جيڪا پاسورڊ سان محفوظ هوندي. اهو سڀ ڪجهه رهي ٿو ٺاهيل فائل کي منتقل ڪرڻ لاء p12 ترتيب واري ڊاريڪٽري ڏانهن:

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

فارميٽ ۾ سند ۾ پاسورڊ شامل ڪريو p12 هر نوڊ تي keystore ۽ Truststore ۾:

[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

اڳي ئي ڄاتو elasticsearch.yml باقي اهو آهي ته لائنن کي شامل ڪرڻ لاءِ سرٽيفڪيٽ ڊيٽا سان:

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

اسان سڀني Elasticsearch نوڊس کي لانچ ڪيو ۽ عمل ڪيو زنده. جيڪڏهن سڀ ڪجهه صحيح طريقي سان ڪيو ويو، ڪيترن ئي نوڊس سان جواب واپس ڪيو ويندو:

[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

اتي هڪ ٻيو سيڪيورٽي اختيار آهي - IP پتي فلٽرنگ (گولڊ سطح کان سبسڪرپشن ۾ دستياب آهي). توهان کي IP پتي جي سفيد لسٽ ٺاهڻ جي اجازت ڏئي ٿي جن مان توهان کي نوڊس تائين رسائي جي اجازت آهي.

هڪ Elasticsearch ڪلستر کان ٻاهر ڊيٽا کي محفوظ ڪرڻ

ڪلستر کان ٻاهر جو مطلب آهي ڳنڍڻ ٻاهرين اوزار: Kibana، Logstash، Beats يا ٻيا خارجي ڪلائنٽ.

لچڪدار هيٺ لاڪ ۽ چاٻي: اندر ۽ ٻاهران رسائي لاءِ ايلسٽسٽڪ سرچ ڪلسٽر سيڪيورٽي آپشنز کي فعال ڪرڻ

https (http جي بدران) لاءِ سپورٽ ترتيب ڏيڻ لاءِ، 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

ڇاڪاڻ ته سرٽيفڪيٽ پاسورڊ محفوظ آهي، ان کي هر نوڊ تي ڪي اسٽور ۽ ٽرسٽ اسٽور ۾ شامل ڪريو:

[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

چابيون شامل ڪرڻ کان پوء، Elasticsearch نوڊس https ذريعي ڳنڍڻ لاء تيار آهن. هاڻي اهي شروع ڪري سگهجي ٿو.

ايندڙ قدم ڪبانا کي ڳنڍڻ ۽ ان کي ترتيب ڏيڻ ۾ شامل ڪرڻ لاء هڪ چيڪ ٺاهڻ آهي. انهي سرٽيفڪيٽ جي بنياد تي جيڪو اڳ ۾ ئي شيئر ڊاريڪٽري ۾ موجود آهي، اسان PEM فارميٽ ۾ هڪ سرٽيفڪيٽ ٺاهينداسين (PKCS#12 Kibana، Logstash ۽ Beats اڃا سپورٽ نٿا ڪن):

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

باقي اهو آهي ته ٺاهيل چابمن کي کولڻ لاءِ فولڊر ۾ ڪبانا ترتيب سان:

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

چابيون موجود آهن، تنهنڪري باقي رهي ٿو ڪبانا جي ترتيب کي تبديل ڪرڻ لاء ته جيئن اهو انهن کي استعمال ڪرڻ شروع ڪري. kibana.yml configuration فائل ۾، HTTP کي https ۾ تبديل ڪريو ۽ SSL ڪنيڪشن سيٽنگن سان لائينون شامل ڪريو. آخري ٽي لائينون صارف جي برائوزر ۽ ڪبانا جي وچ ۾ محفوظ رابطي کي ترتيب ڏين ٿيون.

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

اهڙيء طرح، سيٽنگون مڪمل ڪيون ويون آهن ۽ Elasticsearch ڪلستر ۾ ڊيٽا تائين رسائي انڪوڊ ٿيل آهي.

جيڪڏهن توهان وٽ مفت يا ادا ڪيل سبسڪرپشن تي لچڪدار اسٽيڪ جي صلاحيتن جي باري ۾ سوال آهن، ڪم جي نگراني ڪرڻ يا SIEM سسٽم ٺاهڻ، هڪ درخواست ڇڏي ڏيو موٽ فارم اسان جي ويب سائيٽ تي.

هيبري تي لچڪدار اسٽيڪ بابت اسان جا وڌيڪ مضمون:

لچڪدار اسٽيڪ ۾ مشين لرننگ کي سمجھڻ (اڪا ايلسٽڪ سرچ، عرف ELK)

لچڪدار ڳولا جي ماپ

جو ذريعو: www.habr.com

تبصرو شامل ڪريو