با سلام و عرض ادب و احترام خدمت شما دوستان عزیز باز هم با شما هستم با آموزش دیگری از وردپرس.در این آموزش وردپرس هم کمی در مورد یک بخش ویژه از وردپرس صحبت میکنیم.در این آموزش هم میخواهیم آموزش غیر فعال کردن XML-RPC در وردپرس را بررسی کنیم.شما هم تا انتها با من باشید تا بتوانیم این آموزش را تا انتها پیش ببریم و در آن موفق باشیم

دوستان عزیز همانطور که ممکن است بدانید تا نسخه ۳٫۸ وردپرس XML-RPC به طور پیشفرض بر روی این سیستم مدیریت محتوا غیر فعال بود و اصلا نمیشد از آن استفاده کرد .اما بعد از نسخه ۳٫۸ تیم سیستم مدیریت محتوای وردپرس با اعلام این موضوع که حالا دیگر به اندازه ی سایر بخش های وردپرس میتوان به این امکان اعتماد کرد و از آنجایی که برای استفاده از اپلیکیشن موبایل وردپرس هم نیاز بود این امکان فعال باشد، به صورت پیشفرض XML-RPC را روی وردپرس فعال کرد و امکان استفاده از آن در وردپرس ایجاد شد و فعال شد.

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

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

XML-RPC چیست؟
دوستان در این قسمت اگر بخواهیم توضیحات را ساده و کاملا قابل درک نگه داریم باید بگوئیم که XML-RPC به شما اجازه میدهد که از طریق نرم افزار هایی مانند Windows Live Writer به صورت ریموت به سایت خود مطلب ارسال کنید و از راه دور وب سایت خود را تحت نظر داشته باشید و تغییرات مورد نظر خود را در آن اعمال نمائید.

حال دوستان از طرفی ابزار هایی مثل IFTTT و همچنین اپلیکیشن موبایل وردپرس هم برای برقراری ارتباط با سایت شما از همین روش استفاده میکنند. تا اینجا همه چیز خوب است! مشکل جایی شروع میشود که فایل xmlrpc.php در وردپرس با ارسال درخواست از طریق post مورد حمله ی دیداس DDOS – Denial of Service Attak قرار میگیرد.که البته در مورد این حمله نیز در ادامه صحبت خواهیم کرد دوستان

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

اما قبل از هر چیز بهتر است کمی در مورد این حمله صحبت کنیم
دوستان حمله ddos یا dos در دنیای اینترنت مخفف (denial of service attack) به زبان ساده یعنی سرازیر کردن تقاضاهای زیاد به یک سرور (کامپیوتر قربانی یا هدف) با هدف مختل کردن آن سرور و قربانی و همچنین استفاده بیش از حد از منابع (پردازنده، پایگاه داده، پهنای باند، حافظه و…) آن سرور و قربانی به طوری که سرویس دهی عادی آن سرور به کاربرانش دچار اختلال شده و دیگر به صورت طبیعی این سرویس دهی صورت نگیرد و یا از دسترس خارج شود (به دلیل حجم بالای پردازش یا به اصطلاح overload شدن عملیات های سرور)، در این نوع حمله ها در سرور های کامپیوتری موجود در جهان در یک لحظه یا در طی یک زمان به صورت مداوم از طریق کامپیوترهای مختلف که ممکن است خواسته یا حتی ناخواسته مورد استفاده قرار گرفته باشند، به یک سرور (با آی پی مشخص) درخواست دریافت اطلاعات می شود و این درخواست ها به تعداد بسیار بسیار زیادی ارسال میشوند و به دلیل محدود بودن قدرت پردازش سرور به کاربران در وضعیت عادی (یعنی قدرت سرور را به تعداد کاربرانش در حالت عادی در نظر گرفته اند نه حالت غیر طبیعی)، مثل حالاتی که کامپیوترهای رومیزی دچار کندی یا توقف کامل می شوند، دچار وقفه در سرویس دهی یا حتی down شدن آن می شود و دیگر سروریس دهی صورت نمیگیرد

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

۱٫ غیر فعال کردن XML-RPC از طریق وردپرس
دوستان محترم روش اول غیر فعال کردن این امکان با استفاده از کد نویسی و هک وردپرس است که میتوانید کد زیر را در فایل function.php یا افزونه site specific خود قرار دهید. طبعا قرار دادن آن در افزونه site specific بیشتر از ویرایش فایل functions.php توصیه میشود :

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

۱
add_filter('xmlrpc_enabled', '__return_false');

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

دانلود افزونه وردپرس Disable XML-RPC

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

۲٫ غیر فعال کردن XML-RPC و جلوگیری از دسترسی به فایل xmlrpc.php از طریق htaccess
خب رسیدیم به روش دوم برای انجام این کار در وب سایت وردپرسی.دوستان عزیز در روش دوم برای غیر فعال کردن این قابلیت در وب سایت، عملا به جای غیر فعال کردن کامل XML-RPC، از طریق فایل htaccess، به طور کامل از دسترسی به فایل xmlrpc.php جلوگیری به عمل می آوریم که این سبب میشود که اصلا وردپرس به این فایل دسترسی نداشته باشد. وقتی کسی نتواند به فایل xmlrpc.php دسترسی پیدا کند، از امکانات XML-RPC هم نمیتواند استفاده یا سوء استفاده کند. مزیت این روش این است که در این حالت میتوانید یک یا چند آی پی خاص را جهت دسترسی به این فایل مجاز کنید. بنابراین عملا میتوانید از سه امکان ذکر شده در بخش قبلی آموزش استفاده کنید و در عین حال از حمله به این فایل هم جلوگیری به عمل آورید. برای پیاده سازی این حالت کافی است کد زیر را در فایل htaccess سایت خود قرار دهید :

۱
۲
۳
۴
۵
۶
# Prevent Access to xmlrpc.php File
<Files xmlrpc.php>
order deny,allow
deny from all
allow from 123.123.123.123
</Files>

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

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

در ادامه این آموزش های وردپرس هم حتما با من همراه باشید چون اموزش های بسیار خوب و حرفه ای برای شما آماده شده است که میتوانید به راحتی از آن ها استفاده کنید.پس حتما در ادامه هم با من همراه باشید و در صورتی که در مورد این اموزش مشکل و یا سوالی دارید میتوانید ان را در بخش نظرات با من درمیان بگذارید تا بتوانیم پاسخ شما را به صورت کامل بدهیم

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