میزبانی وب

ddos چیست؛ متد حملات DOS و DDos و روش مقابله با دیداس

در این مقاله شما با اصطلاحی بنام حملات Dos آشناخواهید شد و در ادامه خواهید دید که حملات دیداس چیست؟ و می خواهیم به شما راه های مقابله با این حملات DDOS را شرح دهیم.

DDOS چیست؟

حملات Dos و DDos یکی از خطرناک ترین و جدیدترین حملاتی است که در بستر اینترنت انجام می‌شود. DDoS مخفف چیست؟ کلمه ddos مخفف عبارت Distributed Denial of Service است و هدف از این حملات خراب کردن سرویس مورد نظر نیست بلکه شبکه و سرور مورد نظر را وادار به ناتوانی در ارائه سرویس عادی با هدف قرار دادن پهنای باند شبکه یا اتصال پذیری می‌نماید.

این حملات با ارسال بسته‌های داده به قربانی انجام می‌شود که شبکه یا ظرفیت پردازشی قربانی را غرق در بسته‌های اطلاعاتی می‌کند و مانع دستیابی کاربران و مشتریان به سرویس می‌شود. عموما این نوع حمله با کمک فایروال‌های سخت افزاری که در سرور اختصاصی ایران و خارج ارایه می‌شود قابل جلوگیری است.

دیداس چیست

به صورت کلی زمانی یک حمله دیداس به سایت اتفاق می افتد که دسترسی به یک کامپیوتر یا منبع شبکه عمداً در نتیجه کار مخرب به کاربر دیگری مسدود یا کاهش داده شود. این حملات لزوماً داده‌ها را مستقیماً یا همیشگی تخریب نمی‌کنند، اما عمداً دسترس پذیری منابع را به خطر می‌اندازند.

dos چیست؟

dos attack چیست؟ در حمله Dos بسته‌های اطلاعاتی به طور مستقیم از سیستم Hacker یا Attacker ارسال می‌شود و به طور کلی یک سیستم اطلاعاتی در این حمله نقش دارد و بالطبع یک IP مسئول انجام Attack است. برای اشنایی با این قبیل حملات می توانید مقاله حملات سایبری را مطالعه کنید.

 

بیشتر بخوانید: تفاوت دارک وب و دیپ وب

 

متدهای مورد استفاده در حملات DOS و DDos

 برخی متدهایی که برای حملات DOS و DDos مورد استفاده قرار می گیرد را به ترتیب در لیست زیر مشاهده می نمایید، برای درک بهتر و راههای جلوگیری از حملات مشابه به توضیح برخی از این روشها می پردازیم :

  • ICMP flood
  • SYN flood
  • Teardrop attacks
  • 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

ICMP Flood

این روش با ارسال درخواستهای Ping به سمت قربانی ، باعث اختلال در سرویس دهی سرور می گردد. ارسال حجم بالایی از درخواستهای ICMP در یک شبکه باعث پاسخگویی تمام هاستهای موجود در آن شبکه می شود. فرض کنید هر هاستی به این درخواست پاسخ دهد. در نتیجه حجم بالایی از پاسخ ها به سمت Access point داخل شبکه مسیر دهی می شود و باعث از کار افتادن این سوئیچ می شود. در نتیجه شبکه بطور کامل از دسترس خارج خواهد شد. برای جلوگیری از این حمله ، بهتر است پاسخگویی به دستور  Ping تمام هاست های داخل شبکه را غیر فعال نمود و از Broadcast کردن پیام ها داخل شبکه جلوگیری نمود.

teardrop چیست؟

حمله Teardrop از طریق ارسال mangled ip با overlap لود بالایی را برای کارت شبکه سیستم مورد نظر بوجود می آورد. این ضعف به دلیل وجود باگ در لایه های شبکه و TCP/IP می باشد. سیستم عامل های ویندوز ۳.۱ ، ۹۵ ، NT و لینوکس ۲.۰.۳۲ و ۲.۱.۶۳ در برابر این حمله آسیب پذیر می باشد. در سپتامبر ۲۰۰۹ این حمله در ویندوز ویستا دیده شد. اما این حمله در لایه SMB2 بالاتر از لایه TCP انجام شده بود. استفاده از سیستم عامل بروز و استفاده از بروز رسانی های امنیتی سهم بسزایی در جلوگیری از این نوع حملات دارد.

TEARDROP ATTACK

Nuke

یکی از قدیمیترین روش های حملات Dos می باشد. با ارسال درخواستهای اشتباه Ping اقدام به از کار انداختن شبکه می نماید. یکی از نرم افزارهای معروف که این حمله را انجام میدهد WinNuke می باشد. این برنامه با استفاده از ضعف در Netbios ویندوز ۹۵ اقدام به حمله می نماید. با ارسال یک رشته اطلاعات به پورت ۱۳۹ باعث نمایش صفحه آبی در این نسخه از سیستم عامل ویندوز می شود.

R-U-Dead-Yet

