1. كومة المرنة: تحليل سجل الأمان. مقدمة



فيما يتعلق بنهاية المبيعات في روسيا لنظام Splunk لقطع الأشجار والتحليلات ، نشأ سؤال حول كيفية استبدال هذا الحل؟ بعد قضاء الوقت في التعرف على حلول مختلفة ، استقرت على حل لرجل حقيقي - "ELK stack" . يتطلب هذا النظام وقتًا لتكوينه ، ولكن كنتيجة لذلك ، يمكنك الحصول على نظام قوي للغاية لتحليل الحالة والاستجابة التشغيلية لحوادث أمن المعلومات في المؤسسة. في هذه السلسلة من المقالات ، سننظر في الميزات الأساسية (أو ربما لا) في مكدس ELK ، وسنفكر في كيفية تحليل السجلات ، وكيفية إنشاء الرسوم البيانية ولوحات المعلومات ، والوظائف المهمة التي يمكن القيام بها باستخدام سجلات من جدار الحماية Check Point أو الماسح الضوئي OpenVas كمثال. بادئ ذي بدء ، فكر في ما هو عليه - مكدس ELK ، والمكونات التي يتكون منها.

مكدس ELK هو اختصار لثلاثة مشاريع مفتوحة المصدر: Elasticsearch و Logstash و Kibana . التي وضعتها مرونة ، جنبا إلى جنب مع جميع المشاريع ذات الصلة. Elasticsearch هو جوهر النظام بأكمله ، والذي يجمع بين وظائف قاعدة البيانات ، ونظام البحث والتحليل. Logstash عبارة عن خط أنابيب لمعالجة البيانات من جانب الخادم يستقبل البيانات من عدة مصادر في نفس الوقت ، ويوزع السجل ، ثم يرسله إلى قاعدة بيانات Elasticsearch. Kibana يسمح للمستخدمين بتصور البيانات باستخدام الرسوم البيانية والرسوم البيانية في Elasticsearch. أيضا من خلال Kibana يمكنك إدارة قاعدة البيانات. بعد ذلك ، نعتبر كل نظام على حدة بمزيد من التفاصيل.



Logstash


Logstash هي أداة مساعدة لمعالجة أحداث السجل من مصادر مختلفة ، والتي يمكنك من خلالها تحديد الحقول وقيمها في رسالة ، كما يمكنك تكوين تصفية البيانات وتحريرها. بعد كل عمليات التلاعب ، يعيد Logstash توجيه الأحداث إلى مخزن البيانات النهائي. يتم تكوين الأداة المساعدة فقط من خلال ملفات التكوين.
تكوين logstash النموذجي هو ملف (ملفات) يتكون من عدة تدفقات معلومات واردة (إدخال) ، وعدة مرشحات لهذه المعلومات (مرشح) وعدة تدفقات الصادرة (الإخراج). يبدو وكأنه ملف تكوين واحد أو أكثر ، والذي يبدو في أبسط إصدار (لا يفعل شيئًا على الإطلاق) كما يلي:

input { } filter { } output { } 

في INPUT ، نقوم بتكوين أي منفذ ستدخل السجلات وفقًا لأي بروتوكول ، أو من أي مجلد لقراءة الملفات الجديدة أو المكتوبة باستمرار. في FILTER ، نقوم بتكوين محلل السجل: تحليل الحقول ، تحرير القيم ، إضافة معلمات جديدة أو الحذف. FILTER هو حقل لإدارة الرسائل يأتي إلى Logstash مع الكثير من خيارات التحرير. في الإخراج ، نقوم بتكوين حيث نرسل السجل الذي تم تحليله بالفعل ، إذا كان elasticsearch ، أو يتم إرسال طلب JSON يتم فيه إرسال الحقول التي تحتوي على القيم ، أو كجزء من التصحيح ، يمكن إخراجها إلى stdout أو كتابتها إلى ملف.



ElasticSearch


