ELK xavfsizlik muhandislariga veb-sayt hujumlariga qarshi kurashda va tinch uxlashda qanday yordam beradi

Bizning kibermudofaa markazimiz mijozning veb-infratuzilmasi xavfsizligi uchun javobgardir va mijoz saytlariga hujumlarni qaytaradi. Hujumlardan himoya qilish uchun biz FortiWeb Web Application Firewall (WAF) dan foydalanamiz. Ammo hatto eng zo'r WAF ham panatseya emas va "qutidan tashqarida" maqsadli hujumlardan himoya qilmaydi. 

Shuning uchun, WAF dan tashqari, biz foydalanamiz ELK. Bu barcha hodisalarni bir joyda to'plashga yordam beradi, statistik ma'lumotlarni to'playdi, uni tasavvur qiladi va maqsadli hujumni o'z vaqtida ko'rishga imkon beradi.

Bugun men sizga WAF bilan Rojdestvo daraxtini qanday kesib o'tganimizni va undan nima kelganini batafsil aytib beraman.

ELK xavfsizlik muhandislariga veb-sayt hujumlariga qarshi kurashda va tinch uxlashda qanday yordam beradi

Bitta hujumning hikoyasi: ELK-ga o'tishdan oldin hamma narsa qanday ishlagan

Bizning bulutimizda mijoz dasturni WAF orqasida joylashtirdi. Saytga kuniga 10 000 dan 100 000 gacha foydalanuvchi ulangan bo'lsa, ulanishlar soni kuniga 20 millionga yetdi. Ulardan 3-5 nafar foydalanuvchi buzg‘unchilar bo‘lib, saytni buzishga uringan. 

Bitta IP-manzildan odatiy shakldagi shafqatsiz kuch FortiWeb tomonidan juda oson bloklangan. Bir daqiqada saytga kirishlar soni qonuniy foydalanuvchilardan ko'proq edi. Biz shunchaki bir manzildan faollik chegaralarini o'rnatdik va hujumni qaytardik.

Hujumchilar sekin harakat qilib, o'zlarini oddiy mijoz sifatida yashirganda, "sekin hujumlar" bilan kurashish ancha qiyinroq. Ular ko'plab noyob IP manzillardan foydalanadilar. Bunday faoliyat WAF uchun katta qo'pol kuchga o'xshamadi, uni avtomatik ravishda kuzatish qiyinroq edi. Va oddiy foydalanuvchilarni bloklash xavfi ham bor edi. Biz hujumning boshqa belgilarini qidirdik va ushbu belgi asosida IP manzillarni avtomatik ravishda blokirovka qilish siyosatini o'rnatdik. Misol uchun, ko'pgina noqonuniy seanslarda http so'rovi sarlavhalarida umumiy maydonlar mavjud edi. Siz ko'pincha bunday maydonlarni FortiWeb voqealar jurnallarida qo'lda qidirishingiz kerak edi. 

Bu uzoq va noqulay bo'ldi. FortiWebning standart funksionalligida voqealar matnda 3 xil jurnalda qayd etiladi: aniqlangan hujumlar, so‘rovlar haqidagi ma’lumotlar va WAF ishi haqidagi tizim xabarlari. Bir daqiqada o'nlab yoki hatto yuzlab hujum hodisalari paydo bo'lishi mumkin.

Ko'p emas, lekin siz qo'lda bir nechta jurnallardan o'tishingiz va ko'plab qatorlarni takrorlashingiz kerak: 

ELK xavfsizlik muhandislariga veb-sayt hujumlariga qarshi kurashda va tinch uxlashda qanday yordam beradi
Hujum jurnalida biz foydalanuvchi manzillari va faoliyatning tabiatini ko'ramiz. 
 
Jurnal jadvalini shunchaki skanerlash etarli emas. Hujumning tabiati haqida eng qiziqarli va foydali narsalarni topish uchun siz ma'lum bir hodisaning ichiga qarashingiz kerak:

ELK xavfsizlik muhandislariga veb-sayt hujumlariga qarshi kurashda va tinch uxlashda qanday yordam beradi
Belgilangan maydonlar "sekin hujum" ni aniqlashga yordam beradi. Manba: skrinshot Fortinet veb-sayti