این حمله با استفاده از session هایی که توسط web application ها در انتظار درخواست هستند مورد حمله قرار می گیرد. slowloris برنامه ای است که اکثر session های مربوط به وب سرور را برای برقراری ارتباط باز نگه میدارد. RUDY با استفاده از ارسال درخواست با هدرهای حجم بالا به این Session های در حال انتظار باعث از کار افتادن وب سرور می شود.

برای جلوگیری از اینگونه حملات نخست استفاده از سیستم عامل های بروز از اهمیت بسیار بالایی برخوردار است. ضعف های امنیتی که در حملات قبلی مورد استفاده قرار گرفته اند در این سیستم عامل ها تا حدودی از بین رفته است. استفاده از فایروالهایی مانند ISA Server و TMG و SQUID. استفاده از ماژولهای IIS برای مسدود نمودن IP ها و دامین هایی که این نوع حملات را رهبری می نمایند.

 

بیشتر بخوانید: گرفتن ping

 

syn flood چیست؟

 حمله SYN  نوعی از حمله است که هدف آن، پروسه Hand-Shake  پروتکل TCP  است. در این حمله، پروسه سه مرحله‌ای ایجاد ارتباطTCP  از سمت مهاجم نیمه کاره، رها می‌شود، این کار باعث می‌شود، سرور سرویس دهنده برای باقی مراحل در انتظار باقی بماند. زمانی که تعداد اینگونه درخواست‌ها به تعداد زیادی برسد، باعث می‌شود سرور مربوطه دیگر قادر به برقراری ارتباط با درخواست‌های جدید را نداشته باشد. لذا سرور از دسترس خارج می‌شود.

 

تفاوت حملات DOS و DDOS 

dos and ddos

در هر دو این حملات سرور هدف از ادامه فعالیت باز می ماند اما تفاوت این دو در منبع حمله می باشد. در حمله DOS مهاجم  برنامه را از یک کامپیوتر اجرا نموده، در حالی که در حمله DDOS برنامه مهاجم از چندین سیستم یا سیستم هایی که در حیطه یک شبکه گسترش یافته اند اجرا می شود. در DDOS مهاجم از کامپیوترهای دیگر نیز جهت حمله استفاده می نماید.

طبقه بندی حمله‌های Dos

۱.حملات Dos در سطح تجهیزات شبکه

در این نوع حملات داس از ضعف‌های نرم افزاری که در سیستم عامل‌های سخت افزار‌ها وجود دارد استفاده می‌شود تا تجهیزات کرش کنند یا اینکه باعث ایجاد اختلال در سخت افزارها می‌شوند. به طور مثال در سری روترهای قدیمی شرکت سیسکو باگ Buffer over follow وجود داشت و هنگامی که به آن تلنت زده شود اگر در قسمت پسورد یک عبارت طولانی تایپ گردد سیستم عامل آن کرش می‌کرد و سرویس دهی روتر مختل می‌شد.

۲.حملات در سطح سیستم عامل

در حملات از طریق سیستم عامل از پروتکل‌های سیستم عامل برای از کار انداختن سرویس استفاده می‌شود مثالی که برای این نوع حمله از DoS می توانیم بزنیم حمله ی ping of death است که در این حمله از پروتکل ICMP سیستم عامل برای ارسال سیلی از بسته و در خواست‌های بزرگتر از حالت عادی به سیستم قربانی استفاده می‌شود. این نوع حمله‌ها معمولا باعث کرش شدن سیستم قربانی می‌شود.

در این حملات حمله کننده سعی می‌کند برروی نرم افزار‌های شبکه‌ایی که برروی سیستم قربانی در حال پردازش هستند باگ و حفره امنیتی پیدا کند و از طریق الگوریتم‌های پیچیده اپلیکیشن را وادار به استفاده از تمام منابع در دسترس سرور کند و در نتیجه سرور قربانی از دسترس خارج می‌شود مثالی که برای این نوع حمله می‌توان بزنیم حمله ی Finger bomb است که در این حمله کاربر مخرب یک روال پایان ناپذیر برای یک نرم افزاری که برروی سیستم قربانی در حال اجرا است ایجاد می‌کند و این روال پایان ناپذیر باعث می‌شود تمام منابع در دسترس سیستم استفاده شود و سیستم قربانی از دسترس خارج می‌شود.

۴.حمله از طریق سیل داده‌ها

در حملات از طریق سیل داده‌ها حمله کننده سیل عظیمی از بسته‌های اطلاعاتی ساده اما بی معنی به سیستم قربانی ارسال می‌کند و قربانی را وادار می‌کند این حجم عظیم از اطلاعات را پردازش کند.

در این حمله فرد حمله کننده سعی می‌کند از تمام پهنای باند سیستم قربانی برای پردازش این اطلاعات بی معنی استفاده کند. مثالی که برای این نوع حمله می‌توانیم بزنیم Flood pinging است. این نوع حمله به طور معمول در حملات از نوع DDoS مشاهده می‌شود و در ادامه در رابطه با این حمله بحث خواهیم کرد.

ویژگی های پروتکل‌ها درحملات ddos و dos

