دیجی کانفیگ
مرجع تخصصی آموزش وبمستر

حملات DOS و DDOS چیست؟

اُکسین گستر

- تبلیغات -

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

DOS مخفف“Denial Of Service” و DDOS مخفف “Distributed Denial Of Service” می باشد.

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

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

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

GoldenEye HTTP Denial Of Service Tool
PyLoris
DAVOSET
Tor’s Hammer
DDOSIM—Layer 7 DDOS Simulator
HULK (HTTP Unbearable Load King)
XOIC
OWASP DOS HTTP POST
LOIC (Low Orbit Ion Canon)
R-U-Dead-Yet

تفاوت بین حملات DOS و DDOS در چیست؟

در هر دو این حملات سرور هدف از ادامه فعالیت باز می ماند اما تفاوت این دو در منبع حمله می باشد.

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

این گروه گسترده از کامپیوترها در سراسر اینترنت و در شبکه ای به نام بات نت (Botnet) که توسط هکر طراحی شده قرار داشته و به اصطلاح به آن ها کامپیوترهای زامبی گفته می شود. در عکس های زیر تفاوت بین حمله DOS و DDOS را مشاهده میکنید.

حملات DOS و DDOS چیست؟

همانطور که در تصویر بالا می بینید در حمله داس، فقط از یک سیستم برای حمله استفاده می شود. اما در تصویر زیر که مربوط به حمله دی داس است، از چند سیستم برای حمله استفاده شده است.

حملات DOS و DDOS چیست؟

در شبکه بات نت کامپیوترهای زیادی به عنوان زامبی قرار دارند که توسط مرکز کنترلی که هکر طراحی کرده و به C&C معروف است، کنترل می شود و هکر با دستور دادن به زامبی های خود، همگی آن ها را به صورت همزمان به سایت یا سرور مشخص هدایت می کند.

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

حملات DOS و DDOS چیست؟

اسامی برخی تروجان های بات نت

  • Blackshades NET
  • Plugbot
  • Andromeda bot
  • Cythosia botnet

دی داس

حملات DOS و DDOS چگونه عمل می کنند؟

بسیاری از سایت های بزرگ نیز در حال حاضر قادر به مقابله با حملات DOS نیستند، در DOS مهاجم به واسطه یک برنامه درخواست های متعدد از Packet های TCP را به سرور هدف ارسال می کند تا بدین وسیله دسترسی به شبکه را از وب سرور بگیرد، که باعث جلوگیری از دسترسی دیگر کاربران به وب سایت میشود.

در این هنگام اگر شما سعی در بارگزاری وبسایت داشته باشید با پیغام خطای Network Timeout مواجه خواهید شد.

هدف از حملات DOS و DDOS چیست؟

چرا هکر اقدام به این نوع حمله می کند؟ چه سودی برای وی دارد؟ هکرهایی که به کارهای DOS مشغول هستند، سالیانه مبالغ بسیار زیادی درآمد دارند! این هکرها معمولاً توسط افراد دیگر استخدام شده و اقدام به دی داس کردن سرویس ها می کنند.