Asosiy muammo shundaki, buni faqat FortiWeb mutaxassisi aniqlay oladi. Agar ish soatlarida biz shubhali harakatni real vaqt rejimida kuzata olsak, tungi hodisalarni tekshirish kechiktirilishi mumkin. FortiWeb siyosati biron sababga ko'ra ishlamay qolganda, tungi smenadagi navbatchi muhandislar WAFga kirish imkonisiz vaziyatni baholay olmadilar va FortiWeb mutaxassisini uyg'otdilar. Biz bir necha soat jurnallarni ko'zdan kechirdik va hujum paytini topdik. 

Bunday hajmdagi ma'lumotlar bilan bir qarashda katta rasmni tushunish va faol harakat qilish qiyin. Keyin biz hamma narsani vizual shaklda tahlil qilish, hujumning boshlanishini topish, uning yo'nalishini va blokirovka qilish usulini aniqlash uchun ma'lumotlarni bir joyda to'plashga qaror qildik. 

Siz nimani tanladingiz

Avvalo, ob'ektlarni keraksiz ravishda ko'paytirmaslik uchun allaqachon ishlatilayotgan echimlarni ko'rib chiqdik.

Birinchi variantlardan biri edi Nagiosbiz kuzatish uchun foydalanamiz muhandislik infratuzilmasi, tarmoq infratuzilmasi, favqulodda ogohlantirishlar. Qo'riqchilar undan shubhali tirbandlik holatida xizmatchilarni xabardor qilish uchun ham foydalanadilar, lekin u tarqoq jurnallarni qanday yig'ishni bilmaydi va shuning uchun yo'qoladi. 

Hamma narsani jamlash imkoniyati bor edi MySQL va PostgreSQL yoki boshqa relyatsion ma'lumotlar bazasi. Ammo ma'lumotlarni olib tashlash uchun arizangizni haykalga solish kerak edi. 

Kompaniyamizda log yig'uvchi sifatida ular ham foydalanadilar FortiAnalyzer Fortinet dan. Ammo bu holatda u ham mos kelmadi. Birinchidan, xavfsizlik devori bilan ishlash yanada aniqroq FortiGate. Ikkinchidan, ko'p sozlamalar etishmayotgan edi va u bilan o'zaro aloqa qilish SQL so'rovlarini mukammal bilishni talab qildi. Uchinchidan, undan foydalanish mijoz uchun xizmat narxini oshiradi.   

Shunday qilib, biz ochiq manbaga keldik ELK

Nima uchun ELK ni tanlaysiz? 

ELK ochiq kodli dasturlar to'plamidir:

  • Elasticsearch - katta hajmli matnlar bilan ishlash uchun endigina yaratilgan vaqt seriyalarining ma'lumotlar bazasi;
  • logstash – jurnallarni kerakli formatga o‘zgartira oladigan ma’lumotlarni yig‘ish mexanizmi; 
  • kibana - yaxshi vizualizator, shuningdek, Elasticsearch-ni boshqarish uchun juda qulay interfeys. Siz undan tungi vaqtda navbatchi muhandislar tomonidan kuzatilishi mumkin bo'lgan jadvallarni yaratish uchun foydalanishingiz mumkin. 

ELK uchun kirish chegarasi past. Barcha asosiy xususiyatlar bepul. Baxt uchun yana nima kerak.

Qanday qilib hammasini bitta tizimga jamladingiz?

Indekslar yaratildi va faqat kerakli ma'lumotlarni qoldirdi. Biz barcha uchta FortiWEB jurnalini ELK-ga yukladik - natija indekslar edi. Bular bir muddat, masalan, bir kun uchun barcha to'plangan jurnallarga ega fayllar. Agar biz ularni darhol tasavvur qilsak, biz faqat hujumlar dinamikasini ko'ramiz. Tafsilotlar uchun siz har bir hujumga "tushib ketishingiz" va muayyan sohalarga qarashingiz kerak.

ELK xavfsizlik muhandislariga veb-sayt hujumlariga qarshi kurashda va tinch uxlashda qanday yordam beradi

