uy - Xizmat
Kaspersky DDoS Protection Sizning biznesingizning uzluksiz ishlashi. Yangi xizmat: DDoS hujumlaridan himoyalash DDoS hujumlaridan himoya

U Dedicated Server va Hosted Server xizmatlari foydalanuvchilari, shuningdek, server raflarini ijaraga oluvchi mijozlar uchun moʻljallangan.
Ushbu maqolada himoya qanday ta'minlanishini batafsil bayon qilamiz.

DDoS hujumlari: tezkor ma'lumotnoma

DDoS qisqartmasi "Distributed Denial of Service" - tarqatilgan rad etish xizmati hujumi degan ma'noni anglatadi. DDoS hujumi - bu ko'plab xostlardan unga so'rovlar yuborish orqali hujum qilingan mashinaning ishlashini buzish.

Odatda, DDoS hujumlari botnet orqali amalga oshiriladi - zararli dasturlar o'rnatilgan kompyuterlar tarmog'i (bu zombifikatsiya deb ataladi).

Ba'zi turdagi hujumlar botnetsiz amalga oshirilishi mumkin (masalan, UDP toshqini).

Biz DDoS hujumlarining tasnifi haqida batafsil to'xtalmaymiz - qiziqqan o'quvchi Internetda ushbu mavzu bo'yicha ko'plab materiallarni osongina topishi mumkin. Biz uchun mavjud DDoS himoya usullari ko'proq qiziqish uyg'otadi. Biz ularni quyida ko'rib chiqamiz.

DDoS himoya usullari

DDoS hujumlaridan himoya qilish usullari ikkita katta guruhga bo'linadi: oldini olish usullari va javob berish usullari.

DDoS hujumlarining oldini olish uchun odatda tarmoq perimetrini himoya qilishning apparat usullari qo'llaniladi - buzg'unchilikni aniqlash tizimi (IDS) bilan birgalikda xavfsizlik devori. Biroq, ular so'zning qat'iy ma'nosida himoyani ta'minlamaydi.

Xavfsizlik devori ruxsat bergan paketlar doirasida DDoS hujumini tashkil qilish juda mumkin. IDS haqida gap ketganda, ular odatda imzo va statistik tahlil orqali ishlaydi, kiruvchi paketlarni mavjud trafik naqshlari bilan taqqoslaydi. Agar hujum individual ravishda zararli bo'lmagan oddiy tarmoq paketlarini yuborish orqali amalga oshirilsa, barcha IDS uni aniqlay olmaydi.

Bundan tashqari, xavfsizlik devorlari ham, IDS ham ko'pincha seansni boshqarish qurilmalari bo'lib, ular o'zlari hujum nishoniga aylanishi mumkin.

DDoS hujumlari paytida ishlamay qolish vaqtini minimallashtirishning samarali vositasi bu bir nechta ortiqcha ish - turli ma'lumotlar markazlarida joylashgan va turli aloqa kanallariga ulangan serverlar klasterlarini tashkil qilishdir. Agar bunday tizimning tarkibiy qismlaridan biri ishlamay qolsa, mijozlar ishlaydigan serverlarga yo'naltiriladi. Ushbu usul faqat bitta kamchilikka ega: bir nechta ortiqcha bo'lgan taqsimlangan klasterni qurish juda katta moliyaviy xarajatlarni talab qiladi.

Reaktsiya usullari hujum allaqachon boshlangan va to'xtatilishi kerak bo'lgan (yoki hech bo'lmaganda uning oqibatlarini kamaytirish) vaziyatda qo'llaniladi.
Agar hujumning maqsadi bitta mashina bo'lsa, siz shunchaki uning IP manzilini o'zgartirishingiz mumkin. Keyin yangi manzil faqat eng ishonchli tashqi foydalanuvchilarga berilishi mumkin. Ushbu yechimni ideal deb atash qiyin, ammo u juda samarali.

Ba'zi hollarda filtrlash usullari yordam beradi. Zararli trafikni tahlil qilib, unda ma'lum bir imzoni aniqlashingiz mumkin. Tahlil natijalariga asoslanib, siz yo'riqnoma ACL yoki xavfsizlik devori qoidalarini yaratishingiz mumkin.
Bundan tashqari, hujum trafigining aksariyati ko'pincha ma'lum bir ISP yoki magistral routerdan keladi. Bunday vaziyatda, mumkin bo'lgan yechim shubhali trafik kelayotgan yo'nalishni blokirovka qilishdir (ammo bu holatda qonuniy trafik ham bloklanishini hisobga olish kerak).

Agar yuqorida sanab o'tilgan usullarning hech biri yordam bermasa va boshqa hech narsa qilishning iloji bo'lmasa, qora tuynuk deb ataladigan narsa qo'llaniladi - trafikni mavjud bo'lmagan interfeysga ("qora tuynuk" ga) yo'naltirish. Qoida tariqasida, bu hujum qilingan serverga tashqi tarmoqdan ma'lum vaqt davomida kirish imkoni bo'lmasligiga olib keladi. Shu sababli, qora tuynukni to'liq himoya qilish usuli deb atash qiyin: aslida bu hujum tashkilotchilariga tezda o'z maqsadlariga erishishga yordam beradi - hujum qilingan resursga kirish imkoni bo'lmaydi.

So'nggi yillarda DDoS himoyasi uchun integratsiyalashgan dasturiy ta'minot va apparat echimlari keng tarqaldi. Ularning afzalligi shundaki, ular hujum qilingan xizmatning qonuniy foydalanuvchilar uchun mavjudligi bilan bog'liq muammolarni yaratmasdan zararli trafikni bloklashlari mumkin. Bozor Cisco, Arbor Networks, F5, Juniper va boshqalardan DDoS himoyasi uchun apparat va dasturiy ta'minot tizimlarini taklif etadi.

Bizning DDoS himoyasi xizmatimiz ixtisoslashtirilgan dasturiy-apparat kompleksi asosida ham amalga oshiriladi. U bizning hamkorlarimiz - Servicepipe kompaniyasi bilan birgalikda taqdim etiladi.

DDoS himoya tizimi

Amaldagi DDoS himoya tizimi bir emas, balki bir nechta apparat va dasturiy ta'minot tizimlarini o'z ichiga oladi, jumladan Arbor Pravail va F5. Trafikni tozalash va tahlil qilish to'g'ridan-to'g'ri tarmoqda maxsus dasturiy vositalar yordamida amalga oshiriladi.

Ushbu tizim quyidagi turdagi hujumlardan himoya qiladi:

  • TCP suv toshqini;
  • SYN toshqini;
  • TCP bayroqlarining noqonuniy kombinatsiyasi;
  • TCP Idle, Slow TCP va boshqalar kabi TCP seanslariga hujumlar;
  • HTTP seanslariga hujumlar (Slowloris, Pyloris va boshqalar);
  • HTTP toshqin;
  • DNS to'lqini;
  • DNS keshini zaharlash;
  • UDP suv toshqini;
  • ICMP suv toshqini;
  • IP, TCP va UDP fragment hujumlari;
  • VoIP va SIP-ga hujumlar.

Agar hujumlar aniqlansa, quyidagi qarshi choralar qo'llanilishi mumkin:

  • Yaroqsiz paketlar ro'yxati - RFCga mos kelmaydigan paketlarni filtrlash;
  • IPv4 va IPv6 manzillarining oq va qora ro'yxatlarini yaratish;
  • GeoIP filtr roʻyxatlari – mamlakat boʻyicha trafikni filtrlash (DDoS hujumlari eng koʻp boʻlgan mamlakatlardan kelgan trafikni bloklaydi).
    GeoIP politsiyasi - mamlakatlar bo'yicha yo'l harakati politsiyasi (kiruvchi trafikni kuzatish va eng ko'p DDoS hujumlari sodir bo'lgan mamlakatlardan trafikni cheklash);
  • Moslashuvchan zombi aniqlash - zombilarni aniqlash va qonuniy trafik profillarini yaratish;
  • TCP SYN Authentication - mijoz autentifikatsiyasi orqali TCP toshqinlariga qarshi turish;
  • DNS autentifikatsiyasi - mijoz autentifikatsiyasi orqali DNS toshqinlariga qarshi turish;
  • DNS Scoping - muntazam ifodalar yordamida DNS so'rovlarini tekshirish;
  • DNS noto'g'ri - DNS so'rovlarini RFC bilan muvofiqligini tekshirish;
  • DNS Rate Limiting - bitta IP-manzildan DNS so'rovlari sonini cheklash (faqat kam trafikli resurslar uchun mos keladi: bizning mamlakatimizda provayderlar NAT-dan juda tez-tez foydalanadilar. Oddiy holat bu "kulrang" /16 quyi tarmoq Internetga kirish orqali. bitta IP va barcha DNS so'rovlari bitta manzildan keladi);
  • DNS NXDomain Rate Limiting - DNS javoblarini tekshirish. Ushbu qarshi chora DNS serverlarining keshi noto'g'ri yozuvlar bilan to'ldirilgan hujumlar uchun mo'ljallangan; u mavjud bo'lmagan DNS nomi bilan so'rovlarni kuzatishga qaratilgan;
  • DNS Regular Expression - muntazam ifodalar yordamida DNS so'rovlarini filtrlash;
  • TCP Connection Reset - TCP ulanishlarining juda uzoq davom etishini oldini oladi;
  • Payload Regular Expression - foydali yuk paketlariga nisbatan muntazam ifoda yordamida trafikni filtrlash;
  • HTTP noto'g'ri shakllangan - RFCga mos kelmaydigan HTTP trafigini bloklash;
  • HTTP tezligini cheklash - bitta IP-manzildan HTTP so'rovlari sonini cheklash;
  • HTTP Scoping - muntazam ifodalar yordamida HTTP so'rovlarini tekshirish;
  • SSL muzokaralari - RFCga mos kelmaydigan SSL trafikni blokirovka qilish;
  • AIF va HTTP/URL muntazam ifodasi - tekshirilayotgan trafikka AIF imzolarini qo'llash;
  • SIP noto'g'ri - RFCga mos kelmaydigan SIP-trafikni bloklash;
  • SIP so'rovini cheklash - bitta IP-manzildan SIP so'rovlari sonini cheklash.

U qanday ishlaydi

DDoS himoyasi xizmatiga buyurtma bergan mijozlar uchun biz himoyalangan IP manzillarni taqdim etamiz (bir manzil asosiy tarifga kiritilgan, qo‘shimcha manzillarga boshqaruv paneli orqali buyurtma berish mumkin). Shuningdek, biz himoyalangan transport uchun maxsus yo'lak ajratamiz. Internetdan trafik bizning hamkorlarimiz tarmog'i orqali himoyalangan manzillarga boradi va u erda tozalash protsedurasidan o'tadi.
Hamkor tarmog'ida barcha noqonuniy trafik to'xtatiladi. Mijozlar faqat tozalangan trafikni oladi. Keyin chiquvchi trafik Internetga Selectel infratuzilmasi orqali kiradi.

O'chirilgan transport yo'nalishi quyidagi diagrammada ko'rsatilgan:

Afzalliklar

DDoS himoya tizimimizning afzalliklari orasida birinchi navbatda quyidagilarni ta'kidlashimiz kerak:

  • tez ulanish: DDoS himoyasini to'liq sozlash 1 - 2 ish kunini oladi;
  • qulay narxlar va shaffof tarif sxemasi: faqat kiruvchi tozalangan trafik to'lanishi kerak;
  • mijoz tomonida murakkab konfiguratsiyaga ehtiyoj yo'q: faqat himoyalangan IP-manzilni taxallus yoki orqaga qaytish interfeysida ro'yxatdan o'tkazish kifoya;

Xizmat allaqachon boshqaruv panelida buyurtma berish uchun mavjud ("Tarmoq xizmatlari" bo'limi).
Buyurtma berishda siz maxsus so'rovnomani to'ldirishingiz va quyidagilarni ko'rsatishingiz kerak:

  • serverdan foydalanishning asosiy maqsadi;
  • himoya qilinishi kerak bo'lgan IP-manzillar soni;
  • kerakli DDoS himoya choralari.

Taqdim etilgan ma'lumotlarga asoslanib, biz aniq loyihalarning o'ziga xos xususiyatlarini hisobga olgan holda optimal himoya strategiyasini tuzamiz.

Eng mashhur serverdan foydalanish holatlari (veb-server, dastur serveri, DNS server) uchun biz ko'pchilik mijozlar uchun mos keladigan maxsus himoya shablonlarini tayyorladik.

“DDoS Protection” bu yangi xizmat bo‘lib, uni yanada rivojlantirish uchun mijozlardan fikr-mulohazalarni olish biz uchun juda muhim. Biz har qanday mulohazalar, takliflar va istaklar uchun minnatdor bo'lamiz. Keyingi ishda eng qiziqarli g'oyalarni hisobga olishga harakat qilamiz.

DDoS korxonalarga xarajat qiladi Soatiga 40 000 dollar.

SUCURI

SUCURI - WordPress, Joomla, Drupal, Magento, Microsoft.Net va boshqalarni o'z ichiga olgan turli xil veb-saytlarni himoya qilish uchun maxsus bulutli yechim.

DDoS hujumlaridan himoya antivirus va xavfsizlik devori paketiga kiritilgan. Agar kerak bo'lsa saytni har tomonlama himoya qilish, keyin bu holda veb-sayt antivirusi sizga mos keladi, u onlayn tahdidlardan, shu jumladan DDoS hujumlaridan himoya qiladi va shuningdek, quyidagi xizmatlarni o'z ichiga oladi:

  • zararli kodni aniqlash va olib tashlash;
  • xavfsizlik nazorati;
  • tezlikni optimallashtirish;
  • Qo'pol kuchdan himoya qilish;
  • nol kunlik zaifliklardan himoya qilish;
  • kiruvchi botlardan himoya qilish.
SUCURI 3, 4 va 7 darajadagi hujumlarni aniqlaydi va bloklaydi. Xizmat narxi dan boshlanadi 19,88 dollar oyiga.

Alibaba

Alibaba'dan Anti-DDoS Pro sizni DDoS hujumlaridan himoya qilishga yordam beradi. Anti-DDoS Pro 2 Tbit/s gacha bo'lgan kuchli hujumlarni qaytaradi va TCP/UDP/HTTP/HTTPS protokollarini qo'llab-quvvatlaydi.

Anti-DDoS dan foydalanish mumkin nafaqat Alibaba-ga joylashtirilgan taqdirda, shuningdek, AWS, Azure, Google Cloud va boshqalar uchun.

MYRA

Myra DDoS himoyasi veb-saytlar, DNS-serverlar, veb-ilovalar va infratuzilma uchun to'liq avtomatlashtirilgan yechimdir. U barcha turdagi CMS va elektron tijorat tizimlariga to'liq mos keladi.

MYRA Germaniyada joylashgan, shuning uchun ma'lumotlar Germaniyaning ma'lumotlarni himoya qilish bo'yicha federal qonuniga muvofiq qayta ishlanadi.

DoS va DDoS hujumi - bu server yoki ish stantsiyasining hisoblash resurslariga tajovuzkor tashqi ta'sir, ikkinchisini muvaffaqiyatsizlikka olib kelish uchun. Muvaffaqiyatsizlik deganda biz mashinaning jismoniy ishdan chiqishini emas, balki uning resurslarining vijdonli foydalanuvchilarga erishib bo'lmasligini - tizimning ularga xizmat ko'rsatishdan bosh tortishini tushunamiz ( D g'alati o f S xizmat, bu DoS qisqartmasi kelib chiqadi).

Agar bunday hujum bitta kompyuterdan amalga oshirilsa, u DoS (DoS) deb tasniflanadi, agar bir nechta bo'lsa - DDoS (DiDoS yoki DDoS), ya'ni “D taqsimlangan D g'alati o f S xizmat" - tarqatilgan xizmat ko'rsatishni rad etish. Keyinchalik, tajovuzkorlar nima uchun bunday hujumlarni amalga oshirishi, ular nima, ular hujum qilinganlarga qanday zarar etkazishi va ikkinchisi o'z resurslarini qanday himoya qilishi mumkinligi haqida gapiramiz.

DoS va DDoS hujumlaridan kim aziyat chekishi mumkin?

Korxonalar va veb-saytlarning korporativ serverlariga, kamroq - jismoniy shaxslarning shaxsiy kompyuterlariga hujum qilinadi. Bunday harakatlarning maqsadi, qoida tariqasida, bitta - hujum qilingan shaxsga iqtisodiy zarar etkazish va soyada qolish. Ba'zi hollarda DoS va DDoS hujumlari serverni buzish bosqichlaridan biri bo'lib, axborotni o'g'irlash yoki yo'q qilishga qaratilgan. Aslida, har kimga tegishli kompaniya yoki veb-sayt tajovuzkorlar qurboniga aylanishi mumkin.

DDoS hujumining mohiyatini ko'rsatadigan diagramma:

DoS va DDoS hujumlari ko'pincha insofsiz raqobatchilarning tashabbusi bilan amalga oshiriladi. Shunday qilib, shunga o'xshash mahsulotni taklif qiladigan onlayn-do'konning veb-saytini "buzish" orqali siz vaqtincha "monopolist" bo'lishingiz va uning mijozlarini o'zingiz uchun olishingiz mumkin. Korporativ serverni "qo'yish" orqali siz raqobatdosh kompaniyaning ishini buzishingiz va shu bilan uning bozordagi mavqeini kamaytirishingiz mumkin.

Katta zarar keltirishi mumkin bo'lgan keng ko'lamli hujumlar odatda professional kiberjinoyatchilar tomonidan katta pul evaziga amalga oshiriladi. Lekin har doim emas. Sizning resurslaringizga qiziqish tufayli uyda o'sgan havaskor xakerlar, ishdan bo'shatilgan xodimlar orasidan qasos oluvchilar va shunchaki hayot haqidagi qarashlaringiz bilan o'rtoqlashmaydiganlar hujum qilishi mumkin.

Ba'zida ta'sir qilish tovlamachilik maqsadida amalga oshiriladi, tajovuzkor esa hujumni to'xtatish uchun resurs egasidan ochiqchasiga pul talab qiladi.

Davlat kompaniyalari va taniqli tashkilotlarning serverlariga ko‘pincha mansabdor shaxslarga ta’sir o‘tkazish yoki jamoatchilik noroziligiga sabab bo‘lish maqsadida yuqori malakali xakerlarning anonim guruhlari hujum qiladi.

Hujumlar qanday amalga oshiriladi

DoS va DDoS hujumlarining ishlash printsipi serverga ma'lumotlarning katta oqimini yuborishdan iborat bo'lib, u maksimal darajada (xakerning imkoniyatlari imkon qadar) protsessorning hisoblash resurslarini, operativ xotirani yuklaydi, aloqa kanallarini yopib qo'yadi yoki disk maydonini to'ldiradi. . Hujum qilingan mashina kiruvchi ma'lumotlarni qayta ishlay olmaydi va foydalanuvchi so'rovlariga javob berishni to'xtatadi.

Logstalgia dasturida tasvirlangan serverning normal ishlashi shunday ko'rinadi:

Yagona DOS hujumlarining samaradorligi unchalik yuqori emas. Bundan tashqari, shaxsiy kompyuterdan qilingan hujum tajovuzkorni aniqlash va qo'lga olish xavfini keltirib chiqaradi. Zombi tarmoqlari yoki botnetlardan amalga oshirilgan taqsimlangan hujumlar (DDoS) ancha katta foyda keltiradi.

Norse-corp.com veb-sayti botnet faolligini shunday ko'rsatadi:

Zombi tarmog'i (botnet) - bu bir-biri bilan jismoniy aloqasi bo'lmagan kompyuterlar guruhi. Ularning umumiy tomoni shundaki, ularning barchasi hujumchi nazorati ostida. Boshqarish troyan dasturi orqali amalga oshiriladi, bu hozircha hech qanday tarzda o'zini namoyon qilmasligi mumkin. Hujumni amalga oshirayotganda, xaker zararlangan kompyuterlarga qurbonning veb-saytiga yoki serveriga so'rov yuborishni buyuradi. Va u bosimga dosh berolmay, javob berishni to'xtatadi.

Logstalgia DDoS hujumini shunday ko'rsatadi:

Mutlaqo har qanday kompyuter botnetga qo'shilishi mumkin. Va hatto smartfon. Troyanni ushlash va o'z vaqtida aniqlanmaslik kifoya. Aytgancha, eng katta botnet butun dunyo bo'ylab deyarli 2 million mashinadan iborat bo'lib, ularning egalari nima qilayotganlarini bilishmagan.

Hujum va mudofaa usullari

Hujumni boshlashdan oldin, xaker uni qanday qilib maksimal samara bilan amalga oshirishni aniqlaydi. Agar hujum qilingan tugun bir nechta zaifliklarga ega bo'lsa, ta'sir turli yo'nalishlarda amalga oshirilishi mumkin, bu esa qarshi harakatni sezilarli darajada murakkablashtiradi. Shuning uchun, har bir server ma'muri uchun uning barcha "torbog'lari" ni o'rganish va iloji bo'lsa, ularni kuchaytirish muhimdir.

To'fon

To'fon, oddiy so'z bilan aytganda, hech qanday ma'noga ega bo'lmagan ma'lumotdir. DoS/DDoS hujumlari kontekstida toshqin - bu yoki boshqa darajadagi bo'sh, ma'nosiz so'rovlarning ko'chkisi, qabul qiluvchi tugun ularni qayta ishlashga majbur bo'ladi.

Suv toshqinidan foydalanishning asosiy maqsadi aloqa kanallarini to'liq yopish va tarmoqli kengligini maksimal darajada to'yintirishdir.

Suv toshqini turlari:

  • MAC suv toshqini - tarmoq kommunikatorlariga ta'sir qilish (ma'lumotlar oqimi bilan portlarni bloklash).
  • ICMP suv toshqini - jabrlanuvchini zombi tarmog'idan foydalangan holda xizmat aks sadosi so'rovlari bilan to'ldirish yoki hujum qilingan tugun "nomidan" so'rovlarni yuborish, shunda botnetning barcha a'zolari bir vaqtning o'zida unga aks-sado javobini (Smurf hujumi) yuborishadi. ICMP toshqinining alohida holati ping toshqinidir (serverga ping so'rovlarini yuborish).
  • SYN toshqini - jabrlanuvchiga ko'plab SYN so'rovlarini yuborish, ko'p sonli yarim ochiq (mijozning tasdiqlashini kutish) ulanishlarini yaratish orqali TCP ulanish navbatini to'ldirish.
  • UDP toshqin - Smurf hujumi sxemasiga muvofiq ishlaydi, bu erda ICMP paketlari o'rniga UDP datagramlari yuboriladi.
  • HTTP toshqin - serverni ko'plab HTTP xabarlari bilan to'ldirish. Keyinchalik murakkab variant - HTTPS suv toshqini bo'lib, u erda yuborilgan ma'lumotlar oldindan shifrlangan va hujum qilingan tugun uni qayta ishlashdan oldin uni shifrini ochishi kerak.


O'zingizni suv toshqinidan qanday himoya qilish kerak

  • Yaroqliligini tekshirish va MAC manzillarini filtrlash uchun tarmoq kalitlarini sozlang.
  • ICMP echo so'rovlarini qayta ishlashni cheklash yoki o'chirish.
  • Muayyan manzil yoki domendan keladigan paketlarni blokirovka qilish, bu uning ishonchsizligidan shubhalanishga sabab bo'ladi.
  • Bitta manzil bilan yarim ochiq ulanishlar soniga cheklov qo'ying, ularni ushlab turish vaqtini qisqartiring va TCP ulanishlari navbatini uzaytiring.
  • UDP xizmatlarini tashqaridan trafikni qabul qilishni o'chirib qo'ying yoki UDP ulanishlar sonini cheklang.
  • CAPTCHA, kechikishlar va boshqa botlarni himoya qilish usullaridan foydalaning.
  • HTTP ulanishlarining maksimal sonini oshiring, nginx yordamida so'rovni keshlashni sozlang.
  • Tarmoq kanali sig‘imini kengaytirish.
  • Iloji bo'lsa, kriptografiya bilan ishlash uchun alohida server ajrating (agar foydalanilsa).
  • Favqulodda vaziyatlarda serverga ma'muriy kirish uchun zaxira kanalini yarating.

Uskunaning haddan tashqari yuklanishi

Aloqa kanaliga emas, balki hujum qilingan kompyuterning apparat resurslariga ta'sir qiladigan suv toshqini turlari mavjud, ularni to'liq quvvatiga yuklaydi va muzlash yoki ishdan chiqishga olib keladi. Masalan:

  • Forumda yoki veb-saytda juda ko'p ma'nosiz matn ma'lumotlarini joylashtiradigan skript yaratish, bu erda foydalanuvchilar butun disk maydoni to'ldirilgunga qadar sharh qoldirish imkoniyatiga ega.
  • Xuddi shu narsa, faqat server jurnallari diskni to'ldiradi.
  • Kiritilgan ma'lumotlarning qandaydir o'zgarishi amalga oshiriladigan saytni yuklash, ushbu ma'lumotlarni doimiy ravishda qayta ishlash ("og'ir" deb ataladigan paketlarni yuborish).
  • CGI interfeysi orqali kodni bajarish orqali protsessor yoki xotirani yuklash (CGI qo'llab-quvvatlashi serverda istalgan tashqi dasturni ishga tushirish imkonini beradi).
  • Xavfsizlik tizimini ishga tushirish, serverni tashqaridan kirish imkonsiz qilish va h.k.


O'zingizni apparat resurslarini ortiqcha yuklashdan qanday himoya qilish kerak

  • Uskuna unumdorligini va disk maydonini oshiring. Server normal ishlayotganida, resurslarning kamida 25-30% bepul qolishi kerak.
  • Serverga uzatishdan oldin trafikni tahlil qilish va filtrlash tizimlaridan foydalaning.
  • Tizim komponentlari (belgilangan kvotalar) tomonidan apparat resurslaridan foydalanishni cheklash.
  • Server jurnali fayllarini alohida diskda saqlang.
  • Resurslarni bir-biridan mustaqil ravishda bir nechta serverlar bo'ylab taqsimlang. Shunday qilib, agar bir qism ishlamay qolsa, qolganlari ishlaydi.

Operatsion tizimlar, dasturiy ta'minot, qurilma proshivkalarida zaifliklar

Ushbu turdagi hujumni amalga oshirish uchun suv toshqini ishlatishdan ko'ra beqiyos ko'proq imkoniyatlar mavjud. Ularni amalga oshirish tajovuzkorning malakasi va tajribasiga, uning dastur kodidagi xatolarni topish va ulardan o'z foydasiga va resurs egasining zarariga foydalanish qobiliyatiga bog'liq.

Xaker zaiflikni (tizimning ishlashini buzish uchun ishlatilishi mumkin bo'lgan dasturiy ta'minotdagi xato) aniqlagandan so'ng, u faqat ekspluatatsiya - bu zaiflikdan foydalanadigan dasturni yaratish va ishga tushirishdir.

Zaifliklardan foydalanish har doim ham faqat xizmat ko'rsatishdan bosh tortish uchun mo'ljallanmagan. Agar xaker omadli bo'lsa, u resurs ustidan nazoratni qo'lga kiritishi va ushbu "taqdir sovg'asi" dan o'z xohishiga ko'ra foydalanishi mumkin. Masalan, undan zararli dasturlarni tarqatish, ma'lumotlarni o'g'irlash va yo'q qilish va hokazolar uchun foydalaning.

Dasturiy ta'minotning zaifliklaridan foydalanishga qarshi kurash usullari

  • Operatsion tizimlar va ilovalarning zaifliklarini qoplaydigan yangilanishlarni o'z vaqtida o'rnating.
  • Ma'muriy vazifalarni hal qilish uchun mo'ljallangan barcha xizmatlarni uchinchi tomon kirishidan ajratib oling.
  • Server OT va dasturlarning ishlashini doimiy monitoring qilish vositalaridan foydalaning (xulq-atvor tahlili va boshqalar).
  • Tasdiqlangan va yaxshi himoyalangan dasturlar foydasiga potentsial zaif dasturlardan (bepul, o'z-o'zidan yozilgan, kamdan-kam yangilanadigan) voz keching.
  • Tizimlarni apparat va dasturiy ta'minot ko'rinishida mavjud bo'lgan DoS va DDoS hujumlaridan himoya qilish uchun tayyor vositalardan foydalaning.

Resurs xaker tomonidan hujumga uchraganligini qanday aniqlash mumkin

Agar hujumchi maqsadga erisha olsa, hujumni sezmaslik mumkin emas, lekin ba'zi hollarda administrator uning qachon boshlanganini aniqlay olmaydi. Ya'ni, ba'zida hujumning boshlanishidan sezilarli alomatlarga bir necha soat o'tadi. Biroq, yashirin ta'sir paytida (server ishlamaguncha) ma'lum belgilar ham mavjud. Masalan:

  • Server ilovalari yoki operatsion tizimning g'ayritabiiy xatti-harakatlari (muzlatish, xatolar bilan tugatish va boshqalar).
  • Protsessor, operativ xotira va xotiradagi yuk asl darajaga nisbatan keskin ortadi.
  • Bir yoki bir nechta portlardagi trafik hajmi sezilarli darajada oshadi.
  • Mijozlardan bir xil manbalarga bir nechta so'rovlar mavjud (bir xil veb-sayt sahifasini ochish, bir xil faylni yuklab olish).
  • Server, xavfsizlik devori va tarmoq qurilmalari jurnallarining tahlili ko'pincha ma'lum bir port yoki xizmatga yo'naltirilgan turli manzillardan ko'p sonli monoton so'rovlarni ko'rsatadi. Ayniqsa, agar sayt tor auditoriyaga qaratilgan bo'lsa (masalan, rus tilida so'zlashuvchi) va so'rovlar butun dunyodan kelgan bo'lsa. Trafikning sifatli tahlili shuni ko'rsatadiki, so'rovlar mijozlar uchun amaliy ahamiyatga ega emas.

Yuqorida aytilganlarning barchasi hujumning 100% belgisi emas, lekin bu har doim muammoga e'tibor berish va tegishli himoya choralarini ko'rish uchun sababdir.

Va bugun men sizga ddos ​​hujumlaridan himoya qanday amalga oshirilishini aytmoqchiman, chunki serverning ishdan chiqishi, hatto qisqa vaqt ichida ham muammolarga olib kelishi mumkin. Uzoq vaqt davomida ishlamay qolishi qidiruv tizimining reytinglariga salbiy ta'sir ko'rsatishi mumkin, bu men bilan bir marta sodir bo'lgan va men hali ham oqibatlarini ko'rmoqdaman ...


Bugun tunda yotishim bilan serverim ham ishlamay qoldi. Men uni faqat ertalab, o'zim uyg'onganimda uyg'otdim. Katta ehtimol bilan yana hujum bo'ldi va do'stim bosimga dosh bera olmadi.

Menimcha, plagin ham muammo bo'lishi mumkin. Dropbox-ga WordPress zaxira nusxasi, bu sizning saytingizni DropBox-ga zaxiralaydi. Plagin odatda foydali, lekin menga endi kerak emas, chunki men doimiy ravishda butun serverning zaxira nusxasini yarataman. Agar sizda oddiy xosting bo'lsa, uni o'rnatishni maslahat beraman.

Shunday qilib, ushbu plagin men uchun tunda yoqiladi va zaxira nusxasini yuklab olishni boshlaydi. Va server allaqachon hujumga uchraganligi sababli, diskdagi qo'shimcha yuk muzlatishga olib keladi. Bundan tashqari, mening serverim unchalik kuchli emas, agar men terminal serverini sotib olgan bo'lsam, unda kichik hujumlar unchalik xavfli bo'lmasligi mumkin. Bu hozircha nazariya, keling, buni tekshirib ko'ramiz. Ammo katta ehtimol bilan men hali ham ddos ​​hujumi ostidaman.

DDoS hujumi nima?

Oddiy qilib aytganda, serveringizga bir vaqtning o'zida minglab kompyuterlardan juda ko'p emas, balki juda ko'p ulanish so'rovlari yuboriladi va sizning serveringiz bunday "tashrif buyuruvchilar" oqimiga bardosh bera olmaydi. Bularning barchasi nima uchun qilinmoqda?

Misol uchun, oddiy onlayn-do'kon JUDA qimmat bo'lishi mumkin va raqobatchilar quyoshdagi joyni bu nohaqlik bilan tozalashga harakat qilmoqdalar. Yoki xakerlar serverni shu tarzda o'chirib qo'yishadi, shuning uchun hozirda . Yoki bu shunchaki maktab o'quvchisi ddos ​​uchun dasturlarni sinab ko'rayotgandir :)

Ushbu maqolada men serverni DDoS hujumidan qanday himoya qilish haqida gapirmoqchiman (juda massiv emas, albatta, lekin baribir). Bularning barchasiga qanday erishish mumkin?

Serverni DDOS hujumlaridan qanday himoya qilish mumkin?

Hamma narsa Apache veb-server darajasida qo'shimcha modul o'rnatish orqali amalga oshiriladi. SSH orqali serverga ulaning va modulni o'rnating:

Sudo apt-get install libapache2-mod-evasive

Modul o'rnatildi, endi siz fayl yaratishingiz kerak mod-evasive.conf papkada /etc/apache2/mods-available/ va unga quyidagi kodni kiriting:

DOSHashTableSize 4096 DOSPageCount 5 DOSSiteCount 50 DOSPageInterval 1 DOSSiteInterval 1 DOSBlockingPeriod 10

Bu erda siz parametrlarni o'zingizning xohishingizga ko'ra o'rnatishingiz mumkin va ular nimani anglatadi:

DOSHashTableSize: Bu WWW serveriga so'rovlarni qayta ishlovchi xesh jadvalining o'lchamidir.

DOSPageCount: Belgilangan vaqt oralig'ida bir xil IP-dan bir xil sahifaga so'rovlar soni.

DOSSiteCount: domenning barcha sahifalariga so'rovlar soni; agar bitta IP-dan domenning turli sahifalariga 50 dan ortiq so'rovlar kelib tushsa, bunday IP bloklanadi.

DOSPageInterval: DOSPageCount direktivasi uchun interval (sekundlarda)

DOSSite Interval: DOSSiteCount direktivasi uchun interval (sekundlarda)

DOSB blokirovkasi davri: IP qancha vaqt bloklanadi (soniyalarda)

DOSEmailNotify: bildirishnoma uchun ishlatilishi mumkin, falon IP bloklanganligi haqida elektron pochta xabarini yuboradi. DOSSystemCommand: Ushbu ko'rsatma IP bloklanganda ba'zi buyruqlaringizni bajarish uchun ishlatiladi.

DOSWhiteList: oq IP manzillar roʻyxati, shuningdek, niqoblar boʻyicha (masalan, 127.0.0.*)

Shundan so'ng, apache serverini qayta ishga tushiring:

Sudo xizmati apache2 qayta ishga tushirildi

Endi siz kompyuteringizdan mini DDoS hujumini tashkil qilishga urinib, modulning ishlashini tekshirishingiz mumkin. Sizning kompyuteringizda Linux bor, to'g'rimi? Xo'sh, uni faqat flesh-diskdan ishga tushiring :) Linuxni flesh-diskga qanday o'rnatishni o'qing.

Oddiy DIY DDOS hujumi

Fayl turini yarating ddos.pl uy papkangizga quyidagi kodni kiriting:

#!/usr/bin/perl # test.pl: mod_dosevasive-ning samaradorligini tekshirish uchun kichik skript IO::Socket-dan foydalaning; qat'iy foydalaning; for(0..100) ( my($response); my($SOCKET) = new IO::Socket::INET(Proto => "tcp", PeerAddr=> "saitowed.ru:80"); agar (! $SOCKET aniqlangan) ( o'lib $SOCKET ) chop etish $SOCKET "GET /?$_" HTTP/1.0nn"; $response =<$SOCKET>; $response chop etish; yopish ($SOCKET); )

Endi biz faylni bajariladigan holga keltiramiz:

Chmod 777 ddos.pl

Ushbu faylning kodiga men skriptni sinab ko'rish uchun bitta tanish blogni qo'shdim - saitowed.ru. Biz uni buyruq bilan ishga tushiramiz:

./ddos.pl

Biz nimani ko'ramiz?

Biz uning serveri bizning bir nechta so'rovlarimizni osongina o'tkazib yuborishini ko'ramiz va bu yomon. Endi men veb-saytimni skript kodiga kiritaman.

DDoS hujumlariga qarshi kurash nafaqat qiyin ish, balki hayajonli hamdir. Har bir tizim ma'muri birinchi navbatda o'z-o'zidan himoyani tashkil etishga harakat qilishi ajablanarli emas - ayniqsa, bu hali ham mumkin.

Biz sizga ushbu qiyin masalada yordam berishga va saytingizni hujumlardan himoya qilish bo'yicha qisqa, ahamiyatsiz va universal bo'lmagan maslahatlarni nashr etishga qaror qildik. Berilgan retseptlar hech qanday hujumga dosh berishga yordam bermaydi, lekin ular sizni ko'pgina xavflardan himoya qiladi.

To'g'ri ingredientlar

Qattiq haqiqat shundaki, har kim Apacheni butunlay o'ldiradigan Slowloris hujumidan foydalanib yoki Amazon EC2 bulutida bir daqiqada ko'tarilgan virtual serverlar fermasidan foydalangan holda SYN toshqinini tashkil qilish orqali ko'plab saytlarni o'chirib tashlashi mumkin. O'z qo'llaringiz bilan DDoS himoyasi bo'yicha barcha keyingi maslahatlarimiz quyidagi muhim shartlarga asoslanadi.

1. Windows Serverdan foydalanishni to'xtating

Amaliyot shuni ko'rsatadiki, Windows-da ishlaydigan sayt (2003 yoki 2008 - bu muhim emas) DDoS holatida halokatga uchraydi. Muvaffaqiyatsizlik sababi Windows tarmoq stekida yotadi: juda ko'p ulanishlar mavjud bo'lganda, server, albatta, yomon javob bera boshlaydi. Nima uchun Windows Server bunday vaziyatlarda juda jirkanch ishlashini bilmaymiz, lekin biz bunga bir yoki ikki marta duch kelganmiz. Shu sababli, ushbu maqola server Linuxda ishlayotgan bo'lsa, DDoS hujumlaridan himoya vositalariga qaratiladi. Agar siz nisbatan zamonaviy yadroning baxtli egasi bo'lsangiz (2.6 dan boshlab), unda asosiy vositalar iptables va ipset yordam dasturlari bo'ladi (IP manzillarini tezda qo'shish uchun), ular yordamida siz tezda botlarni taqiqlashingiz mumkin. Muvaffaqiyatning yana bir kaliti bu to'g'ri tayyorlangan tarmoq stekidir, bu haqda keyinroq gaplashamiz.

2. Apache bilan ajralish

Ikkinchi muhim shart - bu Apache-dan voz kechish. Agar siz Apache-da ishlayotgan bo'lsangiz, hech bo'lmaganda uning oldiga keshlash proksi-serverini o'rnating - nginx yoki lighttpd. Apache-dan fayllarni uzatish juda qiyin va bundan ham yomoni, u asosiy darajada (ya'ni tuzatib bo'lmas) eng xavfli Slowloris hujumiga qarshi himoyasiz bo'lib, serverni deyarli mobil telefondan bosib olishga imkon beradi. Slowloris turlari, Apache foydalanuvchilari birinchi navbatda Anti-slowloris.diff, keyin mod_noloris, so'ngra mod_antiloris, mod_limitipconn, mod_reqtimeout patchini o'ylab topishdi... Lekin kechalari tinch uxlashni istasangiz, immunitetga ega bo'lgan HTTP serveridan foydalanish osonroq. Slowloris-ga kod arxitekturasi darajasida.Shuning uchun, bizning keyingi barcha retseptlarimiz o'sha nginx frontendda ishlatiladi degan taxminga asoslanadi.

DDoS bilan kurash

DDoS kelsa nima qilish kerak? An'anaviy o'z-o'zini himoya qilish usuli HTTP server jurnali faylini o'qish, grep naqshini yozish (bot so'rovlarini ushlash) va unga tushgan har bir kishini taqiqlashdir. Bu texnika ishlaydi... agar omadingiz bo'lsa. Botnetlarning ikki turi mavjud, ikkalasi ham xavfli, ammo turli yo'llar bilan. Biri butunlay saytga bir zumda, ikkinchisi esa asta-sekin keladi. Birinchisi bir vaqtning o'zida hamma narsani o'ldiradi, lekin hamma narsa jurnallarda paydo bo'ladi va agar siz ularni isitsangiz va barcha IP manzillarini taqiqlasangiz, unda siz g'olibsiz. Ikkinchi botnet saytga ehtiyotkorlik bilan va ehtiyotkorlik bilan hujum qiladi, lekin siz uni 24 soat davomida taqiqlashingiz kerak bo'lishi mumkin. Har qanday ma'mur tushunishi juda muhim: agar siz grep bilan kurashishni rejalashtirmoqchi bo'lsangiz, unda siz hujumga qarshi kurashish uchun bir necha kun sarflashga tayyor bo'lishingiz kerak. Quyida yiqilish kamroq og'riqli bo'lishi uchun somonlarni oldindan qo'yishingiz mumkin bo'lgan maslahatlar mavjud.

3. Testcookie modulidan foydalaning

Ehtimol, ushbu maqoladagi eng muhim, samarali va tezkor retsept. Agar DDoS saytingizga kirsa, unga qarshi kurashishning eng samarali usuli habrauser @kyprizel tomonidan ishlab chiqilgan testcookie-nginx moduli bo'lishi mumkin. Fikr oddiy. Ko'pincha, HTTP toshqinini amalga oshiradigan botlar juda ahmoqdir va HTTP cookie-fayllari va qayta yo'naltirish mexanizmlariga ega emas. Ba'zan siz yanada ilg'or bo'lganlarga duch kelasiz - ular cookie-fayllardan foydalanishi va qayta yo'naltirishlarni amalga oshirishi mumkin, ammo deyarli hech qachon DoS bot to'liq huquqli JavaScript dvigateliga ega emas (garchi bu tobora keng tarqalgan bo'lsa ham). Testcookie-nginx L7 DDoS hujumi paytida botlar va backend o'rtasida tezkor filtr sifatida ishlaydi, bu sizga keraksiz so'rovlarni filtrlash imkonini beradi. Ushbu tekshiruvlarga nimalar kiradi? Mijoz HTTP qayta yo'naltirishni qanday amalga oshirishni biladimi, u JavaScript-ni qo'llab-quvvatlaydimi, u o'zi da'vo qilgan brauzermi (chunki JavaScript hamma joyda har xil va agar mijoz buni, aytaylik, Firefox deb aytsa, biz buni tekshirishimiz mumkin). Tekshiruv turli usullar yordamida cookie-fayllar yordamida amalga oshiriladi:

  • "Set-Cookie" + 301 HTTP Joylashuvi yordamida qayta yo'naltirish;
  • "Set-Cookie" + HTML meta yangilash yordamida qayta yo'naltirish;
  • har qanday shablon va siz JavaScript-dan foydalanishingiz mumkin.

Avtomatik tahlil qilishning oldini olish uchun tekshirish cookie fayli AES-128 bilan shifrlanishi va keyinchalik JavaScript mijoz tomonida shifrlanishi mumkin. Modulning yangi versiyasi Flash orqali cookie-fayllarni o'rnatish imkoniyatiga ega, bu sizga botlarni samarali filtrlash imkonini beradi (bu Flash, qoida tariqasida, qo'llab-quvvatlamaydi), lekin, shuningdek, ko'plab qonuniy foydalanuvchilarning kirishini bloklaydi (ichida). Aslida, barcha mobil qurilmalar). Shunisi e'tiborga loyiqki, testcookie-nginx-dan foydalanishni boshlash juda oson. Ishlab chiquvchi, xususan, nginx uchun konfiguratsiyalar namunalari bilan foydalanishning bir nechta aniq misollarini (turli xil hujum holatlari uchun) taqdim etadi.

O'zining afzalliklaridan tashqari, testcookie-ning kamchiliklari ham bor:

  • barcha botlarni, shu jumladan Googlebotni ham qisqartiradi. Agar siz testcookie-ni doimiy ravishda saqlashni rejalashtirmoqchi bo'lsangiz, qidiruv natijalaridan yo'qolmasligingizga ishonch hosil qiling;
  • Links, w3m va shunga o'xshash brauzerlar bilan foydalanuvchilar uchun muammolarni yaratadi;
  • JavaScript bilan to'laqonli brauzer dvigateli bilan jihozlangan botlardan himoya qilmaydi.

Qisqasi, testcookie_module universal emas. Ammo bu, masalan, Java va C# da ibtidoiy vositalar kabi bir qator narsalarga yordam beradi. Shu tarzda siz tahdidning bir qismini kesib tashlaysiz.

4. Kod 444

DDoSers-ning maqsadi ko'pincha saytning eng ko'p resurs talab qiladigan qismidir. Oddiy misol - murakkab ma'lumotlar bazasi so'rovlarini bajaradigan qidiruv. Tabiiyki, tajovuzkorlar bir vaqtning o'zida qidiruv tizimiga bir necha o'n minglab so'rovlarni yuklash orqali bundan foydalanishlari mumkin. Biz nima qila olamiz? Qidiruvni vaqtincha o'chirib qo'ying. Garchi mijozlar o'rnatilgan vositalar yordamida kerakli ma'lumotlarni qidira olmasalar ham, siz barcha muammolarning ildizini topmaguningizcha butun asosiy sayt ishlayveradi. Nginx nostandart 444 kodini qo'llab-quvvatlaydi, bu sizga ulanishni shunchaki yopish va javoban hech narsa qaytarmaslik imkonini beradi:

Manzil/qidiruv (qaytish 444; )

Shu tarzda, masalan, URL bo'yicha filtrlashni tezda amalga oshirishingiz mumkin. Agar siz joylashuv/qidiruv so'rovlari faqat botlardan kelganiga ishonchingiz komil bo'lsa (masalan, sizning ishonchingiz saytingizda /search bo'limi umuman yo'qligi bilan bog'liq), siz serverga ipset paketini o'rnatishingiz va blokirovka qilishingiz mumkin. oddiy qobiq skriptiga ega botlar:

Ipset -N ban iphash tail -f access.log | LINE o'qiyotganda; echo "$LINE" qiling | \ cut -d""" -f3 | cut -d" " -f2 | grep -q 444 && ipset -A man "$(L%% *)"; bajarildi

Jurnal fayl formati nostandart bo'lsa (birlashtirilmagan) yoki javob holatidan boshqa mezonlar asosida taqiqlash kerak bo'lsa, kesishni oddiy ifoda bilan almashtirishingiz kerak bo'lishi mumkin.

5. Biz geolokatsiya bo'yicha taqiqlaymiz

Nostandart javob kodi 444, shuningdek, geo-asoslangan xususiyatlar asosida mijozlarni tezda taqiqlash uchun ham foydali bo'lishi mumkin. Sizni bezovta qiladigan ba'zi mamlakatlarni qat'iy cheklashingiz mumkin. Misol uchun, Rostov-na-Don shahridagi onlayn-kamera do'konida Misrda ko'plab foydalanuvchilar bo'lishi ehtimoldan yiroq emas. Bu juda yaxshi usul emas (to'g'risini aytganda, jirkanch), chunki GeoIP ma'lumotlari noto'g'ri va Rostovliklar ba'zan ta'tilda Misrga uchib ketishadi. Ammo yo'qotadigan hech narsangiz bo'lmasa, ko'rsatmalarga amal qiling:

  1. GeoIP modulini nginx ga ulang (wiki.nginx.org/HttpGeoipModule).
  2. Kirish jurnalida georeferentsiya ma'lumotlarini ko'rsatish.
  3. Keyinchalik, yuqoridagi qobiq skriptini o'zgartirib, nginx-ning kirish jurnalini ishga tushiring va geografik jihatdan istisno qilingan mijozlarni taqiqga qo'shing.

Agar, masalan, botlar asosan Xitoydan bo'lsa, bu yordam berishi mumkin.

6. Neyron tarmoq (PoC)

Va nihoyat, siz PyBrain neyron tarmog'ini olib, unga jurnalni to'ldirgan va so'rovlarni tahlil qilgan @SaveTheRbtz habra foydalanuvchisining tajribasini takrorlashingiz mumkin (habrahabr.ru/post/136237). Usul universal bo'lmasa ham ishlaydi :). Ammo agar siz haqiqatan ham saytingizning ichki tomonlarini bilsangiz - va siz tizim ma'muri sifatida bilishingiz kerak - eng fojiali vaziyatlarda neyron tarmoqlar, treninglar va oldindan to'plangan ma'lumotlarga asoslangan bunday vositalar to'plami sizga yordam berishi mumkin. Bunday holda, DDoS boshlanishidan oldin access.log-ga ega bo'lish juda foydali, chunki u deyarli 100% qonuniy mijozlarni tavsiflaydi va shuning uchun neyron tarmoqni o'qitish uchun ajoyib ma'lumotlar to'plami.Bundan tashqari, botlar har doim ham jurnalda ko'rinmaydi. .

Muammoning diagnostikasi

Sayt ishlamayapti - nega? Bu DDoSedmi yoki bu dasturchi sezmagan dvigatel xatosimi? Muhim emas. Bu savolga javob izlamang. Agar sizning saytingiz hujum ostida bo'lishi mumkin deb hisoblasangiz, hujumlardan himoya qiluvchi kompaniyalar bilan bog'laning - bir qator anti-DDoS xizmatlari ulanishdan so'ng birinchi kunlarni bepul taqdim etadi - va simptomlarni izlashga ko'proq vaqt sarflamang. Muammoga e'tibor qarating. Agar sayt sekin bo'lsa yoki umuman ochilmasa, uning ishlashida nimadir noto'g'ri va - DDoS hujumi bormi yoki yo'qmi - bunga nima sabab bo'layotganini tushunish professional sifatida sizning mas'uliyatingizdir. DDoS hujumi tufayli veb-saytining ishlashida qiyinchiliklarga duch kelgan kompaniya veb-sayt mexanizmidagi zaif tomonlarni qidirish o'rniga, hujumchilarni topish va jazolash uchun Ichki ishlar vazirligiga bayonotlar yuborishga uringaniga bir necha bor guvoh bo'lganmiz. Bu xatolarga yo'l qo'ymang. Kiberjinoyatchilarni topish qiyin va uzoq jarayon bo'lib, Internetning tuzilishi va ishlash tamoyillari bilan murakkablashadi va saytning ishlashi bilan bog'liq muammo tezda hal qilinishi kerak. Sayt faoliyatining pasayishi sababini topish uchun texnik mutaxassislarga murojaat qiling va advokatlar ariza yozishlari mumkin.

7. Profiler va tuzatuvchidan foydalaning

Eng keng tarqalgan veb-sayt yaratish platformasi uchun - PHP + MySQL - muammoni quyidagi vositalar yordamida topish mumkin:

  • Xdebug profili ilova qaysi qo'ng'iroqlarga ko'proq vaqt sarflashini ko'rsatadi;
  • o'rnatilgan APD tuzatuvchisi va xatolar jurnalidagi disk raskadrovka chiqishi sizga ushbu qo'ng'iroqlarni aynan qaysi kod bilan amalga oshirishini aniqlashga yordam beradi;
  • ko'p hollarda it ma'lumotlar bazasi so'rovlarining murakkabligi va og'irligiga ko'milgan. Ma'lumotlar bazasi dvigateliga o'rnatilgan tushuntirish SQL direktivasi bu erda yordam beradi.

Agar sayt ishlamasa va siz hech narsani yo'qotmasangiz, tarmoqdan uzing, jurnallarga qarang, ularni o'ynashga harakat qiling. Agar u erda bo'lmasa, sahifalarni ko'rib chiqing va bazaga qarang.

Misol PHP uchun, lekin g'oya har qanday platforma uchun amal qiladi. Dasturiy ta'minot mahsulotlarini har qanday dasturlash tilida yozuvchi ishlab chiquvchi tuzatuvchi va profil yaratuvchidan tezda foydalana olishi kerak. Oldindan mashq qiling!

8. Xatolarni tahlil qiling

Trafik hajmini, serverning javob berish vaqtini va xatolar sonini tahlil qiling. Buning uchun jurnallarga qarang. Nginx-da serverning javob vaqti jurnalda ikkita o'zgaruvchi bilan qayd etiladi: request_time va upstream_response_time. Birinchisi, so'rovni bajarishning umumiy vaqti, shu jumladan foydalanuvchi va server o'rtasidagi tarmoq kechikishlari; ikkinchisi backend (Apache, php_fpm, uwsgi...) so'rovni qancha vaqt davomida bajarganligini aytadi. Upstream_response_time qiymati juda ko'p dinamik tarkibga ega va frontend va ma'lumotlar bazasi o'rtasidagi faol aloqaga ega saytlar uchun juda muhim; uni e'tiborsiz qoldirmaslik kerak. Jurnal formati sifatida quyidagi konfiguratsiyadan foydalanishingiz mumkin:

Log_format xakep_log "$remote_addr - $remote_user [$time_local] " ""$request" $status $body_bytes_sent " ""$http_referer" "$http_user_agent" $request_time \ $upstream_response_time";

Bu qo'shilgan vaqt maydonlari bilan birlashtirilgan formatdir.

9. So'rovlarni soniyada kuzatish

Shuningdek, soniyada so'rovlar soniga qarang. Nginx holatida siz ushbu qiymatni quyidagi qobiq buyrug'i bilan taxminiy baholashingiz mumkin (ACCESS_LOG o'zgaruvchisi birlashtirilgan formatda nginx so'rovlar jurnaliga yo'lni o'z ichiga oladi):

Echo $(($(fgrep -c "$(env LC_ALL=C sana --date=@$(($(sana \ +%s)-60)) +%d/%b/%Y:%H: %M)" "$ACCESS_LOG")/60))

Kunning ushbu vaqti uchun odatiy daraja bilan solishtirganda, soniyada so'rovlar soni kamayishi yoki ko'tarilishi mumkin. Agar katta botnet kelgan bo'lsa, ular o'sadi va agar kiruvchi botnet saytni o'chirib tashlagan bo'lsa, ular yiqilib, uni qonuniy foydalanuvchilar uchun butunlay imkonsiz qiladi va shu bilan birga botnet statikani so'ramaydi, lekin qonuniy foydalanuvchilar qiladi. So'rovlar sonining pasayishi aniq statika tufayli kuzatiladi. Ammo, qandaydir tarzda, biz ko'rsatkichlardagi jiddiy o'zgarishlar haqida gapiramiz. Bu to'satdan sodir bo'lganda - muammoni o'zingiz hal qilmoqchi bo'lganingizda va agar siz uni jurnalda darhol ko'rmasangiz, dvigatelni tezda tekshirish va shu bilan birga mutaxassislarga murojaat qilish yaxshiroqdir.

10. tcpdump haqida unutmang

Ko'p odamlar tcpdump ajoyib diagnostika vositasi ekanligini unutishadi. Men sizga bir nechta misol keltiraman. 2011-yil dekabr oyida Linux yadrosida TCP segmenti bayroqlari SYN va RST oʻrnatilganda TCP ulanishini ochishda xatolik aniqlandi. Xatolar haqida birinchi hisobotni Rossiyadan tizim ma'muri yubordi, uning resursi ushbu usul bilan hujumga uchradi - buzg'unchilar butun dunyo oldida zaiflik haqida bilib oldilar. Shubhasiz, bu tashxis unga yordam berdi. Yana bir misol: nginx bitta unchalik yoqimli bo'lmagan xususiyatga ega - u so'rov to'liq qayta ishlanganidan keyingina jurnalga yozadi. Sayt ishlamay qolgan, hech narsa ishlamagan va jurnallarda hech narsa yo'q bo'lgan holatlar mavjud. Buning sababi, hozirda serverni yuklayotgan barcha so'rovlar hali tugallanmagan. Bu erda ham Tcpdump yordam beradi.

Shu qadar yaxshiki, men odamlarga hamma narsa joyida ekanligiga ishonch hosil qilmaguncha ikkilik protokollardan foydalanmaslikni maslahat berdim - axir, matn protokollarini tcpdump bilan disk raskadrovka qilish oson, ikkilik protokollar esa unday emas. asbob - ishlab chiqarishni saqlash vositasi sifatida" va u qo'rqinchli. U bir vaqtning o'zida bir nechta paketlarni osongina yo'qotishi va foydalanuvchi tarixini buzishi mumkin. Uning chiqishiga qarash qulay va qo'lda diagnostika va taqiqlar uchun foydalidir, lekin unga hech qanday tanqidiy asos bermaslikka harakat qiling. "So'rovlarni ko'mish" uchun yana bir sevimli vosita - ngrep - odatda sukut bo'yicha ikki gigabayt atrofida almashtirilmaydigan xotirani so'rashga harakat qiladi va shundan keyingina uning talablarini kamaytirishni boshlaydi.

11. Hujummi yoki yo'qmi?

DDoS hujumini, masalan, reklama kampaniyasining ta'siridan qanday ajratish mumkin? Bu savol kulgili tuyulishi mumkin, ammo mavzu unchalik murakkab emas. Juda kulgili holatlar mavjud. Ba'zi yaxshi yigitlar, o'zlarini zo'r berib, keshlashni puxtalik bilan buzganlarida, sayt bir necha kunga ishlamay qoldi. Ma'lum bo'lishicha, bir necha oy davomida ushbu sayt ba'zi nemislar tomonidan jimgina ma'lumotlar to'plangan va keshlash optimallashtirilgunga qadar, ushbu nemislarning barcha rasmlari bilan sayt sahifalarini yuklash uchun juda ko'p vaqt kerak bo'ldi. Sahifaga keshdan bir zumda xizmat ko'rsatila boshlaganida, hech qanday taym-autga ega bo'lmagan bot ham ularni bir zumda yig'a boshladi. Bu qiyin edi. Ish ayniqsa qiyin, chunki agar siz o'zingiz sozlamalarni o'zgartirgan bo'lsangiz (keshlashni yoqsangiz) va bundan keyin sayt ishlashni to'xtatgan bo'lsa, unda sizning va xo'jayiningizning fikricha, kim aybdor? Aynan. Agar so'rovlar sonining keskin o'sishini ko'rsangiz, masalan, Google Analytics-ga qarang, kim qaysi sahifalarga tashrif buyurgan.

Veb-serverni sozlash

Yana qanday asosiy fikrlar mavjud? Albatta, siz standart nginx-ni o'rnatishingiz mumkin va hamma narsa yaxshi bo'lishiga umid qilishingiz mumkin. Biroq, ishlar har doim ham yaxshi ketavermaydi. Shuning uchun har qanday server ma'muri nginx-ni nozik sozlash va sozlash uchun ko'p vaqt ajratishi kerak.

12. Nginx-da resurslarni cheklash (bufer o'lchamlari).

Avval nimani eslash kerak? Har bir resursning chegarasi bor. Bu birinchi navbatda RAMga tegishli. Shuning uchun, sarlavhalar va barcha ishlatiladigan buferlarning o'lchamlari mijoz va butun server uchun mos qiymatlar bilan cheklanishi kerak. Ular nginx konfiguratsiyasida ro'yxatdan o'tgan bo'lishi kerak.

  • mijoz_header_bufer_size_ _ Mijoz so'rovi sarlavhasini o'qish uchun bufer hajmini o'rnatadi. Agar so'rov satri yoki so'rov sarlavhasi maydoni ushbu buferga to'liq mos kelmasa, large_client_header_buffers direktivasi bilan belgilangan kattaroq buferlar ajratiladi.
  • katta_mijoz_sarlavhasi_buferlari Katta mijoz so'rovi sarlavhasini o'qish uchun buferlarning maksimal soni va hajmini o'rnatadi.
  • mijoz_tana_bufer_hajmi Mijoz so'rovining asosiy qismini o'qish uchun bufer hajmini o'rnatadi. Agar so'rov tanasi belgilangan buferdan katta bo'lsa, so'rovning butun tanasi yoki uning faqat bir qismi vaqtinchalik faylga yoziladi.
  • mijoz_maksimal_tana_oʻlchami Soʻrov sarlavhasining “Tarkib uzunligi” maydonida koʻrsatilgan mijoz soʻrovining ruxsat etilgan maksimal hajmini oʻrnatadi. Agar o'lcham belgilanganidan kattaroq bo'lsa, mijozga 413-xato (Request Entity Too Large) qaytariladi.

13. Nginx da taymoutlarni sozlash

Vaqt ham resursdir. Shuning uchun, keyingi muhim qadam barcha vaqt tugashlarini o'rnatish bo'lishi kerak, ular yana nginx sozlamalarida diqqat bilan ko'rsatilishi juda muhimdir.

  • reset_timedout_connection yoqilgan; FIN-WAIT bosqichida tiqilib qolgan rozetkalar bilan kurashishga yordam beradi.
  • client_header_timeout Mijoz so'rovi sarlavhasini o'qishda kutish vaqtini o'rnatadi.
  • client_body_timeout Mijoz so'rovining asosiy qismini o'qishda kutish vaqtini belgilaydi.
  • keepalive_timeout Mijoz bilan jonli ulanish server tomonidan yopilmaydigan vaqt tugashini belgilaydi. Ko'p odamlar bu erda katta qadriyatlarni o'rnatishdan qo'rqishadi, ammo biz bu qo'rquvning asosli ekanligiga ishonchimiz komil emas. Majburiy emas, siz Keep-Alive HTTP sarlavhasida kutish vaqti qiymatini belgilashingiz mumkin, ammo Internet Explorer bu qiymatni e'tiborsiz qoldirishi bilan mashhur.
  • send_timeout Mijozga javob yuborishda kutish vaqtini o'rnatadi. Agar bu vaqtdan keyin mijoz hech narsani qabul qilmasa, ulanish yopiladi.

Darhol savol tug'iladi: buferlar va kutish vaqtlarining qaysi parametrlari to'g'ri? Bu erda universal retsept yo'q, har bir vaziyatning o'ziga xosligi bor. Ammo isbotlangan yondashuv mavjud. Sayt ishlayotgan (tinchlik davrida), ya'ni sahifalarga xizmat ko'rsatish va so'rovlarni qayta ishlash uchun minimal qiymatlarni belgilash kerak. Bu faqat sinov orqali aniqlanadi - ham ish stoli, ham mobil qurilmalar. Har bir parametrning qiymatlarini topish algoritmi (bufer hajmi yoki kutish vaqti):

  1. Parametrning matematik minimal qiymatini o'rnatamiz.
  2. Biz sayt sinovlarini o'tkazishni boshlaymiz.
  3. Agar saytning barcha funksionalligi muammosiz ishlayotgan bo'lsa, parametr aniqlanadi. Agar yo'q bo'lsa, parametr qiymatini oshiring va 2-bosqichga o'ting.
  4. Agar parametr qiymati hatto standart qiymatdan oshsa, bu ishlab chiqish guruhida muhokama qilish uchun sababdir.

Ba'zi hollarda, ushbu parametrlarni qayta ko'rib chiqish saytni qayta ishlashga/qayta loyihalashga olib kelishi kerak. Misol uchun, agar sayt uch daqiqalik AJAX uzoq so'rovlarisiz ishlamasa, unda siz kutish vaqtini ko'paytirishingiz shart emas, balki uzoq so'rovni boshqa narsa bilan almashtiring - so'rovlarga uch daqiqa davomida osilgan 20 ming mashinadan iborat botnet, o'rtacha arzon serverni osongina o'ldiradi.

14. Nginx-dagi ulanishlarni cheklash (limit_conn va limit_req)

Nginx shuningdek, ulanishlarni, so'rovlarni va hokazolarni cheklash qobiliyatiga ega. Agar saytingizning ma'lum bir qismi o'zini qanday tutishiga ishonchingiz komil bo'lmasa, ideal holda siz uni sinab ko'rishingiz, qancha so'rovlarni bajarishini tushunishingiz va buni nginx konfiguratsiyasiga yozishingiz kerak. Sayt ishlamay qolganda va siz uni olib ketishingiz mumkin bo'lgan narsa. Va server almashtirishga o'tadigan darajada pasayganda, bu butunlay boshqacha masala. Bunday holda, uning zafarli qaytishini kutishdan ko'ra, qayta ishga tushirish ko'pincha osonroqdir.

Aytaylik, saytda tavsiflovchi nomlar /yuklash va /search bo'limlari mavjud. Shu bilan birga biz:

  • biz botlar (yoki haddan tashqari g'ayratli rekursiv yuklab olish menejerlari bo'lgan odamlar) bizning TCP ulanish jadvalimizni yuklab olishlari bilan to'ldirishlarini xohlamaymiz;
  • Biz botlarning (yoki tasodifiy qidiruv tizimining brauzerlari) ko'plab qidiruv so'rovlari bilan DBMSning hisoblash resurslarini tugatishini xohlamaymiz.

Ushbu maqsadlar uchun quyidagi konfiguratsiya ishlaydi:

Http ( limit_conn_zone $binary_remote_addr zonasi=download_c:10m; limit_req_zone $binary_remote_addr zona=search_r:10m \ rate=1r/s; server (joy /download/ ( limit_conn download_c 1; # Boshqa konfiguratsiya chegarasi) /remote_addr zonasi/ search_r burst=5; # Boshqa konfiguratsiya joyi ) ) )

Odatda bajarilishi qimmat bo'lgan skriptlar joylashgan joylar uchun limit_conn va limit_req cheklovlarini o'rnatish to'g'ridan-to'g'ri mantiqiydir (misol qidiruvni ko'rsatadi va bu yaxshi sababdir). Cheklovlar yuk va regressiya sinovlari natijalari, shuningdek, sog'lom fikr asosida tanlanishi kerak.

Misoldagi 10m parametriga e'tibor bering. Bu shuni anglatadiki, bu chegarani hisoblash uchun bir megabaytdan ortiq emas, balki 10 megabaytlik buferli lug'at ajratiladi. Ushbu konfiguratsiyada bu 320 000 TCP seanslarini kuzatish imkonini beradi. Xotira izini optimallashtirish uchun $binary_remote_addr o'zgaruvchisi lug'atda kalit sifatida ishlatiladi, u ikkilik ko'rinishda foydalanuvchining IP manzilini o'z ichiga oladi va oddiy $remote_addr qator o'zgaruvchisiga qaraganda kamroq xotirani egallaydi. Shuni ta'kidlash kerakki, limit_req_zone direktivasining ikkinchi parametri nafaqat IP, balki ushbu kontekstda mavjud bo'lgan boshqa nginx o'zgaruvchisi ham bo'lishi mumkin - masalan, proksi-server uchun yumshoqroq rejimni taqdim etishni xohlamasangiz, siz $binary_remote_addr$http_user_agent yoki $binary_remote_addr$http_cookie_myc00kiez dan foydalanishingiz mumkin - lekin siz bunday konstruktsiyalardan ehtiyotkorlik bilan foydalanishingiz kerak, chunki 32-bitli $binary_remote_addr-dan farqli o'laroq, bu o'zgaruvchilar sezilarli darajada uzoqroq bo'lishi mumkin va siz "10m"ni birdaniga tugatishingiz mumkin.

DDoS tendentsiyalari

  1. Tarmoq va transport qatlamlari hujumlarining kuchi doimiy ravishda o'sib bormoqda. O'rtacha SYN toshqin hujumining potentsiali allaqachon soniyasiga 10 million paketga yetdi.
  2. So'nggi paytlarda DNS-ga hujumlar ayniqsa talabga ega. Soxta manba IP-manzillari bilan to'g'ri DNS so'rovlari bilan UDP to'ldirilishini amalga oshirish eng oson hujumlardan biri va unga qarshi turish qiyin. Ko'pgina yirik rus kompaniyalari (shu jumladan xosting kompaniyalari) yaqinda o'zlarining DNS serverlariga hujumlar natijasida muammolarga duch kelishdi. Qanchalik uzoqqa borsangiz, bunday hujumlar shunchalik ko'p bo'ladi va ularning kuchi ortadi.
  3. Tashqi belgilarga ko'ra, ko'pchilik botnetlar markazlashtirilgan holda boshqarilmaydi, balki peer-to-peer tarmog'i orqali. Bu tajovuzkorlarga vaqt o'tishi bilan botnet harakatlarini sinxronlashtirish imkoniyatini beradi - agar ilgari boshqaruv buyruqlari 5 ming mashinadan iborat botnet bo'ylab o'nlab daqiqalarda tarqatilgan bo'lsa, endi soniyalar hisoblanadi va saytingiz kutilmaganda so'rovlar sonining yuz baravar oshishiga olib kelishi mumkin. .
  4. JavaScript-ga ega to'liq huquqli brauzer dvigateli bilan jihozlangan botlarning ulushi hali ham kichik, ammo doimiy ravishda o'sib bormoqda. Bunday hujumni o'rnatilgan doğaçlama vositalar bilan qaytarish qiyinroq, shuning uchun DIYers ushbu tendentsiyani ehtiyotkorlik bilan kuzatishi kerak.

OSni tayyorlash

Nginx-ni nozik sozlashdan tashqari, tizim tarmog'i stek sozlamalari haqida ham g'amxo'rlik qilishingiz kerak. Hech bo'lmaganda, o'zingizni kichik SYN-toshqin hujumidan darhol himoya qilish uchun sysctl-da net.ipv4.tcp_syncookies-ni darhol yoqing.

15. Yadroni sozlang

Tarmoq qismining (yadro) yanada kengaytirilgan sozlamalariga, yana kutish vaqti va xotiraga e'tibor bering. Bundan muhimroq va kamroq muhimlar bor. Avvalo, siz quyidagilarga e'tibor berishingiz kerak:

  • net.ipv4.tcp_fin_timeout Soket TCP FIN-WAIT-2 bosqichida o'tkazadigan vaqt (FIN/ACK segmentini kutish).
  • net.ipv4.tcp_(,r,w)mem TCP rozetkasi qabul qiluvchi bufer hajmi. Uchta qiymat: minimal, standart va maksimal.
  • net.core.(r,w)mem_max Xuddi shu narsa TCP bo'lmagan buferlar uchun ham amal qiladi.

100 Mbit/s kanal bilan standart qiymatlar qandaydir tarzda mos keladi; lekin agar sizda sekundiga kamida gigabit mavjud bo'lsa, quyidagi kabi narsalarni ishlatish yaxshiroqdir:

Sysctl -w net.core.rmem_max=8388608 sysctl -w net.core.wmem_max=8388608 sysctl -w net.ipv4.tcp_rmem="4096 87380 8388608" sysctl -w nettc.5 "638608" 86" 08" sysctl - w net.ipv4.tcp_fin_timeout=10

16. Qayta ko'rish /proc/sys/net/**

/proc/sys/net/** da barcha parametrlarni o'rganish ideal. Biz ularning standartlaridan qanchalik farq qilishini ko'rishimiz va ular qanchalik adekvat o'rnatilganligini tushunishimiz kerak. O'z nazorati ostidagi Internet xizmatining ishlashini tushunadigan va uni optimallashtirishni xohlaydigan Linux dasturchisi (yoki tizim ma'muri) yadro tarmog'i stekining barcha parametrlari hujjatlarini qiziqish bilan o'qishi kerak. Ehtimol, u u erda saytga xos o'zgaruvchilarni topadi, bu nafaqat saytni tajovuzkorlardan himoya qilish, balki uning ishlashini tezlashtirishga yordam beradi.

Qo'rqmang!

Muvaffaqiyatli DDoS hujumlari kundan-kunga elektron tijoratni yo'q qiladi, ommaviy axborot vositalarini silkitadi va eng yirik to'lov tizimlarini bir zarba bilan nokaut qiladi. Millionlab Internet foydalanuvchilari muhim ma'lumotlarga kirish imkoniyatini yo'qotmoqda. Tahdid shoshilinch, shuning uchun biz unga qarshi turishimiz kerak. Uy vazifasini bajaring, qo'rqmang va boshingizni sovuting. Siz veb-saytingizga DDoS hujumiga duch keladigan birinchi va oxirgi emassiz va sizning bilimingiz va sog'lom fikringiz asosida hujum oqibatlarini minimal darajaga tushirish sizning qo'lingizda.



 


O'qing:



isnull() funksiyasidan foydalanish

isnull() funksiyasidan foydalanish

27.06.2017 1C so'rovlarida NULL, ISNULL() va IS NULL So'rov natijasida NULL NULL nima qiymat yo'qligini bildiradi (bu bo'sh emas...

Pedagogik vaziyatlarga oid keyslar Pedagogika fanidan keys topshiriqlari

Pedagogik vaziyatlarga oid keyslar Pedagogika fanidan keys topshiriqlari

ROSSIYA TA'LIM VA FAN VAZIRLIGI "Xakass davlati" oliy kasbiy ta'lim federal davlat ta'lim muassasasi ...

Pratchett qo'riqchisi. (S. Juzhunava tomonidan tarjima qilingan, A. Jikarentsev tahriri ostida) fb2 yuklab olish. Kitobdan iqtiboslar "Qo'riqchilar! Soqchilar! Terri Pratchett

Pratchett qo'riqchisi.  (S. Juzhunava tomonidan tarjima qilingan, A. Jikarentsev tahriri ostida) fb2 yuklab olish.  Kitobdan iqtiboslar

2-fevral, 2017-yil Soqchilar! Soqchilar! Terri Pratchett (Hozircha reytinglar yo'q) Sarlavha: Qo'riqchi! Soqchilar! Muallif: Terri Pratchett Yil: 1989 Janr: Xorijiy...

1s buxgalteriya hisobidagi nomenklatura 8

1s buxgalteriya hisobidagi nomenklatura 8

Buxgalteriya hisoblari qayerda o'zgaradi (1C Buxgalteriya 8.3, nashr 3.0) 2016-12-08T11:33:27+00:00 Buxgalterlar mendan qayerda... haqida so'rashadi.

tasma tasviri RSS