حملات DoS چیست ؟
(DoS (Denial of Service: نوعی حمله است که باعث افزایش بار بر روی روتر یا
سرور میشود به این معنی که مصرف سی پی یو به 100% میرسد و سرور یا روتر
توسط time out از دسترس خارج میشود.یا بطور کل تمام عملیاتهایی که میتونند
روی مصرف سی پی یو تاثیر بذارند مثل فایروال و لاگینگ که میتونند باعث
overload روتر بشوند اگر تعداد بسیار بالایی packet در ثانیه به روتر برسه.
اهداف
به طور کلی انجام این حمله برای اهداف زیر صورت میگیرد:
- پایین آوردن سرعت و کیفیت سرویسدهی شبکه
- از دسترس خارج کردن وبسایت مورد نظر
- قطع دسترسی تمام وبسایتها (با حمله به name serverها)
- افزایش تعداد هرزنامهها (که به بمب ایمیلی نیز معروف است)
لازم به ذکر است که این حمله فقط مختص به سرورها نیست و ممکن است یک شبکه و یا حتی روتر نیز مورد حمله قرار گیرد و ممکن است کار بخش عمدهای از اینترنت را مختل کند (همانطور که در طول تاریخ ۲بار اینترنت کل دنیا با این حمله مختل شدهاست).
SYN flood:نوعی از حمله Dos است که حمله کننده جانشینی از درخواستهای syn
رو در تلاش به مصرف منابع بدون در نظر گرفتن ترافیک مجاز به سیستم هدف
میفرسته.
Syn cookies:یک تکنیک کلیدی در دفاع در برابر حملات dos میباشد.اساس کار ان
بر اساس صف بندی شماره TCP سرورها است به این صورت که syn coockie اجازه
میده هنگامی که صف syn پر میشه سرور از اتصال کانکشنها جلوگیری کنه.
نحوه تشخیص:
با استفاده از کدهای CLI زیر میتونید نوع حمله رو تشخیص بدید:
اگر اتصالات بسیار زیادی به سرور شما از طریق syn فرستاده شده وجود دارد:
اگر پکتهای زیادی به شبکه شما وارد میشود:
اگر مصرف سی پی یو شما 100% است:
اگر اتصالات بسیار زیاد مشکوکی به سرور خود دارید:
نحوه محافظت در برابر این حملات:
نحوه محدود کردن کانکشن ها:
ای پی ادرسی رو که کانکشنهای زیادی به سرور شما زده به بلک لیست اضافه کنید:
/ip firewall filter add chain=input protocol=tcp connection-limit=LIMIT,32 \
action=add-src-to-address-list address-list=blocked-addr address-list-timeout=1d
به این نکته توجه داشته باشید که تعداد اتصالات رو با توجه به اتصالات مختلف ...,http,p2p,torrent محدود کنید.
عملیات tarpit:
روتر شما میتونه با دستور زیر به سادگی پکتهای حمله کننده رو drop کنه و
اتصالات رو نگه داره تا به اهستگی به اصطلاح حمله رو بخوابونه:
/ip firewall filter add chain=input protocol=tcp src-address-list=blocked-addr \
connection-limit=3,32 action=tarpit
/ip firewall filter add chain=forward protocol=tcp tcp-flags=syn connection-state=new \
action=jump jump-target=SYN-Protect comment="SYN Flood protect" disabled=yes
/ip firewall filter add chain=SYN-Protect protocol=tcp tcp-flags=syn limit=400,5 connection-state=new \
action=accept comment="" disabled=no
/ip firewall filter add chain=SYN-Protect protocol=tcp tcp-flags=syn connection-state=new \
action=drop comment="" disabled=no
قرار دادن syn=400 در اینجا فقط به عنوان یک استانه است جهت drop کردن پکتهای syn.
استفاده از تکنیک SYN coockies:
برای میکروتیک ورژن 6:
ip settings set tcp-syncookies=yes/
برای میکروتیک های ورژنهای قدیمی تر:
ip firewall connection tracking set tcp-syncookie=yes/
منبع : http://www.webhostingtalk.ir/archive/index.php/t-113116.html
site kheyli khobie
az shoma mamnoonam
lotfan darbare amniat e shabake bishtar matlab begozarid