حمله DOS مخفف عبارت Denial Of Service یا عدم پذیرش سرویس است. حمله های که موجب قطع کار یک سرویس و یا مانع دسترسی به منابع آن شود را حمله DOS میگویند. به عنوان مثال حملات DOS بر روی سرویس دهنده وب یک شرکت میزبان ممکن است باعث قطع دسترسی سایتهای آن سرور شود.
<"p class="article>
طبق گزارشات سایت های امنیتی درصد این نوع حملات تا مرز 2 برابر و حتی بیشتر در سالهای اخیر افزایش پیدا کرده است. نوع حمله ارسال پکت های بی شمار مختلف می باشد. به عنوان مثال ممکن است از روش ICMP Flooding به همراه درخواست های PING و یا درخواست های HTTP استفاده شود.
برای پیشگیری از این نوع حملات روشهای مختلف و گستردهای وجود دارد مانند به روز بودن نرمافزارهای سرویس دهنده، استفاده از فایروالهای سخت افزاری، نرم افزاری و حتی برنامه های مخصوص جلوگیری از این حملات توصیه میشود. به عنوان مثال برای وب سرورهای لینوکس حتما از یک دیوار آتش مناسب و قوی همانند IPtable که به صورت پیش فرض بر روی لینوکس موجود است و یا دیوار آتش قدرتمند Apf که محصول رایگان شرکت R-FX Network می باشد استفاده نمائید.
راه های شناسایی حملات DOS
حملات DOS با روشهای مختلفی انجام می شوند بنابراین دانستن روش مقابله مرتبط بسیار مهم است. یک راه کار خرید پهنای باند اضافه است. این نوع حملات بازی پهنای باند هستند. اگر 10000 سیستم 1 مگابایت داده را ارسال نمایند یعنی به سرور شما در هر ثانیه 10 گیگابایت داده hit می شود.
انجام تنظیمات مربوط به دیوار آتش بسیار مهم است. در دیوار آتش میبایست تمامی پورتهای غیر موردنیاز برای وب سرور را که از آنها استفاده نمی کنید مسدود نمائید و فقط به پورتهای موردنیاز سیستم مانند پورتهای سرویس های مختلف همچون 80 برای وب سرور، 21 برای پروتکل FTP و 25 برای سرویس دهنده ایمیل و... اجازه دسترسی دهید. هکرها برای حملات DOS از سرورهایی استفاده میکنند که آن ها را به عنوان طعمه و قربانی هدف خود استفاده میکنند که به این سرورها اصطلاحا Zombie گفته میشود و یا مثلا توسط برنامه Evil Bot نفوذگر میتواند فرمانهای خود را از طریق یک IRC Server به صدها Zombie در یک زمان ارسال کند و همه ی zombie ها خود نیز به سرور هدف حمله نمایند.
یکی از برنامه های جلوگیری از حملات، Mod_Evasive برای وب سرور Apache می باشد. این برنامه به شکل ماژول به وب سرور Apache اضافه می شود. تمامی بسته های ارسالی به وب سرور آپاچی بررسی شده و اگر از عدد خاصی بیشتر شد، شروع به کار کرده و اقدامات امنیتی لازم را انجام می دهد.
یکی دیگر از راههای مفید شناسایی حملات DOS، شناسایی IPای است که تعداد اتصالاتش (منظور همان connection است) به سرور از حالت عادی بیشتر باشد. برای این کار میتوانیم از دستور زیر در خط فرمان لینوکس استفاده کنیم تا IPهای که به سرور متصل هستند را پیدا کنیم.
netstat -anp |grep 'tcp|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort –n
توسط دستور ذیل نیز می توانیم تعداد اتصالات به سرور را مشخص نماییم.
netstat -n | grep :80 |wc –l
اگر مشاهده کردید که یک یا چند IP تعداد اتصالاتشان به سرور زیاد و بیش از حد معمول است آن را شناسایی و در فایروال لینوکس آن را در قسمت Deny IP قرار دهید تا دسترسی آن به سرور قطع شود.
فرمانهای مربوطه بشرح ذیل هستند:
iptables -A INPUT 1 -s IPADRESS -j DROP/REJECT
service iptables restart
service iptables save
سپس توسط دستور ذیل همه ی اتصالات به آپاچی را KILL کنید و سرویس آپاچی را راه اندازی نمائید:
killall -KILL httpd
service httpd start
تنظیم دیگر برای سرورهای ویندوزی، تغییر مقادیر registry می باشد، قبل از انجام این تنظمیات حتما از فایل مربوطه در ویندوز بکاپ تهیه نمایید. برای فعالسازی محافظت در برابر این حملات مقادیر ذیل را ست نمائید :
hkey_local_machine \system \currentcontrolset \services \tcpip \parameters \synattackprotect=1 REG_DWORD
hkey_local_machine \system \currentcontrolset \services \tcpip \parameters \tcpmaxconnectresponseretransmissions=2 REG_DWORD
hkey_local_machine \system \currentcontrolset \services \tcpip \parameters \tcpmaxdataretransmissions=3 REG_DWORD
hkey_local_machine \system \currentcontrolset \services \tcpip \parameters \enablepmtudiscovery=0 REG_DWORD