بررسی جامع حملات DOS و DDOS – بخش دوم
در بخش اول “بررسی جامع حملات DOS و DDOS” به بررسی حملات DOS و DDOS که شایعتر هستند پرداختیم و هر کدام را جداگانه بررسی کردیم. اکنون در بخش دوم این مطلب به ارائه چند راهکار جهت مقابله با این گونه حملات می پردازیم.
دفاع علیه حملات Smurf
اگر در معرض حمله Smurf قرار گرفته باشید، کار چندانی از شما ساخته نیست. هرچند که این امکان وجود دارد که بسته های مهاجم را در روتر خارجی مسدود کنید، اما پهنای باند منشاء آن روتر مسدود خواهد شد. برای اینکه فراهم کننده شبکه بالاسری شما، حملات را در مبداء حمله مسدود کند، به هماهنگی نیاز است.
بمنظور جلوگیری از آغاز حمله از سایت خودتان، روتر خارجی را طوری پیکربندی کنید که تمام بسته های خارج شونده را که آدرس مبداء متناقض با زیرشبکه شما دارند، مسدود کند. اگر بسته جعل شده نتواند خارج شود، نمی تواند آسیب چندانی برساند.
برای جلوگیری از قرار گرفتن بعنوان یک واسطه و شرکت در حمله DoS شخص دیگر، روتر خود را طوری پیکربندی کنید که بسته هایی را که مقصدشان تمام آدرس های شبکه شماست، مسدود کند. یعنی، به بسته های ICMP منتشر شده به شبکه خود، اجازه عبور از روتر ندهید. این عمل به شما اجازه می دهد که توانایی انجام ping به تمام سیستم های موجود در شبکه خود را حفظ کنید، در حالیکه اجازه این عمل را از یک سیستم بیرونی بگیرید. اگر واقعاً نگران هستید، می توانید سیستم های میزبان خود را طوری پیکربندی کنید که از انتشارهای ICMP کاملاً جلوگیری کنند.
دفاع علیه حملات طغیان SYN
بلاک های کوچک بجای تخصیص یک شیء از نوع ارتباط کامل (که باعث اشغال فضای زیاد و نهایتاً اشکال در حافظه می شود)، یک رکورد کوچک تخصیص دهید. پیاده سازی های جدیدتر برای SYN های ورودی ، تنها ۱۶ بایت تخصیص می دهد.
کوکی های SYN یک دفاع جدید علیه طغیان SYN «کوکی های SYN» است. در کوکی های SYN، هر طرف ارتباط، شماره توالی (Sequence Number) خودش را دارد. در پاسخ به یک SYN، سیستم مورد حمله واقع شده، یک شماره توالی مخصوص از ارتباط ایجاد می کند که یک «کوکی» است و سپس همه چیز را فراموش می کند یا بعبارتی از حافظه خارج می کند (کوکی بعنوان مشخص کننده یکتای یک تبادل یا مذاکره استفاده می شود). کوکی در مورد ارتباط اطلاعات لازم را در بردارد، بنابراین بعداً می تواند هنگامی که بسته ها از یک ارتباط سالم می آیند، مجدداً اطلاعات فراموش شده در مورد ارتباط را ایجاد کند.
با دستور netstat -an|grep :80 تمام کانکشن هایی که به پورت ۸۰ وصل هستند را میتوانید مشاهده کنید، سپس با استفاده از دستور netstat -an|grep SYN_RECV میتوانیم مشاهده کنیم کجا با SYN_RECV شروع شده است.
تعداد کانکشن های آپاجی و تعداد کانکشن های SYN_RECV :
netstat -an|grep :80|wc -l
netstat -an|grep SYN_RECV|wc -l
مقابله با حملات DDoS
چگونه می توانید از سرورهای خود در مقابل یورش دیتاهای ارسالی از طرف کامپیوترهای آلوده موجود در اینترنت مراقبت کنید تا شبکه شرکت شما مختل نشود؟ در اینجا به چند روش بطور مختصر اشاره می شود:
سیاه چاله
این روش تمام ترافیک را مسدود می کند و به سمت سیاه چاله! یعنی جایی که بسته ها دور ریخته می شود هدایت می کند. اشکال در این است که تمام ترافیک – چه خوب و چه بد- دور ریخته می شود و در حقیقت شبکه مورد نظر بصورت یک سیستم off-line قابل استفاده خواهد بود. در روش های اینچنین حتی اجازه دسترسی به کاربران قانونی نیز داده نمی شود.
مسیریاب ها و فایروال ها
روتر ها می توانند طوری پیکربندی شوند که از حملات ساده ping با فیلترکردن پروتکل های غیرضروری جلوگیری کنند و می توانند آدرس های IP نامعتبر را نیز متوقف کنند. بهرحال، روترها معمولاً در مقابل حمله جعل شده پیچیده تر و حملات در سطح Application با استفاده از آدرس های IP معتبر، بی تأثیر هستند.
سیستم های کشف نفوذ
روش های سیستم های کشف نفوذ( intrusion detection systems ) توانایی هایی ایجاد می کند که باعث تشخیص استفاده از پروتکل های معتبر بعنوان ابزار حمله می شود. این سیستمها می توانند بهمراه فایروال ها بکار روند تا بتوانند بصورت خودکار در مواقع لزوم ترافیک را مسدود کنند. در بعضی مواقع سیستم تشخیص نفوذ نیاز به تنظیم توسط افراد خبره امنیتی دارد و البته گاهی در تشخیص نفوذ دچار اشتباه می شود.
سرورها
پیکربندی مناسب application های سرویس دهنده در به حداقل رساندن تأثیر حمله DDoS تأثیر بسیار مهمی دارند. یک سرپرست شبکه می تواند بوضوح مشخص کند که یک application از چه منابعی می تواند استفاده کند و چگونه به تقاضاهای کلاینت ها پاسخ دهد. سرورهای بهینه سازی شده، در ترکیب با ابزار تخفیف دهنده، می توانند هنوز شانس ادامه ارائه سرویس را در هنگامی که مورد حمله DDoS قرار می گیرند، داشته باشند.
شما میتوانید از نرمافزار Dos_Deflate استفاده کنید. با کمک این نرمافزار می توانید تعداد اتصالات هر آیپی که به سرویس دهنده شما برقرار کرده است را مدیریت کنید. برخی نکات لازم در مورد ویرایش فایل پیکربندی (nano /usr/local/ddos/ddos.conf) که باید به آنها دقت داشته باشید، مقادیر EMAIL_TO که شما ایمیل مورد نظر جهت دریافت گزارشات را مشخص میکنید، FREQ برای مشخص کردن تعداد کانکشن هر آیپی در دقیقه است که پیشنهاد می کنیم مقدار بالاتر از ۵ را به آن اختصاص ندهید، NO_OF_CONNECTIONS که بیشترین کانکشنی که هر آیپی میتواند داشته باشد را مشخص میکند. (بهترین مقدار بین ۱۰۰ تا ۲۰۰ است.) و …
علاوه بر نصب نرمافزار بالا نصب دیوار آتش CSF و BFD میتوانید امنیت وب سرور را بالاتر ببرید. فراموش نکنید که مهمترین کار قبل از نصب هر گونه نرمافزار بهینه سازی خود وب سرور آپاچی است.
ابزار تخفیف DDoS
چندین شرکت ابزارهایی تولید می کنند که برای ضدعفونی ! کردن ترافیک یا تخفیف حملات DDoS استفاده می شوند که این ابزار قبلاً بیشتر برای متعادل کردن بار شبکه یا فایروالینگ استفاده می شد. این ابزارها سطوح مختلفی از میزان تأثیر دارند. هیچکدام کامل نیستند. بعضی ترافیک قانونی را نیز متوقف می کنند و بعضی ترافیک غیرقانونی نیز اجازه ورود به سرور پیدا می کنند. زیرساخت سرور هنوز باید مقاوم تر شود تا در تشخیص ترافیک درست از نادرست بهتر عمل کند.
پهنای باند زیاد
خرید یا تهیه پهنای باند زیاد یا شبکه های افزونه برای سروکار داشتن با مواقعی که ترافیک شدت می یابد، می تواند برای مقابله با DDoS مؤثر باشد.
عموماً، شرکت ها از قبل نمی دانند که یک حمله DDoS بوقوع خواهد پیوست. طبیعت یک حمله گاهی در میان کار تغییر می کند و به این نیاز دارد که شرکت بسرعت و بطور پیوسته در طی چند ساعت یا روز، واکنش نشان دهد. از آنجا که تأثیر اولیه بیشتر حملات، مصرف کردن پهنای باند شبکه شماست، یک ارائه کننده سرویس های میزبان روی اینترنت که بدرستی مدیریت و تجهیز شده باشد، هم پهنای باند مناسب و هم ابزار لازم را در اختیار دارد تا بتواند تأثیرات یک حمله را تخفیف دهد.
برخی از روشهای حملات DOS و یا DDOS به روش های زیر است که پیشنهاد میکنیم جهت مقابله با آنها هر کدام از آنها را به خوبی بررسی کنید تا راهکار مناسب جهت مقابل با آنها را پیدا کنید.
- ICMP flood
- Low-rate Denial-of-Service attacks
- Peer-to-peer attacks
- Asymmetry of resource utilization in starvation attacks
- Permanent denial-of-service attacks
- Application-level floods
- Nuke
- R-U-Dead-Yet
- Distributed attack
- Reflected / Spoofed attack
- Unintentional denial of service
- Denial-of-Service Level II