در این حملات فرد حمله کننده از بعضی ویژگی‌های پروتکل‌ها برای از دسترس خارج کردن سیستم قربانی استفاده می‌کند مثالی که برای این نوع حمله می‌توان زد حمله ی Dns cache است. در این حمله فرد حمله کننده صاحب یک نیم سرور بوده و Query‌های اشتباهی را در رابطه با سایت خود یا وب سایت‌های مخرب به سمت نیم سرور قربانی ارسال می‌کند و نیم سرور قربانی Response مربوط به Query را به نیم سرور حمله کننده ارسال می کند و اطلاعات غلط را Cache کند.

حملات ddos چیست

در صورتی که حملات DoS همزمان از چند سیستم انجام شود و بسته‌های اطلاعاتی از چند سیستم مختلف خارج شود به آن حمله DDoS می‌گوییم و بالطبع چند IP در این حمله دخیل خواهند بود. این حمله از ضعف ذاتی اینترنت برای صدمه زدن به قربانی استفاده می‌کند چرا که بستر اینترنت به گونه‌ای طراحی شده است که بسته‌های اطلاعاتی به بهترین و کوتاهترین مسیر ممکن به مقصد برسد. این مزیت مهمترین مزیت بستر اینترنت است و در عین حال ضعف امنیتی ان نیز محسوب می‌شود. DDoS از این مزیت برای صدمه زدن به قربانی استفاده می‌کند. همانطور که خدمتتان گفته شد در این حمله جریان‌های بسته و درخواست‌ها از منابع مختلف و سیستم‌های مختلف منتشر می‌شود Attacker تمام این منابع و سیستم‌ها را به صورت یکپارچه در هدف از کار انداختن قربانی استفاده می‌کند.

بسته های دیداسی که به سمت قربانی ارسال می شود بسیار یکپارچه و در هم تنیده می باشد حجم حمله به قدری می تواند بزرگ باشد که امکان جداسازی بسته ای سالم از ناسالم وجود نداشته باشد در صورتی که مراقبت و تدابیر امنیتی اتخاذ نشود سیستم قربانی ممکن است متحمل اسیب های بسیار سنگین مانند خاموشی سیستم و خرابی فایل گرفته تا قطع تمام یا بخشی از سرویس گردد.

جریان های حمله دیداس فاقد مشخصات ظاهری که بتوان از آن به طور مستقیم و کلی برای کشف و پالایش آنها استفاده کرد است. حملات زمانی تاثیر مطلوبی دارند که حجم بسته های اطلاعاتی زیاد باشد این حملات می‌توانند موجب دگرگون ساختن تمام فیلدهای بسته جهت اجتناب از تشخیص و ردیابی شوند. ابزار‌های DDoS امروزه به ابزار‌های کاربر پسندی تبدیل شده اند که به راحتی بر روی سیستم‌های مختلف می‌توانند قرار بگیرند و از انها می‌توان برای حمله ی DoS یا DDoS می‌توان استفاده کرد و خود کاربر نیز متوجه این موضوع نخواهد شد.

برنامه‌های حملات DDoS ساختارهای منطقی بسیار ساده داشته و فضای ذخیره سازی کمی لازم دارند که باعث می‌شود پیاده کردن و پنهان سازی آنها به نسبت ساده باشد.

با توجه به اینکه رویکرد حمله DDoS همواره در حال تغییر است هیچ مکانیزم دفاعی خاص و ثابتی را برای جلوگیری از DDoS نمی‌توان اتخاذ کرد. البته مکانیزم‌هایی است که شرایط حمله را برای attacker سخت می کند و با اتخاذ این تدابیر بتوان هویت حمله کننده را شناسایی کرد. حال که می دانید حمله دیداس چیست باید به این نکته هم اشاره کنیم که برای آشنایی بیشتر با DDoS و اینکه چگونه دیداس بزنیم ،ساختار حملات دیداس را بشناسید.

ساختار حملات DDos

۱.مهاجم واقعی (Attacker) در حملات ddos 

اتکر چیست؟ کاربر مخربی است که بسته های DDoS را به سمت سیستم قربانی هدایت می‌کند.

۲.منظور از گردانندگان یا اربابان (Handlers) در حملات داس چیست ؟

سیستمی است که کاربر مخرب از طریق آن سرورهایی که بسته‌های DDoS ارسال می‌کنند را هدایت میکند. نرم افزارهایی برروی این سیستم‌ها نصب است که می‌توانند Agentها را هدایت کنند.

۳.عامل‌ها (Agents or Zombies)  

سیستم‌هایی هستند که برنامه ی خاصی روی انها نصب است و مسئول ارسال بسته‌های DDoS به سمت قربانی است. این سیستم‌ها برای جلوگیری ار ردیابی حمله کننده در خارج از شبکه ی آنها و همچنین سیستم قربانی قرار می‌گیرد.

مراحل آماده سازی حملات دیداس

مراحل زیر هنگام اماده سازی و انجام حمله‌ی DDoS انجام می‌شود:

۱.انتخاب عامل‌ها برای حمله دیداس 

