مقالات وردپرس

XML-RPC چگونه وب سایت ما را تهدید می کند + نحوه غیرفعال سازی

XML-RPC چگونه وب سایت ما را تهدید می کند + نحوه غیرفعال سازی

امروز به قابلیتی در وردپرس میپردازیم که به مدت زیادی بصورت پیش فرض در وردپرس غیرفعال نگه داشته شده بود اما پس از انتشار نسخه ی ۳٫۵ وردپرس بصورت پیش فرض فعال گردیده است. متاسفانه این اقدام وردپرس همراه خود خطراتی به همراه داشته است که قصد داریم در این مطلب آن ها را بررسی کرده و به آن بپردازیم.

 چیست و چگونه غیرفعال کنیم xml-rpc

XML-RPC چیست؟

XML-RPC (مخفف Remote Procedure Call ) در اصل یک API است که در ساخت افزونه ها، پوسته ها و سرویس های گوناگون به توسعه دهندگان وردپرسی کمک شایانی میکند.

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

چند نمونه از این توابع و دسترسی ها را در زیر آورده ایم :

  • – توابع مرتبط با بخش پست ها؛ شامل ایجاد، انتشار، ویرایش و همینطور حذف آن ها
  • – توابع مرتبط با بخش رسانه؛ شامل بارگزاری فایل و مشاهده کتابخانه ی رسانه ای
  • – توابع مرتبط با بخش کابران؛ شامل دریافت لیست کاربران و یا ویرایش مشخصات کاربران
  • – توابع مرتبط با بخش دیدگاه ها؛ شامل لیست نظرات و امکان ویرایش آن ها

قابلیت XML-RPC از نسخه ی ۳٫۵ به بعد وردپرس بصورت پیش فرض فعال گردیده است و آن چیزی که باید بدانید این است که در حال حاضر افزونه های بسیاری وجود دارند که از این قابلیت بهره می برند؛ یکی از آن افزونه ها، افزونه ی محبوب JetPack  است. حتی جالب است بدانید که اپلیکیشن های رسمی وردپرس برای اندروید و iOS نیز از این قابلیت بهره می برند.

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

XML-RPC چگونه وب سایت وردپرسی ما را تهدید میکند؟

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

دوباره متذکر می شویم که XML-RPC یک API است و هرکسی میتواند از این API استفاده کند و این موضوع خود دلیلی ست بر اینکه مهاجمان برای حمله به وب سایت شما از این قابلیت بهره گیرند. با همین API میتوان اسکریپتی نوشت که درخواست های مرتب و متعددی را برای وب سایت شما ارسال کند.

این درخواست های مرتب و متعدد میتواند ترکیب های متنوعی از نام های کاربری و رمزهای عبور باشد!

تصور کنید یک سامانه نام های کاربری و رمزهای عبور متنوعی را برای یافتن نام کاربری و رمز عبور وب سایت وردپرسی شما امتحان میکند و در تمام این مدت آب از آب تکان نمیخورد و هیچ کس و هیچ چیز قادر به شناسایی آن نیست!

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

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

اما حتی اگر شما در خصوص رمزهای عبور و نام های کاربری مسائل امنیتی لازم را رعایت کرده باشید یک مورد دیگر هم هست که ممکن است فعال بودن XML-RPC کار دستتان بدهد و آن DDoS است.

DDoS مخفف Denial of Service است. در این نوع حملات درخواست های بسیاری از طریق وب سایت ها و سامانه های گوناگون آلوده به وب سایت شما ارسال میگردد. تعداد این درخواست ها به اندازه ای است که بعد از مدت کمی تمامی منابع سرور شما مصرف میگردد. در نتیجه این عمل سرویس دهنده از ادامه ارائه سرویس به وب سایت شما جلوگیری کرده و وب سایت شما از کار می افتد یا اصطلاحا Down می گردد.

سرویس دهنده ها معمولا دلایل خوبی برای نشان دادن این رفتار دارند! بخصوص که شما اکنون یک خطر برای خود آن ها هم هستید!

در سال ۲۰۱۴ تعداد قابل توجهی از وب سایت های وردپرسی به همین طریق از کار افتادند! در آن حملات که مهاجمان از قابلیت پینگ بک وردپرس سو استفاده کردند.

اگر می پرسید که پینگ بک چه ربطی به XML-RPC دارد باید بگوییم پینک بک یکی از قابلیت های XML-RPC است!

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

در واقع اگر مطلبی از وب سایت شما در وب سایت دیگری هم قرار بگیرد و آن وب سایت در مطلب مذکور به وب سایت منبع (شما) لینک داده باشد پینگ بک آن را به شما نشان خواهد داد.

با XML-RPC چه کنیم؟

در صورتی که از افزونه هایی نظیر Jetpack و همینطور اپلیکیشن های رسمی وردپرس برای اندروید و همینطور iOS  استفاده نمیکنید وردپرس پنج به شما پیشنهاد میکند قابلیت XML-RPC را روی وب سایت وردپرسی خود غیرفعال نمایید.

برای غیرفعال کردن XML-RPC در وردپرس چه کنیم؟

افزونه های بخصوصی برای غیرفعال کردن نوشته شده اند. نمونه ی بارز آن ها افزونه ی Disable XML-RPC ست. (لیست کامل)

افزونه های امنیتی دیگری هم هستند که توسط آن ها میتوانید این کار را انجام دهید. از میان آن ها میتوانیم به iThemes Security و همینطور NinjaFirewall اشاره کنیم.

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

غیرفعال کردن XML-RPC از طریق فایل function.php

برای غیرفعال کردن XML-RPC کد زیر را به کدهای فایل function.php قالب خود اضافه کنید.

add_filter('xmlrpc_enabled', '__return_false');

غیرفعال کردن XML-RPC از طریق htaccess

اگر به روت فایل های هاست خود دسترسی دارید با اضافه کردن کد زیر به فایل مخفی htaccess می توانید XML-RPC را روی وب سایت وردپرسی خود غیرفعال کنید.

# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
deny from all
allow from 123.123.123.123
</Files>

اگر سوال، مشکل و یا نظری در این خصوص دارید؛ آن را از طریق قسمت نظرات همین مطلب با ما به اشتراک بگذارید!

نوشته XML-RPC چگونه وب سایت ما را تهدید می کند + نحوه غیرفعال سازی اولین بار در وردپرس پنج پدیدار شد.

منبع:روزسئو

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

رضا گشتاسبی

ارسال نظر

85 + = 95