بچاءُ لاءِ DDoS: اسان ڪيئن ٿا ڪريون دٻاءُ ۽ لوڊ ٽيسٽ

بچاءُ لاءِ DDoS: اسان ڪيئن ٿا ڪريون دٻاءُ ۽ لوڊ ٽيسٽ

Variti بوٽس ۽ DDoS حملن جي خلاف تحفظ کي ترقي ڪري ٿو، ۽ پڻ دٻاء ۽ لوڊ جاچ ڪري ٿو. HighLoad++ 2018 ڪانفرنس ۾ اسان ٻڌايو ته وسيلن کي ڪيئن محفوظ ڪجي مختلف قسمن جي حملن کان. مختصر ۾: سسٽم جا حصا الڳ ڪريو، ڪلائوڊ سروسز ۽ سي ڊي اينز استعمال ڪريو، ۽ باقاعده تازه ڪاري ڪريو. پر توهان اڃا تائين خاص ڪمپنين کان سواء تحفظ کي هٿي ڏيڻ جي قابل نه هوندا :)

متن پڙهڻ کان اڳ، توهان مختصر خلاصا پڙهي سگهو ٿا ڪانفرنس جي ويب سائيٽ تي.
۽ جيڪڏھن توھان پڙھڻ پسند نٿا ڪريو يا صرف وڊيو ڏسڻ چاھيو ٿا، اسان جي رپورٽ جي رڪارڊنگ ھيٺ ڏنل آھي خراب ڪندڙ.

رپورٽ جي وڊيو رڪارڊنگ

ڪيتريون ئي ڪمپنيون اڳ ۾ ئي ڄاڻن ٿيون ته لوڊ ٽيسٽ ڪيئن ڪجي، پر سڀ نه ڪندا آهن دٻاء جي جاچ. اسان جا ڪجهه گراهڪ سمجهن ٿا ته انهن جي سائيٽ ناقابل برداشت آهي ڇو ته انهن وٽ هڪ اعلي لوڊ سسٽم آهي، ۽ اهو حملن کان چڱي طرح بچائيندو آهي. اسان ڏيکاريون ٿا ته اهو مڪمل طور تي سچ ناهي.
يقينن، ٽيسٽ ڪرڻ کان اڳ، اسان گراهڪ کان اجازت حاصل ڪندا آهيون، دستخط ٿيل ۽ اسٽامپ ٿيل، ۽ اسان جي مدد سان هڪ DDoS حملو ڪنهن تي نه ٿو ڪري سگهجي. جانچ هڪ وقت تي ڪئي وئي آهي جيڪو صارف طرفان چونڊيو ويو آهي، جڏهن هن جي وسيلن ڏانهن ٽرئفڪ گهٽ ۾ گهٽ آهي، ۽ رسائي جا مسئلا گراهڪن تي اثر انداز نه ٿيندا. ان کان علاوه، جيئن ته ڪجھھ ھميشه جاچ جي عمل دوران غلط ٿي سگھي ٿو، اسان وٽ صارف سان مسلسل رابطو آھي. اهو توهان کي نه رڳو حاصل ڪيل نتيجن جي رپورٽ ڪرڻ جي اجازت ڏئي ٿو، پر جاچ دوران ڪجهه تبديل ڪرڻ جي پڻ. جاچ جي مڪمل ٿيڻ تي، اسان هميشه هڪ رپورٽ ٺاهيندا آهيون جنهن ۾ اسان نشاندهي ڪيل نقصن جي نشاندهي ڪندا آهيون ۽ سائيٽ جي ڪمزورين کي ختم ڪرڻ لاءِ سفارشون ڏيندا آهيون.

اسان ڪيئن ڪم ڪري رهيا آهيون

جڏهن جاچ ڪريون ٿا، اسان هڪ botnet کي نقل ڪريون ٿا. جيئن ته اسان انهن گراهڪن سان ڪم ڪريون ٿا جيڪي اسان جي نيٽ ورڪن تي واقع نه آهن، انهي کي يقيني بڻائڻ لاءِ ته ٽيسٽ پهرين منٽ ۾ ختم نه ٿئي ڇاڪاڻ ته حدون يا تحفظ شروع ٿيڻ جي ڪري، اسان لوڊ فراهم ڪندا آهيون هڪ IP کان نه، پر اسان جي پنهنجي سب نيٽ تان. ان سان گڏ، هڪ اهم لوڊ ٺاهڻ لاء، اسان وٽ اسان جو پنهنجو ڪافي طاقتور ٽيسٽ سرور آهي.

پوسٽ ڪري ٿو

تمام گهڻو مطلب سٺو ناهي
گھٽ لوڊ اسان کي ناڪامي لاء وسيلن کي آڻي سگهون ٿا، بهتر. جيڪڏهن توهان ڪري سگهو ٿا سائيٽ کي ڪم ڪرڻ بند ڪري هڪ درخواست في سيڪنڊ تي، يا هڪ درخواست في منٽ، اهو تمام سٺو آهي. ڇاڪاڻ ته مطلب جي قانون موجب، استعمال ڪندڙ يا حملو ڪندڙ حادثاتي طور تي هن خاص خطري ۾ پئجي ويندا.

جزوي ناڪامي مڪمل ناڪامي کان بهتر آهي
اسان هميشه سسٽم کي مختلف بڻائڻ جي صلاح ڏيو ٿا. ان کان علاوه، اهو انهن کي جسماني سطح تي الڳ ڪرڻ جي قابل آهي، ۽ نه صرف ڪنٽينرائزيشن جي ذريعي. جسماني علحدگيءَ جي صورت ۾، جيتوڻيڪ سائيٽ تي ڪا شيءِ ناڪام ٿئي ٿي، اتي هڪ وڏو امڪان آهي ته اهو مڪمل طور تي ڪم ڪرڻ بند نه ڪندو، ۽ صارفين کي گهٽ ۾ گهٽ ڪارڪردگيءَ جي حصي تائين رسائي حاصل ٿيندي.