Biz avval tuzilmagan ma'lumotlarni tahlil qilishni o'rnatishimiz kerakligini tushundik. Biz "Xabar" va "URL" kabi uzun maydonlarni satr sifatida oldik va qaror qabul qilish uchun qo'shimcha ma'lumot olish uchun ularni tahlil qildik. 

Misol uchun, tahlil qilish yordamida biz foydalanuvchining joylashuvini alohida chiqardik. Bu rus foydalanuvchilari uchun saytlarga xorijdan hujumlarni darhol ta'kidlashga yordam berdi. Boshqa mamlakatlardan barcha ulanishlarni bloklash orqali biz hujumlar sonini 2 barobarga kamaytirdik va Rossiya ichidagi hujumlarni osonlik bilan bartaraf eta oldik. 

Tahlildan so'ng ular qanday ma'lumotlarni saqlash va vizualizatsiya qilishni izlay boshladilar. Jurnalda hamma narsani qoldirish noo'rin edi: bitta indeksning hajmi katta edi - 7 GB. ELK faylni qayta ishlash uchun uzoq vaqt talab qildi. Biroq, barcha ma'lumotlar foydali emas edi. Biror narsa takrorlandi va qo'shimcha joy egalladi - optimallashtirish kerak edi. 

Avvaliga biz shunchaki indeksni ko'rib chiqdik va keraksiz hodisalarni olib tashladik. Bu FortiWeb-ning o'zida jurnallar bilan ishlashdan ko'ra ancha noqulay va uzoqroq bo'lib chiqdi. Ushbu bosqichda "Rojdestvo daraxti" ning yagona ortiqcha tomoni shundaki, biz bir ekranda katta vaqtni tasavvur qila oldik. 

Biz umidsizlikka tushmadik, biz kaktusni iste'mol qilishni va ELKni o'rganishni davom ettirdik va kerakli ma'lumotlarni olishimiz mumkinligiga ishondik. Indekslarni tozalashdan so'ng, biz nima ekanligini tasavvur qila boshladik. Shunday qilib, biz katta asboblar paneliga keldik. Biz vidjetlarni qo'ydik - vizual va nafis, haqiqiy YolKa! 

ELK xavfsizlik muhandislariga veb-sayt hujumlariga qarshi kurashda va tinch uxlashda qanday yordam beradi

Hujum payti qo'lga olindi. Endi hujumning boshlanishi jadvalda qanday ko'rinishini tushunish kerak edi. Uni aniqlash uchun biz serverning foydalanuvchiga bergan javoblarini (qaytish kodlari) ko'rib chiqdik. Bizni bunday kodlar (rc) bilan server javoblari qiziqtirdi: 

Kod (rc)

ism

tavsifi

0

YO'Q

Serverga so'rov bloklangan

200

Ok

So‘rov muvaffaqiyatli bajarildi

400

Notugri surov

Noto'g'ri so'rov

403

Taqiqlangan

Ruxsat berish rad etildi

500

Serverdagi ichki xatolik

Xizmat mavjud emas

Agar kimdir saytga hujum qila boshlagan bo'lsa, kodlar nisbati o'zgardi: 

  • Agar 400 kodi bilan ko'proq xato so'rovlar va 200 kodi bilan bir xil miqdordagi oddiy so'rovlar bo'lsa, kimdir saytni buzishga harakat qilgan. 
  • Agar bir vaqtning o'zida 0 kodi bo'lgan so'rovlar ko'paygan bo'lsa, FortiWeb siyosatchilari ham hujumni "ko'rishdi" va unga blokirovka qilishdi. 
  • Agar 500 kodi bo'lgan xabarlar soni ko'paygan bo'lsa, unda ushbu IP manzillar uchun sayt mavjud emas - bu ham blokirovkaning bir turi. 

Uchinchi oyga kelib, biz ushbu faoliyatni kuzatish uchun asboblar panelini o'rnatdik.

ELK xavfsizlik muhandislariga veb-sayt hujumlariga qarshi kurashda va tinch uxlashda qanday yordam beradi

