هاست ایران میزبان فا
آموزش های وردپرس

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

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

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

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

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

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

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

 

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

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

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

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

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

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

جلوگیری از حملات ddos در وردپرس و تامین امنیت سایت های وردپرس

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

جلوگیری از حملات ddos در وردپرس و تامین امنیت سایت های وردپرس

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

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

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

1. استفاده از کلودفلر

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

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

جلوگیری از حملات ddos در وردپرس و تامین امنیت سایت های وردپرس

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

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

جلوگیری از حملات ddos در وردپرس و تامین امنیت سایت های وردپرس

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

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

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

جلوگیری از حملات ddos در وردپرس و تامین امنیت سایت های وردپرس

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

جلوگیری از حملات ddos در وردپرس و تامین امنیت سایت های وردپرس

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

جلوگیری از حملات ddos در وردپرس و تامین امنیت سایت های وردپرس

2. محدود کردن آی‌پی کشورها

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

جلوگیری از حملات ddos در وردپرس و تامین امنیت سایت های وردپرس


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

جلوگیری از حملات ddos در وردپرس و تامین امنیت سایت های وردپرس

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

جلوگیری از حملات ddos در وردپرس و تامین امنیت سایت های وردپرس

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

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

عباس صادقی

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

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

‫۳ نظرها

  1. سلام.وقت بخیر. من از افزونه itheme استفاده میکنم. نیاز هست بازم کلودفلر رو نصب کنم؟ سایتم هنوز باز نشده اما افزونه itheme تقریبا 20 بار حمله bruteforce رو نشون میده که همشون آی پی اوکراین رو نشون میده. غیر از کلود فر یک افزونه دیگه ای هم هست که ممنون میشم بررسی بفرمایید: Loginizer

  2. این حرفهایی که گفتید درباره افزونه های امنیتی- اصلا جواب نمیدهد! همان کلودفلر باید تنظیم شود تازه اگر حمله شدید باشد باید کنار نسخه رایگان کلود فلر آنتی دیداس سخت افزاری هم از هاست خریداری شود تا حملات دفع گردد. افزونه های رایگان هیچ تاثیر خاصی ندارند (به غیر از کپچا – تغییر مسیر لاگین و کدهای امنیتی اولیه httaccess) . حتی بدتر باعث اختلال عملکرد استایل قالب و دیگر افزونه ها مثل اسلایدرها کامنتینگ و غیره میشوند. گاهی خود باعث خطای از دسترس خارج شدن سایت میشوند: httaccess. کلود فلر هم برای سرورهای داخل ایران مصیبت کاهش سرعت در جی تی متریکس را میدهد!
    شرکتهای ایرانی مشابه کلود فلر هم ضعیف هستند یا کمترین امکانات امنیتی آنها بسیار گران است. واقعا وبمستر نمیداند چکار کند.

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

بستن