چگونه ELK به مهندسان امنیتی کمک می کند تا با حملات وب سایت مبارزه کنند و با آرامش بخوابند

مرکز دفاع سایبری ما مسئول امنیت زیرساخت وب مشتری است و حملات به سایت های مشتری را دفع می کند. برای محافظت در برابر حملات، ما از فایروال های وب اپلیکیشن فورتی وب (WAF) استفاده می کنیم. اما حتی جالب ترین WAF هم یک دارو نیست و از "خارج از جعبه" در برابر حملات هدفمند محافظت نمی کند. 

بنابراین علاوه بر WAF از ELK. این کمک می کند تا همه رویدادها را در یک مکان جمع آوری کنیم، آمار را جمع آوری کنیم، آن را تجسم کنیم و به ما امکان می دهد یک حمله هدفمند را به موقع ببینیم.

امروز با جزئیات بیشتری به شما خواهم گفت که چگونه از درخت کریسمس با WAF عبور کردیم و چه چیزی از آن حاصل شد.

چگونه ELK به مهندسان امنیتی کمک می کند تا با حملات وب سایت مبارزه کنند و با آرامش بخوابند

داستان یک حمله: چگونه همه چیز قبل از تغییر به ELK کار می کرد

در ابر ما، مشتری برنامه را در پشت WAF ما مستقر کرده است. از 10 تا 000 کاربر متصل به سایت در روز، تعداد اتصالات به 100 میلیون در روز رسید. از این تعداد، 000-20 کاربر مزاحم بودند و سعی داشتند سایت را هک کنند. 

فرم معمول brute force از یک آدرس IP توسط FortiWeb به راحتی مسدود شد. تعداد بازدیدهای سایت در دقیقه بیشتر از کاربران قانونی بود. ما به سادگی آستانه های فعالیت را از یک آدرس تنظیم کردیم و حمله را دفع کردیم.

مقابله با "حملات آهسته" بسیار دشوارتر است، زمانی که مهاجمان به آرامی عمل می کنند و خود را به عنوان مشتریان عادی پنهان می کنند. آنها از بسیاری از آدرس های IP منحصر به فرد استفاده می کنند. چنین فعالیتی برای WAF مانند نیروی بی رحم عظیم به نظر نمی رسید، ردیابی خودکار آن دشوارتر بود. و همچنین خطر مسدود کردن کاربران عادی وجود داشت. ما به دنبال نشانه‌های دیگر حمله گشتیم و خط‌مشی برای مسدود کردن خودکار آدرس‌های IP بر اساس این علامت تنظیم کردیم. به عنوان مثال، بسیاری از جلسات نامشروع دارای فیلدهای مشترک در سربرگ درخواست http بودند. اغلب مجبور بودید چنین فیلدهایی را به صورت دستی در گزارش رویدادهای FortiWeb جستجو کنید. 

طولانی و ناراحت کننده شد. در عملکرد استاندارد FortiWeb، رویدادها در متن در 3 گزارش مختلف ثبت می‌شوند: حملات شناسایی‌شده، اطلاعات مربوط به درخواست‌ها و پیام‌های سیستم در مورد عملکرد WAF. ده ها یا حتی صدها رویداد حمله می تواند در یک دقیقه رخ دهد.

نه چندان، اما باید به صورت دستی از چندین سیاهه عبور کنید و روی خطوط بسیاری تکرار کنید: 

چگونه ELK به مهندسان امنیتی کمک می کند تا با حملات وب سایت مبارزه کنند و با آرامش بخوابند
در گزارش حمله، آدرس های کاربر و ماهیت فعالیت را می بینیم. 
 
اسکن کردن جدول لاگ به سادگی کافی نیست. برای یافتن جالب‌ترین و مفیدترین موارد در مورد ماهیت حمله، باید به درون یک رویداد خاص نگاه کنید:

چگونه ELK به مهندسان امنیتی کمک می کند تا با حملات وب سایت مبارزه کنند و با آرامش بخوابند
فیلدهای برجسته به تشخیص "حمله آهسته" کمک می کند. منبع: اسکرین شات از سایت فورتی نت