فرض کنید دو شرکت که رقیب همدیگر هستند، قرار است محصولی را بفروشند. حال شرکتی به یک هکر که کار او DoS کردن سرویسهاست مبلغ هنگفتی را می دهد تا وبسایت شرکت دیگر را برای مدتی مختل کند. (من خودم به شخصه این حمله را بین شرکت های ISP مشاهده مشاهده کرده ام.

با این کار از دسترسی به وبسایت شرکت دوم جلوگیری شده و شرکت اولی می تواند همه بازار را برای آن مدت موقت در دست داشته باشد.

این کار هم برای شرکت متقلب و هم برای هکر بسیار پرسود خواهد بود. درحالی که شرکت دوم آسیب و ضرر بسیاری خواهد دید.

این تنها هدف حملات تکذیب سرویس نیست. اهدافی مانند موضوعات سیاسی، قدرت نمایی یک گروه هکری و … باعث می شود که هکرها اقدام به تکذیب سرویس یا دیداس کنند.

علائم حملات DOS و DDOS چیست؟

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

عدم اتصال به پایگاه داده: گاهی ممکن است صفحات استاتیک که نیازی به اتصال پایگاه داده ندارند به راحتی بارگذاری شوند، ولی اتصال به پایگاه داده برای صفحات داینامیک برقرار نشود، در چنین مواقعی معمولا پیام تکمیل ظرفیت اتصال به پایگاه داده یا too many” connection” ظاهر خواهد شد، بهترین کار در چنین حالتی این است که با تنظیم یک دستور هِدر ۵۰۰ HTTP به ربات های جستجوگر بگوییم که سایت ما فعلا دچار مشکلی است و بعدا مراجعه نمائید! چرا که در غیر اینصورت با وجود down بودن دیتابیس سرور، ربات ها با دریافت وضعیت HTTP 200 صفحه خالی را index می کنند که این حالت اصلا مناسب نیست، در php این کار را با دستورات header می توان انجام داد. کد:

header('HTTP/1.0 500 Internal Server Error');

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

افزایش انفجاری درخواست ها: یکی دیگر از نشانه های حمله ddos، وجود شمار زیادی درخواست http به سرور است که با مشاهده فایل log و قسمت آمار، می توان به این موضوع پی برد.

اختلالات در سرویس های جانبی نظیر ایمیل: گاهی مواقع حملات ddos سرویس های جانبی یک سرور نظیر سرویس ایمیل را هدف می گیرند، در این مواقع ارسال و دریافت ایمیل ممکن است به کندی صورت گیرد یا دچار وقفه شود، البته همانطور که گفتیم، هر وقفه و اختلالی به معنی حمله ddos نیست، تنها به عنوان یک نشانه می توان آن را محسوب کرد.

متد های حملات DOS و DDOS

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

Buffer Overflow Attack
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
SYN flood
Reset یا RST
Land Attack
Smurf Attack
Ping Flood یا Ping of death
Teardrop
Trinoo
TFN/TFN2K
Stacheldraht

Buffer Overflow Attack

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

SYN Flood

زمانی که یک host سیلی از packet های TCP/SYN را با یک نشانی جعلی ارسال می کند SYN Flood رخ می دهد. هر کدام از این packet ها همچون connection request در نظر گرفته می شوند که باعث ایجاد یک ارتباط نیمه باز در سرور شده به طوری که سرور با ارسال یک TCP/SYN-ACK Packet منتظر دریافت پاسخ از فرستنده می ماند.(در پاسخ به ACK Packet).

یا به عبارتی دیگر با ارسال درخواست های متعدد با علامت SYN به ماشین قربانی باعث پر شدن صف Backlog می شود.

اما Backlog چیست؟

تمامی درخواست هایی که به ماشین وارد می شوند و شامل علامت SYN برای برقراری ارتباط می باشند در قسمتی از حافظه به ترتیب ذخیره می شوند تا پس از بررسی جواب آنها داده شده و ارتباط برقرار شود، این قسمت از حافظه Backlog Queue نام دارد.

وقتی که این قسمت به علت درخواست های زیاد پر شود، سرویس دهنده مجبور به رها کردن درخواست های جدید می شود و در نتیجه از رسیدگی به این درخواست ها باز می ماند.

حملات دی داس

ICMP Flood

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

Teardrop Attacks

حمله Teardrop از طریق ارسال mangled ip با overlap بارگزاری بالایی را برای کارت شبکه سرور مورد هدف بوجود می آورد. این ضعف به دلیل وجود باگ در لایه های شبکه و TCP/IP می باشد.

سیستم عامل های ویندوز ۳.۱ ، ۹۵ ، NT و لینوکس ۲.۰.۳۲ و ۲.۱.۶۳ در برابر این حمله آسیب پذیر می باشد. در سپتامبر ۲۰۰۹ این حمله در ویندوز ویستا دیده شد.

اما این حمله در لایه SMB2 بالاتر از لایه TCP انجام شده بود. استفاده از سیستم عامل بروز و استفاده از بروز رسانی های امنیتی سهم بسزایی در جلوگیری از این نوع حملات دارد.

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

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

در صورتی که بسته ها با شماره افست و ترتیب نامربوط (ناقص الخلقه) ارسال شوند در سیستم عامل های مختلف به دلیل باگ های موجود در کد های دوباره سازی بسته های اطلاعاتی مرتبط با پروتکل TCP/IP باعث می شود سیستم مقصد از مرتب کردن آنها عاجز شده و در هم بشکند و در نهایت باعث کرش کردن سیستم می شوند.

حملات DOS و DDOS چیست؟

حملات DOS پایدار

حمله PDOS یا Permanent DOS که از آن با عنوان phlashing نیز نام برده می شود. در این نوع از حملات یک سیستم به صورت بسیار جدی آسیب می بیند به طوری که نیاز به جایگزینی یا نصب دوباره سخت افزار پیدا می کند.

Flood های مرتبه Application

بهره برداری های متنوعی با عاملیت DOS همچون سرریز buffer می تواند موجب سردرگمی نرم افزار در حال اجرا و پرشدن فضای دیسک یا مصرف تمامی حافظه RAM یا زمان CPU شود.

Nuke

یکی از قدیمی ترین روش های حملات Dos می باشد. با ارسال درخواستهای اشتباه Ping اقدام به از کار انداختن شبکه می نماید. یکی از نرم افزارهای معروف که این حمله را انجام میدهد WinNuke می باشد.

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

R-U-Dead-Yet

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

حمله Reset یا RST

پکت هایی که با علامت RST ارسال می گردند باعث می شوند که ارتباط مورد نظر قطع گردد. در واقع اگر ماشین A به سمت ماشین B پکتی را با علامت RST ارسال کند درخواست اتصال مورد نظر از Backlog پاک خواهد شد.

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

در واقع در داخل پکتی که از سوی ماشین نفوذگر به سمت قربانی ارسال می شود IP مشتری گذاشته می شود و در این صورت ماشین B که سرویس دهنده می باشد ارتباط مورد نظر ماشین A را از Backlog حذف می کند.

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

با کمی دقت در شکل در می یابید IP مبدا (SourceIP) که در پکت ارسالی از سوی ماشین حمله کننده به سمت ماشین B می رود همان IP ماشین شماره A می باشد. در صورتیکه IPماشین شماره C که نفوذگر از آن استفاده میکند چیز دیگری است.

حمله دیداس

حمله Land Attack

در این حمله با استفاده از روش Spoofing در پکت هایی که به سمت سرویس دهنده ارسال می شود به جای IP و Port مبداء و مقصد IP و Port خود ماشین سرویس دهنده قرار داده می شود.

در واقع IP و PORT ماشین سرویس دهنده به سمت خود سرویس دهنده ارسال می شود. این عمل باعث می شود تا در سیستم عامل های قدیمی یک حلقه داخلی Routing به وجود بیاید که باعث پر شدن حافظه و به وجود آمدن حمله DOS می شود.

این حمله در ماشین های (Win 95 (winsok 1.0 و Cisco IOS ver 10.x و سیستم های قدیمی باعث از کار افتادن سیستم می شد اما امروزه تمامی سیستم های هوشمند مانند IDS ها قادر به شناسایی این حملات می باشند و این حمله تاثیر زیادی بر روند کاری سرویس دهنده ندارد.

حملات DOS و DDOS چیست؟

حمله Smurf Attack

این حملات با ارسال درخواست های ICMP به سمت محدوده ای از IP های Amplifier باعث وسعت دادن ترافیک و به وجود آمدن حمله DOS می شوند.

حمله کننده می تواند درخواست های ICMP خود را به صورت Spoof شده و از طرف ماشین قربانی به IP های amplifier ارسال کند با ارسال هر درخواست صدها جواب برای درخواست ICMP به سمت ماشین قربانی سرازیر می شوند و ترافیک آن را بالا می برند.

Amplifier: تمام شبکه هایی که درخواست های ICMP را برای IP broadcast خود فیلتر نکرده اند یک Amplifier محسوب می شوند.

حمله کننده می تواند در خواست های خود را مثلا به IP هایی مانند: ۱۹۲.۱۶۸.۰.۰xxx که X می تواند ۲۵۵, ۲۲۳, ۱۹۱, ۱۵۹, ۱۲۷, ۹۵, ۶۳, ۳۱, ۱۵, ۷, ۳ یعنی IP های Broadcast باشند ارسال کند. البته قابل ذکر است IP broadcast بستگی به چگونگی بخش بندی IP در شبکه دارد.

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

در این شیوه حمله کننده سیستم قربانی را با ارسال پیام های Ping قلابی غرق می کند. در این روش، جانی تعداد بسیار زیادی ترافیک ICMP echo یا همان پینگ تولید می کند و آنها را از منابع ناشناس و قلابی به سمت هاست قربانی ارسال می کند. نتیجه هم تعداد فراوانی پاسخ پینگ است که باعث نابودی سیستم قربانی می شود.

حملات DOS و DDOS چیست؟

حمله Ping Flood یا Ping of Death

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

در این نوع حمله هکر با ارسال مستقیم درخواست Ping به کامپیوتر قربانی سعی می گردد که سرویس ها block و یا فعالیت آن ها کاهش یابد. در این نوع حمله اندازه بسته های اطلاعاتی به حدی زیادی (بالای K64) که در Ping غیر مجاز میباشد ارسال میشود، که کامپیوتر قربانی قادر به برخورد مناسب با آمیختن بسته های اطلاعاتی نیست و مختل می شود.

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

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

حملات DOS و DDOS چیست؟

حملات داس

حملات Trinoo

Trinoo در اصل از برنامه های Master/Slave است که با یکدیگر برای یک حمله طغیان UDP بر علیه کامپیوتر قربانی هماهنگ می شوند. در یک روند عادی، مراحل زیر برای برقراری یک شبکه Trinoo DDoS واقع می شوند.

حملات DOS و DDOS

مرحله اول: حمله کننده، با استفاده از یک میزبان هک شده، لیستی از سیستم هایی را که می توانند هک شوند، گردآوری می کند. بیشتر این پروسه بصورت خودکار از طریق میزبان هک شده انجام می گیرد. این میزبان اطلاعاتی شامل نحوه یافتن سایر میزبان ها برای هک در خود نگهداری می کند.
مرحله دوم: به محض اینکه این لیست آماده شد، اسکریپت ها برای هک کردن و تبدیل آنها به اربابان (Masters) یا شیاطین (Daemons) اجراء می شوند. یک ارباب می تواند چند شیطان را کنترل کند. شیاطین میزبانان هک شده ای هستند که طغیان UDP اصلی را روی ماشین قربانی انجام می دهند.
مرحله سوم: حمله DDoS هنگامی که حمله کننده فرمانی به میزبانان Master ارسال می کند، انجام می گیرد. این اربابان به هر شیطانی دستور می دهند که حمله DoS را علیه آدرس IP مشخص شده در فرمان آغاز کنند و با انجام تعداد زیادی حمله DoS یک حمله DDoS شکل می گیرد.

حملات TFN/TFN2K

TFN یا Tribal Flood Network یا شبکه طغیان قبیله ای، مانند Trinoo در اصل یک حمله Master/Slave است که در آن برای طغیان SYN علیه سیستم قربانی هماهنگی صورت می گیرد.

شیاطین TFN قادر به انجام حملات بسیار متنوع تری شامل طغیان ICMP طغیان SYN و حملات Smurf هستند، بنابراین TFN از حمله Trinoo پیچیده تر است.

TFN2K نسبت به ابزار TFN اصلی چندین برتری و پیشرفت دارد. حملات TFN2K با استفاده از جعل آدرس های IP اجرا می شوند که باعث کشف مشکل تر منبع حمله می شود.

حملات TFN2K فقط طغیان ساده مانند TFN نیستند. آنها همچنین شامل حملاتی می شوند که از شکاف های امنیتی سیستم عامل ها برای بسته های نامعتبر و ناقص سوء استفاده می کنند تا به این ترتیب باعث از کار افتادن سیستم های قربانی شوند.

حمله کنندگان TFN2K دیگر نیازی به اجرای فرمان ها با وارد شدن به ماشین های مخدوم (Client) به جای Master در TFN ندارند و می توانند این فرمان ها را از راه دور اجراء کنند.

ارتباط بین Clientها و Daemonها دیگر به پاسخ های اکوی ICMP محدود نمی شود و می تواند روی واسط های مختلفی مانند TCP و UDP صورت گیرد. بنابراین TFN2K خطرناک تر و همچنین برای کشف کردن مشکل تر است.

حملات TFN/TFN2K

حملات Stacheldraht

کد Stacheldraht بسیار شبیه به Trinoo و TFN است، اما Stacheldraht اجازه می دهد که ارتباط بین حمله کننده و Masterها (که در این حمله Handler نامیده می شوند) رمزنگاری شود؛ عامل ها می توانند کد خود را بصورت خودکار ارتقاء دهند، می توانند اقدام به انواع مختلفی از حملات مانند طغیان های ICMP ، طغیان های UDP و طغیان های SYN کنند.

حملات Stacheldraht

اسکن سیستم های آسیب پذیر

Random scanning: در این روش هکر یک range آی پی ادرس را به صورت تصادفی اسکن میکند و سیستم های اسیب پذیر را شناسایی میکند.(به صورت پیش فرض کل ipv4)

Hit-list scanning: در این روش ابتدا اتکر با جمع اوری اطلاعات در مورد سیستم های اسیب پذیر احتمالی یک لیست از انها جمع اوری میکند و سپس انها را اسکن میکند. از این روش برای اسکن و نصب کد مخرب در مدت زمان کوتاه استفاده میشود. (بجای اسکن کورکورانه کل ipv4)

Topological scanning: این روش برای پیدا کردن سیستم های اسیب پذیر دیگر توسط سیستم الوده شده استفاده میشود که با توجه به اطلاعات داخلی سیستم الوده شده نظیر url های سیستم های دیگر ، ایمیل ها و … صورت میگیرد ، دقت این اسکن تقریبا خوب میباشد

Local subnet scanning: در این روش هکر سیستم های شبکه محلی را در پشت فایروال اسکن میکند که میتواند در مدت کوتاهی ارتشی از بات نت های زیادی درست کند

Permutation scanning: در این روش جای ایپی های که اسکن شده تغییر پیدا میکنه و ممکنه مجددا یکی از اون ایپی ها اسکن شده ، مجدد اسکن بشه بصورت رندومی یا همون جایگشتی،چون احتمال با یکبار اسکن کردن به جواب نرسیدن وجود دارد ، این روش زمان بسیار زیادی میبرد.

پیشگیری و مقابله در برابر حملات DOS و DDOS

  • موثر ترین روش استفاده از سرویس های DDos Protection شرکت هایی مانند Cloudflare ,blacklotus , غیره
  • ایمن‌سازی سرور برای عدم اجرای شل‌های مخرب رایج
  • تأمین امنیت سرویس php
  • نصب و کانفیگ حرفه‌ای آنتی‌ویروس برای اسکن خودکار سرور
  • خرید یک سیستم حفاظتی IDS مانند Ax3soft Sax2
  • ایمن‌سازی symlink جهت عدم دسترسی به هاست‌های دیگری روی سرور
  • بستن دسترسی فایل‌های خطرناک سیستم عامل جهت امنیت بیشتر
  • بستن پورت‌ها و حذف سرویس‌های غیرضروری سرور
  • نصب و کانفیگ حرفه‌ای آنتی شل برای اسکن خودکار سرور جهت جلوگیری از فعالیت شل‌ها و فایل‌های مخرب روی سرور
  • تأمین امنیت Kernel سیستم عامل
  • تأمین امنیت وب سرور نصب‌شده nginx ،apache ،litespeed و lighthttpd
  • تأمین امنیت پورت‌های باز سرور

هیچ راهی برای مقابله با حملات دی داس (DDoS) به صورت کامل وجود ندارد! دلیل آن هم ساده است، درخواست هایی که توسط کامپیوترهای زامبی در باتنت ارسال می شوند کاملاً یک درخواست استاندارد برای سایت است.

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

وب سایت ها به هر دلیلی که مورد حمله DDOS قرار بگیرند در اولین مرحله باید مشخص شود که حمله DDOS در چه لایه ای از مدل OSI صورت میگیرد؟ حملات معمولا در لایه ۷ (نرم افزاری) یا در لایه ۳ و ۴ شبکه میباشد، وسعت یه حمله به ویژگی هایی همچون حجم و تعداد پکت ارسالی در ثانیه بستگی دارد.

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

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

در خصوص حملات لایه ۷ ممکن است بتوان با فایروال های نرم افزاری تا حدی در مقابل حملات مقاوم بود اما اگر تعداد پکت های ارسالی بالا باشد و همچنین از الگوی خاصی پیروری نکند مهار این نوع حملات نیز دشورا خواهد بود، حملات لایه ۷ که اکثر به صورت GET یا POST ارسال می شوند میزان مصرف منابع سرور مثل رم و سی پی یو را افزایش می دهند که باعث اختلال در عملکرد عادی سرور می شود.

دفاع در برابر حملات DOS مستلزم درگیر شدن ترکیبی از ابزارهای کشف حمله، ابزارهای پاسخ و دسته بندی ترافیک (به منظور Block کردن ترافیک غیرقانونی و اجازه ترافیک قانونی) می باشد.

یکی از روش های دفع حملات DDoS استفاده از فایروال های آنلاین می باشد، نسل جدیدی از فایروال های آنلاین که در سنترال هاستینگ ارائه می شود کلود پروتکشن نام دارد، این نوع فایروال در حال حاضر تنها نمونه فایروال ایرانی در نوع خود می باشد که کاربران با تغییر نیم سرور وب سایت خود را در برابر حملات DDoS مقاوم می کنند.

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

حملات DOS و DDOS

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

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

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

حملات DOS و DDOS

برای جلوگیری از قرار گرفتن بعنوان یک واسطه و شرکت در حمله 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

فهرستی از ابزارهای پیشگیری و مقابله با حملات داس و دیداس

فایروال ها: Firewall ها به گونه ای تنظیم می شوند تا بر طبق قوانین ساده ای، پروتکل ها را بپذیرند یا رد کنند. برای مثال در صورتی که حملاتی از سمت چند IP غیرمعمول اتفاق بیافتد، می توان با تعیین یک rule ساده نسبت به نادیده گرفتن بسته های ارسالی از سمت مهاجمان اقدام نمود.

Switches: بیشتر switchها دارای قابلیت Rate-Limiting و ACL می باشند. بعضی از سوئیچ ها به صورت خودکار و یا system-wide قابلیت های rate limiting، traffic shaping، delayed binding(TCP splicing)، deep packet inspection و Bogon filtering، را جهت کشف و اصلاح حملات DOS از طریق automatic rate filtering و WAN Link Failure و Balancing ارائه می نمایند.

Routers: همانند سوئیچ ها، مسیریاب ها نیز قابلیت Rate-Limiting و ACL را دارا هستند. همچنین آنها به صورت دستی نیز تنظیم می شوند. بیشتر مسیریاب ها به آسانی در برابر حملات DOS در هم میشکنند. اگر قوانینی را در مسیریاب به گونه ای تنظیم نمایید که در هنگام حملات statistics ارائه دهند، مسیریاب بیشتر کند شده و مسئله پیچیده و دشوارتر خواهد شد. Cisco IOS قابلیتهایی دارد که مانع از Flooding می شوند.

روتر ها می توانند طوری پیکربندی شوند که از حملات ساده ping با فیلترکردن پروتکل های غیرضروری جلوگیری کنند و می توانند آدرس های IP نامعتبر را نیز متوقف کنند. بهرحال، روترها معمولاً در مقابل حمله جعل شده پیچیده تر و حملات در سطح Application با استفاده از آدرس های IP معتبر، بی تأثیر هستند.

Application Front End Hardware: سخت افزار هوشمندی است که سر راه شبکه و قبل از رسیدن ترافیک به سرور قرار می گیرد. می توان از آن در ارتباط بین مسیریاب ها و سوئیچ ها استفاده نمود. این سخت افزار packetها را به محض ورود به سیستم آنالیز کرده و آنها را بر اساس اولویت، معمول بودن یا خطرناک بودن شناسایی می کند.

پیشگیری بر پایه IPS: سیستم های پیشگیری از نفوذ ((Intrusion-prevention systems (IPS)) در حملاتی که Signature Associated هستند موثرند. اگرچه گرایش حملات به داشتن محتویات مشروع باشد اما قصد نادرستی را دنبال می کنند. IPSهایی که بر اساس تشخیص محتوا کار می کنند نمی توانند حملات Behavior-Based DOS را Block کنند.

دفاع بر اساس DDS: برخلاف مشکلی که IPS ها دارند، DOS Defence System یا DDS قادر است تا حملات DOS Connection-Based و حملاتی که محتویاتی مشروع اما قصد بدی دارند را block کنند. یک DDS هر دوی حملات protocol base (همچون Treadrop و Ping of death) و حملات rate-based (همچون ICMP Floods و SYN Floods) را اداره نماید.

Blackholing و Sinkholing: با استفاده از blackholding تمامی ترافیک DNS مورد تهاجم یا نشانی IP به (black hole (null interface، non-existent server ارسال می شود. جهت موثرتر بودن و دوری از تحت تأثیر قرار گرفتن ارتباطات شبکه، این راه حل توسط ISP مورد استفاده قرار می گیرد.

Clean pipes: تمامی ترافیک از “cleaning center” یا یک “scrubbing center” به واسطه روش هایی همچون پروکسی ها، تونل ها یا حتی مدارات مستقیم که ترافیک “بد” (DDOS و همچنین دیگر حملات اینترنتی) را تفکیک می کنند و تنها ترافیک خوب را به سرور انتقال می دهند، عبور می کنند. اجراکننده می بایست ارتباط مرکزی به اینترنت داشته باشد تا این نوع سرویس را مدیریت نماید مگر اینکه آنها را بتوان به آسانی استفاده از “cleaning center” یا “scrubbing center” پیاده سازی نمود.

سیاه چاله: این روش تمام ترافیک را مسدود می کند و به سمت سیاه چاله! یعنی جایی که بسته ها دور ریخته می شود هدایت می کند. اشکال در این است که تمام ترافیک – چه خوب و چه بد- دور ریخته می شود و در حقیقت شبکه مورد نظر بصورت یک سیستم off-line قابل استفاده خواهد بود. در روش های اینچنین حتی اجازه دسترسی به کاربران قانونی نیز داده نمی شود.

سیستم های کشف نفوذ: سیستم های کشف نفوذ (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 بوقوع خواهد پیوست. طبیعت یک حمله گاهی در میان کار تغییر می کند و به این نیاز دارد که شرکت بسرعت و بطور پیوسته در طی چند ساعت یا روز، واکنش نشان دهد. از آنجا که تأثیر اولیه بیشتر حملات، مصرف کردن پهنای باند شبکه شماست، یک ارائه کننده سرویس های میزبان روی اینترنت که بدرستی مدیریت و تجهیز شده باشد، هم پهنای باند مناسب و هم ابزار لازم را در اختیار دارد تا بتواند تأثیرات یک حمله را تخفیف دهد.

 

منبع cloudflare kaspersky
اُکسین گستر

- تبلیغات -