سٺي فن تعمير جي استحڪام جو بنياد آهي
وسيلن جي نقص رواداري ۽ حملن ۽ لوڊشيڊنگ کي منهن ڏيڻ جي صلاحيت کي ڊزائين اسٽيج تي، حقيقت ۾، نوٽ پيڊ ۾ پهريون فلو چارٽ ڊرائنگ جي اسٽيج تي رکڻ گهرجي. ڇاڪاڻ ته جيڪڏهن موتمار غلطيون پيدا ٿين ٿيون، مستقبل ۾ انهن کي درست ڪرڻ ممڪن آهي، پر اهو تمام ڏکيو آهي.

نه رڳو ڪوڊ سٺو هجڻ گهرجي، پر ترتيب پڻ
ڪيترن ئي ماڻهن جو خيال آهي ته هڪ سٺي ترقي ٽيم غلطي برداشت خدمت جي ضمانت آهي. هڪ سٺي ڊولپمينٽ ٽيم واقعي ضروري آهي، پر اتي پڻ سٺو عمل هجڻ گهرجي، سٺو DevOps. اهو آهي، اسان کي ماهرن جي ضرورت آهي جيڪي لينڪس ۽ نيٽ ورڪ کي صحيح طور تي ترتيب ڏين، nginx ۾ صحيح ترتيب لکندا، حدون مقرر ڪن، وغيره. ٻي صورت ۾، وسيلا صرف جانچ ۾ چڱي طرح ڪم ڪندو، ۽ ڪجهه نقطي تي پيداوار ۾ هر شيء ڀڄي ويندي.

لوڊ ۽ دٻاء جي جاچ جي وچ ۾ فرق
لوڊ ٽيسٽ توهان کي سسٽم جي ڪم جي حدن کي سڃاڻڻ جي اجازت ڏئي ٿي. اسٽريس ٽيسٽنگ جو مقصد سسٽم ۾ ڪمزورين کي ڳولڻ آهي ۽ هن سسٽم کي ٽوڙڻ لاءِ استعمال ڪيو ويندو آهي ۽ ڏسو ته اهو ڪجهه حصن جي ناڪامي جي عمل ۾ ڪيئن عمل ڪندو. انهي حالت ۾، لوڊ جي نوعيت عام طور تي صارف کي اڻڄاتل رهي ٿي ان کان اڳ جو دٻاء جي جاچ شروع ٿئي ٿي.

L7 حملن جي مخصوص خاصيتون

اسان عام طور تي لوڊ جي قسمن کي L7 ۽ L3 ۽ 4 سطحن تي لوڊ ۾ ورهائيندا آهيون. L7 ايپليڪيشن جي سطح تي هڪ لوڊ آهي، اڪثر ڪري اهو صرف HTTP جو مطلب آهي، پر اسان جو مطلب آهي TCP پروٽوڪول سطح تي ڪنهن به لوڊ.
L7 حملن ۾ ڪجهه مخصوص خاصيتون آهن. پهرين، اهي سڌو سنئون ايپليڪيشن ڏانهن ايندا، اهو آهي، اهو ممڪن ناهي ته اهي نيٽ ورڪ ذريعي ظاهر ڪيا ويندا. اهڙا حملا منطق کي استعمال ڪن ٿا، ۽ ان جي ڪري، اهي سي پي يو، ميموري، ڊسڪ، ڊيٽابيس ۽ ٻين وسيلن کي تمام مؤثر انداز سان ۽ ٿوري ٽرئفڪ سان استعمال ڪن ٿا.

HTTP سيلاب

ڪنهن به حملي جي صورت ۾، لوڊ کڻڻ کان وڌيڪ آسان بڻائي ٿو، ۽ L7 جي صورت ۾ اهو پڻ صحيح آهي. اهو هميشه آسان ناهي ته حملي واري ٽرئفڪ کي جائز ٽريفڪ کان فرق ڪرڻ، ۽ گهڻو ڪري اهو تعدد سان ٿي سگهي ٿو، پر جيڪڏهن هر شي صحيح طرح سان رٿابندي ڪئي وئي آهي، ته اهو لاگ ان مان سمجهڻ ناممڪن آهي ته حملو ڪٿي آهي ۽ ڪٿي جائز درخواستون آهن.
پهرين مثال طور، هڪ HTTP سيلاب حملي تي غور ڪريو. گراف ڏيکاري ٿو ته اهڙا حملا عام طور تي ڏاڍا طاقتور هوندا آهن؛ هيٺ ڏنل مثال ۾، درخواستن جو چوٽي نمبر 600 هزار في منٽ کان وڌي ويو.

بچاءُ لاءِ DDoS: اسان ڪيئن ٿا ڪريون دٻاءُ ۽ لوڊ ٽيسٽ