خب، مشکل اصلی این است که فقط یک متخصص FortiWeb می تواند آن را بفهمد. اگر در ساعات کاری همچنان بتوانیم فعالیت‌های مشکوک را در زمان واقعی ردیابی کنیم، بررسی حوادث شبانه ممکن است به تعویق بیفتد. هنگامی که سیاست‌های فورتی وب به دلایلی کار نمی‌کرد، مهندسان شیفت شب نمی‌توانستند بدون دسترسی به WAF وضعیت را ارزیابی کنند و متخصص فورتی وب را بیدار کردند. ما چندین ساعت از طریق سیاهههای مربوط نگاه کردیم و لحظه حمله را پیدا کردیم. 

با چنین حجمی از اطلاعات، درک تصویر بزرگ در یک نگاه و اقدام پیشگیرانه دشوار است. سپس تصمیم گرفتیم داده ها را در یک مکان جمع آوری کنیم تا همه چیز را به صورت بصری تجزیه و تحلیل کنیم، شروع حمله را پیدا کنیم، جهت و روش مسدود کردن آن را شناسایی کنیم. 

از بین چی انتخاب کردی

اول از همه، ما به راه‌حل‌هایی که قبلاً در حال استفاده بودند، نگاه کردیم تا موجودیت‌ها را بی‌ضرورت نکنیم.

یکی از اولین گزینه ها این بود Nagiosکه برای نظارت استفاده می کنیم زیرساخت های مهندسی, زیرساخت شبکه، هشدارهای اضطراری نگهبانان همچنین از آن برای اطلاع رسانی به متصدیان در صورت ترافیک مشکوک استفاده می کنند، اما نمی داند چگونه چوب های پراکنده را جمع آوری کند و به همین دلیل ناپدید می شود. 

گزینه ای برای جمع کردن همه چیز وجود داشت MySQL و PostgreSQL یا پایگاه داده رابطه ای دیگر. اما برای بیرون کشیدن داده ها، لازم بود برنامه خود را مجسمه سازی کنید. 

آنها همچنین به عنوان یک جمع کننده سیاهه در شرکت ما استفاده می کنند FortiAnalyzer از Fortinet اما در این مورد او نیز جا نیفتاد. اولاً، کار با فایروال تیزتر است فورتی گیت. ثانیاً، بسیاری از تنظیمات گم شده بودند، و تعامل با آن مستلزم دانش عالی از پرس و جوهای SQL بود. و ثالثاً استفاده از آن باعث افزایش هزینه خدمات برای مشتری می شود.   

اینگونه بود که در صورت به منبع باز رسیدیم ELK

چرا ELK را انتخاب کنید 

ELK مجموعه ای از برنامه های منبع باز است:

  • ارزیابی جستجو - پایگاه داده سری های زمانی که به تازگی برای کار با حجم زیادی از متن ایجاد شده است.
  • لگستاش - مکانیزم جمع آوری داده ها که می تواند سیاهههای مربوط را به فرمت مورد نظر تبدیل کند. 
  • کیبانا - یک ویژوالایزر خوب و همچنین یک رابط نسبتاً دوستانه برای مدیریت Elasticsearch. شما می توانید از آن برای ساخت برنامه هایی استفاده کنید که می تواند توسط مهندسان وظیفه در شب نظارت شود. 

آستانه ورود برای ELK پایین است. همه ویژگی های اولیه رایگان هستند. چه چیز دیگری برای خوشبختی لازم است.

چگونه همه را در یک سیستم قرار دادید؟

نمایه ایجاد کرد و فقط اطلاعات لازم را گذاشت. ما هر سه لاگ FortiWEB را در ELK بارگذاری کردیم - خروجی ایندکس بود. اینها فایل‌هایی هستند که همه گزارش‌های جمع‌آوری‌شده برای یک دوره، به عنوان مثال، یک روز را دارند. اگر فوراً آنها را تجسم می کردیم، فقط پویایی حملات را می دیدیم. برای جزییات، باید در هر حمله "دریافت کنید" و به زمینه های خاص نگاه کنید.

