مرکز آموزش اولین دیتا

آموزش حفاظت از سایت وردپرس وجلوگیری از حملات DDOS

0

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

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

DDOS چیست؟ و چگونه کار می‌کند؟

حملات دیداس با استفاده از ابزار سخت افزاری انجام میگیرد که هزینه تهیه و انجام این کار هم تا حدودی بالا خواهد بود. حالا اینکه از دسترس خارج شدن سایت شما برای شخص چه منفعتی دارد که باعث میشود  دست به همچین کاری بزند. در حالتی که شما هیچ حمله‌ای ندارید همه چیز به خوبی کار میکند. یعنی منابع مصرفی cpu و رم در هاست، بازدیدهای سایت، نظراتی که در سایت ارسال میشود و… همگی در حالت عادی هستند. اما یکباره در یک زمان مشخص که میتواند  به مدت چند دقیقه یا چندین ساعت باشد  همه این چیزها از حالت طبیعی خارج خواهند شد.

در اولین مورد با کندی سایت رو به رو میشوید، به هاست که مراجعه می‌کنید ببینید مشکل کجاست متوجه میشوید که منابع مصرف cpu و رم هاست حتی ۱۰۰ درصد را هم رد کرده، لاگ سی پنل رو که میبینید متوجه افزایش بازدید چندین هزارتایی در عرض یک ثانیه میشوید و… که همگی این چیزها نشانی از حملات دیداس دارند. در نهایت وقتی این حالت رخ میدهد، به دلیل فشار بالا بر روی هاست سایت شما از دسترس خارج خواهد شد و تا زمانی که تحت حمله دیداس در وردپرس هستید، سایت شما نمایش داده نمیشود و اگر هم چیزی نشان داده شود به هم ریخته است. در این زمان میزبان هاست شما به دلیل جلوگیری از تاثیر روی سایت‌های دیگر موقتا هاست شما را ساسپند خواهد کرد.

حالا ماجراهایی که از این به بعد رخ میدهد را به صورت عملی که اتفاق افتاده و مرحله به مرحله به این موارد برخورد کردم در ادامه توضیح میدهیم.

آموزش جلوگیری از حملات DDOS در وردپرس

زمانی متوجه شدیم بخش کاربری و حتی پیشخوان وردپرس هم با کندی مواجه شده است اما سایر چیزها درست بودند. برای اطمینان پس از ورود به هاست متوجه مصرف بالای ۶۰ درصدی cpu شدیم برای همین فایل لاگ هاست را نگاه کردیم تا مطمئن شویم مشکلی از سمت افزونه‌ها پیش نیامده که آخرین تغییرات این فایل مربوط به چند هفته قبل بود. برای همین اولین کاری که انجام دادیم این بود که ورود در وردپرس را محدود کنیم.

آموزش جلوگیری از حملات DDOS در وردپرس

گام اول: آگاهی از موضوع

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

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

گام دوم: به کار بردن روش‌های جلوگیری

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

  • استفاده از هاست مناسب اولین راهکاری است که میتواند از حملات جلوگیری کند. اگر هاستی داشته باشید که مجهز به سخت افزار برای جلوگیری از حملات DDOS باشد میتواند در این راه کمک بسیاری باشد.
  • در برخی موارد حملات مربوط به تلاش برای ورود در سایت هست که میتوانید طبق توضیحات که داده شد  از افزونه برای این کار استفاده کنید.
  • گاهی اوقات هم پیش می آید که فرم‌هایی مانند نظرات سایت را مورد حمله قرار میدهند . در این حالت عملا فرمی دریافت نمی‌کنید، اما فقط داده‌ها را درگیر می‌کنند که در این حالت میتوانید با استفاده از کپچا وردپرس از این کار جلوگیری کنید. خوبی این کار این است که امکان استفاده در فرم ورود را هم دارید.
  • یکی دیگر از روش‌ها استفاده از XML-rpc می باشد که در تصویر بالا هم دیدید که یکی از تلاش‌ها برای ورود از این طریق بوده که میتوانید با استفاده از نحوه غیرفعال کردن xml-rpc وردپرس از این کار جلوگیری کنید.
  • آپدیت هسته وردپرس، افزونه‌های وردپرس و قالب وردپرس
  • استفاده از افزونه‌های امنیتی که در مقاله معرفی بهترین افزونه های امنیتی وردپرس برخی از بهترین‌ها را معرفی کردیم.
  • و…

