DDoS چیست 🔒 راه های جلوگیری از حملات DDos
حملات DDos یکی از مشکلات جدی است که هکرها علاقه زیادی به انجام آن دارند. حملات DDos منجر به ناتوانی سرویس در ارائه خدمات عادی می شوند. آنها با ایجاد بار اضافی برای سیستم شما مانع دسترسی کاربران به آن می شوند. اگر میخواهید بدانید حملات DDos چیست و راه های پیشگیری و مقابله با آنها چگونه است، در این مقاله همراه ما باشید.
قبلا در مورد انواع روش های هک صحبت کردیم. تا به حال با روشهای مقابله با حملات SQL Injection، XSS و بروتفورس آشنا شدهاید. در این مقاله به سراغ یکی دیگر از روشهای رایج نفوذ، یعنی حملات DOS و DDoS میرویم. در این نوع حملات، هکر یا مهاجم با ارسال حجم عظیمی از درخواست به سمت سیستم هدف، بار اضافی بر آن اعمال میکند و باعث از دسترس خارج شدن سیستم میشود.
در ادامه، ابتدا به بررسی مفهوم حملات DDoS میپردازیم این که DDoS چیست؛ سپس انواع مختلف این حملات را شرح میدهیم و در نهایت به راه های جلوگیری از حملات DDos و اقدامات پس از این حملات می پردازیم.
حملات DDoS چیست؟
حملات DDoS از دستگاه هایی اعمال می شود که اصطلاحا به آنها زامبی گفته می شود. حمله DOS از یک سیستم ولی حمله DDoS از چند سیستم انجام می شوند. حملات DDoS دستگاه های متصل به شبکه اینترنت را هدف قرار می دهد تا برای آنها ترافیک زیادی را ارسال کنند. در طی حملات DDoS هکر تلاش می کند یک سرویس آنلاین را برای کاربران دیگر قطع کند یا به طور موقت آن را غیر قابل دسترس کند. همچنین ممکن است سیستم شما را کنترل کند و از آن برای نفوذ به سایر سرور ها استفاده کند.
تفاوت حملات Dos و DDos
فرق بین DDoS و DoS چیست؟
در دنیای دیجیتال، وبسایتها نقش حیاتی در برقراری ارتباط و انجام کسبوکار دارند. اما این فضا همواره در معرض تهدیداتی مانند حملات سایبری قرار دارد. دو اصطلاح رایج در این حوزه، DoS و DDoS هستند که هرچند شباهتهایی دارند، اما ماهیت و عملکرد آنها کاملاً متفاوت است. در این مقاله به بررسی تفاوتهای کلیدی میان DoS و DDoS میپردازیم.
DoS (Denial-of-Service):
- حمله تک نفره: یک حمله DoS توسط یک دستگاه یا یک حملهکننده انجام میشود. هکر با استفاده از این دستگاه، حجم عظیمی از درخواستهای جعلی را به سمت یک سایت ارسال میکند.
- انواع حملات DoS: روشهای مختلفی برای انجام حملات DoS وجود دارد، اما رایجترین آنها عبارتند از حمله سیلابی (ارسال تعداد زیادی از بستههای بیمصرف)، حمله مصرف منابع (اشغال کردن منابع سرور با درخواستهای طولانیمدت) و حمله brute-force (حدس زدن مداوم رمز عبور).
- آثار DoS: حمله DoS باعث کندی یا از کار افتادن موقت وبسایت یا سرویس مورد نظر میشود. با رفع شدن حمله، وبسایت مجدداً در دسترس قرار خواد گرفت.
DDoS (Distributed Denial-of-Service):
- حمله گسترده: یک حمله DDoS توسط شبکهای از دستگاههای آلوده انجام میشود. هکر کنترل این شبکه را به دست گرفته و از طریق دستگاههای آلوده به سایت مورد نظر ترافیک جدیدی وارد میکند.
- قدرت تخریب بالا: حملات DDoS بسیار قدرتمندتر از حملات DoS هستند. حجم عظیم ترافیک ارسالی میتواند سرور را از کار انداخته و وبسایت را به مدت طولانی از دسترس خارج کند.
- ردیابی دشوار: ردیابی منشأ اصلی حمله DDoS به دلیل استفاده از شبکهای از دستگاهها، دشوارتر از حملات DoS است.
انواع حملات DDoS
در بخش قبل گفتیم حملات DDoS چیست و چه فرقی با حملات Dos دارد اکنون همراه ما باشید تا به صورت کامل به انواع حملات Ddos بپردازیم:
✔️ حملات بر اساس حجم
این حملات که اصطلاحا حملات سیل آسا نامیده می شوند شامل UDP floods ،UDP floods و غیره می شوند. در این حملات سیستم مهاجم پهنای باند را هدف قرار می دهد و تلاش می کند که با درخواست های جعلی از آن استفاده و آن را اشباع کنند. در ادامه چند نمونه از این حملات را ببینید.
⚠️ حمله UDP Flood
UDP Flood به حملاتی اشاره دارد که سیستم هدف را با بسته های UDP (یا همان پروتکل داده گرام کاربر) اشباع کند. هدف این حمله این است که پورت های تصادفی را از سرور میزبان انتخاب می کند و درخواست هایی را به صورت سیل آسا سمت آن ارسال می کند. میزبان برنامه ای که را در آن پورت گوش می دهد به صورت پیوسته بررسی می کند و زمانی که برنامه ای پیدا نکرد یک بسته ICMP “در دسترس نبودن مقصد” ارسال می کند. این کار مداوم باعث مصرف منابع میزبان و کاهش آنها شده و در نهایت ممکن است باعث عدم دسترسی به سیستم شود.
⚠️ حمله HTTP Flood
این حمله هم یکی از حملات سیل آسا است که مهاجم با آن می خواهد منابع یک سرور را از طریق ارسال درخواست با پروتکل HTTP مشغول نگه دارد. این حمله از روش ارسال سیل آسای بسته های ناقص استفاده نمی کند. درخواست های HTTP زیادی را که شامل متدهای GET و POST هستند برای سرور ارسال می کند که مانند یک درخواست معتبر و واقعی هستند.
این حمله به پهنای باند بیشتری نسبت به سایر حملات نیاز دارد و زمانی موثرتر است که سرور یا برنامه را مجبور می کند که بیشترین منابع ممکن را برای هر پاسخ به درخواستش تخصیص دهد. این موارد باعث می شود که تشخیص و جلوگیری از آن قدری مشکل باشد.
✔️ حملات پروتکلی
حملات پروتکلی شامل SYN floods، حملات بسته تکه تکه شده (fragmented )، Ping of Death، Smurf DDoS و غیره می شوند. سیستم مهاجم در این حملات منابع سرور و یا تجهیزات ارتباطی میانی مانند فایروال و غیره را مصرف می کند. در ادامه چند نمونه از این حملات را مشاهده می کنید.
⚠️ حمله Ping of Death
پینگ عملکردی است که به دو دستگاه کمک می کند چک کنند که به درستی کار می کنند یا خیر و زمان این سوال و جواب اهمیت دارد. در حمله POD سیستم مهاجم چند پینگ ناقص یا مخرب به سیستم میزبان ارسال می کند. همانطور که می دانید طول بسته iP به اندازه 65535 است. در لایه پیوند داده ها برای این بسته ها محدودیت بیشتری نیز قرار داده می شود. مهاجم به یک سیستم قدیمی (قبل از تکنولوژی IPV4) نیاز دارد که توسط آن بتواند به اینترنت متصل شود. در پروتکل های قدیمی اتصال، مهاجمان امکان ارسال بسته های بالاتر از 65535 بایت را دارند. با ارسال این بسته ها سیستم میزبان جدید نمی تواند این بسته ها را مدیریت کند و همین باعث تاخیر در پاسخگویی و سر ریز بار می شود که ممکن است شبکه را قطع کند.
⚠️ حملات SYN Flood
این حمله از یک ضعف در رشته اتصال TCP (یا همان three-way handshake) استفاده می کند. در یک ارتباط عادی، سیستم مبدا درخواست برقراری ارتباط با سیستم مقصد را می دهد که به درخواست او بسته اطلاعاتی SYN گفته می شود. مقصد بعد از دریافت درخواست با بسته SYN//ACK پاسخ می دهد. سپس بسته اطلاعاتی از مبدا ارسال می شود. در حمله SYN Flood مهاجم درخواست های SYN خود را ارسال می کند ولی به پاسخ SYN//ACK پاسخ نمی دهد. همچنین درخواست های SYN خود را از یک IP جعلی ارسال می کند. میزبان منتظر پاسخ از مبدا باقی می ماند و منابع را تا زمان اتصال دیگر مسدود می کند.
⚠️ حمله پینگ ICMP Flood
این حمله مشابه UDP Flood است و منبع را با بسته های CMP Echo Request تحت فشار زیاد قرار می دهد. حمله ICMP Flood با سرعت بسیاری این بسته ها را ارسال می کند در حالی که منتظر هیچ پاسخی نیست. این حمله پهنای باند خروجی و ورودی را مصرف می کند. سرور قربانی تلاش می کند با بسته های ICMP Echo Reply به سیستم نفوذگر پاسخ بدهد که همین باعث کندی سرور میزبان می شود.
⚠️ حمله Slowloris
حملات Slowloris از پروتکل های HTTPS بهره می برند. همانطور که می دانید این پروتکل برای ایجاد ارتباط و ارسال داده بین دو سرویس به کار می رود. در حملات Slowloris مهاجم درخواست های HTTP زیادی را ارسال می کند و برای اینکه اتصال باز نگه داشته شود داده ها دوره ای به سرور ارسال می شوند و همین بسته نشدن اتصال و افزایش درخواست ها باعث شلوغی بار سرور شده و آن را از کار می اندازد. این حمله دیداس باز نگه داشتن اتصالات را تا زمانی که نیاز است انجام می دهد و درخواست های خود را تکمیل نمی کند. این حمله هدفمند بدون تاثیر روی سایر سرویس ها یا پورت ها شبکه هدف را مختل می کند.
⚠️ حملات NTP Amplification
یکی دیگر از حملات DDos است که هکر از عملکرد سرور پروتکل زمان شبکه سو استفاده کرده و یک شبکه یا سرور هدف را با ترافیک UDP هدف قرار می دهد و ترافیک زیادی در شبکه هدف ایجاد می کند. هر مهاجمی که بتواند لیستی از سرورهای NTP باز را به دست آورد می تواند یک حمله DDoS با پهنای باند بالا و حجم زیاد ایجاد کند.
✔️ حملات لایه های کاربردی
این دسته حملات شامل حملات low-and-slow، GET/POST floods، حملات مربوط به سرور آپاچی، آسیب پذیری های OpenBSD و غیره می شوند. با اینکه درخواست های آنها ظاهرا قانونی به نظر می رسد سرور را از کار می اندازند. تشخیص این حملات که به آنها حملات لایه 7 هم گفته می شود (در مدل OSI) سخت است، زیرا تشخیص اینکه ترافیک عادی است یا مخرب مشکل است.
⚠️ حملات روز صفر یا Zero-day DDoS
این حملات از آسیب پذیری و حفره های نرم افزاری یا برنامه های کاربردی که از دید توسعه دهندگان پنهان مانده استفاده می کنند. نفوذگر قبل از همه این مشکل را پیدا می کند و برای نفوذ به سیستم یا برنامه از آن استفاده می کند. علت نام گذاری آن به روز صفر هم همین است که اصطلاحا یک روز قبل از توسعه دهنده برنامه از آن با خبر می شوند. با افزایش امنیت پایگاه داده می توانید مانع از نفوذ هکرها به سیستم خود شوید.
حالا که با انواع حملات آشنا شدید وقت آن است که با شرکت در دوره امنیت سایت راست چین آکادمی نکات مهم در امنیت را یاد بگیرید و سایتتان را در برابر انواع حملات هکرها محافظت کنید.
روش های جلوگیری از حملات DDoS چیست؟
هیچ راهکار قطعی برای جلوگیری 100 درصد از این حملات وجود ندارد و شما باید هر لحظه بررسی های لازم را برای جلوگیری از حمله و مقابله با آن انجام دهید. یکی از راهکارهایی که به جلوگیری از نفوذ هکر ها به سیستم شما کمک می کند بالا بردن امنیت پایگاه داده است، همچنین همراه ما باشید تا باهم تمام این موارد را مرور کنیم.
1. تشخیص حمله
با استفاده از ترافیک سیستم و نظارت مداوم و تجزیه و تحلیل ترافیک به صورت زمان واقعی real time می توانید قبل از شروع حمله و بعد از آن حمله را تشخیص دهید و بتوانید به موقع راهکارهای مناسبی را اتخاذ کنید. یکی از راه هایی که به شما در رصد ترافیک سایت کمک می کند و می توانید up و down شدن سیستم خود را رصد کرده و تشخیص دهید سایت Uptimerobot است که با ارسال گزارش برای شما مدت زمان Down بودن سایت را نشان می دهد.
راه های جلوگیری از حملات DDos در افرونه های امنیتی پیاده سازی شده که با آنها می توانید از ناپدید شدن سایت جلوگیری کنید. با نصب افزونه های امنیتی مثل افزونه وردفنس یا آیتم سکوریتی در سایت های وردپرسی تا حد زیادی حملات را تشخیص دهید.
همانطور که در یک نمونه گزارش امنیتی زیر از افزونه آیتم سکوریتی می بینید، با گزارش ورودهای ناموفق دقیقا می توانید تشخیص دهید که در چه تاریخ و با چه IP ای قصد ورود به پنل ادمین را داشته است. این افزونه ورود به سایت را محدود می کند و به این ترتیب مانع هک وردپرس شما می شود. با گزارشات زیر به شما می گوید اشخاصی با آی پی های زیر و با کاربری Admin تلاش به ورود داشته اند که ناموفق بوده است.
خلاصه حملات را در بخش زیر به صورت گزارش روزانه، هفتگی و ماهیانه به شما نمایش می دهد. در مثال زیر این افزونه حملات بروت فورس را ردیابی و تشخیص داده است.
این حمله ها منابع هاست مثل CPU را بیش از حد درگیر کرده و باعث می شوند که منابع تمام شود.
روش دیگری که می توانید برای تشخیص حمله DDos از آن استفاده کنید بررسی گوگل آنالتیکس است. شما با هر رفتار غیرعادی در ابزار گوگل آنالتیکس می توانید متوجه حملات DDos شوید.
2. اقدامات برای پیشگیری از حملات DDoS
بعد از تشخیص حمله و مانیتورینگ زمان پیشگیری از آنها می رسد.
- از کد کپچا استفاده کنید.
- ایمن سازی با استفاده CDN یا شبکه توزیع محتوا مانند کلود فلر
- ایمن سازی سرویس ها برای جلوگیری از اجرای شل های مخرب
- نصب و کانفیگ حرفه ای آنتی ویروس و اسکن خودکار سرویس
- بستن دسترسی فایل های خطرناک سیستم عامل برای امنیت بیشتر با استفاده از افزونه
- استفاده از سیستم های کشف نفوذ
- محدود کردن IP کشورها
- نصب افزونه امنیتی وردپرس که به راحتی میتوان گفت بهترین روش ممکن است.
استفاده از کلود فلر
برای جلوگیری از حملات DDos راهکار 100% وجود ندارد ولی شما به بکار گیری روش های پیشگیری می توانید تا حدی از این حملات جلوگیری کرده و نفوذگر را محدود کنید. برای اینکه با CloudFlare این محدودیت را ایجاد کنید ابتدا باید سایت تان را به کلودفلر متصل کنید. به این منظور آموزش اتصال سایت به کلودفلر رایگان را ببینید. استفاده از این CDN باعث میشود که حمله نفوذگر متوجه سرورهای کلودفلر باشد که تاثیری روی سایت شما ندارد.
- در کلودفلر وارد بخش DDOs > فایروال > Configure شوید. سپس می توانید از 4 سطح امنیتی زیر استفاده کنید.
- Low: با انتخاب این گزینه پایین ترین سطح امنیتی را انتخاب می کنید که تاثیر چندانی روی حملات شدید ندارد.
- Medium: حد جلوگیری از گزینه قبل بیشتر است اما اگر حملات شدیدتر شوند سایت شما را تحت تاثیر قرار می دهد.
- High: بالاترین سطح امنیتی که می تواند سایت شما را در مقابل حملات وسیع تر حفظ کند.
- Default: حالت پیش فرض را نشان می دهد.
2. شما می توانید این حفاظت را گسترده تر کنید و از طریق کلودفلر برای ورود از آی پی کشورهایی خاص یک مرحله ورود قرار دهید. اگر شخص از کشور مربوطه وارد شود صفحه کپچا به او نمایش داده می شود که باید مشخص کند کاربر انسان است. اگر موفق به ورود از این مرحله نشد IP بلاک می شود و دیگر نمی تواند وارد شود. برای این تنظیمات از بخش Firewall > Access Rules را زده و کشوری که در نظر دارید را انتخاب کرده و گزینه Challenge را از کشو بزنید. این گزینه هنگام ورود از IP این کشورها گزینه کپچا را نشان می دهد. در صورتی که فرد موفق به ورود نشود تا زمانی که شما در کلود فلر مشخص کرده اید مسدود می ماند.
3. بهبود زیر ساخت سخت افزارهایی
راهکارهایی که در این بخش ارائه می دهیم مربوط به تقویت زیر ساخت ها است که باید از سمت هاست انجام شوند. یک هاست مناسب و مجهز به سخت افزار برای جلوگیری از حملات DDos می تواند به شما کمک کند.
- زیرساخت های خود را بهبود بدهید: چند مرکز داده داشته باشید تا بار را با یک سیستم به صورت متعادل بین آنها توزیع کنید و ترافیک بین آنها توزیع شود این یکی از راه های جلوگیری از حملات DDos است.
- سخت افزار خود را در برابر حملات DDoS کانفیگ کنید: برای مثال از سوئیچ ها ساتفاده کنید، فایروال و روتر خود را پیکربندی کنید تا پاسخ های DNS را خارج از شبکه (برای مثال با مسدود کردن پورت UDP 53) مسدود کنند یا بسته های ICMP ورودی را رها کنند.
- استفاده از سیستم های کشف نفوذ: به همراه فایروال ها به کار می روند و در مواقعی که نیاز است ترافیک را مسدود می کنند.
- نصب ماژول های سخت افزاری و نرم افزاری Anti-DDoS: برنامه هایی که در برابر این حملات از سیستم شما محافظت می کنند با نظارت بر تعداد اتصالات ناقص و خاتمه آنها به شما کمک می کنند.
- استفاده از پهنای باند بالا: برای سرویس های آنلاین خود پهنای باند بالاتری را اختصاص دهید. این کار به شما فرصت می دهد قبل از استفاده کامل منابعتان، فرصت داشته باشید و سیستم خود را حفظ کنید.
- استفاده از ابزارهای حفاظتی DDoS: بسیاری از فروشندگان وسایل امنیتی مانند Cisco برای جلوگیری از حملات DDoS ابزاری را ارائه می دهند که قبل از فایروال قرار می گیرند و قبل از عمل فایروال حملات DDoS را مسدود می کنند.
- محافظت از سرورهای DNS: محافظت از سرورهای DNS مهم است. مثلا انتقال به یک یک ارائه دهنده DNS ابری که پهنای باند بیشتر و توزیع در مراکز داده در نقاط مختلف را امکان پذیر کند.
- محدود کردن broad Cast شبکه تان: یک هکر درخواست خود را برای همه دستگاه هایی که در شبکه شما هستند ارسال می کند. با محدود کردن تعداد این دستگاه ها و پخش شبکه با آن مقابله کنید.
- خرید یک سیستم حفاظتی IDS مانند Ax3soft Sax2
- خرید یک سیستم حفاظتی iDS
- به کار گیری سیستم های پیشگیری از نفوذ (IPS)
اقدامات پس از حملات DDos چیست؟
در بخش قبل اقداماتی را آوردیم که قبل از حمله یا در طول حمله باید انجام بدهید. اما زمانی که حمله پایان یافت باید چه کنید؟ بازیابی بعد از حمله ساده نیست اما باید تاثیری که روی سیستم شما گذاشته را ارزیابی کنید و از حادثه بعدی جلوگیری کنید. اگر مطمئن هستید که مورد حمله قرار گرفته اید باید از یک فرد حرفه ای در این زمینه مشاوره بگیرید.
در صورتی که با این موارد آشنایی دارید باید اقدامات پس از حملات DDos را انجام دهید.
- تحلیل حمله
- ارزیابی خسارت وارد شده
- شناسایی نقاط ضعف سیستم
- ارتقاء سیستم های دفاعی DDoS خود
- تنظیم آدرس های iP جدید برای سیستم تان
- مسدود کردن یک آی پی در صورت پیدا کردن یک IP مشخص (ممکن است نیاز باشد یک محدوده آدرس را مسدود کنید.)
در این مقاله گفتیم که حملات DDoS چیست حملات رایجی هستند که تشخیص و جلوگیری از آنها به صورت صد در صد امکان پذیر نیست. اما می توانید اقداماتی انجام دهید که ترافیک غیرعادی را تشخیص بدهید و تا حدی با راه های جلوگیری از حملات DDos آنها را تشخیص دهیم و بتوانیم جلوی این حملات را بگیریم. گاهی اوقات ممکن است نتوانیم از این حملات پیشگیری کنیم و حمله اتفاق افتد بنابراین با اقدامات پس از حملات DDos که ذکر کردیم می توانید سیستم خود را بازیابی کنید.