في البداية ، يعد Elasticsearch حلاً للبحث عن النص الكامل ، ولكن مع وسائل راحة إضافية مثل القياس السهل والتكرار وغير ذلك الكثير ، مما جعل المنتج حلاً مناسبًا وجيدًا للغاية للمشاريع المحملة بدرجة كبيرة مع كميات كبيرة من البيانات. يعد Elasticsearch مستودعًا غير علائقي (NoSQL) للمستندات بتنسيق JSON ، ومحرك بحث يستند إلى بحث النص الكامل لـ Lucene. النظام الأساسي للأجهزة هو Java Virtual Machine ، لذلك يحتاج النظام إلى قدر كبير من موارد المعالج وذاكرة الوصول العشوائي للعمل.
تتم فهرسة كل رسالة واردة ، إما باستخدام Logstash أو باستخدام واجهة برمجة تطبيقات الاستعلام ، باعتبارها "مستندًا" - تمثيلا لجدول في SQL العلائقية. يتم تخزين جميع الوثائق في الفهرس - تناظرية لقاعدة البيانات في SQL.

مثال على وثيقة في قاعدة البيانات:

 { "_index": "checkpoint-2019.10.10", "_type": "_doc", "_id": "yvNZcWwBygXz5W1aycBy", "_version": 1, "_score": null, "_source": { "layer_uuid": [ "dae7f01c-4c98-4c3a-a643-bfbb8fcf40f0", "dbee3718-cf2f-4de0-8681-529cb75be9a6" ], "outzone": "External", "layer_name": [ "TSS-Standard Security", "TSS-Standard Application" ], "time": "1565269565", "dst": "103.5.198.210", "parent_rule": "0", "host": "10.10.10.250", "ifname": "eth6", ] } " { "_index": "checkpoint-2019.10.10", "_type": "_doc", "_id": "yvNZcWwBygXz5W1aycBy", "_version": 1, "_score": null, "_source": { "layer_uuid": [ "dae7f01c-4c98-4c3a-a643-bfbb8fcf40f0", "dbee3718-cf2f-4de0-8681-529cb75be9a6" ], "outzone": "External", "layer_name": [ "TSS-Standard Security", "TSS-Standard Application" ], "time": "1565269565", "dst": "103.5.198.210", "parent_rule": "0", "host": "10.10.10.250", "ifname": "eth6", ] } 

تعتمد جميع الأعمال مع قاعدة البيانات على طلبات JSON باستخدام واجهة برمجة تطبيقات REST ، والتي تصدر المستندات حسب الفهرس أو بعض الإحصاءات بالتنسيق: question - answer. من أجل تصور جميع الإجابات على الطلبات ، تم كتابة Kibana ، وهي خدمة ويب.

Kibana


يتيح لك Kibana البحث / أخذ البيانات وطلب الإحصاءات من قاعدة بيانات elasticsearch ، لكن العديد من الرسوم البيانية ولوحات المعلومات الجميلة مبنية على الإجابات. يحتوي النظام أيضًا على وظيفة إدارة قاعدة بيانات elasticsearch ، في المقالات التالية سننظر في هذه الخدمة بمزيد من التفصيل. الآن ، دعنا نعرض مثالاً على لوحات المعلومات على جدار الحماية Check Point وماسح الضعف OpenVas الذي يمكن بناؤه.

مثال على لوحة القيادة لـ Check Point ، الصورة قابلة للنقر:



مثال على لوحة معلومات OpenVas ، الصورة قابلة للنقر:



استنتاج


لقد درسنا ما يتكون منه مكدس ELK ، والقليل من الاطلاع على المنتجات الرئيسية ، ثم في الدورة سننظر بشكل منفصل في كتابة ملف تكوين Logstash ، وإعداد لوحات المعلومات على Kibana ، والتعرف على طلبات API ، والتشغيل الآلي وأكثر من ذلك بكثير!

لذا ترقبوا ( Telegram ، Facebook ، VK ، TS Solution BlogYandex.Zen .

Source: https://habr.com/ru/post/ar480570/


All Articles