آموزش وردپرس

XML-RPC چیست؟و نحوه غیر فعال سازی آن در وردپرس

XML-RPC چیست؟و نحوه غیر فعال سازی آن در وردپرس

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

XML-RPC چیست؟

XML-RPC یا همان Remote Procedure Call در واقع یک API است که در ایجاد افزونه ها,قالب های وردپرس و سرویس های گوناگون به توسعه دهنگان آن کمک بسیاری می کند.

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

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

-توابع وردپرس مربوط به قسمت پست ها:ساخت,انتشار,ویرایش و حذف کردن

-توابع وردپرس مربوط به قسمت رسانه:بارگذاری تصاویر و مشاهده کتابخانه سایت

-توابع وردپرس مربوط به قسمت کاربران:گرفتن لیست کاربران سایت و ویرایش مشخصات کاربران مورد نظر

توابع وردپرس مربوط به قسمت دیدگاه ها:لیست دیدگاه و ویرایش آنها

XML-RPC بعد از نسخه 3.5 وردپرس به صورت پیش فرض فعال شد نکته قابل توجه اینجاست که افزونه های زیادی وجود دارد که از این قابلیت استفاده می کنند برای مثال افزونه ی محبوب JetPack   از این قابلیت استفاده می کند حتی اپلیکیشن رسمی وردپرس که برای پلتفرم های اندروید و ios ارائه شده است از این قابلیت استفاده می کنند.

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

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

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

مجددا توجه داشته باشید که  XML-RPC یک API است و هر کسی و هر چیزی توانایی استفاده از این API را دارد و این مسئله برای خود سببی است که هکر ها از این قابلیت جهت حمله به سایت شما استفاده کنند.با استفاده از این API میتوان یک اسکریپت نوشت که برای سایت مورد نظر درخواست ها زیادی بفرستد,همین درخواست ها میتواند درخواست های متنوعی از نام های کاربری و رمز عبور های مربوط به وبسایت شما باشد.

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

در بعضی از حملات تمرکز بر روی پیدا کردن باگ هایی در کدهاست ولی این چنین حملاتی(منظور XML-RPC) برای دست یافتن به مدیریت سایت شما بسیار راحت تر عمل می کند.

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

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

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

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

توجه داشته باشید که پینگ بک یکی از قابلیت هایXML-RPC است اگر میپرسید پینگ بک چیست؟پینگ بک از قابلیت های سیستم مدیریت محتوای وردپرس است که به کاربران این امکان را می دهد که از منتشر شده مطالب وبسایتشان در سایت دیگر اطلاع یابند.در حالت کلی اگر نوشته ای از سایت شما به سایت دیگری گذاشته شود و وبسایت مورد نظر به منبع(سایت شما) لینک دهد شما  توسط قابلیت پینگ بک میتوانید از این اتفاق آگاهی یابید.

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

اگر از پلاگین هایی مثلJetpack استفاده می کنید و همچنین اپلیکیشن های رسمی وردپرس  که برای پلتفرم های اندروید و ای او اس ارائه شده است استفاده نمی کنید,توصیه ما این است که قابلیتXML-RPC را در سایت وردپرسی غیرفعال کنید.

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

افزونه هایی برای غیرفعال سازی این مورد ساخته شده اند که از مثال های بارز آن میتوان به افزونه یDisable XML-RPC اشاره کرد.افزونه های دیگرهم وجود دارند که با استفاده از آن ها میتوانید این کارا انجام دهید که در این مورد میتوان به iThemes Security و همجنینNinjaFirewall اشاره کرد.

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

غیر فعال سازی XML-RPC توسط فایلfunctions.php

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

add_filter('xmlrpc_enabled', '__return_false');

غیرفعال سازی XML-RPC توسطhtaccess

به روت هاست خود بروید و کدی که در زیر قرار گرفته شده را به فایل پنهان htaccess اضافه کنید.

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

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

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

 

 

 

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

2 دیدگاه در “XML-RPC چیست؟و نحوه غیر فعال سازی آن در وردپرس

  1. ساره گفت:

    اگر غیرفعالش کنیم مشکل خاصیی برای سایت ایجاد نمیکنه؟
    باتشکر

    1. سلام ساره عزیز
      خیر هیچ مشکلی نخواهید داشت و از نظر عملکرد هیچ تاثیری برای شما نخواهد داشت
      حتی خیلی از افزونه های امنیتی در همان زمان فعال شدنشان این قابلیت رو غیرفعال میکنند
      __
      وابسته به نوع سایت هست و در بعضی از سایت ها یک قابلیت مفید هست و اما شاید خیلی از کاربران اصلا از این قابلیت استفاده نکنندو بدردشون نمیخوره

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

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