HTTP سيلاب لوڊ ٺاهڻ جو آسان طريقو آهي. عام طور تي، اهو ڪجهه قسم جي لوڊ جاچ وارو اوزار وٺندو آهي، جهڙوڪ ApacheBench، ۽ هڪ درخواست ۽ ٽارگيٽ سيٽ ڪري ٿو. اهڙي سادي طريقي سان، سرور جي ڪيشنگ ۾ هلڻ جو هڪ وڏو امڪان آهي، پر ان کي بائي پاس ڪرڻ آسان آهي. مثال طور، درخواست ۾ بي ترتيب واري تار شامل ڪرڻ، جيڪو سرور کي مسلسل تازو صفحي جي خدمت ڪرڻ لاء مجبور ڪندو.
انهي سان گڏ، لوڊ ٺاهڻ جي عمل ۾ صارف جي ايجنٽ جي باري ۾ نه وساريو. مشهور ٽيسٽنگ ٽولز جا ڪيترائي صارف ايجنٽ سسٽم جي منتظمين طرفان فلٽر ڪيا ويا آهن، ۽ انهي صورت ۾ لوڊ شايد پس منظر تائين نه پهچي سگهي. توھان برائوزر کان درخواست ۾ وڌيڪ يا گھٽ صحيح ھيڊر داخل ڪرڻ سان نتيجو بھتر ڪري سگھو ٿا.
جيئن ته HTTP سيلاب حملا سادو آهن، انهن وٽ پڻ انهن جا نقصان آهن. پهرين، لوڊ ٺاهڻ لاء وڏي مقدار جي طاقت جي ضرورت آهي. ٻيو، اهڙن حملن کي ڳولڻ بلڪل آسان آهي، خاص طور تي جيڪڏهن اهي هڪ پتي کان ايندا آهن. نتيجي طور، درخواستون فوري طور تي فلٽر ٿيڻ شروع ٿين ٿيون يا ته سسٽم منتظمين طرفان يا فراهم ڪندڙ جي سطح تي.

ڇا ڳولڻ لاء

ڪارڪردگي کي وڃائڻ کان سواء في سيڪنڊ جي درخواستن جو تعداد گھٽائڻ لاء، توهان کي ٿورو تخيل ڏيکارڻ ۽ سائيٽ کي ڳولڻ جي ضرورت آهي. ان ڪري، توھان لوڊ ڪري سگھو ٿا نه رڳو چينل يا سرور، پر ايپليڪيشن جا انفرادي حصا، مثال طور، ڊيٽابيس يا فائل سسٽم. توھان پڻ سائيٽ تي جڳھون ڳولي سگھو ٿا جيڪي وڏا حساب ڪن ٿا: حساب ڪندڙ، مصنوعات جي چونڊ صفحا، وغيره. آخرڪار، اهو اڪثر ٿئي ٿو ته سائيٽ تي ڪجهه قسم جي PHP اسڪرپٽ آهي جيڪا ڪيترن ئي لکن لائينن جو صفحو ٺاهي ٿي. اهڙي اسڪرپٽ پڻ خاص طور تي سرور کي لوڊ ڪري ٿي ۽ حملي لاءِ ٽارگيٽ بڻجي سگهي ٿي.

ڪٿي ڳولڻ

جڏهن اسان جاچ ڪرڻ کان پهريان هڪ وسيلو اسڪين ڪريون ٿا، اسان پهريون ڀيرو ڏسون ٿا، يقينا، سائيٽ تي. اسان سڀني قسمن جي ان پٽ فيلڊز، ڳري فائلن کي ڳولي رهيا آهيون - عام طور تي، هر شيء جيڪا وسيلن لاء مسئلا پيدا ڪري سگهي ٿي ۽ ان جي آپريشن کي سست ڪري سگهي ٿي. گوگل ڪروم ۽ فائر فاڪس ۾ بينال ڊولپمينٽ اوزار هتي مدد ڪن ٿا، صفحي جي جوابي وقت ڏيکاريندي.
اسان پڻ ذيلي ڊومينز اسڪين ڪريون ٿا. مثال طور، اتي ھڪڙو خاص آن لائن اسٽور آھي، abc.com، ۽ اھو ھڪڙو ذيلي ڊومين آھي admin.abc.com. گهڻو ڪري، هي اختيار سان هڪ منتظم پينل آهي، پر جيڪڏهن توهان ان تي لوڊ ڪيو، اهو بنيادي وسيلن لاء مسئلا پيدا ڪري سگهي ٿو.
سائيٽ کي شايد ذيلي ڊومين api.abc.com هجي. گهڻو ڪري، هي موبائل ايپليڪيشنن لاء هڪ وسيلو آهي. ايپليڪيشن ايپ اسٽور يا گوگل پلي ۾ ڳولهي سگهجي ٿي، هڪ خاص رسائي پوائنٽ نصب ڪريو، API کي ٽوڙيو ۽ ٽيسٽ اڪائونٽ رجسٽر ڪريو. مسئلو اهو آهي ته ماڻهو اڪثر سوچيندا آهن ته اختيار جي طرفان محفوظ ڪيل ڪا به شيءِ خدمت جي حملن کان انڪار ڪرڻ کان محفوظ آهي. فرض ڪيو، اختيار ڏيڻ بهترين ڪيپچا آهي، پر اهو ناهي. اهو 10-20 ٽيسٽ اڪائونٽ ٺاهڻ آسان آهي، پر انهن کي ٺاهڻ سان، اسان پيچيده ۽ اڻ ڄاتل ڪارڪردگي تائين رسائي حاصل ڪندا آهيون.
قدرتي طور تي، اسان تاريخ تي نظر رکون ٿا، robots.txt ۽ WebArchive تي، ViewDNS، ۽ وسيلن جي پراڻن نسخن کي ڏسو. ڪڏهن ڪڏهن ائين ٿئي ٿو ته ڊولپرز رول آئوٽ ڪيو آهي، چئو، mail2.yandex.net، پر پراڻو ورزن، mail.yandex.net، باقي رهي ٿو. هي mail.yandex.net هاڻي سهڪار نه آهي، ترقي جا وسيلا ان لاءِ مختص نه ڪيا ويا آهن، پر اهو ڊيٽابيس کي استعمال ڪرڻ جاري رکي ٿو. انهي جي مطابق، پراڻي ورزن کي استعمال ڪندي، توهان مؤثر طريقي سان پس منظر جي وسيلن کي استعمال ڪري سگهو ٿا ۽ هر شي جيڪا ترتيب جي پويان آهي. يقينن، اهو هميشه نه ٿيندو آهي، پر اسان اڃا تائين گهڻو ڪري ان سان ملن ٿا.
قدرتي طور تي، اسان سڀني درخواستن جي ماپن ۽ ڪوڪيز جي جوڙجڪ جو تجزيو ڪيو. توهان ڪري سگهو ٿا، چئو، ڪوڪي جي اندر JSON صف ۾ ڪجهه قدر ڊمپ ڪريو، تمام گھڻا nesting ٺاهي ۽ وسيلن کي غير معقول طور تي ڊگهي وقت تائين ڪم ڪري سگهو ٿا.

