پیشگیری از حملات Syn Flood در میکروتیک
پیشگیری از حملات Syn Flood در میکروتیک، در این مقاله قصد داریم به حملات Syn Flood و چگونگی پیشگیری از این حملات در روتر بورد میکروتیک بپردازیم.
پیشگیری از حملات Syn Flood در میکروتیک
فهرست مطالب
Syn Flood چیست
Flood SYN نوعی حمله انکار سرویس (DDoS) است که با مصرف تمام منابع موجود در سرور ، سرور را جهت ترافیک قانونی از دسترس خارج می نماید. مهاجم با ارسال مکرر بستههای درخواست اتصال اولیه (SYN)، تمام پورت های موجود در یک سرور را تحت تاثیر قرار داده و باعث کند شدن و یا از دسترس خارج شدن سرور می گردد.
مکانیزم حمله Syn Flood
حملات Flood SYN با بهره گیری از فرآیند 3way Handshake در یک اتصال TCP انجام می گیرند. در شرایط عادی، اتصال TCP در سه فرآیند مجزا برقرار می شود.
- ابتدا کلاینت به عنوان آغاز کننده اتصال یک بسته SYN را به سرور ارسال می نماید.
- سپس سرور با یک بسته SYN/ACK به بسته اولیه پاسخ می دهد تا ارتباط را تایید کند.
- در نهایت، کلاینت یک بسته ACK را برای تایید دریافت بسته از سرور برمیگرداند. پس از تکمیل این مراحل، اتصال TCP باز است و کلاینت قادر به ارسال و دریافت داده است.
جهت ایجاد حمله DoS، یک مهاجم از این مکانیزم 3way Handshake سوء استفاده نموده و پس از ایجاد چندین بسته SYN اولیه، سرور با پاسخ به بسته ها توسط SYN/ACK منتظر مرحله نهایی می ماند تا کلاینت که در اینجا مهاجم می باشد ACK را بازگرداند. حمله در این مراحل شکل می گیرد.
- مهاجم حجم بالایی از بسته های SYN را به سرور مورد نظر ارسال می کند که اغلب با آدرس های IP جعلی می باشند.
- سپس سرور به هر یک از درخواست های اتصال پاسخ می دهد و یک پورت باز را برای دریافت پاسخ آماده می نماید.
- در حالی که سرور منتظر بسته نهایی ACK است (این بسته هرگز به سرور نمی رسد)، مهاجم به ارسال بسته های SYN بیشتر ادامه می دهد. ورود هر بسته SYN جدید باعث می شود که سرور به طور موقت یک اتصال پورت باز جدید را برای مدت زمان معینی حفظ نماید و پس از استفاده از تمام پورت های موجود، دیگر سرور قادر به ارائه سرویس نخواهد بود. در این نوع حمله DDoS، سرور مورد نظر به طور مداوم با اتصال های باز مواجه خواهد شد و منتظر میماند تا پاسخی دریافت نماید یا مدت زمان اتصال خاتمه یابد.
بنابراین حمله های Syn Flood به راحتی می توانند سرور ها را درگیر نموده و از ارائه سرویس آن ها جلوگیری نمایند. در چنین شرایطی داشتن یک راهکار جهت جلوگیری از حملات Syn Flood بسیار با اهمیت می باشد. در ادامه به راهکار جلوگیری از این حملات در روتربورد های میکروتیک خواهیم پرداخت.
پیاده سازی
جهت پیشگیری از حملات Syn Flood در میکروتیک می بایست محدودیتی ایجاد شود تا هر آدرس IP بیش از تعداد مشخصی Syn دریافت نگردد. چنانچه از یک آدرس IP تعداد بیشتری از حد مجاز تعیین شده بسته Syn دریافت شود به عنوان حمله Syn Flood در نظر گرفته شود. در مرحله اول می بایست یک Filter Rule ایجاد گردد بنابراین در منوی نرم افزار Winbox گزینه IP و از زیر منوی آن Firewall را انتخاب می کنیم. در پنجره باز شده در تب Filter Rule بر روی + کلیک می نماییم. در پنجره باز شده در تب General گزینه Chain را بر روی Forward قرار داده و Protocol را نیز TCP در نظر می گیریم.
در تب Advanced گزینه TCP Flags را بر روی syn قرار می دهیم.
در تب Extra در قسمت Connection Limit می بایست محدودیت مورد نظر را اعمال نماییم. در این سناریو محدودیت اتصال را به تعداد 15 اتصال مقدار دهی می کنیم.
در تب Action می بایست واکنش نسبت به محدودیت را مشخص نماییم. به عنوان مثال چنانچه تعداد Syn ها از 15 اتصال عبور نمود چه واکنشی رخ دهد. در این سناریو قصد داریم چنانچه این اتفاق رخ داد آدرس IP درخواست کننده در یک لیست ثبت شود. بنابراین Action را بر روی add src to address list قرار می دهیم و در قسمت address List نیز یک نام برای آن در نظر و مدت زمانی در قسمت timeout نیز اعمال نموده و در نهایت بر روی OK کلیک می نماییم.
در مرحله بعد نیز می بایست تمامی مراحل فوق را برای گزینه Input نیز اعمال نماییم. Rule قبلی جهت ترافیک هایی بود که از روتر میکروتیک عبور می کنند. اکنون ترافیک هایی که به مقصد خود روتر نیز ارسال می گردند در نظر گرفته خواهند شد. برای انجام این کار یک Filter Rule جدید ایجاد می کنیم و این بار گزینه Chain را بر روی input قرار می دهیم و سایر تب ها را مطابق مراحل فوق انجام خواهیم داد.
با انجام تنظیمات فوق چنانچه هر دستگاهی اقدام به ارسال syn بیش از تعداد 15 اتصال نماید، آدرس IP دستگاه مورد نظر وارد لیست خواهد شد اما Action خاصی به این آدرس IP اعمال نخواهد شد و فقط در یک لیست قرار می گیرد. اکنون زمان این است که نسبت به این لیست یک واکنش نیز اعمال کنیم. در این سناریو قصد داریم Action نسبت به لیست مورد نظر را بر روی Tarpit قرار دهیم. با استفاده از گزینه Tarpit در واقع اتصال قبول می شود اما عبور داده در شبکه انجام نخواهد گرفت. این کار را مجدد هم برای Chain مربوط به Forward و هم Input انجام خواهیم داد. به همین منظور ابتدا مجدد یک Filter Rule جدید ایجاد نموده و در تب General گزینه Chain را بر روی Forward قرار می دهیم و پروتکل را TCP در نظر می گیریم. اما در تب Advanced در قسمت Src Address list لیست ایجاد شده را انتخاب می کنیم.
در نهایت در تب Action گزینه Tarpit را انتخاب می کنیم.
مرحله فوق را مجدد با ایجاد یک Filter Rule جدید برای Input تکرار خواهیم نمود. با انجام مراحل فوق در روتر میکروتیک به صورت کامل از انجام حملات Syn Flood جلوگیری خواهیم نمود و امنیت شبکه در مقابل حملات Syn Flood که به راحتی شبکه را تحت الشعاع قرار خواهد داد، برقرار می گردد. همچنین برای جلوگیری از این حملات در حالت توزیع شده (DDoS) در منوی نرم افزار Winbox گزینه IP را انتخاب و از زیر منوی آن بر روی Settings کلیک می کنیم. در پنجره باز شده گزینه TCP SynCookies را فعال می نماییم.
نظرات کاربران