ProHoster > بلوق > إدارة > قفل مرن: تمكين خيارات أمان مجموعة البحث المرن للوصول الداخلي والخارجي
قفل مرن: تمكين خيارات أمان مجموعة البحث المرن للوصول الداخلي والخارجي
Elastic Stack هي أداة معروفة في سوق أنظمة SIEM (في الواقع ، ليس فقط هم). يمكنه جمع الكثير من البيانات ذات الأحجام المختلفة ، الحساسة وغير الحساسة للغاية. ليس صحيحًا تمامًا إذا لم يكن الوصول إلى عناصر Elastic Stack نفسها محميًا. بشكل افتراضي ، تعمل جميع العناصر المطاطية (Elasticsearch و Logstash و Kibana و Beats) على بروتوكولات مفتوحة. وفي Kibana نفسها ، يتم تعطيل المصادقة. يمكن تأمين كل هذه التفاعلات ، وسنخبرك في هذه المقالة بكيفية القيام بذلك. للراحة ، تم تقسيم القصة إلى 3 كتل دلالية:
نموذج يحتذى به في الوصول إلى البيانات
أمن البيانات داخل مجموعة Elasticsearch
أمان البيانات خارج مجموعة Elasticsearch
التفاصيل تحت الخفض.
نموذج يحتذى به في الوصول إلى البيانات
إذا قمت بتثبيت Elasticsearch وقمت بضبطه بأي شكل من الأشكال ، فسيكون الوصول إلى جميع الفهارس مفتوحًا للجميع. حسنًا ، أو أولئك الذين يمكنهم استخدام الضفيرة. لتجنب ذلك ، لدى Elasticsearch نموذج يحتذى به متاح بدءًا من اشتراك المستوى الأساسي (وهو مجاني). يبدو من الناحية التخطيطية كما يلي:
ما هو في الصورة
المستخدمون هم جميعًا الذين يمكنهم تسجيل الدخول باستخدام بيانات الاعتماد.
الموارد هي الفهارس والمستندات والحقول والمستخدمون وكيانات التخزين الأخرى (نموذج الدور لبعض الموارد متاح فقط في الاشتراكات المدفوعة).
يكون 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):
إذا كان كل شيء صحيحًا ، سيبدأ Kibana في طلب اسم مستخدم وكلمة مرور. في الاشتراك الأساسي ، يتوفر نموذج يحتذى به يعتمد على المستخدمين الداخليين. بدءًا من Gold ، يمكنك توصيل أنظمة المصادقة الخارجية - LDAP و PKI و Active Directory وأنظمة تسجيل الدخول الأحادي.
يمكن أيضًا تقييد حقوق الوصول إلى الكائنات الموجودة داخل Elasticsearch. صحيح ، لفعل الشيء نفسه للمستندات أو الحقول ، ستحتاج إلى اشتراك مدفوع (تبدأ هذه الرفاهية بالمستوى البلاتيني). هذه الإعدادات متاحة في واجهة Kibana أو عبر واجهة برمجة تطبيقات الأمان. يمكنك التحقق من قائمة أدوات التطوير المألوفة بالفعل:
عند تشغيل Elasticsearch في مجموعة (وهو أمر شائع) ، تصبح إعدادات الأمان داخل المجموعة مهمة. للتواصل الآمن بين العقد ، يستخدم Elasticsearch بروتوكول TLS. لإعداد اتصال آمن بينهما ، تحتاج إلى شهادة. نقوم بإنشاء شهادة ومفتاح خاص بتنسيق PEM:
[elastic@node1 ~]$ ./elasticsearch/bin/elasticsearch-certutil ca --pem
بعد تنفيذ الأمر أعلاه ، في الدليل /../elasticsearch سيظهر الأرشيف الكومة المرنة ca.zip. ستجد بداخله شهادة ومفتاح خاص به امتدادات إنبوب أشعة القطب السالب и مفتاح على التوالى. من المستحسن وضعها على مورد مشترك ، حيث يجب أن يكون هناك وصول من جميع عقد الكتلة.
تحتاج كل عقدة الآن إلى شهاداتها ومفاتيحها الخاصة بناءً على تلك الموجودة في الدليل المشترك. عند تنفيذ الأمر ، سيُطلب منك تعيين كلمة مرور. يمكن إضافة خيارات إضافية -ip و -dns للتحقق الكامل من عقد الاتصال.
بعد إضافة المفاتيح ، تصبح عقد Elasticsearch جاهزة للاتصال عبر https. الآن يمكن إطلاقها.
الخطوة التالية هي إنشاء مفتاح اتصال Kibana وإضافته إلى التكوين. استنادًا إلى الشهادة الموجودة بالفعل في الدليل المشترك ، سننشئ شهادة بتنسيق PEM (لا يدعم PKCS # 12 Kibana و Logstash و Beats حتى الآن):
المفاتيح موجودة ، لذلك يبقى تغيير تكوين Kibana بحيث يبدأ في استخدامها. في ملف تكوين kibana.yml ، قم بتغيير http إلى https وإضافة خطوط بإعدادات اتصال SSL. أقامت الأسطر الثلاثة الأخيرة تفاعلًا آمنًا بين متصفح المستخدم و Kibana.
وبالتالي ، يتم إجراء الإعدادات ويتم تشفير الوصول إلى البيانات في مجموعة Elasticsearch.
إذا كانت لديك أسئلة حول ميزات Elastic Stack في الاشتراكات المجانية أو المدفوعة ، أو مهام المراقبة أو إنشاء نظام SIEM ، فاترك طلبًا في نموذج الملاحظات على موقعنا