چگونه ELK به مهندسان امنیتی کمک می کند تا با حملات وب سایت مبارزه کنند و با آرامش بخوابند

ما متوجه شدیم که ابتدا باید تجزیه اطلاعات بدون ساختار را راه اندازی کنیم. ما فیلدهای طولانی مانند "پیام" و "URL" را به عنوان رشته در نظر گرفتیم و آنها را تجزیه کردیم تا اطلاعات بیشتری برای تصمیم گیری به دست آوریم. 

به عنوان مثال، با استفاده از تجزیه، مکان کاربر را جداگانه برداشتیم. این بلافاصله به برجسته کردن حملات خارج از کشور به سایت‌های کاربران روسی کمک کرد. با مسدود کردن تمامی ارتباطات سایر کشورها، تعداد حملات را 2 برابر کاهش دادیم و به راحتی می‌توانستیم با حملات داخل روسیه مقابله کنیم. 

پس از تجزیه، آنها شروع به جستجوی اطلاعاتی برای ذخیره و تجسم کردند. گذاشتن همه چیز در گزارش نامناسب بود: اندازه یک شاخص بزرگ بود - 7 گیگابایت. ELK برای پردازش فایل زمان زیادی برد. با این حال، همه اطلاعات مفید نبود. چیزی تکراری شد و فضای اضافی را اشغال کرد - بهینه سازی لازم بود. 

در ابتدا، ما به سادگی فهرست را بررسی کردیم و رویدادهای غیر ضروری را حذف کردیم. معلوم شد که این کار حتی از کار با گزارش‌ها در خود FortiWeb نیز ناخوشایندتر و طولانی‌تر است. تنها مزیت "درخت کریسمس" در این مرحله این است که ما توانستیم مدت زمان زیادی را روی یک صفحه تجسم کنیم. 

ما ناامید نشدیم، به خوردن کاکتوس و مطالعه ELK ادامه دادیم و معتقد بودیم که می توانیم اطلاعات لازم را استخراج کنیم. پس از تمیز کردن شاخص‌ها، شروع به تجسم آنچه هست کردیم. بنابراین به داشبوردهای بزرگ رسیدیم. ما ویجت‌ها را به هم زدیم - به صورت بصری و زیبا، یک ЁLKa واقعی! 

چگونه ELK به مهندسان امنیتی کمک می کند تا با حملات وب سایت مبارزه کنند و با آرامش بخوابند

لحظه حمله را ثبت کرد. اکنون لازم بود درک کنیم که شروع حمله در نمودار چگونه به نظر می رسد. برای شناسایی آن، ما به پاسخ های سرور به کاربر (کدهای بازگشت) نگاه کردیم. ما به پاسخ های سرور با چنین کدهایی علاقه مند بودیم (rc): 

کد (rc)

نام

شرح

0

رها کردن

درخواست به سرور مسدود شده است

200

Ok

درخواست با موفقیت پردازش شد

400

درخواست بد

درخواست بد

403

ممنوع

مجوز رد شد

500

خطای سرور داخلی

سرویس در دسترس نیست

اگر شخصی شروع به حمله به سایت کند، نسبت کدها تغییر می کند: 

  • اگر درخواست های اشتباه بیشتری با کد 400 و به همان تعداد درخواست های معمولی با کد 200 وجود داشت، پس شخصی سعی در هک سایت داشت. 
  • اگر در همان زمان، درخواست‌های کد 0 نیز افزایش یافت، سیاستمداران FortiWeb نیز حمله را "دیدند" و بلوک‌هایی را برای آن اعمال کردند. 
  • اگر تعداد پیام های با کد 500 افزایش یابد، سایت برای این آدرس های IP در دسترس نیست - همچنین نوعی مسدود کردن. 

در ماه سوم، ما یک داشبورد برای پیگیری این فعالیت راه اندازی کرده بودیم.

چگونه ELK به مهندسان امنیتی کمک می کند تا با حملات وب سایت مبارزه کنند و با آرامش بخوابند

برای اینکه همه چیز را به صورت دستی نظارت نکنیم، یکپارچه سازی را با Nagios تنظیم کردیم که در فواصل زمانی مشخصی از ELK نظرسنجی می کرد. اگر دستیابی به مقادیر آستانه را توسط کدها ثبت می کرد، در مورد فعالیت مشکوک به افسران وظیفه اطلاع رسانی می کرد. 

ترکیب 4 نمودار در سیستم مانیتورینگ. اکنون مهم این بود که در نمودارها لحظه ای را ببینید که حمله مسدود نشده است و نیاز به مداخله یک مهندس است. در 4 نمودار مختلف، چشم ما تار شده بود. بنابراین، نمودارها را ترکیب کردیم و شروع به مشاهده همه چیز در یک صفحه کردیم.

در مانیتورینگ، نحوه تغییر نمودارهای رنگ های مختلف را مشاهده کردیم. انفجار قرمز نشان داد که حمله شروع شده است، در حالی که نمودارهای نارنجی و آبی واکنش فورتی وب را نشان می دهد:

چگونه ELK به مهندسان امنیتی کمک می کند تا با حملات وب سایت مبارزه کنند و با آرامش بخوابند
همه چیز اینجا خوب است: موجی از فعالیت های "قرمز" وجود داشت، اما FortiWeb با این کار کنار آمد و برنامه حمله به نتیجه نرسید.

ما همچنین نمونه ای از نموداری را برای خود ترسیم کردیم که نیاز به مداخله دارد:

چگونه ELK به مهندسان امنیتی کمک می کند تا با حملات وب سایت مبارزه کنند و با آرامش بخوابند
در اینجا می بینیم که FortiWeb فعالیت خود را افزایش داده است، اما نمودار حمله قرمز کاهش نیافته است. باید تنظیمات WAF را تغییر دهید.

بررسی حوادث شبانه نیز آسانتر شده است. نمودار بلافاصله لحظه ای را نشان می دهد که زمان دفاع از سایت است. 

چگونه ELK به مهندسان امنیتی کمک می کند تا با حملات وب سایت مبارزه کنند و با آرامش بخوابند
این چیزی است که گاهی اوقات در شب اتفاق می افتد. نمودار قرمز - حمله آغاز شده است. آبی - فعالیت FortiWeb. حمله به طور کامل مسدود نشد، ما باید مداخله می کردیم.

کجا داریم میریم

اکنون ما در حال آموزش مدیران وظیفه هستیم تا با ELK کار کنند. متصدیان یاد می گیرند که وضعیت روی داشبورد را ارزیابی کنند و تصمیم بگیرند: وقت آن است که به متخصص FortiWeb بپردازید، یا سیاست های WAF برای دفع خودکار حمله کافی است. بنابراین ما بار مهندسین امنیت اطلاعات را در شب کاهش می دهیم و نقش های پشتیبانی را در سطح سیستم تقسیم می کنیم. دسترسی به فورتی وب تنها با مرکز دفاع سایبری باقی می ماند و تنها آنها در صورت نیاز فوری در تنظیمات WAF تغییراتی ایجاد می کنند.

ما همچنین در حال کار بر روی گزارش برای مشتریان هستیم. ما برنامه ریزی می کنیم که داده های مربوط به پویایی کار WAF در حساب شخصی مشتری در دسترس باشد. ELK بدون نیاز به مراجعه به خود WAF وضعیت را واضح تر می کند.

اگر مشتری بخواهد حفاظت خود را در زمان واقعی نظارت کند، ELK نیز مفید خواهد بود. ما نمی‌توانیم به WAF دسترسی نداشته باشیم، زیرا مداخله مشتری در کار ممکن است بر بقیه تأثیر بگذارد. اما می توانید یک ELK جداگانه بردارید و آن را به «بازی کردن» بدهید. 

اینها سناریوهایی برای استفاده از درخت کریسمس است که اخیراً انباشته شده است. نظرات خود را در این مورد به اشتراک بگذارید و فراموش نکنید همه چیز را به درستی تنظیم کنیدبرای جلوگیری از نشت پایگاه داده 

منبع: www.habr.com