ڳولها لوڊ

پهرين شيء جيڪا ذهن ۾ اچي ٿي جڏهن هڪ سائيٽ جي تحقيق ڪرڻ آهي ڊيٽابيس کي لوڊ ڪرڻ، ڇاڪاڻ ته تقريبا هر ڪنهن جي ڳولا آهي، ۽ تقريبن هر ڪنهن لاء، بدقسمتي سان، اهو خراب طور تي محفوظ آهي. ڪجهه سببن لاء، ڊولپرز ڳولڻ لاء ڪافي ڌيان نه ڏيندا آهن. پر هتي هڪ سفارش آهي - توهان کي ساڳئي قسم جون درخواستون نه ڪرڻ گهرجن، ڇو ته توهان ڪيشنگ کي منهن ڏئي سگهو ٿا، جيئن HTTP سيلاب جي صورت ۾ آهي.
ڊيٽابيس ڏانهن بي ترتيب سوالن ٺاهڻ پڻ هميشه اثرائتو ناهي. اهو تمام بهتر آهي ته ڳولا سان لاڳاپيل لفظن جي هڪ فهرست ٺاهيو. جيڪڏهن اسان هڪ آن لائن اسٽور جي مثال ڏانهن موٽون ٿا: اچو ته چئو ته سائيٽ ڪار ٽائر وڪرو ڪري ٿي ۽ توهان کي ٽائر جي ريڊيس، ڪار جي قسم ۽ ٻين پيٽرولن کي سيٽ ڪرڻ جي اجازت ڏئي ٿي. ان مطابق، لاڳاپيل لفظن جو مجموعو ڊيٽابيس کي وڌيڪ پيچيده حالتن ۾ ڪم ڪرڻ تي مجبور ڪندو.
ان کان علاوه، اهو صفحو استعمال ڪرڻ جي قابل آهي: ڳولا جي نتيجن جي پڇاڙيء واري صفحي کي واپس ڪرڻ لاء ڳولا جي ڀيٽ ۾ وڌيڪ ڏکيو آهي. اهو آهي، صفحو جي مدد سان توهان ٿورڙي لوڊ کي متنوع ڪري سگهو ٿا.
هيٺ ڏنل مثال سرچ لوڊ ڏيکاري ٿو. اهو ڏسي سگهجي ٿو ته ٽيسٽ جي پهرين سيڪنڊ کان في سيڪنڊ ڏهه درخواستن جي رفتار تي، سائيٽ هيٺ ٿي وئي ۽ جواب نه ڏنو.

بچاءُ لاءِ DDoS: اسان ڪيئن ٿا ڪريون دٻاءُ ۽ لوڊ ٽيسٽ

جيڪڏهن ڪا ڳولا نه آهي؟

جيڪڏهن ڪا ڳولها نه آهي، ان جو مطلب اهو ناهي ته سائيٽ ۾ ٻيا نقصانڪار ان پٽ فيلڊ شامل نه آهن. هي ميدان اختيار ٿي سگهي ٿو. اڄڪلهه، ڊولپرز لاگ ان ڊيٽابيس کي اندردخش ميز حملي کان بچائڻ لاءِ پيچيده هيش ٺاهڻ پسند ڪن ٿا. اهو سٺو آهي، پر اهڙيون هيش تمام گهڻو سي پي يو وسيلن کي استعمال ڪن ٿا. غلط اختيارين جو هڪ وڏو وهڪرو پروسيسر جي ناڪامي جي ڪري ٿي، ۽ نتيجي طور، سائيٽ ڪم ڪرڻ بند ڪري ٿي.
تبصرن ۽ راءِ لاءِ هر قسم جي فارمن جي سائيٽ تي موجودگي تمام وڏا متن موڪلڻ جو هڪ سبب آهي يا صرف هڪ وڏي ٻوڏ پيدا ڪري ٿي. ڪڏهن سائيٽون منسلڪ فائلون قبول ڪن ٿيون، بشمول gzip فارميٽ ۾. انهي حالت ۾، اسان هڪ 1TB فائل وٺون ٿا، ان کي ڪيترن ئي بائيٽس يا ڪلوبائٽس تائين gzip استعمال ڪندي ۽ ان کي سائيٽ ڏانهن موڪليو. ان کان پوء ان کي unzipped آهي ۽ هڪ تمام دلچسپ اثر حاصل آهي.

باقي آئي