۱٫ استفاده از کلودفلر

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

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

با رفتن به بخش Firewall کلودفلر میتوانید از ۴ سطح امنیتی زیر استفاده کنید.

  • Low: در این حالت سطح امنیتی در پایین‌ترین حد ممکن قرار دارد که اگر حمله‌ای با شدت تقریبا پایین ارسال شود میتواند بر روی سایت تاثیر گذار باشد.
  • Medium: در این حالت سطح امنیتی در حالت متوسط می باشد که از حالت قبلی کمی بیشتر و اگر حملات هم بیشتر شوند میتواند بر روی سایت تاثیر گذارد.
  • High: در این حالت سطح امنیتی در حالت بالا قرار دارد که اگر حملاتی در سطح گسترده ارسال شود ازآنها جلوگیری خواهد کرد.
  • I’m Under ttack: در این حالت سایت شما تحت حمله شدید می باشد و حملات هم به شکلی می باشد  که در طول روز با فاصله زمانی خیلی کوتاه مدام تکرار خواهد شد. در این حالت کاری که باید انجام دهید این است  که این گزینه را فعال کنید. در این حالت وقتی کسی به سایت شما مراجعه کند در اولین بازدید با تصویر زیر رو به رو میشود  که پس از ۵ ثانیه ریدایرکت شده و میتواند محتوای سایت را ببیند.

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

مشکلی که استفاده از حالت Under Attack کلودفلر دارد این است که چون در صفحه‌ای که کاربر ریدایرکت میشود محتوا انگلیسی است و بیشتر بازدیدکننده‌ها آشنایی با این چیزها را ندارند، اشتباها فکر می‌کنند که سایت شما خطا میدهد. برای همین حتی متن را نخوانده صفحه مرورگر را میبندند. این موضوع میتواند بر روی نرخ پرش سایت شما تاثیر بدی بگذارد. برای همین هر زمان که احساس کردید سایت زیر حملات شدید نیست به حالت High برگردانید تا زیاد بابت این موضوع لطمه به سایتتان وارد نشود.

برای این کار در همین صفحه Firewall به بخش Access Rules مراجعه کنید و کشورهایی که مد نظرتان است مانند نمونه زیر انتخاب کنید. پس که گزینه Challenge را انتخاب کنید کاربر را به چالش پر کردن کپچا خواهید کشید. اگر موفق شد که این مرحله را بگذراند که گذشته، اما در غیر این صورت تا زمانی که در کلودفلر مشخص می‌کنید بلاک خواهد شد.

همان طور که درتصویر میبینید اول نام کشور را در باکس وارد کنید، اینجا ما iran را وارد کردیم که لیست کشورها بر اساس کلماتی که تایپ میکنید نشان داده میشود و در نهایت میتوانید انتخابشان کنید. سپس حالت Challenge را انتخاب کنید و حالت This Website را هم کاری نداشته باشید. چون اگه چند سایت در اکانت کلودفلر داشته باشید این حالت برای آن سایت‌ها هم انتخاب میشود. در قسمت Add a note هم میتوانید یک یادداشت وارد کنید. مثلا مشخص کنید محدود کردن آی‌پی این کشور در چه تاریخی شروع شده و در نهایت پس از کلیک روی دکمه Add کشور مورد نظر در لیستی که پایین این بخش قرار دارد اضافه خواهد شد. حالا هر کاربری که بخواهد با آی‌پی این کشورها وارد سایت وردپرسی شما شود صفحه زیر به آن نشان داده میشود.

هر آی پی بلاک شده در وردپرس که توسط کلودفلر به لیست اضافه شده باشد هم در صفحه firewall و در انتهای صفحه مشابه تصویر زیر با نام Firewall Events قابل دسترسی هست که با کلیک روی گزینه Details مقابل هر آی‌پی میتوانید آنها را مدیریت کنید.

۲٫ محدود کردن آی‌پی کشورها

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


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

تعداد کلی که در قسمت Total Threats درج شده روی ۲۸۷۸ قرار دارد که همه اینها مربوط به دیداس نیست. برخی از این حملات برای چالش‌های مرورگر و برخی هم برای چالش‌های انسانی هستند. سایر کشورها هم در بخش Geo قابل مشاهده هستند که درآن میتوانید تعداد را بر اساس بیشترین کشورها و تعداد هر کدام ببینید.

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

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

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد .

Captcha loading...