Hamma narsani qo'lda kuzatib bormaslik uchun biz Nagios bilan integratsiyani o'rnatdik, u ma'lum vaqt oralig'ida ELK so'rovini o'tkazdi. Agar u kodlar bo'yicha chegara qiymatlariga erishilganligini qayd etgan bo'lsa, u shubhali harakat haqida navbatchiga xabar yuboradi. 

Monitoring tizimida birlashtirilgan 4 ta diagramma. Endi grafiklarda hujum bloklanmagan va muhandisning aralashuvi zarur bo'lgan paytni ko'rish muhim edi. 4 xil grafikda ko'zimiz xiralashgan. Shuning uchun biz jadvallarni birlashtirdik va hamma narsani bitta ekranda kuzatishni boshladik.

Monitoring paytida biz turli xil rangdagi grafikalar qanday o'zgarishini kuzatdik. Qizil rang hujum boshlanganini ko'rsatdi, to'q sariq va ko'k grafiklar esa FortiWebning reaktsiyasini ko'rsatdi:

ELK xavfsizlik muhandislariga veb-sayt hujumlariga qarshi kurashda va tinch uxlashda qanday yordam beradi
Bu erda hamma narsa yaxshi: "qizil" faollik ko'tarildi, ammo FortiWeb buni uddaladi va hujum jadvali barbod bo'ldi.

Biz o'zimiz uchun aralashuvni talab qiladigan grafik misolini ham chizdik:

ELK xavfsizlik muhandislariga veb-sayt hujumlariga qarshi kurashda va tinch uxlashda qanday yordam beradi
Bu erda biz FortiWeb faolligini oshirganini ko'rishimiz mumkin, ammo qizil hujum grafigi kamaymagan. WAF sozlamalarini o'zgartirishingiz kerak.

Tungi hodisalarni tekshirish ham osonlashdi. Grafik darhol saytni himoya qilish vaqti kelganini ko'rsatadi. 

ELK xavfsizlik muhandislariga veb-sayt hujumlariga qarshi kurashda va tinch uxlashda qanday yordam beradi
Ba'zida tunda ham shunday bo'ladi. Qizil grafik - hujum boshlandi. Moviy - FortiWeb faoliyati. Hujum to'liq to'silmadi, biz aralashishga majbur bo'ldik.

Biz qayoqqa ketyapmiz

Endi biz navbatchi ma'murlarni ELK bilan ishlashga o'rgatamiz. Xizmatchilar asboblar panelidagi vaziyatni baholashni va qaror qabul qilishni o'rganadilar: FortiWeb mutaxassisiga murojaat qilish vaqti keldi yoki WAF siyosati hujumni avtomatik ravishda qaytarish uchun etarli bo'ladi. Shunday qilib, biz kechalari axborot xavfsizligi muhandislariga yukni kamaytiramiz va tizim darajasida qo'llab-quvvatlash rollarini ajratamiz. FortiWeb-ga kirish faqat kibermudofaa markazida qoladi va faqat ular shoshilinch zarurat tug'ilganda WAF sozlamalariga o'zgartirishlar kiritadilar.

Shuningdek, biz mijozlarga hisobot berish ustida ishlayapmiz. Biz WAF ishining dinamikasi haqidagi ma'lumotlar mijozning shaxsiy kabinetida bo'lishini rejalashtirmoqdamiz. ELK WAFning o'ziga murojaat qilmasdan vaziyatni aniqroq qiladi.

Agar mijoz real vaqt rejimida o'z himoyasini nazorat qilishni istasa, ELK ham yordam beradi. Biz WAF-ga kirish huquqini bera olmaymiz, chunki mijozning ishga aralashuvi qolganlarga ta'sir qilishi mumkin. Lekin siz alohida ELKni olishingiz va uni "o'ynash" uchun berishingiz mumkin. 

Bu biz so'nggi paytlarda to'plangan Rojdestvo daraxtidan foydalanish stsenariylari. Bu haqda o'z fikringizni bildiring va unutmang hamma narsani to'g'ri sozlangma'lumotlar bazasi sizib chiqmasligi uchun. 

Manba: www.habr.com