مان ٿورڙو ڌيان ڏيڻ چاهيان ٿو اهڙين مشهور خدمتن تي باقي API. باقي API کي محفوظ ڪرڻ هڪ باقاعده ويب سائيٽ کان وڌيڪ ڏکيو آهي. پاسورڊ برٽ فورس ۽ ٻين ناجائز سرگرمين جي خلاف تحفظ جا ننڍا طريقا به باقي API لاءِ ڪم نٿا ڪن.
باقي API کي ٽوڙڻ تمام آسان آهي ڇاڪاڻ ته اهو سڌو ڊيٽابيس تائين رسائي ڪري ٿو. ساڳئي وقت، اهڙي خدمت جي ناڪامي ڪاروبار لاء ڪافي سنجيده نتيجا داخل ڪري ٿو. حقيقت اها آهي ته باقي API عام طور تي استعمال ڪيو ويندو آهي نه رڳو مکيه ويب سائيٽ لاء، پر پڻ موبائل ايپليڪيشن ۽ ڪجهه اندروني ڪاروباري وسيلن لاء. ۽ جيڪڏهن اهو سڀ ڪجهه ٿئي ٿو، ته اهو اثر هڪ سادي ويب سائيٽ جي ناڪامي جي صورت ۾ تمام گهڻو مضبوط آهي.

ڳري مواد لوڊ ڪندي

جيڪڏھن اسان کي پيش ڪيو وڃي ٿو ڪجھ عام ھڪڙي صفحي واري ايپليڪيشن، لينڊنگ پيج، يا ڪاروباري ڪارڊ ويب سائيٽ کي جانچڻ لاءِ جنھن ۾ پيچيده ڪارڪردگي نه آھي، اسان ڳري مواد ڳوليندا آھيون. مثال طور، وڏيون تصويرون جيڪي سرور موڪلي ٿو، بائنري فائلون، پي ڊي ايف دستاويز - اسان هي سڀ ڊائون لوڊ ڪرڻ جي ڪوشش ڪندا آهيون. اهڙا تجربا فائل سسٽم کي چڱي طرح لوڊ ڪن ٿا ۽ چينلن کي بند ڪن ٿا، ۽ تنهن ڪري اثرائتو آهن. اهو آهي، جيتوڻيڪ جيڪڏهن توهان سرور کي هيٺ نه رکون ٿا، گهٽ رفتار تي هڪ وڏي فائل ڊائون لوڊ ڪندي، توهان صرف ٽارگيٽ سرور جي چينل کي بند ڪري ڇڏيندا ۽ پوء خدمت کان انڪار ٿيندو.
اهڙي آزمائش جو هڪ مثال ڏيکاري ٿو ته 30 RPS جي رفتار تي سائيٽ جواب ڏيڻ بند ڪيو يا 500 هين سرور جي غلطي پيدا ڪئي.

بچاءُ لاءِ DDoS: اسان ڪيئن ٿا ڪريون دٻاءُ ۽ لوڊ ٽيسٽ

سرور قائم ڪرڻ جي باري ۾ نه وساريو. توهان اڪثر ڳولي سگهو ٿا ته هڪ شخص هڪ ورچوئل مشين خريد ڪيو، اتي اپاچي نصب ڪيو، هر شي کي ڊفالٽ طور تي ترتيب ڏنو، هڪ PHP ايپليڪيشن نصب ڪيو، ۽ هيٺ توهان نتيجو ڏسي سگهو ٿا.

بچاءُ لاءِ DDoS: اسان ڪيئن ٿا ڪريون دٻاءُ ۽ لوڊ ٽيسٽ

هتي لوڊ روٽ ڏانهن ويو ۽ صرف 10 RPS جي رقم. اسان 5 منٽ انتظار ڪيو ۽ سرور خراب ٿي ويو. اهو سچ آهي ته اهو مڪمل طور تي معلوم نه آهي ته هو ڇو ڪري پيو، پر اتي هڪ فرض آهي ته هن کي صرف تمام گهڻي يادگيري هئي ۽ ان ڪري جواب ڏيڻ بند ڪيو.

موج جي بنياد تي

گذريل سال يا ٻن ۾، موج حملا ڪافي مقبول ٿي چڪا آهن. اهو ان حقيقت جي ڪري آهي ته ڪيتريون ئي تنظيمون خريد ڪن ٿيون هارڊويئر جا ڪجهه ٽڪرا DDoS تحفظ لاءِ، جن کي حملي کي فلٽر ڪرڻ شروع ڪرڻ لاءِ انگ اکر گڏ ڪرڻ لاءِ هڪ خاص وقت جي ضرورت آهي. اهو آهي، اهي پهرين 30-40 سيڪنڊن ۾ حملي کي فلٽر نٿا ڪن، ڇاڪاڻ ته اهي ڊيٽا گڏ ڪن ٿا ۽ سکن ٿا. انهي جي مطابق، انهن 30-40 سيڪنڊن ۾ توهان سائيٽ تي تمام گهڻو لانچ ڪري سگهو ٿا ته وسيلن هڪ ڊگهي وقت تائين ڪوڙ ڪندو جيستائين سڀني درخواستن کي صاف نه ڪيو وڃي.
هيٺ ڏنل حملي جي صورت ۾، 10 منٽن جو وقفو هو، جنهن کان پوء حملي جو هڪ نئون، تبديل ٿيل حصو آيو.

بچاءُ لاءِ DDoS: اسان ڪيئن ٿا ڪريون دٻاءُ ۽ لوڊ ٽيسٽ