مهاجم عامل‌هایی را که حمله را انجام خواهند داد انتخاب می‌کند. لازم است این ماشین‌ها دارای آسیب پذیری‌هایی باشند تا مهاجم بتواند کنترل آنها را در دست بگیرد. همچنین باید دارای منابع فراوان باشند تا بتوانند جریان های حمله قوی تولید کنند.

۲.سازش ddos 

مهاجم از حفره‌های امنیتی و آسیب پذیری‌های ماشین‌های عامل استفاده کرده و کد حمله را می‌کارد. به علاوه سعی می‌کند کد را از کشف و غیرفعال‌ سازی محافظت کند. مالکان و کاربران این عامل‌ها معمولاً اطلاع ندارند که سیستمشان با مهاجم سازش نموده و جزوی از یک حمله DDoS خواهد بود. هنگام شرکت در این نوع حمله، هر برنامه عامل تنها از مقدار کمی از منابع (هم در حافظه و هم در پهنای باند) استفاده می‌کند، به طوری که کاربران کامپیوترها کمترین تغییر را در کارایی احساس کنند.

۳.ارتباط در ddos attack

مهاجم با گرداننده‌ها ارتباط برقرار می‌کند تا تشخیص دهد کدام عامل ها بالا بوده و در حال اجرا هستند، زمانی که حمله را زمانبندی می‌کند یا عامل ها را ارتقا‌می دهد بسته به اینکه چگونه مهاجم شبکه حمله را پیکربندی می‌کند، عامل ها می‌توانند یاد بگیرند که با یک یا چند گرداننده ارتباط برقرار کنند. ارتباط بین مهاجم و گرداننده و بین گرداننده و عامل ها می‌تواند توسط پروتکل های TCP، UDP یا ICMP صورت پذیرد.

۴.شروع حمله ddos 

در این مرحله مهاجم دستور آغاز حمله را می‌دهد. قربانی، مدت زمان حمله و نیز ویژگی های خاص حمله از قبیل نوع، TTL، تعداد پورت ها و … می‌تواند تنظیم شود. تنوع خصوصیات بسته های حمله می‌تواند برای مهاجم به منظور جلوگیری از کشف حمله مفید باشد.

ابزارهای مورد استفاده در ddos اتک چیست

ابزارهای مورد استفاده در حمله دیداس 

حال که با مفهوم دیداس چیست و نحوه ایجاد حمله دیداس آشنا شده اید باید بدانید که برای این عمل چندین ابزار و نرم افزار حمله DDoS شناخته شده وجود دارد که باید با آنها نیز آشنا باشیم. معماری این ابزارها بسیار مشابه است و در واقع بعضی ابزارها از طریق تغییرات کمی در سایر ابزارها ساخته شده اند. در این بخش ما وظیفه مندی بعضی از این ابزارها را به طور خلاصه نشان می‌دهیم.

TRINOO در حمله ddos

Trinoo به عنوان اولین ابزاری است که در DDoS استفاده شده است.Trinoo یک ابزار تخلیه پهنای باند است و از ان برای ارسال سیل عظیمی‌ از ترافیک UDP برروی یک یا چند IP استفاده می‌شود. معمولاً عامل‌های ترینو در سیستمی‌نصب می‌شود که دارای باگ Buffer overfollow باشند. Handler‌ها از UDP یا TCP برای ارتباط با agentها استفاده می‌کند لذا سیستم‌های کشف نفوذ می‌توانند تنها با بوکشیدن ترافیک UDP آنها را پیدا کنند.

 

بیشتر بخوانید: bandwidth چیست

TFN

در سال ۱۹۹۹ نوشته شده است و مانند TRINOO یک ابزاری است که برای تخلیه سازی پهنای باند و منابع سرویس قربانی استفاده می‌شود . این ابزار از یک واسط خط فرمان برای ارتباط بین مهاجم و برنامه اصلی کنترل استفاده می‌کند اما هیچ رمزنگاری میان عامل‌ها(Agents) و گرداننده‌ها (Handlers) و یا میان گرداننده‌ها (Handlers) و مهاجم (Attacker) ارائه نمی‌دهد.

علاوه بر سیل UDP ترینو، TFN اجازه سیل ICMP و نیز حملات Smurf را می‌دهد. ارتباط بین گرداننده (handlers)و شیاطین(agents) با بسته‌های ICMP ECHO REPLY انجام می‌شود، که کشف آنها از بسته‌های UDP سخت تر بوده و اغلب می‌توانند از سیستم‌های دیوار آتش عبور کنند. TFN حملات DDoS را راه اندازی می‌کند که مخصوصاً سخت تلافی می‌شود چرا که می‌تواند چندین نوع از حملات را تولید کرده و می‌تواند بسته‌هایی با آدرس‌های IP مبدأ جعلی تولید کند و همچنین پورت‌های مقصد را به طور تصادفی نشان دهد.

Stacheldraht

