نحوه جلوگیری از حمله DDOS
نحوه جلوگیری از حمله DDOS
امروز میخواهیم چند گام و روش حل مسئلهای را که در مقابل یک حمله DDoS در یک سایت کوچک تجارت الکترونیک وردپرس داشتیم به شما نشان دهیم. حملههای DDoS ممکن است ناگهان ظاهر شده و سایتهای کوچکتر معمولا شکنندهتر هستند، چرا که هنگام رخ دادن چنین حملهای، به طور کامل آماده نیستند. اجازه دهید یک سوال مطرح کنیم. اگر سایت شما فردا مورد حمله قرار بگیرد چه خواهید کرد؟ اگر هیچ ایدهای ندارید، احتمالا باید این مقاله را نشانگذاری کرده و بخوانید.
حمله DDoS چیست؟
DDoS عبارت مخفف حمله منع سرور توزیع شده است. هدف اولیه حمله DDoS این است که سرور وب شما را بیش از حد شلوغ کرده و آن را فلج کرده یا از کار بیندازند. یکی از موارد ناامیدکننده این حملهها این است که به طور عمومی حملهکننده چیزی به دست نیاورده و چیزی هم هک نمیشود. مشکل بزرگ DDoS شلوغ شدن بیش از حد آن برای بارگذاری است. به احتمال بسیار زیاد خواهید دید که پهنای باند شما به میزان قابل توجهی بالا رفته و این میتواند برای شما صدها یا حتی هزاران دلار هزینه در پی داشته باشد. اگر در یک میزبان (هاست) ارزانتر یا اشتراکی هستید، ممکن است به راحتی منجر به تعلیق حساب شما شود.
در 21 اکتبر 2016، بزرگترین حمله DDoS (مرتبط با DNS) تاریخ رخ داد و سایتهای بزرگی مانند PayPal، Spotify، Twitter، Reddit و eBay را پایین کشید. حتی بعضی آن را روز نابودی DNS در اینترنت خواندند. با رشد اینترنت، افزایش حملههای DDoS با یک نرخ هشدار دهنده موضوع تعجبآوری نیست. در واقع با توجه به دادههای تهیه شده از easyDNS، حملههای DDos طی زمان بدتر میشوند. برای بعضی سایتها تنها زمان مطرح است تا با چنین حملهای روبهرو شوند.
توقف یک حمله DDoS در یک سایت کوچک دانلودهای دیجیتال آسان
در این مطالعه موردی، یک سایت تجارت الکترونیک کوچک داریم که EDD اجرا میکرد. این سایت به طور معمول در پهنای باند، روزانه تنها 30 تا 40 MB تولید میکرد و چند صد بازدید کننده داشت. در ژوئن گذشته، ناگهان شروع به استفاده بسیار از پهنای باند کرده و گوگل Analytics نیز هیچ ترافیک مضاعفی را نشان نمیداد. سایت ناگهان به انتقال روزانه 15 الی 19 GB داده در روز رسید. افزایشی 4650 درصدی! این تنها یک افزایش کوچک در بات ترافیک نیست.
پس از دیدن این افزایش، لاگهای سرور باید بررسی میشدند تا موضوع شناسایی شود. این دسته مسائل به راحتی ممکن است از کنترل خارج شوند. اطلاعات 7 روز گذشته نشان دادند که صفحه، حساب یا سایت 511000 بار خوانده شده بودند و در مجموع 66 GB ترافیک ایجاد کرده بودند. این آمار برای سایتی است که در ماه به طور معمول کمی بیش از 1 GB داده ایجاد میکند. پس فورا متوجه شدیم که اتفاقی رخ داده است.
تحلیل IP های 10 مشتری برتر در 7 روز آخر فعالیتهای مشکوکی را نشان میداد. اکثر آنها بالای 10000 درخواست داده بودند و تعداد این مشتریان کم بود. به یاد داشته باشید این سایت کوچکی است که در ماه به طور مجموع باید تنها چند هزار درخواست داشته باشد.
برای کسب داده همیشه میتوانید به گوگل اعتماد کنید. با ورود تعدادی از این IP ها در جستوجوی گوگل، متوجه شدیم که اکثر آنها تنها آدرسهای پروکسی هستند. یعنی کسی به احتمال بالا میخواسته ترافیک خود را پنهان کند.
تغییر آدرسها
اولین کاری که کردیم تغییر آدرس صفحه یا حساب به چیز متفاوتی بود. این همیشه معیار اول خوبی است. اما این حمله را تنها برای مدت زمان کوتاهی متوقف کرد تا آنها آدرس جدید را پیدا کنند. به یاد داشته باشید که چون این یک سایت تجارت الکترونیک است، باید صفحه حساب عمومی داشته باشد. به طور مشخص در یک وبلاگ ساده، تغییر آدرس لاگین وردپرس و پنهان کردن کامل آن میتواند بسیاری از این حملهها را متوقف کند، اما در این مورد کارساز نخواهد بود. ما به این کار امنیت وردپرس به وسیله ابهام میگوییم.
هک یا حمله جستوجوی فراگیر؟
موضوع دیگری که میتوانید در این موقعیتها تایید کنید این است که این یک تلاش برای هک نیست و در این مورد نیز نبود. لاگ وقایعنگاری ایمنی وردپرس یک افزونه عالی برای نظارت و بررسی این است که آیا تلاش ناموفقی برای ورود به یک صفحه وجود داشته یا خیر. همچنین میتوانید لاگهای خود را چک کنید تا ببینید آیا فعالیتهای پسین در تعداد بالا رخ داده است یا خیر. به نظر میرسید این تنها یک حمله DDoS ساده است که در آن به سادگی انبوهی از ترافیک به یک بخش از سایت فرستاده شده و تلاش شده تا بیش از حد شلوغ شود.
بلاک IP
اگر در حال کار روی سرور خود هستید، گام بعدی احتمالا این خواهد بود که یک افزونه بلاک IP یا firewall مانند WordFence را نصب کنید. اما مانند دیگر هاستهای مدیریت شده وردپرس، به دلایل مختلف اینجا اجازه فعالیت چنین افزونههایی را نمیدهیم. اول از همه این که ممکن است تاثیر بسیار زیادی بر عملکرد شما داشته باشند. به خصوص بر قابلیتهای اسکن. دوم این که ما با پلتفرم ابر گوگل، از متعادلسازهای بار استفاده میکنیم که سبب میشود بسیاری از قابلیتهای بلاک کننده IP افزونهها، آنطور که قرار بوده کار کند، جواب ندهد.
از این رو ما ابزار خودمان را ساختیم. میتوانید به راحتی با وارد کردن دستی آدرسهای IP با استفاده از IP Deny tool در داشبورد MyKinsta ، آدرسها را بلاک کنید. همچنین میتوانید همیشه با تیم پشتیبانی ما تماس برقرار کنید چرا که ما همیشه از بلاک جغرافیایی حمایت میکنیم.
اما بسته به مدت زمان و مقیاس حمله، بلاک کردن IP ها میتواند یک فرآیند تمام ناشدنی باشد که در غالب موارد به سرعت لازم مسئله را حل نمیکند. بسیاری از حملات DDoS زمانی که از یک ناحیه بلاک میشوند، از یک ناحیه دیگر سر در میآورند یا آدرسهای پروکسی یا IP را تغییر میدهند. پس در این مثال بهره بردن از راهحل DDoS که بتواند فرآیند را با قوانین از پیش ساخته و کامپایل شده خودکار کند از دادههایی به ارزش چند سال منطقی خواهد بود.
انتقال سایت به کلاودفلر راهگشا نبود
در بسیاری مواقع کلاودفلر در توقف بعضی ترافیک باتهای ساده خوب عمل میکند اما وقتی برنامه مجانی در کار باشد، محافظ DDoS آنها بهترین نیست. در واقع ما سایت را به کلاودفلر منتقل کردیم و ترافیکهای مشکوک بیشتری اضافه شدند. هر چند فکر میکنیم این تنها به خاطر افزایش تلاشهای آنها در اثر حمله بوده است. همانطور که میبینید درخواستها به حدود 50 هزار در ساعت نزدیک میشد. بخش CDN آنها عالی کار میکند اما اگر نیازهای بیشتری دارید، احتمالا باید هزینه بپردازید.
سپس «محدود کردن نرخ» را در سایت اجرا کردیم. محدود کردن نرخ به شما امکان این را میدهد که ترافیک مبتنی بر قوانین را مطابق یک آدرس ایجاد کرده و سپس فعالیتها را مطابق با آن محدود یا لغو کنید. این قابلیت را میتوانید در برنامه مجانی فعال کنید و به ازای هر 10 هزار درخواست باید 05/0 دلار بپردازید. اما در نرخی که ما درخواستها را میدیدیم، هر ماه 36 میلیون درخواست وجود داشت که خود 180 دلار برای هر ماه هزینه در پی داشت. پس مشخصا این راهحلی نبود که مشکل را درست کند. و البته که تمام راههای قوانین الگویی را امتحان کردیم.
توجه: هزینه محدود کردن نرخ بر اساس تعداد درخواستهای خوب (نه بلاک شده) تعیین میشود. درخواستهای خوبی که با قوانین تعریف شده شما در طول تمام وبسایتهایتان تطابق دارند.اما در این مورد جواب نمیداد.
قدم بعدی که از قبل میدانستیم پیش روی خود داریم، نگاه به یک برنامه فایروال حقیقی وب بود. بسیاری از کابران این را نمیدانند، اما برنامه رایگان کلاودفلر شامل این مورد نمیشود و این موضوعی است که این روزها برای متوقف کردن حملات DDoS لازم است. پس گزینه بعدی بهروز رسانی برنامه کلاودفلر به نسخه حرفهای با 20 دلار در ماه بود. این جایی است که باید کمی زمان گذاشته و راهحلهای ثالث را نیز مقایسه کنیم.
مقایسه کلاودفلر با سوکوری
از دید ما، در حال حاضر بهترین راهحلها برای برنامه فایروال وبی که اجرای آنها در هر نوع سایتی آسان است، کلاودفلر و سوکوری هستند. ما به هیچ یک از این دو شرکت وابستگی نداریم، اما اگر نگاهی به این دو بیندازید خواهید دید که در سوکوری به ازای هزینه خود امکانات بهتری دریافت میکنید. بیایید به برنامه این دو که هر یک ماهیانه 20 دلار هزینه دارند نگاهی بیندازیم.
کلاودفلر
با برنامه حرفهای کلاودفلر تنها میتوانید محافظ DDoS لایههای 3 و 4 را داشته باشید (در خصوص لایههای 3 و 4 حملات DDoS اینجا بیشتر بخوانید). این کمک میکند تا حملاتTCP SYN، UDP و ICMP را در سرور لبه متوقف کنید تا به سرور اصلی شما نرسند. برای استفاده از محافط لایه 7 باید به برنامه 200 دلار در ماه بهروز رسانی کنید. به یاد داشته باشید که این یک سایت بسیار کوچک تجارت الکترونیک است پس 200 دلار در ماه بسیار هزینهبر خواهد بود و فراتر از هزینههای هاست سایت است.
سوکوری
با برنامه 20 دلار در ماه سوکوری، در کنار محافط DDoS لایههای 3 و 4، محافظ لایه 7 را نیز خواهید داشت. این به شما کمک میکند که تغییرات ناگهانی در ترافیک را خودکار شناسایی کرده و شما را از سیلهای POST و حملههای DNS محور محافظت میکند و این حملات هیچ وقت به سرور اصلی شما نمیرسند. پس از همان ابتدا، کاهش حملات DDoS بهتری را با سوکوری خواهید دید و در این مثال، ما برای حملات سیلی HTTP به لایه 7 نیاز داشتیم.
حمله سیلی HTTP یک نوع حمله لایه 7 است که از درخواستهای معتبر GET یا POST استفاه میکند تا مانند بازیابیهای معمول داده در آدرس طی بخشهای SSL (عکس، اطلاعات و …)، اطلاعات به دست بیاورد. سیل GET/POST یک حمله حجمی است که از بستههای ویروسی، تکنیکهای جاسوسی یا انعکاسی استفاده نمیکند.
سوکوری همچنین در برنامه 70 دلار در ماه خود تعادلساز بار را نیز ارائه میدهد در حالی که کلاودفلر بخشهای پرداختی کمی دارد که مربوط به جنبههای مختلف این ویژگی باشد. بخشهایی مانند قیمتگذاری استفاده محور که در آن به تعادلسازی بارگذاری بر حسب موقعیت جغرافیایی نیاز دارید.
هر دوی آنها قابلیتهای مشابهی دارند مانند این ویژگی که میتوانند به صفحات خاصی یا بلاک کردن IP ها و … چالشی را اضافه کنند. اما تا جایی که به محافظت DDoS مربوط میشود، سوکوری امکانات بیشتری ارائه میدهد. ما همچنین رابط کاربری لیستسیاه سوکوری و نحوه تنظیمات بخشهای خاصی را در مقایسه با کلاودفلر واقعا میپسندیم.
و به یاد داشته باشید، هیچ شرکتی نمیتواند محافظت DDoS 100 درصدی را برای شما تضمین کند. تنها کاری که آنها میتوانند انجام دهند این است که به شما کمک کنند به طور خودکار آنها را متوقف کنید.
انتقال سایت به سوکوری
انتقال سایت به سوکوری بسیار ساده است. به مانند کلاودفلر، به طور فنی چیزی وجود ندارد که بخواهید نصب کنید، چرا که مانند یک سرویس پروکسی کامل عمل میکند. این یعنی شما DNS های خود را به سمت آنها هدایت میکنید و سپس آنها به هاست شما هدایت میشوند و اساسا برنامه فایروال وب (WAF) در این میان قرار میگیرد.
به عقیده ما داشبورد آنها به جذابیت یا مدرنی کلاودفلر نیست، اما زمانی که پای WAF در میان باشد، تنها چیزی که باید اهمیت داشته باشد خوب کار کردن آن است. همانطور که در پایین مشاهده میکنید، به طور کلی IP میزبان فعلی شما را شناسایی کرده و آنها برای شما یک فایروال تهیه میکنند. این چیزی است که شما DNS خود را به سمتش هدایت میکنید (یک رکورد اسمی + رکورد AAAA).
شما میتوانید در چند دقیقه در سوکوری کار را شروع کنید که در خصوص حمله DDoS فعلی اتفاق خوبی است. تنها زمان انتظار برای اشاعه DNS است. آنها یک CDN انیکست HTTP/2 را نیز لحاظ میکنند. پس این چیزی بیشتر از یک فایروال است. همچنین میتواند به افزایش سرعت سایت وردپرس شما کمک کند. اما شما میتوانید در سوکوری به طور اختیاری از CDN خود مانند KeyCDN به راحتی استفاده کنید.
آنها یک گواهی رایگان SSL را با Let’s Encrypt لحاظ میکنند اما میتوانید گواهی خود را نیز آپلود کنید. نکته منفی این است که Let’s Encrypt خودکار نبوده و شما باید یک تیکت ایجاد کنید. اما فرآیند رایج گواهی SSL آنها سریع است. یک راهنمایی دیگر برای عملکرد این است که احتمالا باید گزینه کشینگ سایت را فعال کنید. این باعث میشود به جای استفاده از حافظه کش سوکوری، کش سرور اصلی شما حفظ شود. به احتمال بسیار زیاد تنظیمات کش را در حال حاضر همانطور که میخواهید در در هاست وردپرس خود دارید.