اهو آهي، دفاع سکيو، فلٽر ڪرڻ شروع ڪيو، پر حملي جو هڪ نئون، مڪمل طور تي مختلف حصو آيو، ۽ دفاع ٻيهر سکڻ شروع ڪيو. حقيقت ۾، فلٽرنگ ڪم ڪرڻ بند ڪري ٿو، تحفظ غير موثر ٿي ويندو آهي، ۽ سائيٽ دستياب ناهي.
موج حملن جي چوٽي تي تمام اعلي قدرن جي خاصيت آهي، اهو L7 جي صورت ۾ في سيڪنڊ هڪ لک يا هڪ ملين درخواستن تائين پهچي سگهي ٿو. جيڪڏهن اسان L3 ۽ 4 جي باري ۾ ڳالهايون ٿا، ته پوءِ ٿي سگهي ٿو سوين گيگا بائيٽ ٽريفڪ، يا، مطابق، سوين ايم پي ايس، جيڪڏهن توهان پيڪن ۾ ڳڻيو.
اهڙين حملن سان مسئلو هم وقت سازي آهي. حملا هڪ botnet کان ايندا آهن ۽ هڪ تمام وڏي هڪ وقت واري اسپيڪ ٺاهڻ لاءِ اعليٰ درجي جي هم وقت سازي جي ضرورت هوندي آهي. ۽ هي همراه هميشه ڪم نه ڪندو آهي: ڪڏهن ڪڏهن پيداوار ڪنهن قسم جي پارابولڪ چوٽي آهي، جيڪا بلڪه ڏکوئيندڙ نظر اچي ٿي.

نه صرف HTTP

L7 تي HTTP کان علاوه، اسان ٻين پروٽوڪول کي استحصال ڪرڻ چاهيندا آهيون. ضابطي جي طور تي، هڪ باقاعده ويب سائيٽ، خاص طور تي هڪ باقاعده ميزباني، ميل پروٽوڪول ۽ MySQL ٻاهر نڪرندي آهي. ميل پروٽوڪول ڊيٽابيس جي ڀيٽ ۾ گهٽ لوڊ ڪرڻ جي تابع آهن، پر اهي پڻ ڪافي موثر طريقي سان لوڊ ڪري سگھجن ٿيون ۽ سرور تي اوورلوڊ ٿيل سي پي يو سان ختم ٿي سگهن ٿيون.
اسان 2016 SSH جي ڪمزوري کي استعمال ڪندي ڪافي ڪامياب هئاسين. ھاڻي ھي ڪمزوري تقريبن ھر ڪنھن لاءِ مقرر ڪئي وئي آھي، پر ھن جو مطلب اھو نھ آھي ته لوڊ SSH ۾ جمع نه ٿو ڪري سگھجي. ڪري. هتي صرف اختيارين جو هڪ وڏو لوڊ آهي، SSH سرور تي تقريبا سڄي سي پي يو کي کائي ٿو، ۽ پوء ويب سائيٽ هڪ يا ٻه درخواستن کان في سيڪنڊ کان ختم ٿي ويندي آهي. ان مطابق، لاگن جي بنياد تي اهي هڪ يا ٻه درخواستون جائز لوڊ کان ڌار نه ٿي ڪري سگهجن.
ڪيترائي ڪنيڪشن جيڪي اسان سرورز ۾ کوليون ٿا اهي پڻ لاڳاپيل آهن. اڳي، اپاچي هن جو ڏوهه هو، هاڻي نينڪس اصل ۾ هن کان متاثر ٿئي ٿو، ڇاڪاڻ ته اهو اڪثر ڪري ڊفالٽ ترتيب ڏنل آهي. ڪنيڪشن جو تعداد جيڪو nginx کليل رکي سگھي ٿو محدود آھي، تنھنڪري اسان ڪنيڪشن جي ھن نمبر کي کوليندا آھيون، nginx هاڻي ڪو نئون ڪنيڪشن قبول نه ڪندو، ۽ نتيجي طور سائيٽ ڪم نه ڪندي.
اسان جي ٽيسٽ ڪلسٽر وٽ ڪافي سي پي يو آھي SSL ھٿ شيڪ تي حملو ڪرڻ لاءِ. اصول ۾، جيئن مشق ڏيکاري ٿو، botnets ڪڏهن ڪڏهن اهو ڪرڻ پسند ڪن ٿا. هڪ طرف، اهو واضح آهي ته توهان SSL کان سواء نٿا ڪري سگهو، ڇاڪاڻ ته گوگل نتيجا، درجه بندي، سيڪيورٽي. ٻئي طرف، SSL بدقسمتي سان هڪ سي پي يو مسئلو آهي.

L3&4

جڏهن اسان L3 ۽ 4 سطح تي حملي بابت ڳالهايو ٿا، اسان عام طور تي لنڪ جي سطح تي حملي بابت ڳالهائي رهيا آهيون. اهڙو لوڊ تقريباً هميشه جائز هڪ کان ڌار ڪري سگهجي ٿو، جيستائين اهو SYN-ٻوڏ جو حملو نه هجي. سيڪيورٽي اوزارن لاءِ SYN-ٻوڏ جي حملن سان مسئلو انهن جو وڏو مقدار آهي. وڌ ۾ وڌ L3 ۽ 4 قدر 1,5-2 Tbit/s هئي. اهڙي قسم جي ٽريفڪ کي پروسيس ڪرڻ تمام ڏکيو آهي جيتوڻيڪ وڏين ڪمپنين لاءِ، بشمول Oracle ۽ گوگل.
SYN ۽ SYN-ACK پيڪيٽ آهن جيڪي ڪنيڪشن قائم ڪرڻ وقت استعمال ڪيا ويندا آهن. تنهن ڪري، SYN-ٻوڏ کي جائز لوڊ کان فرق ڪرڻ ڏکيو آهي: اهو واضح ناهي ته اهو هڪ SYN آهي جيڪو ڪنيڪشن قائم ڪرڻ لاءِ آيو آهي، يا ٻوڏ جو حصو.