(یک واژه آلمانی به معنای «سیم خاردار») بر پایه نسخه‌های اولیه TFN می‌باشد و تلاش می‌کند بعضی از نقاط ضعف آن را از بین ببرد. Stacheldraht ویژگی‌های Trinoo (معماری گرداننده/عامل) را با ویژگی‌های TFN اصلی ادغام می‌کند. Stacheldraht همچنین دارای توانایی انجام بروزرسانی در عامل‌ها به طور خودکار می‌باشد. یعنی مهاجم می‌تواند روی هر سرور ناشناخته فایل نصب کند و هنگامی‌که یک عامل روشن شد (یا به اینترنت وصل شد) عامل می‌تواند به طور خودکار بروزرسانی‌ها را پیدا کرده و آنها را نصب کند. Stacheldraht همچنین یک اتصال telnet امن توسط رمزنگاری کلید متقارن میان مهاجم سیستم‌های گرداننده برقرار می‌کند.

ارتباط از طریق بسته‌های TCP و ICMP ایجاد می‌گردد. بعضی از حملاتی که توسط Stacheldraht می‌توانند راه اندازی شوند شامل سیل UDP ، سیل درخواست

ICMP echo و پخش هدایت شده ICMP می‌شود. شیاطین حمله برای Stacheldraht حملات Smurfوسیل UDP و سیل ICMP را انجام می‌دهند. نسخه‌های جدید برنامه امکانات بیشتر و اثرات مختلفی دارند.

از ابزارهای دیگری که می‌توانیم برای چگونه حمله دیداس بزنیم نام ببریم mstream ، shaft است اما ما به تعریف ابزار‌های بالا بسنده می‌کنیم.

مشکلات دفاع در برابر DDoS چیست؟

حملات DDoS حمله‌هایی است که دفاع در برابر ان بسیار دشوار است . اولین مشکل این است که هیچ ویژگی مشترکی در حملات DDoS وجود ندارد و این حملات با توجه به خلاقیت اتکر برنامه ریزی می‌شود و با توجه به اینکه این حملات از چند سیستم و عامل ناشی می‌شود بنابراین ردیابی انها بسیار دشوار خواهد بود.

از طرف دیگر ابزار‌هایی که از طریق ان می‌توان در حمله DDoS شریک شد به راحتی در فضای اینترنت قابل یافت و دانلود می‌باشند . همچنین ممکن است حمله کننده با تکنینک IP Spoofing ( جعل IP) هویت واقعی خود را مخفی سازد که در این صورت فرایند ردیابی حمله کننده بسیار دشوارتر می‌گردد.

دفاع در برابر DDoS شامل دو مورد می‌شود :

۱.دفاع قبل از حمله ی DDoS که شامل استفاده از تجهیزات امنیتی مانند firewall و antiddos و… می‌باشد

۲.دفاع در زمان حمله که موضوع بسیار مهمتر از دفاع قبل از حمله می‌باشد و در زیر چند مکانیزم را ارایه کرده ایم.

۱.فیلترینگ ورودی (Ingress Filtering)

در این روش یک روتر راه اندازی می‌شود که اجازه ورود بسته‌هایی با منبع غیر مجاز را به شبکه نمی‌دهد. فیلترینگ ورودی (Ingress Filtering) یک مکانیزم محدود کننده به منظور جلوگیری از عبور ترافیک‌هایی است که آدرس IP فرستنده بسته با پیشوند دامین متصل به روتر همسان نباشد. این مکانیزم می‌تواند به صورت موثری حملات DDoS ی را که از طریق جعل IP انجام می‌شود کاهش دهد .

اما بعضی مواقع ممکن است یک ترافیک قانونی به وسیله این نوع از فیلترینگ (فیلترینگ ورودی) دور انداخته شود و این موضوع زمانی رخ می‌دهد که در یک شبکه خارجی از شبکه ما یک نود متحرک که از IP متحرک (موقت) استفاده می‌کند بخواهد به شبکه ما وصل شود.

۲.فیلترینگ IP بر اساس تاریخچه (Historybase Ip filtering)

یکی از مکانیزمهای فیلترینگ دیگری که برای جلوگیری از حملات DDoS ارائه شده است فیلترینگ بر اساس تاریخچه ip می‌باشد بر اساس این روش روتر لبه شبکه بسته‌های ورودی را که از قبل در پایگاه داده آدرسهای IP وجود دارد می‌پذیرد. این پایگاه داده آدرسهای IP بر اساس تاریخچه ارتباطات قبلی روتر لبه شبکه می‌باشد.

۳.تغییر آدرس IP

یکی از راهکارهای ساده دیگر در مقابل حملات DDoS تغییر آدرس IP است که با تغییر آدرس IP کامپیوترهای قربانی با آدرس جدید باعث می‌شود آدرس قبلی غیر معتبر شود. به این روش دفاع از هدف متحرک گوییم. پس از تغییر آدرس IP تمامی‌روترهای اینترنت از این امر مطلع شده و روتر لبه شبکه بسته‌های حمله را دور خواهد انداخت. اگرچه این عمل کامپیوتر را در معرض تهدید نگه خواهد داشت زیرا حمله کننده یک حمله جدید را به آدرس جدید صورت خواهد داد . این گزینه برای زمانیکه حمله دیداس به صورت محلی و بر اساس آدرس IP باشد کاربردی است.

از طرف دیگر حمله کننده می‌تواند با استفاده از افزودن ویژگی ردیابی نام دامنه به ابزار حمله DDoS خود این مکانیزم دفاعی را بی اثر کند. ( با استفاده از ویژگی ردیابی دامنه به محض تغییر آدرس IP چون حمله با دامنه انجام می‌شود بنابر این حمله به سوی آدرس جدید ارسال خواهد شد.) در مورد انواع ip می توانید مقاله ip address چیست را بخوانید.

۴.Load balancing

Load balancing یکی از روشهای ساده است که سرویس دهنده را قادر می‌سازد تا پهنای باند را در ارتباطات حساس افزایش داده و در زمان وقوع حمله از قطع شدن سرویس جلوگیری نمایند. به علاوه کمک می‌کند تا با استفاده از قابلیت تکرار در سرورها (Replication) در صورتی که سروری به دلیل حمله DDoS دچار اشکال شود تخریب امن صورت گیرد. ( اگر سروری به دلیل حمله از دسترس خارج شد به دلیل تکرار شدن آن بر روی سایر سرورها سرویس دهی توسط سایر سرورها ادامه یابد )

[irp posts=”۱۲۲۵۵″ name=”Network Load Balancing یا nlb چیست و هر آنچه در مورد آن بایستی بدانید”]

۵.Honeypots

می‌توان از Honeypot‌ها برای جلوگیری از حملات DDoS استفاده کرد. Honeypot‌ها سیستمهایی هستند که با حداقل سطح امنیت راه اندازی می‌شوند که می‌توان از آنها برای فریب حمله کننده به آن استفاده کرد و دارای سیستم واقعی نیستند.

Honeypot‌ها معمولا در سیستمهای حفاظتی دارای ارزش نیستند ولی می‌توان از آنها برای جمع آوری اطلاعات درباره حمله کننده با استفاده از ثبت فعالیتهای آنها وآموختن نوع حملات و ابزارهایی که حمله کننده به کار می‌برد ، استفاده کرد . در تحقیقات اخیر این بحث مطرح است که تقلید تمامی‌جنبه‌های مشروع یک شبکه در Honeypot ( مواردی مانند سرور وب ، سرور ایمیل ، کلاینت‌ها و غیره)به صورت بالقوه برای حمله کننده‌های DDoS جذاب می‌باشد.

ایده آن است که حمله کننده را فریب دهیم تا فکر کند که در حال آسیب زدن به یک سیستم ( در اینجا سیستم Honeypot ) است و این سیستم در اختیار وی برای نصب کد عامل (agent) یا Handler می‌باشد. این روش از به خطر افتادن سیستمهای اصلی جلوگیری می‌کند و از طرفی رفتار عامل یا Handler نصب شده را می‌توان ردیابی کرده و به سیستم اجازه داد تا بهتر بتواند در برابر ویژگی‌های حمله انجام شده DDoS دفاع مناسب اتخاذ کند.

[irp posts=”۱۴۲۴۴″ name=”تجزیه تحلیل بات نت Jaku و نحوه عملکرد آن”]

۶.تحلیل الگو‌های گرافیکی حمله dos 

یکی از روشهای پاسخ به حمله‌های DDoS است.در طول یک حمله اطلاعات مولفه ترافیک را می‌توان نگهداری و پس از حمله با آنالیز آنها برای یافتن مشخصات ویژه و خصوصیاتی که ممکن است نشان دهنده یک حمله باشد اقدام نمود.نتایجی که از تحلیل‌های این اطلاعات به دست می‌آید می‌تواند برای به روز رسانی تکنیک‌های توزیع بار (Load balancing) به کار رود و همچنین مکانیزمهای جدید فیلترینگ را توسعه دهد یا به طوری بتوان از حملات DDoS بعدی جلوگیری نمود .

برای جلوگیری از حملات DDoS چکار کنیم؟

جلوگیری از این حملات با روش های زیر ممکن است:

پیکربندی مجدد نرم افزارها و سخت افزارها

روترها را می‌توان طوری پیکربندی کرد که از حملات ساده Ping، با فیلترکردن پروتکل‌های غیرضروری جلوگیری کنند و می‌توانند آدرس‌های IP نامعتبر را نیز متوقف کنند.

روش‌های سیستم‌های کشف نفوذ (intrusion detection systems) توانایی‌هایی را ایجاد می‌کند که باعث تشخیص استفاده از پروتکل‌های معتبر بعنوان ابزار حمله می‌شود. این سیستم‌ها می‌توانند به همراه فایروال‌ها بکار روند تا بصورت خودکار در مواقع لزوم ترافیک را مسدود کنند.

پیکربندی مناسب application‌های سرویس دهنده در به حداقل رساندن اثرات حمله DDoS تأثیر بسیار مهمی ‌دارند. مدیر سرور می‌تواند تعیین کند که application از چه منابعی استفاده کند و چگونه به درخواست‌های کاربران پاسخ دهد.

از متخصصان امر استفاده کنید

بسیاری از شرکت‌ها متخصص مقابله با این نوع از حملات هستند، و می‌توانند قبل از حملات، در حین حملات و حتی بعد از آن نیز شما را یاری کنند. این شرکت‌ها بر اساس تجربه‌ای که دارند می‌توانند بسیار مفید باشند. نکته ای که در خصوص این سازمان‌ها وجود دارد این است که هزینه همکاری آنها قابل توجه است.

در مقابل، استفاده از سرویس‌های آنلاین به صرفه‌تر هستند. یکی از بهترین‌های این نوع خدمات، سرویس CloudFlare است. cloudflare برای مقابله با حملات، سرویس رایگان نیز ارائه می‌کند و تا حدودی می‌تواند به شما در مقابله با حملات کمک کند. سرویس‌های افزوده cloudflare محافظت بهتری را بر روی سایت شما اعمال می‌کنند. در این سرویس‌ها، اطلاعات سایت شما در چندین دیتاسنتر در نقاط جغرافیایی مختلف توزیع می‌شود، بدین ترتیب حمله به سایتی که همزمان در مکان‌های مختلفی توزیع شده است، بسیار مشکل است. از طرفی، تشخیص حملات و مقابله با آنها کاملا بصورت خودکار انجام می‌شود و نیازی نیست شما درگیر مقابله با حملات شوید.به شما پیشنهاد می شود برای کسب اطلاعات در حوزه cloudflare چیست مقاله ما را مطالعه نمایید.

برای وقوع حملات در آینده همیشه از قبل برنامه ریزی داشته باشید

اگر قبلا یک حمله DDOS را تجربه کرده باشید، مشاهده کردید که در حین حملات فرصت کافی برای برنامه‌ریزی جهت واکنش را ندارید. در این حالت، تنها کاری که اولویت دارد بازگردانی سرویس‌ها و مقابله با حملات است. برنامه‌ریزی برای انجام چنین اقداماتی باید قبل از وقوع حملات انجام شده باشد.

از جمله مواردی که می توانید قبل از حمله برنامه ریزی کنید به شرح زیر هستند :

  • برای شروع با سرویس دهنده اینترنت سرور سایت تماس بگیرید و پروتکل‌های قابل انجام در چنین شرایطی را مرور کنید.
  • لیستی از آی پی‌ها و پروتکل‌هایی که می‌توانید در زمان حملات، به آنها اجازه دسترسی را بدهید ایجاد کنید.
  • اگر در شرکت شما خطر حملات بسیار بالاست، تجهیزات نرم افزاری و سخت افزاری مورد نیاز برای مقابله با آنها را راه‌اندازی کنید.
  • مواردی که ممکن است مورد هدف حملات قرار بگیرند را تا حد امکان محدود کنید و نقاط ضعف امنیتی مرتبط را برطرف کنید.

حملات DDOS امروزه جزئی از اینترنت هستند. نقش مهمی ‌که شما باید داشته باشید این است که همیشه آماده باشید، تا در زمان وقوع حملات بتوانید بر اساس برنامه ریزی که از قبل کرده‌اید، در سریع ترین زمان ممکن با حملات مقابله کنید.امیدواریم با خواندن این مقاله با مفهوم حملات dos چیست آشنا شده باشید.

مقابله با DDoS

روش مقابله حملات DDOS در لینوکس

حملات بالا  بر روی سرورها انجام می شود که با استفاده از سیستم های آلوده از کشور های مختلف در حال انجام می  گیرد. حملات DDOS در لینوکس باعث اختلال در سرویس apache شده و از آنجای که سرویس آپاچی در جلوی حملات DDOS ضعیف عمل می کند حملات DDOS در لینوکس باعث می شود سایت های سرور با سرعت خیلی کمی بارگزاری می شوند.

در این مواقع شما می توانید در سرورهای لینوکس با استفاده از دستور زیر لیست IP های متصل به سرور و تعداد کانکشن های آنهارا مشاهده کنید :

netstat -atun | awk ‘{print $5}’ | cut -d: -f1 | sed -e ‘/^$/d’ |sort | uniq -c | sort –n

کارهای که شما باید انجام بدید در صورت امکان وارد کانفیگ CSF خود شوید و PORT 80 را از لیست TCP_IN و TCP_OUT پاک کنید

با اینکار شما پورت ۸۰ را بر روی سرور خود مسدود میکنید و با خیال راحت میتوانید به مرحله بعد بروید . در صورتی که نمیخواهید سایت ها از دسترس خارج شوند میتوانید این کار را انجام ندهید .

پس از بستن PORT 80 ابتدا وارد ConfigServer Firewal شوید و تغیرات زیر را انجام دهید .

تنظیمات مربوط به فایل csf.conf را بصورت زیر تنظیم نمایید:

CT_LIMIT = “۸۰”

CT_INTERVAL = “۵۰”

CT_PERMANENT = “۱”

CT_BLOCK_TIME = “۱۸۰۰”

CT_INTERVAL = “۶۰”

CT_SKIP_TIME_WAIT = “۱”

SYNFLOOD = “۱”

در حال حاضر سرور شما از DOS و حملات SYN محافظت می شود، و از طریق ایمیل زمانی که یک IP مسدود شده است، مطلع خواهید شد. همچنین:

CONNLIMIT = “۲۲;۵,۸۰;۲۰”

تعداد کانکشن های همزمان مجاز برای پورت ۲۲ مقدار ۵ وبرای پورت ۸۰ مقدار ۲۰ کانکشن

PORTFLOOD = “۸۰;tcp;20;300”

این تنظیم به این معنا می باشد که تمام درخواست به پورت ۸۰ از نوع TCP از ۲۰ درخواست درثانیه را
در بازه زمانی ۳۰۰ ثانیه را قبل از آزاد شدن کانکشن محدود میکند.

حفاظت از SPAM هرزنامه

LF_DSHIELD = “۸۶۴۰۰”

LF_SPAMHAUS = “۸۶۴۰۰”

LF_BOGON = “۸۶۴۰۰”

این تنظیم اختیاری است و پیشنهاد نمی شود زیرا سرور شما از یک لیست بزرگ از IP های بد شناخته شده محافظت می شود،

که همیشه در حال رشد است. سایر تنظیمات مفید شما می توانید دسترسی IP کشورهای مخصوصی را ببندید

CC_DENY = “GB,CN”

شما می توانید lfd را برای تشخیص دایرکتوری های مشکوک تنظیم نمایید:

LF_DIRWATCH = “۳۰۰”

نکته مهم

شما وقتی دستور :

netstat -atun | awk ‘{print $5}’ | cut -d: -f1 | sed -e ‘/^$/d’ |sort | uniq -c | sort -n

را در سرور خود وارد میکنید لیست IP های متصل به سرور شما + تعداد کانکشن نمایش داده میشود ، IP های نمایش داده شده را در سایت زیر وارد کنید

http://geoip.flagfox.net/?ip=

و بعد از نمایش مشخصات در قسمت Country Code مخفف نام کشور ( برای مثال Iran = IR ) را برای شما نمایش میدهد .

بجز IP کشور های مهم مثل : آلمان ، آمریکا ، ایران و … تمامی IP های نمایش داده شده را ابتدا Country Code آنهارا به دست بیاورید و سپس مثل آموزش بالا وارد ConfigServer Firewall شوید و آن ها را در لیست CC_DENY قرار داده و ذخیره کنید ، سرویس CSF و LFD را ریستارت دهید و سپس سرور خود را reboot دهید . و بعد PORT 80 را در سرور خود باز کنید .

در راستای بررسی حملات DDOS در لینوکس لطفا توجه داشته باشید که این آموزش برای حملات بر روی سطح ۷ شبکه میباشد ( سطح نرم افزار) که سرویس APache را مورد حمله قرار داده اند. در حملات بر روی شبکه و یا …. شما از هیچ نرم افزاری بجز firewall سخت افزاری و یا استفاده از میکروتیک نمیتوانید جلویه حملات را بگیرید . دلیل هم عدم دسترسی و مدیریت نرم افزار ها به سایر لایه های شبکه میباشد .

نتیجه ی نهایی حمله دی داس

بدون شک حملات DDoS در حال حاضر مشکل جدی در اینترنت می‌باشد .در این مقاله، ما تلاش کردیم تا به یک دید واضح و روشنی از مشکل این حمله و روشهای دفاعی متعدد وراه حل‌هایی که پیشنهاد شده اند برسیم. با داشتن دید واضح می‌توانیم راهکارهای موثرتری برای مشکل حمله دیداس پیدا کنیم.

یکی از مزایای بزرگ حملات DDoS و دسته بندی‌های دفاع , ارتباط موثر و مشارکت بین محققین است که می‌تواند منجر به شناسایی سایر نقاط ضعف فیلد DDoS شود.این طبقه بندی‌ها نیازمند به روز رسانی مداوم بوده و تهدیدات جدید و مکانیزمهای دفاعی در برابر آنها باید شناسایی شود. مرحله بعدی در این راه ایجاد مجموعه ای از اطلاعات و تجربیات آزمایش شده است به طوریکه بتوان تمامی‌روشها را مقایسه و ارزیابی نمود.

اشکان نصیری

مدیر سرور در ایران هاست با +۵ سال سابقه در صنعت میزبانی وب و کارشناسی ارشد MBA

‫۸ دیدگاه ها

  1. با سلام. من یک مودم tp-link مدل TD-W9960 دارم که قابلیت فیلتر کردن حملات ddos رو داره. فیلتر رو براساس تعداد پک ها در ثانیه انجام میده که تعدادش قابل تنظیم هم هست.ICMP-Flood و UDP-Flood و TCP-SYN-Flood رو فیلتر میکنه و تعداد پیشفرض این موارد هم عدد ۱۲۰۰ پک برثانیه هست. این اعداد رو به ۱۰ تغییر دادم اما اینترنتم قطع شد. میخواستم ببینم علت این اتفاق چیه و اینکه چه عددی مناسبه برای این گزینه ها و چرا؟

دیدگاهتان را بنویسید

نوشته های مشابه

دکمه بازگشت به بالا