
در رابطه با پایان فروش سیستم ثبت و تجزیه و تحلیل Splunk در روسیه، این سوال مطرح شد: چه چیزی می تواند جایگزین این راه حل شود؟ پس از گذراندن وقت برای آشنایی با راه حل های مختلف، به راه حلی برای یک مرد واقعی پرداختم - "پشته ELK". راه اندازی این سیستم زمان بر است، اما در نتیجه می توانید یک سیستم بسیار قدرتمند برای تجزیه و تحلیل وضعیت و پاسخگویی سریع به حوادث امنیت اطلاعات در سازمان دریافت کنید. در این سری از مقالات، ما به قابلیت های اصلی (یا شاید نه) پشته ELK نگاه می کنیم، در نظر می گیریم که چگونه می توانید گزارش ها را تجزیه کنید، چگونه نمودارها و داشبورد بسازید، و چه عملکردهای جالبی را می توان با استفاده از مثال لاگ های انجام داد. فایروال Check Point یا اسکنر امنیتی OpenVas. برای شروع، بیایید ببینیم که چیست - پشته ELK، و از چه اجزایی تشکیل شده است.
"پشته ELK" مخفف سه پروژه منبع باز است: ارزیابی جستجو, لگستاش и کیبانا. توسعه یافته توسط Elastic همراه با کلیه پروژه های مرتبط. Elasticsearch هسته کل سیستم است که عملکردهای یک پایگاه داده، جستجو و سیستم تحلیلی را ترکیب می کند. Logstash یک خط لوله پردازش داده سمت سرور است که داده ها را از چندین منبع به طور همزمان دریافت می کند، گزارش را تجزیه می کند و سپس آن را به پایگاه داده Elasticsearch ارسال می کند. Kibana به کاربران اجازه می دهد تا داده ها را با استفاده از نمودارها و نمودارها در Elasticsearch تجسم کنند. همچنین می توانید پایگاه داده را از طریق کیبانا مدیریت کنید. در مرحله بعد، هر سیستم را به طور جداگانه با جزئیات بیشتر بررسی خواهیم کرد.

لگستاش
Logstash یک ابزار برای پردازش رویدادهای گزارش از منابع مختلف است که با آن می توانید فیلدها و مقادیر آنها را در یک پیام انتخاب کنید و همچنین می توانید فیلتر و ویرایش داده ها را پیکربندی کنید. پس از تمام دستکاریها، Logstash رویدادها را به فروشگاه داده نهایی هدایت میکند. ابزار فقط از طریق فایل های پیکربندی پیکربندی می شود.
یک پیکربندی معمولی logstash یک فایل (های) متشکل از چندین جریان ورودی اطلاعات (ورودی)، چندین فیلتر برای این اطلاعات (فیلتر) و چندین جریان خروجی (خروجی) است. به نظر می رسد یک یا چند فایل پیکربندی است که در ساده ترین نسخه (که هیچ کاری انجام نمی دهد) به این صورت است:
input {
}
filter {
}
output {
}
در INPUT پیکربندی میکنیم که لاگها به کدام پورت و از طریق کدام پروتکل ارسال شوند یا از کدام پوشه فایلهای جدید یا دائماً بهروزرسانی شده را بخوانند. در FILTER ما تجزیه کننده گزارش را پیکربندی می کنیم: تجزیه فیلدها، ویرایش مقادیر، افزودن پارامترهای جدید یا حذف آنها. FILTER فیلدی برای مدیریت پیامی است که به Logstash می آید با گزینه های ویرایش زیادی. در خروجی پیکربندی میکنیم که در آن گزارش تجزیهشده از قبل را ارسال میکنیم، در صورتی که elasticsearch باشد، یک درخواست JSON ارسال میشود که در آن فیلدهایی با مقادیر ارسال میشوند، یا به عنوان بخشی از اشکالزدایی میتوان آن را به stdout خروجی یا در یک فایل نوشت.

ElasticSearch
در ابتدا، Elasticsearch یک راه حل برای جستجوی متن کامل است، اما با امکانات اضافی مانند مقیاس بندی آسان، تکرار و موارد دیگر، که باعث می شود محصول بسیار راحت و راه حل خوبی برای پروژه های پر بار با حجم زیاد داده باشد. Elasticsearch یک فروشگاه و موتور جستجوی اسناد JSON غیر رابطه ای (NoSQL) بر اساس جستجوی متن کامل Lucene است. پلتفرم سختافزار ماشین مجازی جاوا است، بنابراین سیستم به مقدار زیادی از پردازنده و منابع RAM برای کار کردن نیاز دارد.
هر پیام دریافتی، چه با Logstash یا با استفاده از Query API، به عنوان یک "سند" نمایه می شود - مشابه یک جدول در 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",
]
}
تمام کار با پایگاه داده بر اساس درخواست های JSON با استفاده از REST API است که اسناد را بر اساس فهرست یا برخی از آمارها در قالب: پرسش - پاسخ تولید می کند. برای تجسم تمامی پاسخ ها به درخواست ها کیبانا نوشته شد که یک وب سرویس است.
کیبانا
Kibana به شما امکان جستجو، بازیابی داده ها و آمار پرس و جو از پایگاه داده elasticsearch را می دهد، اما بسیاری از نمودارها و داشبوردهای زیبا بر اساس پاسخ ها ساخته شده اند. این سیستم همچنین دارای قابلیت مدیریت پایگاه داده elasticsearch است؛ در مقالات بعدی با جزئیات بیشتری به این سرویس خواهیم پرداخت. حال بیایید نمونهای از داشبوردهای فایروال Check Point و اسکنر آسیبپذیری OpenVas را نشان دهیم که میتوان ساخت.
نمونه ای از داشبورد برای Check Point، تصویر قابل کلیک است:
نمونه ای از داشبورد برای OpenVas، تصویر قابل کلیک است:
نتیجه
ما بررسی کردیم که از چه چیزی تشکیل شده است پشته ELK، کمی با محصولات اصلی آشنا شدیم، بعداً در دوره به طور جداگانه نوشتن یک فایل پیکربندی Logstash، راه اندازی داشبورد در کیبانا، آشنایی با درخواست های API، اتوماسیون و موارد دیگر را در نظر خواهیم گرفت!
پس با ما همراه باشید (, , , ), .
منبع: www.habr.com