UDP-ٻوڏ

عام طور تي، حملي آورن وٽ اهي صلاحيتون نه هونديون آهن جيڪي اسان وٽ آهن، تنهنڪري حملن کي منظم ڪرڻ لاءِ استعمال ڪري سگهجي ٿو. اهو آهي، حملو ڪندڙ انٽرنيٽ کي اسڪين ڪري ٿو ۽ ڳولي ٿو يا ته خطرناڪ يا غلط ترتيب ڏنل سرورز، مثال طور، هڪ SYN پيڪيٽ جي جواب ۾، ٽن SYN-ACKs سان جواب ڏيو. ٽارگيٽ سرور جي ايڊريس مان ماخذ پتي کي اسپف ڪرڻ سان، اهو ممڪن آهي ته طاقت کي وڌائي، چئو، ٽي ڀيرا هڪ واحد پيڪٽ سان ۽ ٽريفڪ کي متاثر ڏانهن منتقل ڪيو وڃي.

بچاءُ لاءِ DDoS: اسان ڪيئن ٿا ڪريون دٻاءُ ۽ لوڊ ٽيسٽ

amplifications سان مسئلو اهو آهي ته انهن کي ڳولڻ ڏکيو آهي. تازو مثالن ۾ شامل آهن حساس ڪيس جي حساس يادگيري جو. ان سان گڏ، هاڻي اتي تمام گهڻيون IoT ڊوائيسز، IP ڪئميرا آهن، جيڪي پڻ اڪثر ڪري ڊفالٽ طور تي ترتيب ڏنل آهن، ۽ ڊفالٽ طور تي اهي غلط ترتيب ڏنل آهن، اهو ئي سبب آهي ته حملي آور اڪثر ڪري اهڙن ڊوائيسز ذريعي حملا ڪندا آهن.

بچاءُ لاءِ DDoS: اسان ڪيئن ٿا ڪريون دٻاءُ ۽ لوڊ ٽيسٽ

ڏکيو SYN-ٻوڏ

SYN-ٻوڏ شايد ڊولپر جي نقطي نظر کان حملي جو سڀ کان وڌيڪ دلچسپ قسم آهي. مسئلو اهو آهي ته سسٽم ايڊمنسٽريٽر اڪثر ڪري IP بلاڪنگ کي تحفظ لاءِ استعمال ڪندا آهن. ان کان علاوه، IP بلاڪنگ نه رڳو سسٽم منتظمين کي متاثر ڪري ٿو جيڪي اسڪرپٽ استعمال ڪندي ڪم ڪن ٿا، پر بدقسمتي سان، ڪجهه سيڪيورٽي سسٽم جيڪي تمام پئسن لاء خريد ڪيا ويا آهن.
اهو طريقو هڪ آفت ۾ تبديل ٿي سگهي ٿو، ڇاڪاڻ ته جيڪڏهن حملو ڪندڙ IP پتي کي تبديل ڪندا، ڪمپني پنهنجي پنهنجي سبٽ کي بلاڪ ڪندو. جڏهن فائر وال پنهنجي ڪلستر کي بلاڪ ڪري ٿو، ٻاھر نڪرندو خارجي رابطي ۾ ناڪام ٿيندو ۽ وسيلو ناڪام ٿيندو.
ان کان سواء، اهو توهان جي پنهنجي نيٽ ورڪ کي بلاڪ ڪرڻ ڏکيو ناهي. جيڪڏهن ڪلائنٽ جي آفيس وٽ وائي فائي نيٽ ورڪ آهي، يا جيڪڏهن وسيلن جي ڪارڪردگي مختلف مانيٽرنگ سسٽم استعمال ڪندي ماپي ويندي آهي، ته پوءِ اسين هن مانيٽرنگ سسٽم يا ڪلائنٽ جي آفيس وائي فائي جو IP پتو وٺون ٿا ۽ ان کي ماخذ طور استعمال ڪريون ٿا. آخر ۾، وسيلو دستياب ٿيڻ لڳي، پر ٽارگيٽ IP پتي کي بلاڪ ڪيو ويو آهي. اهڙيء طرح، هاء لوڊ ڪانفرنس جو وائي فائي نيٽ ورڪ، جتي ڪمپني جي نئين پراڊڪٽ پيش ڪئي پئي وڃي، بلاڪ ٿي سگهي ٿي، ۽ اهو ڪجهه ڪاروباري ۽ اقتصادي خرچن ۾ شامل آهي.
جاچ دوران، اسان ڪنهن به خارجي وسيلن سان ميمڪيچ ذريعي ايمپليفڪيشن استعمال نٿا ڪري سگھون، ڇاڪاڻ ته صرف اجازت ڏنل IP پتي تي ٽرئفڪ موڪلڻ جا معاهدا آهن. ان جي مطابق، اسان SYN ۽ SYN-ACK ذريعي واڌارو استعمال ڪندا آهيون، جڏهن سسٽم هڪ SYN کي ٻن يا ٽن SYN-ACKs سان موڪلڻ جو جواب ڏئي ٿو، ۽ ان پٽ تي حملي کي ٻه يا ٽي ڀيرا وڌايو ويندو آهي.

اوزار

