ELK təhlükəsizlik mühəndislərinə veb-sayt hücumları ilə mübarizə aparmağa və dinc yatmağa necə kömək edir

Bizim kibermüdafiə mərkəzimiz müştərinin veb infrastrukturunun təhlükəsizliyinə cavabdehdir və müştəri saytlarına edilən hücumları dəf edir. Hücumlardan qorunmaq üçün biz FortiWeb Web Application Firewall-dan (WAF) istifadə edirik. Ancaq hətta ən yaxşı WAF də panacea deyil və "qutudan kənarda" hədəfli hücumlardan qorunmur. 

Buna görə də, WAF-a əlavə olaraq istifadə edirik ELK. O, bütün hadisələri bir yerdə toplamağa kömək edir, statistik məlumatları toplayır, onu vizuallaşdırır və hədəflənmiş hücumu vaxtında görməyə imkan verir.

Bu gün sizə WAF ilə Milad ağacını necə keçdiyimizi və ondan nə gəldiyini daha ətraflı izah edəcəyəm.

ELK təhlükəsizlik mühəndislərinə veb-sayt hücumları ilə mübarizə aparmağa və dinc yatmağa necə kömək edir

Bir hücumun hekayəsi: ELK-ə keçməzdən əvvəl hər şeyin necə işlədiyi

Buludumuzda müştəri tətbiqi WAF-ın arxasında yerləşdirdi. Gündə 10 000-dən 100 000-ə qədər sayta qoşulan istifadəçilərin sayı gündə 20 milyona çatıb. Bunlardan 3-5-i istifadəçi olub və saytı sındırmağa cəhd edib. 

Bir IP ünvanından adi formada kobud güc FortiWeb tərəfindən olduqca asanlıqla bloklandı. Bir dəqiqədə sayta daxil olanların sayı qanuni istifadəçilərinkindən çox olub. Biz sadəcə bir ünvandan fəaliyyət hədlərini təyin etdik və hücumu dəf etdik.

Təcavüzkarlar ləng hərəkət etdikdə və adi müştərilər kimi gizləndikdə "yavaş hücumlarla" məşğul olmaq daha çətindir. Onlar bir çox unikal IP ünvanlarından istifadə edirlər. Belə fəaliyyət WAF üçün kütləvi kobud güc kimi görünmürdü, onu avtomatik izləmək daha çətin idi. Normal istifadəçiləri bloklamaq riski də var idi. Hücumun digər əlamətlərini axtardıq və bu işarə əsasında IP ünvanlarını avtomatik bloklamaq üçün siyasət qurduq. Məsələn, bir çox qeyri-qanuni sessiyaların http sorğu başlıqlarında ümumi sahələr var idi. Siz tez-tez belə sahələri FortiWeb hadisə qeydlərində əl ilə axtarmalı olurdunuz. 

Uzun və narahat oldu. FortiWeb-in standart funksionallığında hadisələr 3 müxtəlif jurnalda mətn şəklində qeyd olunur: aşkar edilmiş hücumlar, sorğular haqqında məlumat və WAF əməliyyatı haqqında sistem mesajları. Bir dəqiqə ərzində onlarla, hətta yüzlərlə hücum hadisəsi baş verə bilər.

O qədər də çox deyil, ancaq bir neçə logdan əl ilə keçməli və bir çox sətirləri təkrarlamalısınız: 

ELK təhlükəsizlik mühəndislərinə veb-sayt hücumları ilə mübarizə aparmağa və dinc yatmağa necə kömək edir
Hücum jurnalında biz istifadəçi ünvanlarını və fəaliyyətin xarakterini görürük. 
 
Sadəcə jurnal cədvəlini skan etmək kifayət deyil. Hücumun təbiəti ilə bağlı ən maraqlı və faydalı olanı tapmaq üçün müəyyən bir hadisənin içərisinə baxmaq lazımdır:

ELK təhlükəsizlik mühəndislərinə veb-sayt hücumları ilə mübarizə aparmağa və dinc yatmağa necə kömək edir
Vurğulanmış sahələr "yavaş hücumu" aşkar etməyə kömək edir. Mənbə: ekran görüntüsü Fortinet saytı

Yaxşı, əsas problem odur ki, yalnız FortiWeb mütəxəssisi bunu anlaya bilər. Əgər iş saatları ərzində biz hələ də real vaxt rejimində şübhəli fəaliyyəti izləyə bilsək, o zaman gecə insidentlərinin araşdırılması gecikə bilər. FortiWeb siyasətləri nədənsə işləmədikdə, gecə növbəsinin növbətçi mühəndisləri WAF-a daxil olmadan vəziyyəti qiymətləndirə bilmədilər və FortiWeb mütəxəssisini oyatdılar. Biz bir neçə saat loglara baxdıq və hücum anını tapdıq. 

Belə həcmli məlumatlarla böyük mənzərəni bir baxışda başa düşmək və fəal hərəkət etmək çətindir. Sonra hər şeyi vizual formada təhlil etmək, hücumun başlanğıcını tapmaq, onun istiqamətini və bloklanma üsulunu müəyyən etmək üçün məlumatları bir yerdə toplamaq qərarına gəldik. 

Nə seçildi

İlk növbədə, obyektləri lazımsız yerə çoxaltmamaq üçün artıq istifadə olunan həlləri nəzərdən keçirdik.

İlk variantlardan biri idi Nagiosnəzarət etmək üçün istifadə etdiyimiz mühəndislik infrastrukturu, şəbəkə infrastrukturu, təcili xəbərdarlıqlar. Mühafizəçilər şübhəli trafik zamanı xidmətçiləri xəbərdar etmək üçün də istifadə edirlər, lakin o, bir-birindən fərqli logların necə yığılacağını bilmir və buna görə də yox olur. 

Hər şeyi birləşdirmək variantı var idi MySQL və PostgreSQL və ya digər əlaqəli verilənlər bazası. Ancaq məlumatları çıxarmaq üçün ərizənizi heykəlləndirmək lazım idi. 

Şirkətimizdə log yığan kimi onlar da istifadə edirlər FortiAnalyzer Fortinet-dən. Amma bu halda o da sığmadı. Birincisi, firewall ilə işləmək daha kəskindir FortiGate. İkincisi, bir çox parametrlər yox idi və onunla qarşılıqlı əlaqə SQL sorğuları haqqında mükəmməl bilik tələb etdi. Üçüncüsü, onun istifadəsi müştəri üçün xidmətin qiymətini artıracaq.   

Biz üzdə açıq mənbəyə belə gəldik ELK

Niyə ELK seçirsiniz? 

ELK açıq mənbəli proqramlar toplusudur:

  • Elasticsearch - böyük həcmli mətnlərlə işləmək üçün yeni yaradılmış zaman seriyalarının verilənlər bazası;
  • Logstash – logları istədiyiniz formata çevirə bilən məlumat toplama mexanizmi; 
  • Kibana - yaxşı vizualizator, həmçinin Elasticsearch-i idarə etmək üçün kifayət qədər dostluq interfeysi. Ondan gecələr növbətçi mühəndislər tərəfindən izlənilə bilən cədvəllər qurmaq üçün istifadə edə bilərsiniz. 

ELK üçün giriş həddi aşağıdır. Bütün əsas xüsusiyyətlər pulsuzdur. Xoşbəxtlik üçün başqa nə lazımdır.

Bütün bunları bir sistemdə necə birləşdirdiniz?

İndekslər yaratdı və yalnız lazımi məlumatları buraxdı. Biz hər üç FortiWEB jurnalını ELK-a yüklədik - nəticə indekslər idi. Bunlar bir müddət, məsələn, bir gün üçün bütün toplanmış qeydləri olan fayllardır. Onları dərhal görüntüləsək, yalnız hücumların dinamikasını görərdik. Təfərrüatlar üçün hər bir hücuma "düşmək" və xüsusi sahələrə baxmaq lazımdır.

ELK təhlükəsizlik mühəndislərinə veb-sayt hücumları ilə mübarizə aparmağa və dinc yatmağa necə kömək edir

Başa düşdük ki, əvvəlcə strukturlaşdırılmamış məlumatların təhlilini qurmalıyıq. Biz "Mesaj" və "URL" kimi uzun sahələri sətir kimi götürdük və qərar qəbul etmək üçün daha çox məlumat əldə etmək üçün onları təhlil etdik. 

Məsələn, təhlildən istifadə edərək istifadəçinin yerini ayrıca çıxardıq. Bu, rus istifadəçiləri üçün saytlara xaricdən edilən hücumları dərhal vurğulamağa kömək etdi. Digər ölkələrdən gələn bütün əlaqələri əngəlləməklə biz hücumların sayını 2 dəfə azaltdıq və Rusiya daxilində hücumların öhdəsindən asanlıqla gələ bildik. 

Təhlildən sonra onlar hansı məlumatları saxlamağa və vizuallaşdırmağa başladılar. Hər şeyi jurnalda buraxmaq yersiz idi: bir indeksin ölçüsü böyük idi - 7 GB. ELK faylı emal etmək çox vaxt apardı. Ancaq bütün məlumatlar faydalı deyildi. Bir şey təkrarlandı və əlavə yer tutdu - optimallaşdırmaq lazım idi. 

Əvvəlcə biz sadəcə indeksə baxdıq və lazımsız hadisələri sildik. Bu, FortiWeb-in özündə loglarla işləməkdən daha əlverişsiz və uzun oldu. Bu mərhələdə "Milad ağacı" nın yeganə üstünlüyü ondan ibarətdir ki, biz bir ekranda böyük bir zaman müddətini vizuallaşdıra bildik. 

Biz ümidimizi kəsmədik, kaktus yeməyə və ELK öyrənməyə davam etdik və lazımi məlumatları çıxara biləcəyimizə inandıq. İndeksləri təmizlədikdən sonra nə olduğunu vizuallaşdırmağa başladıq. Beləliklə, böyük tablolara gəldik. Vidjetləri ovuşdurduq - vizual və zərif, əsl ЁLKa! 

ELK təhlükəsizlik mühəndislərinə veb-sayt hücumları ilə mübarizə aparmağa və dinc yatmağa necə kömək edir

Hücum anını tutdu. İndi hücumun başlanğıcının qrafikdə necə göründüyünü anlamaq lazım idi. Bunu aşkar etmək üçün serverin istifadəçiyə verdiyi cavablara (qaytarma kodları) baxdıq. Bizi belə kodlarla (rc) server cavabları maraqlandırırdı: 

Kod (rc)

Ad

Təsvir

0

Burax

Serverə edilən sorğu bloklanıb

200

Ok

Sorğu uğurla emal edildi

400

Pis istək

Səhv İstək

403

Qadağan

İcazə rədd edildi

500

Daxili Server Error

Xidmət əlçatan deyil

Kimsə sayta hücum etməyə başlamışsa, kodların nisbəti dəyişdi: 

  • Əgər 400 kodu ilə daha çox səhv sorğular və 200 kodu ilə eyni sayda normal sorğular varsa, deməli, kimsə saytı sındırmağa çalışırdı. 
  • Eyni zamanda, 0 kodu ilə müraciətlər də artıbsa, FortiWeb siyasətçiləri də hücumu "gördülər" və ona bloklar tətbiq etdilər. 
  • 500 kodu olan mesajların sayı artarsa, sayt bu IP ünvanları üçün mövcud deyil - həm də bir növ bloklama. 

Üçüncü aya qədər biz bu fəaliyyəti izləmək üçün idarə paneli qurmuşduq.

ELK təhlükəsizlik mühəndislərinə veb-sayt hücumları ilə mübarizə aparmağa və dinc yatmağa necə kömək edir

Hər şeyi əl ilə izləməmək üçün biz müəyyən fasilələrlə ELK-nı sorğulayan Nagios ilə inteqrasiya qurduq. Kodlarla həddi dəyərlərə nail olunmasını qeyd edərsə, şübhəli fəaliyyətlə bağlı növbətçilərə bildiriş göndərirdi. 

Monitorinq sistemində birləşdirilmiş 4 diaqram. İndi qrafiklərdə hücumun qarşısı alınmadığı və mühəndisin müdaxiləsinin lazım olduğu anı görmək vacib idi. 4 fərqli qrafikdə gözümüz bulanıq idi. Buna görə də biz qrafikləri birləşdirdik və hər şeyi bir ekranda müşahidə etməyə başladıq.

Monitorinq zamanı müxtəlif rəngli qrafiklərin necə dəyişdiyini izlədik. Qırmızı bir partlayış hücumun başladığını göstərirdi, narıncı və mavi qrafiklər isə FortiWeb-in reaksiyasını göstərirdi:

ELK təhlükəsizlik mühəndislərinə veb-sayt hücumları ilə mübarizə aparmağa və dinc yatmağa necə kömək edir
Burada hər şey qaydasındadır: "qırmızı" aktivlik artdı, lakin FortiWeb bunun öhdəsindən gəldi və hücum cədvəli boşa çıxdı.

Biz də özümüz üçün müdaxilə tələb edən bir qrafik nümunəsi çəkdik:

ELK təhlükəsizlik mühəndislərinə veb-sayt hücumları ilə mübarizə aparmağa və dinc yatmağa necə kömək edir
Burada FortiWeb-in aktivliyini artırdığını, lakin qırmızı hücum qrafikinin azalmadığını görə bilərik. WAF parametrlərini dəyişdirməlisiniz.

Gecə baş verən hadisələri araşdırmaq da asanlaşıb. Qrafik dərhal saytın müdafiəsinə gəlməyin vaxtı olduğunu göstərir. 

ELK təhlükəsizlik mühəndislərinə veb-sayt hücumları ilə mübarizə aparmağa və dinc yatmağa necə kömək edir
Bəzən gecələr belə olur. Qırmızı qrafik - hücum başladı. Mavi - FortiWeb fəaliyyəti. Hücumun qarşısı tam alınmadı, biz müdaxilə etməli olduq.

Hara gedirik

İndi biz növbətçi inzibatçıları ELK ilə işləmək üçün öyrədirik. Xidmətçilər tablosunda vəziyyəti qiymətləndirməyi və qərar qəbul etməyi öyrənirlər: FortiWeb mütəxəssisinə müraciət etmək vaxtıdır, yoxsa WAF-dakı siyasətlər hücumu avtomatik dəf etmək üçün kifayət edəcəkdir. Beləliklə, biz gecələr informasiya təhlükəsizliyi mühəndislərinin yükünü azaldırıq və sistem səviyyəsində dəstək rollarını bölürük. FortiWeb-ə giriş yalnız kibermüdafiə mərkəzində qalır və yalnız onlar təcili ehtiyac olduqda WAF parametrlərində dəyişiklik edirlər.

Müştərilərə hesabat vermək üzərində də işləyirik. WAF işinin dinamikası haqqında məlumatların müştərinin şəxsi hesabında olmasını planlaşdırırıq. ELK vəziyyəti WAF-ın özünə istinad etmədən aydınlaşdıracaq.

Müştəri real vaxt rejimində öz müdafiəsinə nəzarət etmək istəsə, ELK də faydalı olacaq. Müştərinin işə müdaxiləsi qalan işlərə təsir edə biləcəyi üçün biz WAF-a giriş icazəsi verə bilmərik. Ancaq ayrıca bir ELK götürüb "oynamaq" üçün verə bilərsiniz. 

Son vaxtlar topladığımız Milad ağacından istifadə ssenariləri bunlardır. Bu haqda fikirlərinizi bölüşün və unutmayın hər şeyi düzgün qurunverilənlər bazası sızmasının qarşısını almaq üçün. 

Mənbə: www.habr.com