L7 ڪم لوڊ لاءِ استعمال ٿيندڙ مکيه اوزارن مان ھڪڙو آھي Yandex-tank. خاص طور تي، هڪ پريت کي بندوق طور استعمال ڪيو ويندو آهي، ان سان گڏ ڪارٽريز ٺاهڻ ۽ نتيجن جي تجزيو لاءِ ڪيترائي اسڪرپٽ آهن.
Tcpdump استعمال ڪيو ويندو آھي نيٽ ورڪ ٽرئفڪ جو تجزيو ڪرڻ لاءِ، ۽ Nmap استعمال ڪيو ويندو آھي سرور جو تجزيو ڪرڻ لاءِ. L3 ۽ 4 سطح تي لوڊ پيدا ڪرڻ لاءِ، OpenSSL ۽ DPDK لائبريري سان گڏ اسان جو پنهنجو جادو استعمال ڪيو ويو آهي. DPDK Intel مان هڪ لائبريري آهي جيڪا توهان کي اجازت ڏئي ٿي نيٽ ورڪ انٽرفيس سان ڪم ڪرڻ جي ذريعي لينڪس اسٽيڪ کي پاس ڪندي، انهي سان ڪارڪردگي وڌائي ٿي. قدرتي طور تي، اسان DPDK استعمال ڪندا آهيون نه رڳو L3 ۽ 4 جي سطح تي، پر پڻ L7 سطح تي، ڇاڪاڻ ته اها اسان کي اجازت ڏئي ٿي هڪ تمام گهڻي لوڊ وهڪري پيدا ڪرڻ جي، هڪ مشين مان في سيڪنڊ ڪيترن ئي ملين درخواستن جي حد اندر.
اسان ڪجھ ٽريفڪ جنريٽر ۽ خاص اوزار پڻ استعمال ڪندا آھيون جيڪي اسان مخصوص ٽيسٽن لاءِ لکندا آھيون. جيڪڏهن اسان SSH جي هيٺان ڪمزوري کي ياد ڪريون ٿا، ته مٿين سيٽ کي استحصال نٿو ڪري سگهجي. جيڪڏهن اسان ميل پروٽوڪول تي حملو ڪريون ٿا، اسان ميل يوٽيلٽيز وٺون ٿا يا انهن تي لکت لکون ٿا.

پهچڻ

نتيجي ۾ مان چوڻ چاهيان ٿو:

  • کلاسک لوڊ جاچ جي اضافي ۾، اهو ضروري آهي ته دٻاء جي جاچ ڪرڻ لاء. اسان وٽ ھڪڙو حقيقي مثال آھي جتي ھڪڙي پارٽنر جي ذيلي ٺيڪيدار صرف لوڊ ٽيسٽ ڪئي. اهو ظاهر ڪيو ته وسيلن کي عام لوڊ برداشت ڪري سگهي ٿو. پر پوءِ هڪ غير معمولي لوڊ ظاهر ٿيو، سائيٽ جي سياحن وسيلن کي ٿورو مختلف طريقي سان استعمال ڪرڻ شروع ڪيو، ۽ نتيجي طور ذيلي ٺيڪيدار هيٺ لٿو. ان ڪري، اهو نقصانڪارن کي ڳولڻ جي قابل آهي جيتوڻيڪ توهان اڳ ۾ ئي DDoS حملن کان محفوظ آهيو.
  • اهو ضروري آهي ته سسٽم جي ڪجهه حصن کي ٻين کان الڳ ڪرڻ. جيڪڏهن توهان وٽ ڳولا آهي، توهان کي ان کي الڳ مشين ڏانهن منتقل ڪرڻ جي ضرورت آهي، اهو آهي، ڊڪر ڏانهن به نه. ڇو ته جيڪڏهن ڳولا يا اختيار ناڪام ٿئي ٿي، گهٽ ۾ گهٽ ڪجهه ڪم جاري رهندو. آن لائن اسٽور جي صورت ۾، صارفين کي فهرست ۾ پراڊڪٽس ڳولڻ جاري رکندا، ايگريگيٽر کان وڃو، خريد ڪريو جيڪڏھن اھي اڳ ۾ ئي بااختيار آھن، يا OAuth2 ذريعي اختيار ڪندا.
  • هر قسم جي بادل خدمتن کي نظرانداز نه ڪريو.
  • CDN استعمال ڪريو نه رڳو نيٽ ورڪ جي دير کي بهتر ڪرڻ لاء، پر چينل جي تڪليف تي حملن جي خلاف تحفظ جي طور تي ۽ صرف جامد ٽرئفڪ ۾ ٻوڏ.
  • خاص تحفظ جي خدمتن کي استعمال ڪرڻ ضروري آهي. توهان پاڻ کي چينل جي سطح تي L3 ۽ 4 حملن کان بچائي نٿا سگهو، ڇو ته توهان وٽ گهڻو ڪري صرف ڪافي چينل نه آهي. توهان L7 حملن کي منهن ڏيڻ جو به ممڪن ناهي، ڇاڪاڻ ته اهي تمام وڏا ٿي سگهن ٿا. ان سان گڏ، ننڍڙن حملن جي ڳولا اڃا تائين خاص خدمتن، خاص الورورٿم جو امتياز آهي.
  • باقاعده اپڊيٽ ڪريو. اهو لاڳو ٿئي ٿو نه رڳو ڪرنل تي، پر SSH ڊيمن تي پڻ، خاص طور تي جيڪڏهن توهان انهن کي ٻاهران کليل هجي. اصول ۾، هر شيء کي اپڊيٽ ڪرڻ جي ضرورت آهي، ڇو ته توهان ممڪن ناهي ته توهان پنهنجي پاڻ تي ڪجهه نقصانات کي ٽريڪ ڪرڻ جي قابل هوندا.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو